ABAP Select data from SAP table WLF_INTR_ERP_S 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 WLF_INTR_ERP_S 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 WLF_INTR_ERP_S. 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 WLF_INTR_ERP_S 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_WLF_INTR_ERP_S TYPE STANDARD TABLE OF WLF_INTR_ERP_S,
      WA_WLF_INTR_ERP_S TYPE WLF_INTR_ERP_S,
      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: <WLF_INTR_ERP_S> TYPE WLF_INTR_ERP_S.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM WLF_INTR_ERP_S
*  INTO TABLE @DATA(IT_WLF_INTR_ERP_S2).
*--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_WLF_INTR_ERP_S INDEX 1 INTO DATA(WA_WLF_INTR_ERP_S2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_WLF_INTR_ERP_S ASSIGNING <WLF_INTR_ERP_S>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<WLF_INTR_ERP_S>-GDSRC = 1.
<WLF_INTR_ERP_S>-GDOBT = 1.
<WLF_INTR_ERP_S>-GDOBK = 1.
<WLF_INTR_ERP_S>-GDOBI = 1.
<WLF_INTR_ERP_S>-IDSRC = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_WLF_INTR_ERP_S-IDOBT, sy-vline,
WA_WLF_INTR_ERP_S-IDOBK, sy-vline,
WA_WLF_INTR_ERP_S-IDOBI, sy-vline,
WA_WLF_INTR_ERP_S-CDSRC, sy-vline,
WA_WLF_INTR_ERP_S-CDOBT, sy-vline,
WA_WLF_INTR_ERP_S-CDOBK, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WLF_INTR_ERP_S 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_WLF_INTR_ERP_S 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_WLF_INTR_ERP_S INTO WA_WLF_INTR_ERP_S. *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 GDSRC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WLF_INTR_ERP_S-GDSRC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WLF_INTR_ERP_S-GDSRC.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit CUNIT, internal->external for field BMUOM CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_WLF_INTR_ERP_S-BMUOM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WLF_INTR_ERP_S-BMUOM.
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_WLF_INTR_ERP_S_STR,
GDSRC TYPE STRING,
GDOBT TYPE STRING,
GDOBK TYPE STRING,
GDOBI TYPE STRING,
IDSRC TYPE STRING,
IDOBT TYPE STRING,
IDOBK TYPE STRING,
IDOBI TYPE STRING,
CDSRC TYPE STRING,
CDOBT TYPE STRING,
CDOBK TYPE STRING,
CDOBI TYPE STRING,
CNSRC TYPE STRING,
CNOBT TYPE STRING,
CNOBK TYPE STRING,
CNOBI TYPE STRING,
GFLOW TYPE STRING,
ENTYP TYPE STRING,
GDDAT TYPE STRING,
IDDAT TYPE STRING,
CDDAT TYPE STRING,
ODSRC TYPE STRING,
ODOBT TYPE STRING,
ODOBK TYPE STRING,
ODOBI TYPE STRING,
RPYEA TYPE STRING,
RPMON TYPE STRING,
POIVA TYPE STRING,
POIAD TYPE STRING,
GFPIC TYPE STRING,
GFPIR TYPE STRING,
VFPTT TYPE STRING,
VFPTV TYPE STRING,
VFPTC TYPE STRING,
VFPTN TYPE STRING,
VFVCT TYPE STRING,
VFVCN TYPE STRING,
GFPTC TYPE STRING,
GFPTR TYPE STRING,
GFPTN TYPE STRING,
GFVCT TYPE STRING,
GFVCN TYPE STRING,
RETFL TYPE STRING,
TGLFL TYPE STRING,
COMCD TYPE STRING,
PRNUM TYPE STRING,
MATNR TYPE STRING,
PRDES TYPE STRING,
CTYOO TYPE STRING,
REGOO TYPE STRING,
BTTYP TYPE STRING,
PRCDR TYPE STRING,
MOTAB TYPE STRING,
PORTI TYPE STRING,
INCTM TYPE STRING,
SPMCO TYPE STRING,
INVAL TYPE STRING,
INCUR TYPE STRING,
STVAL TYPE STRING,
STCUR TYPE STRING,
NTWEI TYPE STRING,
NWUOM TYPE STRING,
SPQUA TYPE STRING,
SPUOM TYPE STRING,
DOQUA TYPE STRING,
DOUOM TYPE STRING,
BMQUA TYPE STRING,
BMUOM TYPE STRING,
ORPYE TYPE STRING,
ORPMO TYPE STRING,
ADDF1 TYPE STRING,
ADDF2 TYPE STRING,
ADDF3 TYPE STRING,END OF T_EKKO_STR. DATA: WA_WLF_INTR_ERP_S_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_WLF_INTR_ERP_S_STR-GDSRC sy-vline
WA_WLF_INTR_ERP_S_STR-GDOBT sy-vline
WA_WLF_INTR_ERP_S_STR-GDOBK sy-vline
WA_WLF_INTR_ERP_S_STR-GDOBI sy-vline
WA_WLF_INTR_ERP_S_STR-IDSRC sy-vline
WA_WLF_INTR_ERP_S_STR-IDOBT sy-vline
WA_WLF_INTR_ERP_S_STR-IDOBK sy-vline
WA_WLF_INTR_ERP_S_STR-IDOBI sy-vline
WA_WLF_INTR_ERP_S_STR-CDSRC sy-vline
WA_WLF_INTR_ERP_S_STR-CDOBT sy-vline
WA_WLF_INTR_ERP_S_STR-CDOBK sy-vline
WA_WLF_INTR_ERP_S_STR-CDOBI sy-vline
WA_WLF_INTR_ERP_S_STR-CNSRC sy-vline
WA_WLF_INTR_ERP_S_STR-CNOBT sy-vline
WA_WLF_INTR_ERP_S_STR-CNOBK sy-vline
WA_WLF_INTR_ERP_S_STR-CNOBI sy-vline
WA_WLF_INTR_ERP_S_STR-GFLOW sy-vline
WA_WLF_INTR_ERP_S_STR-ENTYP sy-vline
WA_WLF_INTR_ERP_S_STR-GDDAT sy-vline
WA_WLF_INTR_ERP_S_STR-IDDAT sy-vline
WA_WLF_INTR_ERP_S_STR-CDDAT sy-vline
WA_WLF_INTR_ERP_S_STR-ODSRC sy-vline
WA_WLF_INTR_ERP_S_STR-ODOBT sy-vline
WA_WLF_INTR_ERP_S_STR-ODOBK sy-vline
WA_WLF_INTR_ERP_S_STR-ODOBI sy-vline
WA_WLF_INTR_ERP_S_STR-RPYEA sy-vline
WA_WLF_INTR_ERP_S_STR-RPMON sy-vline
WA_WLF_INTR_ERP_S_STR-POIVA sy-vline
WA_WLF_INTR_ERP_S_STR-POIAD sy-vline
WA_WLF_INTR_ERP_S_STR-GFPIC sy-vline
WA_WLF_INTR_ERP_S_STR-GFPIR sy-vline
WA_WLF_INTR_ERP_S_STR-VFPTT sy-vline
WA_WLF_INTR_ERP_S_STR-VFPTV sy-vline
WA_WLF_INTR_ERP_S_STR-VFPTC sy-vline
WA_WLF_INTR_ERP_S_STR-VFPTN sy-vline
WA_WLF_INTR_ERP_S_STR-VFVCT sy-vline
WA_WLF_INTR_ERP_S_STR-VFVCN sy-vline
WA_WLF_INTR_ERP_S_STR-GFPTC sy-vline
WA_WLF_INTR_ERP_S_STR-GFPTR sy-vline
WA_WLF_INTR_ERP_S_STR-GFPTN sy-vline
WA_WLF_INTR_ERP_S_STR-GFVCT sy-vline
WA_WLF_INTR_ERP_S_STR-GFVCN sy-vline
WA_WLF_INTR_ERP_S_STR-RETFL sy-vline
WA_WLF_INTR_ERP_S_STR-TGLFL sy-vline
WA_WLF_INTR_ERP_S_STR-COMCD sy-vline
WA_WLF_INTR_ERP_S_STR-PRNUM sy-vline
WA_WLF_INTR_ERP_S_STR-MATNR sy-vline
WA_WLF_INTR_ERP_S_STR-PRDES sy-vline
WA_WLF_INTR_ERP_S_STR-CTYOO sy-vline
WA_WLF_INTR_ERP_S_STR-REGOO sy-vline
WA_WLF_INTR_ERP_S_STR-BTTYP sy-vline
WA_WLF_INTR_ERP_S_STR-PRCDR sy-vline
WA_WLF_INTR_ERP_S_STR-MOTAB sy-vline
WA_WLF_INTR_ERP_S_STR-PORTI sy-vline
WA_WLF_INTR_ERP_S_STR-INCTM sy-vline
WA_WLF_INTR_ERP_S_STR-SPMCO sy-vline
WA_WLF_INTR_ERP_S_STR-INVAL sy-vline
WA_WLF_INTR_ERP_S_STR-INCUR sy-vline
WA_WLF_INTR_ERP_S_STR-STVAL sy-vline
WA_WLF_INTR_ERP_S_STR-STCUR sy-vline
WA_WLF_INTR_ERP_S_STR-NTWEI sy-vline
WA_WLF_INTR_ERP_S_STR-NWUOM sy-vline
WA_WLF_INTR_ERP_S_STR-SPQUA sy-vline
WA_WLF_INTR_ERP_S_STR-SPUOM sy-vline
WA_WLF_INTR_ERP_S_STR-DOQUA sy-vline
WA_WLF_INTR_ERP_S_STR-DOUOM sy-vline
WA_WLF_INTR_ERP_S_STR-BMQUA sy-vline
WA_WLF_INTR_ERP_S_STR-BMUOM sy-vline
WA_WLF_INTR_ERP_S_STR-ORPYE sy-vline
WA_WLF_INTR_ERP_S_STR-ORPMO sy-vline
WA_WLF_INTR_ERP_S_STR-ADDF1 sy-vline
WA_WLF_INTR_ERP_S_STR-ADDF2 sy-vline
WA_WLF_INTR_ERP_S_STR-ADDF3 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.