ABAP Select data from SAP table J_3RSEXTRACTD 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_3RSEXTRACTD 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_3RSEXTRACTD. 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_3RSEXTRACTD 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_3RSEXTRACTD TYPE STANDARD TABLE OF J_3RSEXTRACTD,
      WA_J_3RSEXTRACTD TYPE J_3RSEXTRACTD,
      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_3RSEXTRACTD> TYPE J_3RSEXTRACTD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_3RSEXTRACTD
*  INTO TABLE @DATA(IT_J_3RSEXTRACTD2).
*--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_3RSEXTRACTD INDEX 1 INTO DATA(WA_J_3RSEXTRACTD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_J_3RSEXTRACTD ASSIGNING <J_3RSEXTRACTD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_3RSEXTRACTD>-MANDT = 1.
<J_3RSEXTRACTD>-ENAME = 1.
<J_3RSEXTRACTD>-EPOS = 1.
<J_3RSEXTRACTD>-CONTRACT = 1.
<J_3RSEXTRACTD>-CBUZEI = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_3RSEXTRACTD-CDATE, sy-vline,
WA_J_3RSEXTRACTD-BORDER, sy-vline,
WA_J_3RSEXTRACTD-OBUZEI, sy-vline,
WA_J_3RSEXTRACTD-ODATE, sy-vline,
WA_J_3RSEXTRACTD-DELIVERY, sy-vline,
WA_J_3RSEXTRACTD-DBUZEI, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_3RSEXTRACTD 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_3RSEXTRACTD 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_3RSEXTRACTD INTO WA_J_3RSEXTRACTD. *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 CONTRACT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_J_3RSEXTRACTD-CONTRACT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_3RSEXTRACTD-CONTRACT.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_J_3RSEXTRACTD-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_3RSEXTRACTD-MATNR.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field CORR_CCD CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_J_3RSEXTRACTD-CORR_CCD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_3RSEXTRACTD-CORR_CCD.
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_3RSEXTRACTD_STR,
MANDT TYPE STRING,
ENAME TYPE STRING,
EPOS TYPE STRING,
CONTRACT TYPE STRING,
CBUZEI TYPE STRING,
CDATE TYPE STRING,
BORDER TYPE STRING,
OBUZEI TYPE STRING,
ODATE TYPE STRING,
DELIVERY TYPE STRING,
DBUZEI TYPE STRING,
DDATE TYPE STRING,
PGTD TYPE STRING,
PGBUZEI TYPE STRING,
PGDATE TYPE STRING,
GTD TYPE STRING,
GBUZEI TYPE STRING,
GDATE TYPE STRING,
INVOICE_SD TYPE STRING,
IBUZEI_SD TYPE STRING,
IDATE_SD TYPE STRING,
INVOICE_FI TYPE STRING,
IBUZEI_FI TYPE STRING,
IDATE_FI TYPE STRING,
PAYMENT TYPE STRING,
PBUZEI TYPE STRING,
PDATE TYPE STRING,
CWRBTR TYPE STRING,
CWAERS TYPE STRING,
OWRBTR TYPE STRING,
OWAERS TYPE STRING,
DWRBTR TYPE STRING,
DWAERS TYPE STRING,
GWRBTR TYPE STRING,
GWAERS TYPE STRING,
PGWRBTR TYPE STRING,
PGWAERS TYPE STRING,
ISDWRBTR TYPE STRING,
ISDWAERS TYPE STRING,
IFIWRBTR TYPE STRING,
IFIWAERS TYPE STRING,
PWRBTR TYPE STRING,
PWAERS TYPE STRING,
CZMENG TYPE STRING,
CZIEME TYPE STRING,
OZMENG TYPE STRING,
OZIEME TYPE STRING,
DLFIMG TYPE STRING,
DVRKME TYPE STRING,
GFKIMG TYPE STRING,
GVRKME TYPE STRING,
PGFKIMG TYPE STRING,
PGVRKME TYPE STRING,
ISDFKIMG TYPE STRING,
ISDVRKME TYPE STRING,
MATNR TYPE STRING,
MAKTX TYPE STRING,
CYCLE_DAY TYPE STRING,
TOTAL_DAY TYPE STRING,
CONFIRM_DATE TYPE STRING,
CONFIRM_DAY TYPE STRING,
SECEVT_DATE TYPE STRING,
GTDSEC_DAY TYPE STRING,
GTDPAY_DAY TYPE STRING,
GTDCONF_DAY TYPE STRING,
TAXTR_DOC TYPE STRING,
KUNNR TYPE STRING,
KUNNR_DPP_BL TYPE STRING,
CONF_AMT TYPE STRING,
UNCONF_AMT TYPE STRING,
CONF_QTY TYPE STRING,
UNCONF_QTY TYPE STRING,
WRBTR_G2 TYPE STRING,
ZMENG_G2 TYPE STRING,
BEHOE_P1 TYPE STRING,
DATE_P2 TYPE STRING,
EXTN_P3 TYPE STRING,
CRBDR TYPE STRING,
EXPORT_ALLOWED TYPE STRING,
CORR_CCD TYPE STRING,
CORR_BEHOE_P1 TYPE STRING,
CORR_DATE_P2 TYPE STRING,
CORR_EXTN_P3 TYPE STRING,
CORR_CRBDR TYPE STRING,
CORR_ITEM TYPE STRING,
CORR_EXP_ALLOW TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_3RSEXTRACTD_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_3RSEXTRACTD_STR-MANDT sy-vline
WA_J_3RSEXTRACTD_STR-ENAME sy-vline
WA_J_3RSEXTRACTD_STR-EPOS sy-vline
WA_J_3RSEXTRACTD_STR-CONTRACT sy-vline
WA_J_3RSEXTRACTD_STR-CBUZEI sy-vline
WA_J_3RSEXTRACTD_STR-CDATE sy-vline
WA_J_3RSEXTRACTD_STR-BORDER sy-vline
WA_J_3RSEXTRACTD_STR-OBUZEI sy-vline
WA_J_3RSEXTRACTD_STR-ODATE sy-vline
WA_J_3RSEXTRACTD_STR-DELIVERY sy-vline
WA_J_3RSEXTRACTD_STR-DBUZEI sy-vline
WA_J_3RSEXTRACTD_STR-DDATE sy-vline
WA_J_3RSEXTRACTD_STR-PGTD sy-vline
WA_J_3RSEXTRACTD_STR-PGBUZEI sy-vline
WA_J_3RSEXTRACTD_STR-PGDATE sy-vline
WA_J_3RSEXTRACTD_STR-GTD sy-vline
WA_J_3RSEXTRACTD_STR-GBUZEI sy-vline
WA_J_3RSEXTRACTD_STR-GDATE sy-vline
WA_J_3RSEXTRACTD_STR-INVOICE_SD sy-vline
WA_J_3RSEXTRACTD_STR-IBUZEI_SD sy-vline
WA_J_3RSEXTRACTD_STR-IDATE_SD sy-vline
WA_J_3RSEXTRACTD_STR-INVOICE_FI sy-vline
WA_J_3RSEXTRACTD_STR-IBUZEI_FI sy-vline
WA_J_3RSEXTRACTD_STR-IDATE_FI sy-vline
WA_J_3RSEXTRACTD_STR-PAYMENT sy-vline
WA_J_3RSEXTRACTD_STR-PBUZEI sy-vline
WA_J_3RSEXTRACTD_STR-PDATE sy-vline
WA_J_3RSEXTRACTD_STR-CWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-CWAERS sy-vline
WA_J_3RSEXTRACTD_STR-OWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-OWAERS sy-vline
WA_J_3RSEXTRACTD_STR-DWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-DWAERS sy-vline
WA_J_3RSEXTRACTD_STR-GWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-GWAERS sy-vline
WA_J_3RSEXTRACTD_STR-PGWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-PGWAERS sy-vline
WA_J_3RSEXTRACTD_STR-ISDWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-ISDWAERS sy-vline
WA_J_3RSEXTRACTD_STR-IFIWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-IFIWAERS sy-vline
WA_J_3RSEXTRACTD_STR-PWRBTR sy-vline
WA_J_3RSEXTRACTD_STR-PWAERS sy-vline
WA_J_3RSEXTRACTD_STR-CZMENG sy-vline
WA_J_3RSEXTRACTD_STR-CZIEME sy-vline
WA_J_3RSEXTRACTD_STR-OZMENG sy-vline
WA_J_3RSEXTRACTD_STR-OZIEME sy-vline
WA_J_3RSEXTRACTD_STR-DLFIMG sy-vline
WA_J_3RSEXTRACTD_STR-DVRKME sy-vline
WA_J_3RSEXTRACTD_STR-GFKIMG sy-vline
WA_J_3RSEXTRACTD_STR-GVRKME sy-vline
WA_J_3RSEXTRACTD_STR-PGFKIMG sy-vline
WA_J_3RSEXTRACTD_STR-PGVRKME sy-vline
WA_J_3RSEXTRACTD_STR-ISDFKIMG sy-vline
WA_J_3RSEXTRACTD_STR-ISDVRKME sy-vline
WA_J_3RSEXTRACTD_STR-MATNR sy-vline
WA_J_3RSEXTRACTD_STR-MAKTX sy-vline
WA_J_3RSEXTRACTD_STR-CYCLE_DAY sy-vline
WA_J_3RSEXTRACTD_STR-TOTAL_DAY sy-vline
WA_J_3RSEXTRACTD_STR-CONFIRM_DATE sy-vline
WA_J_3RSEXTRACTD_STR-CONFIRM_DAY sy-vline
WA_J_3RSEXTRACTD_STR-SECEVT_DATE sy-vline
WA_J_3RSEXTRACTD_STR-GTDSEC_DAY sy-vline
WA_J_3RSEXTRACTD_STR-GTDPAY_DAY sy-vline
WA_J_3RSEXTRACTD_STR-GTDCONF_DAY sy-vline
WA_J_3RSEXTRACTD_STR-TAXTR_DOC sy-vline
WA_J_3RSEXTRACTD_STR-KUNNR sy-vline
WA_J_3RSEXTRACTD_STR-KUNNR_DPP_BL sy-vline
WA_J_3RSEXTRACTD_STR-CONF_AMT sy-vline
WA_J_3RSEXTRACTD_STR-UNCONF_AMT sy-vline
WA_J_3RSEXTRACTD_STR-CONF_QTY sy-vline
WA_J_3RSEXTRACTD_STR-UNCONF_QTY sy-vline
WA_J_3RSEXTRACTD_STR-WRBTR_G2 sy-vline
WA_J_3RSEXTRACTD_STR-ZMENG_G2 sy-vline
WA_J_3RSEXTRACTD_STR-BEHOE_P1 sy-vline
WA_J_3RSEXTRACTD_STR-DATE_P2 sy-vline
WA_J_3RSEXTRACTD_STR-EXTN_P3 sy-vline
WA_J_3RSEXTRACTD_STR-CRBDR sy-vline
WA_J_3RSEXTRACTD_STR-EXPORT_ALLOWED sy-vline
WA_J_3RSEXTRACTD_STR-CORR_CCD sy-vline
WA_J_3RSEXTRACTD_STR-CORR_BEHOE_P1 sy-vline
WA_J_3RSEXTRACTD_STR-CORR_DATE_P2 sy-vline
WA_J_3RSEXTRACTD_STR-CORR_EXTN_P3 sy-vline
WA_J_3RSEXTRACTD_STR-CORR_CRBDR sy-vline
WA_J_3RSEXTRACTD_STR-CORR_ITEM sy-vline
WA_J_3RSEXTRACTD_STR-CORR_EXP_ALLOW sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.