ABAP Select data from SAP table J_1UFCM_ALV_XML 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 J_1UFCM_ALV_XML 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 J_1UFCM_ALV_XML. 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 J_1UFCM_ALV_XML 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_J_1UFCM_ALV_XML TYPE STANDARD TABLE OF J_1UFCM_ALV_XML,
      WA_J_1UFCM_ALV_XML TYPE J_1UFCM_ALV_XML,
      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: <J_1UFCM_ALV_XML> TYPE J_1UFCM_ALV_XML.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_1UFCM_ALV_XML
*  INTO TABLE @DATA(IT_J_1UFCM_ALV_XML2).
*--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_J_1UFCM_ALV_XML INDEX 1 INTO DATA(WA_J_1UFCM_ALV_XML2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_J_1UFCM_ALV_XML ASSIGNING <J_1UFCM_ALV_XML>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_1UFCM_ALV_XML>-ICON = 1.
<J_1UFCM_ALV_XML>-BUKRS = 1.
<J_1UFCM_ALV_XML>-BELNR_FI = 1.
<J_1UFCM_ALV_XML>-GJAHR_FI = 1.
<J_1UFCM_ALV_XML>-DOC_TYPE_FI = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_1UFCM_ALV_XML-DOC_TYPE_TI, sy-vline,
WA_J_1UFCM_ALV_XML-NUM_XML, sy-vline,
WA_J_1UFCM_ALV_XML-GJAHR_XML, sy-vline,
WA_J_1UFCM_ALV_XML-DOC_TYPE_XML, sy-vline,
WA_J_1UFCM_ALV_XML-FILENAME, sy-vline,
WA_J_1UFCM_ALV_XML-XML_PARTNER, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_1UFCM_ALV_XML 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_J_1UFCM_ALV_XML 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_J_1UFCM_ALV_XML INTO WA_J_1UFCM_ALV_XML. *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 BELNR_FI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-BELNR_FI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-BELNR_FI.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field GJAHR_FI CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-GJAHR_FI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-GJAHR_FI.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field GJAHR_XML CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-GJAHR_XML IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-GJAHR_XML.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit GJAHR, internal->external for field XML_REP_YEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-XML_REP_YEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-XML_REP_YEAR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field BASE7 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-BASE7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-BASE7.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field BASE14 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-BASE14 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-BASE14.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field BASE20 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-BASE20 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-BASE20.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field BASE0 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-BASE0 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-BASE0.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field BASEFREE CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-BASEFREE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-BASEFREE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field TAX7 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-TAX7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-TAX7.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field TAX14 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-TAX14 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-TAX14.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field TAX20 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-TAX20 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-TAX20.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field TAX_AMOUNT CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-TAX_AMOUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-TAX_AMOUNT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field TOTAL_AMOUNT CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-TOTAL_AMOUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-TOTAL_AMOUNT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_BASE_20 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_BASE_20 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_BASE_20.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_TAX_20 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TAX_20 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TAX_20.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_TOTAL_20 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TOTAL_20 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TOTAL_20.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field AVL_BASE_14 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_BASE_14 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_BASE_14.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field AVL_TAX_14 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TAX_14 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TAX_14.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field AVL_TOTAL_14 CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TOTAL_14 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TOTAL_14.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_BASE_7 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_BASE_7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_BASE_7.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_TAX_7 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TAX_7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TAX_7.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_TOTAL_7 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TOTAL_7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TOTAL_7.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_BASE_0 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_BASE_0 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_BASE_0.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_BASE_FREE CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_BASE_FREE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_BASE_FREE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_BASE_TOTAL CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_BASE_TOTAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_BASE_TOTAL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AVL_TAX_TOTAL CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TAX_TOTAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TAX_TOTAL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU152, internal->external for field AVL_TOTAL CALL FUNCTION 'CONVERSION_EXIT_AU152_OUTPUT' EXPORTING input = WA_J_1UFCM_ALV_XML-AVL_TOTAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1UFCM_ALV_XML-AVL_TOTAL.
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_J_1UFCM_ALV_XML_STR,
ICON TYPE STRING,
BUKRS TYPE STRING,
BELNR_FI TYPE STRING,
GJAHR_FI TYPE STRING,
DOC_TYPE_FI TYPE STRING,
DOC_TYPE_TI TYPE STRING,
NUM_XML TYPE STRING,
GJAHR_XML TYPE STRING,
DOC_TYPE_XML TYPE STRING,
FILENAME TYPE STRING,
XML_PARTNER TYPE STRING,
XML_VENDOR_NAME TYPE STRING,
XML_SELLER_INN TYPE STRING,
XML_HNUM TYPE STRING,
XML_BRANCH TYPE STRING,
XML_REP_YEAR TYPE STRING,
XML_REP_MONTH TYPE STRING,
XML_REP_DATE TYPE STRING,
XML_CASH_METHOD TYPE STRING,
CASH_COEF TYPE STRING,
BLDAT TYPE STRING,
BUDAT TYPE STRING,
BASE7 TYPE STRING,
BASE14 TYPE STRING,
BASE20 TYPE STRING,
BASE0 TYPE STRING,
BASEFREE TYPE STRING,
TAX7 TYPE STRING,
TAX14 TYPE STRING,
TAX20 TYPE STRING,
TAX_AMOUNT TYPE STRING,
TOTAL_AMOUNT TYPE STRING,
AVL_BASE_20 TYPE STRING,
AVL_TAX_20 TYPE STRING,
AVL_TOTAL_20 TYPE STRING,
AVL_BASE_14 TYPE STRING,
AVL_TAX_14 TYPE STRING,
AVL_TOTAL_14 TYPE STRING,
AVL_BASE_7 TYPE STRING,
AVL_TAX_7 TYPE STRING,
AVL_TOTAL_7 TYPE STRING,
AVL_BASE_0 TYPE STRING,
AVL_BASE_FREE TYPE STRING,
AVL_BASE_TOTAL TYPE STRING,
AVL_TAX_TOTAL TYPE STRING,
AVL_TOTAL TYPE STRING,
HWAER TYPE STRING,
WAERS TYPE STRING,
DESCR TYPE STRING,
LINE_TYPE TYPE STRING,
XML_FULL_VENDOR_NAME TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_1UFCM_ALV_XML_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_J_1UFCM_ALV_XML_STR-ICON sy-vline
WA_J_1UFCM_ALV_XML_STR-BUKRS sy-vline
WA_J_1UFCM_ALV_XML_STR-BELNR_FI sy-vline
WA_J_1UFCM_ALV_XML_STR-GJAHR_FI sy-vline
WA_J_1UFCM_ALV_XML_STR-DOC_TYPE_FI sy-vline
WA_J_1UFCM_ALV_XML_STR-DOC_TYPE_TI sy-vline
WA_J_1UFCM_ALV_XML_STR-NUM_XML sy-vline
WA_J_1UFCM_ALV_XML_STR-GJAHR_XML sy-vline
WA_J_1UFCM_ALV_XML_STR-DOC_TYPE_XML sy-vline
WA_J_1UFCM_ALV_XML_STR-FILENAME sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_PARTNER sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_VENDOR_NAME sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_SELLER_INN sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_HNUM sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_BRANCH sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_REP_YEAR sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_REP_MONTH sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_REP_DATE sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_CASH_METHOD sy-vline
WA_J_1UFCM_ALV_XML_STR-CASH_COEF sy-vline
WA_J_1UFCM_ALV_XML_STR-BLDAT sy-vline
WA_J_1UFCM_ALV_XML_STR-BUDAT sy-vline
WA_J_1UFCM_ALV_XML_STR-BASE7 sy-vline
WA_J_1UFCM_ALV_XML_STR-BASE14 sy-vline
WA_J_1UFCM_ALV_XML_STR-BASE20 sy-vline
WA_J_1UFCM_ALV_XML_STR-BASE0 sy-vline
WA_J_1UFCM_ALV_XML_STR-BASEFREE sy-vline
WA_J_1UFCM_ALV_XML_STR-TAX7 sy-vline
WA_J_1UFCM_ALV_XML_STR-TAX14 sy-vline
WA_J_1UFCM_ALV_XML_STR-TAX20 sy-vline
WA_J_1UFCM_ALV_XML_STR-TAX_AMOUNT sy-vline
WA_J_1UFCM_ALV_XML_STR-TOTAL_AMOUNT sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_BASE_20 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TAX_20 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TOTAL_20 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_BASE_14 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TAX_14 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TOTAL_14 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_BASE_7 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TAX_7 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TOTAL_7 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_BASE_0 sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_BASE_FREE sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_BASE_TOTAL sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TAX_TOTAL sy-vline
WA_J_1UFCM_ALV_XML_STR-AVL_TOTAL sy-vline
WA_J_1UFCM_ALV_XML_STR-HWAER sy-vline
WA_J_1UFCM_ALV_XML_STR-WAERS sy-vline
WA_J_1UFCM_ALV_XML_STR-DESCR sy-vline
WA_J_1UFCM_ALV_XML_STR-LINE_TYPE sy-vline
WA_J_1UFCM_ALV_XML_STR-XML_FULL_VENDOR_NAME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.