ABAP Select data from SAP table NFE_CLOUD_UPLOAD_DOCUMENT into internal table

Get Example source ABAP code based on a different SAP table
  

Below is a number of ABAP code snippets to demonstrate how to select data from SAP NFE_CLOUD_UPLOAD_DOCUMENT table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to NFE_CLOUD_UPLOAD_DOCUMENT. See here for more generic Select statement tips.

Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.

There is also a full declaration of the NFE_CLOUD_UPLOAD_DOCUMENT table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.

DATA: IT_NFE_CLOUD_UPLOAD_DOCUMENT TYPE STANDARD TABLE OF NFE_CLOUD_UPLOAD_DOCUMENT,
      WA_NFE_CLOUD_UPLOAD_DOCUMENT TYPE NFE_CLOUD_UPLOAD_DOCUMENT,
      GD_STR TYPE STRING.

DATA: lo_typedescr type REF TO cl_abap_typedescr.
DATA: lv_fieldname type fieldname.

FIELD-SYMBOLS: <FIELD> TYPE any.
FIELD-SYMBOLS: <NFE_CLOUD_UPLOAD_DOCUMENT> TYPE NFE_CLOUD_UPLOAD_DOCUMENT.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_NFE_CLOUD_UPLOAD_DOCUMENT.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM NFE_CLOUD_UPLOAD_DOCUMENT
  INTO TABLE IT_NFE_CLOUD_UPLOAD_DOCUMENT.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM NFE_CLOUD_UPLOAD_DOCUMENT
*  INTO TABLE @DATA(IT_NFE_CLOUD_UPLOAD_DOCUMENT2).
*--Further methods of using ABAP code to  select data from SAP database tables

*You can also declare the header/work area using the in-line DATA declaration method
READ TABLE IT_NFE_CLOUD_UPLOAD_DOCUMENT INDEX 1 INTO DATA(WA_NFE_CLOUD_UPLOAD_DOCUMENT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_NFE_CLOUD_UPLOAD_DOCUMENT ASSIGNING <NFE_CLOUD_UPLOAD_DOCUMENT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<NFE_CLOUD_UPLOAD_DOCUMENT>-BUKRS = 1.
<NFE_CLOUD_UPLOAD_DOCUMENT>-BRANCH = 1.
<NFE_CLOUD_UPLOAD_DOCUMENT>-DOCNUM = 1.
<NFE_CLOUD_UPLOAD_DOCUMENT>-CREDAT = 1.
<NFE_CLOUD_UPLOAD_DOCUMENT>-DOCSTA = 1.
ENDLOOP.

LOOP AT IT_NFE_CLOUD_UPLOAD_DOCUMENT INTO WA_NFE_CLOUD_UPLOAD_DOCUMENT.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_NFE_CLOUD_UPLOAD_DOCUMENT-DIRECT, sy-vline,
WA_NFE_CLOUD_UPLOAD_DOCUMENT-VSTEL, sy-vline,
WA_NFE_CLOUD_UPLOAD_DOCUMENT-PARID, sy-vline,
WA_NFE_CLOUD_UPLOAD_DOCUMENT-FORM, sy-vline,
WA_NFE_CLOUD_UPLOAD_DOCUMENT-MODEL, sy-vline,
WA_NFE_CLOUD_UPLOAD_DOCUMENT-ACCESS_KEY, sy-vline.
ENDLOOP. *Add any further fields from structure WA_NFE_CLOUD_UPLOAD_DOCUMENT you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_NFE_CLOUD_UPLOAD_DOCUMENT TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_NFE_CLOUD_UPLOAD_DOCUMENT INTO WA_NFE_CLOUD_UPLOAD_DOCUMENT. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.

*Conversion exit ALPHA, internal->external for field PARID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_NFE_CLOUD_UPLOAD_DOCUMENT-PARID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_NFE_CLOUD_UPLOAD_DOCUMENT-PARID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CPFBR, internal->external for field CPF CALL FUNCTION 'CONVERSION_EXIT_CPFBR_OUTPUT' EXPORTING input = WA_NFE_CLOUD_UPLOAD_DOCUMENT-CPF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_NFE_CLOUD_UPLOAD_DOCUMENT-CPF.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_NFE_CLOUD_UPLOAD_DOCUMENT_STR,
BUKRS TYPE STRING,
BRANCH TYPE STRING,
DOCNUM TYPE STRING,
CREDAT TYPE STRING,
DOCSTA TYPE STRING,
DIRECT TYPE STRING,
VSTEL TYPE STRING,
PARID TYPE STRING,
FORM TYPE STRING,
MODEL TYPE STRING,
ACCESS_KEY TYPE STRING,
DOCUMENT_TYPE TYPE STRING,
ICON TYPE STRING,
MESSAGE TYPE STRING,
MESSAGE_TYPE TYPE STRING,
TPAMB TYPE STRING,
REGIO TYPE STRING,
NFYEAR TYPE STRING,
NFMONTH TYPE STRING,
STCD1 TYPE STRING,
SERIE TYPE STRING,
NFNUM9 TYPE STRING,
DOCNUM9 TYPE STRING,
CDV TYPE STRING,
ACTION_DATE TYPE STRING,
ACTION_TIME TYPE STRING,
CGC TYPE STRING,
CPF TYPE STRING,
IS_EVENT TYPE STRING,
SEQNUM TYPE STRING,
INT_EVENT TYPE STRING,
EXT_EVENT TYPE STRING,
ISSUE_TMPL TYPE STRING,
CLOUD_GUID TYPE STRING,
CLOUD_UUID TYPE STRING,END OF T_EKKO_STR. DATA: WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-BUKRS sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-BRANCH sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-DOCNUM sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-CREDAT sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-DOCSTA sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-DIRECT sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-VSTEL sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-PARID sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-FORM sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-MODEL sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-ACCESS_KEY sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-DOCUMENT_TYPE sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-ICON sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-MESSAGE sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-MESSAGE_TYPE sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-TPAMB sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-REGIO sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-NFYEAR sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-NFMONTH sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-STCD1 sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-SERIE sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-NFNUM9 sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-DOCNUM9 sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-CDV sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-ACTION_DATE sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-ACTION_TIME sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-CGC sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-CPF sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-IS_EVENT sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-SEQNUM sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-INT_EVENT sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-EXT_EVENT sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-ISSUE_TMPL sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-CLOUD_GUID sy-vline
WA_NFE_CLOUD_UPLOAD_DOCUMENT_STR-CLOUD_UUID sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.