ABAP Select data from SAP table AEFIS_0701_MAIN 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 AEFIS_0701_MAIN 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 AEFIS_0701_MAIN. 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 AEFIS_0701_MAIN 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_AEFIS_0701_MAIN TYPE STANDARD TABLE OF AEFIS_0701_MAIN,
      WA_AEFIS_0701_MAIN TYPE AEFIS_0701_MAIN,
      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: <AEFIS_0701_MAIN> TYPE AEFIS_0701_MAIN.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM AEFIS_0701_MAIN
*  INTO TABLE @DATA(IT_AEFIS_0701_MAIN2).
*--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_AEFIS_0701_MAIN INDEX 1 INTO DATA(WA_AEFIS_0701_MAIN2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_AEFIS_0701_MAIN ASSIGNING <AEFIS_0701_MAIN>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<AEFIS_0701_MAIN>-ANLN1 = 1.
<AEFIS_0701_MAIN>-ANLN2 = 1.
<AEFIS_0701_MAIN>-ANLKL = 1.
<AEFIS_0701_MAIN>-DPRT2 = 1.
<AEFIS_0701_MAIN>-DPRT2T = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_AEFIS_0701_MAIN-DPRT3, sy-vline,
WA_AEFIS_0701_MAIN-DPRT3T, sy-vline,
WA_AEFIS_0701_MAIN-DPRT4, sy-vline,
WA_AEFIS_0701_MAIN-DPRT4T, sy-vline,
WA_AEFIS_0701_MAIN-CSCT, sy-vline,
WA_AEFIS_0701_MAIN-CSCTT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_AEFIS_0701_MAIN 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_AEFIS_0701_MAIN 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_AEFIS_0701_MAIN INTO WA_AEFIS_0701_MAIN. *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 ANLN1 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AEFIS_0701_MAIN-ANLN1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AEFIS_0701_MAIN-ANLN1.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit FMCIL, internal->external for field CMIT CALL FUNCTION 'CONVERSION_EXIT_FMCIL_OUTPUT' EXPORTING input = WA_AEFIS_0701_MAIN-CMIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AEFIS_0701_MAIN-CMIT.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit GJAHR, internal->external for field CL_GJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_AEFIS_0701_MAIN-CL_GJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AEFIS_0701_MAIN-CL_GJAHR.
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_AEFIS_0701_MAIN_STR,
ANLN1 TYPE STRING,
ANLN2 TYPE STRING,
ANLKL TYPE STRING,
DPRT2 TYPE STRING,
DPRT2T TYPE STRING,
DPRT3 TYPE STRING,
DPRT3T TYPE STRING,
DPRT4 TYPE STRING,
DPRT4T TYPE STRING,
CSCT TYPE STRING,
CSCTT TYPE STRING,
STORT TYPE STRING,
CMIT TYPE STRING,
CP_LNRAN TYPE STRING,
CP_OBART TYPE STRING,
CP_OBJID TYPE STRING,
CP_BELNR TYPE STRING,
CP_GJAHR TYPE STRING,
CP_BUDAT TYPE STRING,
CP_BLDAT TYPE STRING,
CP_CPUDT TYPE STRING,
CP_CPUTM TYPE STRING,
CP_BWASL TYPE STRING,
CP_ANBTR TYPE STRING,
CP_XANTEI TYPE STRING,
CP_AWTYP TYPE STRING,
CP_AWORG TYPE STRING,
CP_AWSYS TYPE STRING,
CP_ANLU1 TYPE STRING,
CP_ANLU2 TYPE STRING,
OR_BELNR TYPE STRING,
OR_GJAHR TYPE STRING,
OR_WBGBTR TYPE STRING,
OR_WBABTR TYPE STRING,
OR_WBABTR_INT TYPE STRING,
OR_WBABTR_DEC TYPE STRING,
OR_AWKEY TYPE STRING,
OR_AWTYP TYPE STRING,
LIFNR TYPE STRING,
LIFNRT TYPE STRING,
IR_BELNR TYPE STRING,
IR_GJAHR TYPE STRING,
IR_BUZEI TYPE STRING,
IR_XBLNR TYPE STRING,
IR_BLDAT TYPE STRING,
IR_BELNR_MM TYPE STRING,
IR_GJAHR_MM TYPE STRING,
IR_BUZEI_MM TYPE STRING,
PO_EBELN TYPE STRING,
PO_EBELP TYPE STRING,
PO_TXZ01 TYPE STRING,
PO_WEBRE TYPE STRING,
PO_WEUNB TYPE STRING,
GR_BELNR TYPE STRING,
GR_GJAHR TYPE STRING,
GR_BLDAT TYPE STRING,
GR_MBLNR TYPE STRING,
GR_MJAHR TYPE STRING,
GR_ZEILE TYPE STRING,
GR_ERFMG TYPE STRING,
GR_ERFME TYPE STRING,
UNITPR TYPE STRING,
UNITPR_INT TYPE STRING,
UNITPR_DEC TYPE STRING,
CL_BELNR TYPE STRING,
CL_GJAHR TYPE STRING,
CL_BUZEI TYPE STRING,
CL_BLDAT TYPE STRING,
COMST TYPE STRING,
MESSTX TYPE STRING,
RTCUR TYPE STRING,
BUKRS TYPE STRING,END OF T_EKKO_STR. DATA: WA_AEFIS_0701_MAIN_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_AEFIS_0701_MAIN_STR-ANLN1 sy-vline
WA_AEFIS_0701_MAIN_STR-ANLN2 sy-vline
WA_AEFIS_0701_MAIN_STR-ANLKL sy-vline
WA_AEFIS_0701_MAIN_STR-DPRT2 sy-vline
WA_AEFIS_0701_MAIN_STR-DPRT2T sy-vline
WA_AEFIS_0701_MAIN_STR-DPRT3 sy-vline
WA_AEFIS_0701_MAIN_STR-DPRT3T sy-vline
WA_AEFIS_0701_MAIN_STR-DPRT4 sy-vline
WA_AEFIS_0701_MAIN_STR-DPRT4T sy-vline
WA_AEFIS_0701_MAIN_STR-CSCT sy-vline
WA_AEFIS_0701_MAIN_STR-CSCTT sy-vline
WA_AEFIS_0701_MAIN_STR-STORT sy-vline
WA_AEFIS_0701_MAIN_STR-CMIT sy-vline
WA_AEFIS_0701_MAIN_STR-CP_LNRAN sy-vline
WA_AEFIS_0701_MAIN_STR-CP_OBART sy-vline
WA_AEFIS_0701_MAIN_STR-CP_OBJID sy-vline
WA_AEFIS_0701_MAIN_STR-CP_BELNR sy-vline
WA_AEFIS_0701_MAIN_STR-CP_GJAHR sy-vline
WA_AEFIS_0701_MAIN_STR-CP_BUDAT sy-vline
WA_AEFIS_0701_MAIN_STR-CP_BLDAT sy-vline
WA_AEFIS_0701_MAIN_STR-CP_CPUDT sy-vline
WA_AEFIS_0701_MAIN_STR-CP_CPUTM sy-vline
WA_AEFIS_0701_MAIN_STR-CP_BWASL sy-vline
WA_AEFIS_0701_MAIN_STR-CP_ANBTR sy-vline
WA_AEFIS_0701_MAIN_STR-CP_XANTEI sy-vline
WA_AEFIS_0701_MAIN_STR-CP_AWTYP sy-vline
WA_AEFIS_0701_MAIN_STR-CP_AWORG sy-vline
WA_AEFIS_0701_MAIN_STR-CP_AWSYS sy-vline
WA_AEFIS_0701_MAIN_STR-CP_ANLU1 sy-vline
WA_AEFIS_0701_MAIN_STR-CP_ANLU2 sy-vline
WA_AEFIS_0701_MAIN_STR-OR_BELNR sy-vline
WA_AEFIS_0701_MAIN_STR-OR_GJAHR sy-vline
WA_AEFIS_0701_MAIN_STR-OR_WBGBTR sy-vline
WA_AEFIS_0701_MAIN_STR-OR_WBABTR sy-vline
WA_AEFIS_0701_MAIN_STR-OR_WBABTR_INT sy-vline
WA_AEFIS_0701_MAIN_STR-OR_WBABTR_DEC sy-vline
WA_AEFIS_0701_MAIN_STR-OR_AWKEY sy-vline
WA_AEFIS_0701_MAIN_STR-OR_AWTYP sy-vline
WA_AEFIS_0701_MAIN_STR-LIFNR sy-vline
WA_AEFIS_0701_MAIN_STR-LIFNRT sy-vline
WA_AEFIS_0701_MAIN_STR-IR_BELNR sy-vline
WA_AEFIS_0701_MAIN_STR-IR_GJAHR sy-vline
WA_AEFIS_0701_MAIN_STR-IR_BUZEI sy-vline
WA_AEFIS_0701_MAIN_STR-IR_XBLNR sy-vline
WA_AEFIS_0701_MAIN_STR-IR_BLDAT sy-vline
WA_AEFIS_0701_MAIN_STR-IR_BELNR_MM sy-vline
WA_AEFIS_0701_MAIN_STR-IR_GJAHR_MM sy-vline
WA_AEFIS_0701_MAIN_STR-IR_BUZEI_MM sy-vline
WA_AEFIS_0701_MAIN_STR-PO_EBELN sy-vline
WA_AEFIS_0701_MAIN_STR-PO_EBELP sy-vline
WA_AEFIS_0701_MAIN_STR-PO_TXZ01 sy-vline
WA_AEFIS_0701_MAIN_STR-PO_WEBRE sy-vline
WA_AEFIS_0701_MAIN_STR-PO_WEUNB sy-vline
WA_AEFIS_0701_MAIN_STR-GR_BELNR sy-vline
WA_AEFIS_0701_MAIN_STR-GR_GJAHR sy-vline
WA_AEFIS_0701_MAIN_STR-GR_BLDAT sy-vline
WA_AEFIS_0701_MAIN_STR-GR_MBLNR sy-vline
WA_AEFIS_0701_MAIN_STR-GR_MJAHR sy-vline
WA_AEFIS_0701_MAIN_STR-GR_ZEILE sy-vline
WA_AEFIS_0701_MAIN_STR-GR_ERFMG sy-vline
WA_AEFIS_0701_MAIN_STR-GR_ERFME sy-vline
WA_AEFIS_0701_MAIN_STR-UNITPR sy-vline
WA_AEFIS_0701_MAIN_STR-UNITPR_INT sy-vline
WA_AEFIS_0701_MAIN_STR-UNITPR_DEC sy-vline
WA_AEFIS_0701_MAIN_STR-CL_BELNR sy-vline
WA_AEFIS_0701_MAIN_STR-CL_GJAHR sy-vline
WA_AEFIS_0701_MAIN_STR-CL_BUZEI sy-vline
WA_AEFIS_0701_MAIN_STR-CL_BLDAT sy-vline
WA_AEFIS_0701_MAIN_STR-COMST sy-vline
WA_AEFIS_0701_MAIN_STR-MESSTX sy-vline
WA_AEFIS_0701_MAIN_STR-RTCUR sy-vline
WA_AEFIS_0701_MAIN_STR-BUKRS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.