ABAP Select data from SAP table J_1USEXTRACTD 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_1USEXTRACTD 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_1USEXTRACTD. 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_1USEXTRACTD 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_1USEXTRACTD TYPE STANDARD TABLE OF J_1USEXTRACTD,
      WA_J_1USEXTRACTD TYPE J_1USEXTRACTD,
      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_1USEXTRACTD> TYPE J_1USEXTRACTD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_1USEXTRACTD
*  INTO TABLE @DATA(IT_J_1USEXTRACTD2).
*--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_1USEXTRACTD INDEX 1 INTO DATA(WA_J_1USEXTRACTD2).


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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field GTD CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-GTD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-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_1USEXTRACTD-INVOICE_SD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-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_1USEXTRACTD-INVOICE_FI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-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_1USEXTRACTD-PAYMENT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-PAYMENT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field CWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-CWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-CWRBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field OWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-OWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-OWRBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field DWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-DWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-DWRBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field GWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-GWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-GWRBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field PGWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-PGWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-PGWRBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field ISDWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-ISDWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-ISDWRBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field IFIWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-IFIWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-IFIWRBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field PWRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-PWRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-PWRBTR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_J_1USEXTRACTD-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-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_1USEXTRACTD-TAXTR_DOC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-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_1USEXTRACTD-KUNNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1USEXTRACTD-KUNNR.
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_1USEXTRACTD_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,END OF T_EKKO_STR. DATA: WA_J_1USEXTRACTD_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_1USEXTRACTD_STR-MANDT sy-vline
WA_J_1USEXTRACTD_STR-ENAME sy-vline
WA_J_1USEXTRACTD_STR-EPOS sy-vline
WA_J_1USEXTRACTD_STR-CONTRACT sy-vline
WA_J_1USEXTRACTD_STR-CBUZEI sy-vline
WA_J_1USEXTRACTD_STR-CDATE sy-vline
WA_J_1USEXTRACTD_STR-BORDER sy-vline
WA_J_1USEXTRACTD_STR-OBUZEI sy-vline
WA_J_1USEXTRACTD_STR-ODATE sy-vline
WA_J_1USEXTRACTD_STR-DELIVERY sy-vline
WA_J_1USEXTRACTD_STR-DBUZEI sy-vline
WA_J_1USEXTRACTD_STR-DDATE sy-vline
WA_J_1USEXTRACTD_STR-PGTD sy-vline
WA_J_1USEXTRACTD_STR-PGBUZEI sy-vline
WA_J_1USEXTRACTD_STR-PGDATE sy-vline
WA_J_1USEXTRACTD_STR-GTD sy-vline
WA_J_1USEXTRACTD_STR-GBUZEI sy-vline
WA_J_1USEXTRACTD_STR-GDATE sy-vline
WA_J_1USEXTRACTD_STR-INVOICE_SD sy-vline
WA_J_1USEXTRACTD_STR-IBUZEI_SD sy-vline
WA_J_1USEXTRACTD_STR-IDATE_SD sy-vline
WA_J_1USEXTRACTD_STR-INVOICE_FI sy-vline
WA_J_1USEXTRACTD_STR-IBUZEI_FI sy-vline
WA_J_1USEXTRACTD_STR-IDATE_FI sy-vline
WA_J_1USEXTRACTD_STR-PAYMENT sy-vline
WA_J_1USEXTRACTD_STR-PBUZEI sy-vline
WA_J_1USEXTRACTD_STR-PDATE sy-vline
WA_J_1USEXTRACTD_STR-CWRBTR sy-vline
WA_J_1USEXTRACTD_STR-CWAERS sy-vline
WA_J_1USEXTRACTD_STR-OWRBTR sy-vline
WA_J_1USEXTRACTD_STR-OWAERS sy-vline
WA_J_1USEXTRACTD_STR-DWRBTR sy-vline
WA_J_1USEXTRACTD_STR-DWAERS sy-vline
WA_J_1USEXTRACTD_STR-GWRBTR sy-vline
WA_J_1USEXTRACTD_STR-GWAERS sy-vline
WA_J_1USEXTRACTD_STR-PGWRBTR sy-vline
WA_J_1USEXTRACTD_STR-PGWAERS sy-vline
WA_J_1USEXTRACTD_STR-ISDWRBTR sy-vline
WA_J_1USEXTRACTD_STR-ISDWAERS sy-vline
WA_J_1USEXTRACTD_STR-IFIWRBTR sy-vline
WA_J_1USEXTRACTD_STR-IFIWAERS sy-vline
WA_J_1USEXTRACTD_STR-PWRBTR sy-vline
WA_J_1USEXTRACTD_STR-PWAERS sy-vline
WA_J_1USEXTRACTD_STR-CZMENG sy-vline
WA_J_1USEXTRACTD_STR-CZIEME sy-vline
WA_J_1USEXTRACTD_STR-OZMENG sy-vline
WA_J_1USEXTRACTD_STR-OZIEME sy-vline
WA_J_1USEXTRACTD_STR-DLFIMG sy-vline
WA_J_1USEXTRACTD_STR-DVRKME sy-vline
WA_J_1USEXTRACTD_STR-GFKIMG sy-vline
WA_J_1USEXTRACTD_STR-GVRKME sy-vline
WA_J_1USEXTRACTD_STR-PGFKIMG sy-vline
WA_J_1USEXTRACTD_STR-PGVRKME sy-vline
WA_J_1USEXTRACTD_STR-ISDFKIMG sy-vline
WA_J_1USEXTRACTD_STR-ISDVRKME sy-vline
WA_J_1USEXTRACTD_STR-MATNR sy-vline
WA_J_1USEXTRACTD_STR-MAKTX sy-vline
WA_J_1USEXTRACTD_STR-CYCLE_DAY sy-vline
WA_J_1USEXTRACTD_STR-TOTAL_DAY sy-vline
WA_J_1USEXTRACTD_STR-CONFIRM_DATE sy-vline
WA_J_1USEXTRACTD_STR-CONFIRM_DAY sy-vline
WA_J_1USEXTRACTD_STR-SECEVT_DATE sy-vline
WA_J_1USEXTRACTD_STR-GTDSEC_DAY sy-vline
WA_J_1USEXTRACTD_STR-GTDPAY_DAY sy-vline
WA_J_1USEXTRACTD_STR-GTDCONF_DAY sy-vline
WA_J_1USEXTRACTD_STR-TAXTR_DOC sy-vline
WA_J_1USEXTRACTD_STR-KUNNR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.