ABAP Select data from SAP table KOMZRPES 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 KOMZRPES 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 KOMZRPES. 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 KOMZRPES 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_KOMZRPES TYPE STANDARD TABLE OF KOMZRPES,
      WA_KOMZRPES TYPE KOMZRPES,
      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: <KOMZRPES> TYPE KOMZRPES.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM KOMZRPES
*  INTO TABLE @DATA(IT_KOMZRPES2).
*--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_KOMZRPES INDEX 1 INTO DATA(WA_KOMZRPES2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_KOMZRPES ASSIGNING <KOMZRPES>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<KOMZRPES>-MATNR = 1.
<KOMZRPES>-MATKL = 1.
<KOMZRPES>-TAX_COUNTRY = 1.
<KOMZRPES>-TAX_COUNTRY_IC = 1.
<KOMZRPES>-MWSK2 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_KOMZRPES-MWSKZ, sy-vline,
WA_KOMZRPES-TXJCD, sy-vline,
WA_KOMZRPES-LTSNR, sy-vline,
WA_KOMZRPES-PDIFF, sy-vline,
WA_KOMZRPES-LFTYPV, sy-vline,
WA_KOMZRPES-WERKS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_KOMZRPES 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_KOMZRPES 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_KOMZRPES INTO WA_KOMZRPES. *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 MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_KOMZRPES-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMZRPES-MATNR.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit CUNIT, internal->external for field WFKME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_KOMZRPES-WFKME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMZRPES-WFKME.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit CUNIT, internal->external for field GEWEI CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_KOMZRPES-GEWEI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMZRPES-GEWEI.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VOLEH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_KOMZRPES-VOLEH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMZRPES-VOLEH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field PUNEI CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_KOMZRPES-PUNEI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMZRPES-PUNEI.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit ABPSP, internal->external for field PS_PSP_PNRD CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT' EXPORTING input = WA_KOMZRPES-PS_PSP_PNRD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMZRPES-PS_PSP_PNRD.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field CUSTOMER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_KOMZRPES-CUSTOMER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMZRPES-CUSTOMER.
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_KOMZRPES_STR,
MATNR TYPE STRING,
MATKL TYPE STRING,
TAX_COUNTRY TYPE STRING,
TAX_COUNTRY_IC TYPE STRING,
MWSK2 TYPE STRING,
MWSKZ TYPE STRING,
TXJCD TYPE STRING,
LTSNR TYPE STRING,
PDIFF TYPE STRING,
LFTYPV TYPE STRING,
WERKS TYPE STRING,
GSBER TYPE STRING,
KOSTL TYPE STRING,
PRCTR TYPE STRING,
WFKME TYPE STRING,
PBRTWR TYPE STRING,
ITEMCAT TYPE STRING,
AUFNR TYPE STRING,
MENGE TYPE STRING,
GEWEI TYPE STRING,
VOLEH TYPE STRING,
PUNEI TYPE STRING,
DATUM_POS TYPE STRING,
INCO1_P TYPE STRING,
INCOV_P TYPE STRING,
LFGRU_P TYPE STRING,
KOSTLD TYPE STRING,
PRCTRD TYPE STRING,
AUFNRD TYPE STRING,
PS_PSP_PNRD TYPE STRING,
GSBERD TYPE STRING,
KOLIF TYPE STRING,
CUSTOMER TYPE STRING,
VKORG_I TYPE STRING,
VTWEG_I TYPE STRING,
SPART_I TYPE STRING,
TVTA_I TYPE STRING,
SETTL_STATUS_I TYPE STRING,
REF_NUMBER TYPE STRING,
REF_NUMBER_2 TYPE STRING,
KONDM TYPE STRING,
PROVG TYPE STRING,
REBATE_GRP TYPE STRING,
MVGR1 TYPE STRING,
MVGR2 TYPE STRING,
MVGR3 TYPE STRING,
MVGR4 TYPE STRING,
MVGR5 TYPE STRING,
BUPLA TYPE STRING,
BUPLA_IC TYPE STRING,
LANDTX_I TYPE STRING,
LAND1TX_I TYPE STRING,
STCEG_I TYPE STRING,
STCEGD_I TYPE STRING,
CRCY_CONV_FAC TYPE STRING,END OF T_EKKO_STR. DATA: WA_KOMZRPES_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_KOMZRPES_STR-MATNR sy-vline
WA_KOMZRPES_STR-MATKL sy-vline
WA_KOMZRPES_STR-TAX_COUNTRY sy-vline
WA_KOMZRPES_STR-TAX_COUNTRY_IC sy-vline
WA_KOMZRPES_STR-MWSK2 sy-vline
WA_KOMZRPES_STR-MWSKZ sy-vline
WA_KOMZRPES_STR-TXJCD sy-vline
WA_KOMZRPES_STR-LTSNR sy-vline
WA_KOMZRPES_STR-PDIFF sy-vline
WA_KOMZRPES_STR-LFTYPV sy-vline
WA_KOMZRPES_STR-WERKS sy-vline
WA_KOMZRPES_STR-GSBER sy-vline
WA_KOMZRPES_STR-KOSTL sy-vline
WA_KOMZRPES_STR-PRCTR sy-vline
WA_KOMZRPES_STR-WFKME sy-vline
WA_KOMZRPES_STR-PBRTWR sy-vline
WA_KOMZRPES_STR-ITEMCAT sy-vline
WA_KOMZRPES_STR-AUFNR sy-vline
WA_KOMZRPES_STR-MENGE sy-vline
WA_KOMZRPES_STR-GEWEI sy-vline
WA_KOMZRPES_STR-VOLEH sy-vline
WA_KOMZRPES_STR-PUNEI sy-vline
WA_KOMZRPES_STR-DATUM_POS sy-vline
WA_KOMZRPES_STR-INCO1_P sy-vline
WA_KOMZRPES_STR-INCOV_P sy-vline
WA_KOMZRPES_STR-LFGRU_P sy-vline
WA_KOMZRPES_STR-KOSTLD sy-vline
WA_KOMZRPES_STR-PRCTRD sy-vline
WA_KOMZRPES_STR-AUFNRD sy-vline
WA_KOMZRPES_STR-PS_PSP_PNRD sy-vline
WA_KOMZRPES_STR-GSBERD sy-vline
WA_KOMZRPES_STR-KOLIF sy-vline
WA_KOMZRPES_STR-CUSTOMER sy-vline
WA_KOMZRPES_STR-VKORG_I sy-vline
WA_KOMZRPES_STR-VTWEG_I sy-vline
WA_KOMZRPES_STR-SPART_I sy-vline
WA_KOMZRPES_STR-TVTA_I sy-vline
WA_KOMZRPES_STR-SETTL_STATUS_I sy-vline
WA_KOMZRPES_STR-REF_NUMBER sy-vline
WA_KOMZRPES_STR-REF_NUMBER_2 sy-vline
WA_KOMZRPES_STR-KONDM sy-vline
WA_KOMZRPES_STR-PROVG sy-vline
WA_KOMZRPES_STR-REBATE_GRP sy-vline
WA_KOMZRPES_STR-MVGR1 sy-vline
WA_KOMZRPES_STR-MVGR2 sy-vline
WA_KOMZRPES_STR-MVGR3 sy-vline
WA_KOMZRPES_STR-MVGR4 sy-vline
WA_KOMZRPES_STR-MVGR5 sy-vline
WA_KOMZRPES_STR-BUPLA sy-vline
WA_KOMZRPES_STR-BUPLA_IC sy-vline
WA_KOMZRPES_STR-LANDTX_I sy-vline
WA_KOMZRPES_STR-LAND1TX_I sy-vline
WA_KOMZRPES_STR-STCEG_I sy-vline
WA_KOMZRPES_STR-STCEGD_I sy-vline
WA_KOMZRPES_STR-CRCY_CONV_FAC sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.