ABAP Select data from SAP table WRF_WTAD_AD_WL 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 WRF_WTAD_AD_WL 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 WRF_WTAD_AD_WL. 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 WRF_WTAD_AD_WL 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_WRF_WTAD_AD_WL TYPE STANDARD TABLE OF WRF_WTAD_AD_WL, WA_WRF_WTAD_AD_WL TYPE WRF_WTAD_AD_WL, 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: <WRF_WTAD_AD_WL> TYPE WRF_WTAD_AD_WL. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_WRF_WTAD_AD_WL. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM WRF_WTAD_AD_WL INTO TABLE IT_WRF_WTAD_AD_WL. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM WRF_WTAD_AD_WL * INTO TABLE @DATA(IT_WRF_WTAD_AD_WL2). *--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_WRF_WTAD_AD_WL INDEX 1 INTO DATA(WA_WRF_WTAD_AD_WL2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_WRF_WTAD_AD_WL ASSIGNING <WRF_WTAD_AD_WL>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<WRF_WTAD_AD_WL>-MANDT = 1.
<WRF_WTAD_AD_WL>-USERID = 1.
<WRF_WTAD_AD_WL>-GUID = 1.
<WRF_WTAD_AD_WL>-MATNR = 1.
<WRF_WTAD_AD_WL>-MAKTX = 1.
ENDLOOP. LOOP AT IT_WRF_WTAD_AD_WL INTO WA_WRF_WTAD_AD_WL. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_WRF_WTAD_AD_WL-ADDIBELNR, sy-vline,
WA_WRF_WTAD_AD_WL-ADDIPOSNR, sy-vline,
WA_WRF_WTAD_AD_WL-ADDIMAT, sy-vline,
WA_WRF_WTAD_AD_WL-DATECR, sy-vline,
WA_WRF_WTAD_AD_WL-ADDIIDOCD, sy-vline,
WA_WRF_WTAD_AD_WL-ADDIFM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WRF_WTAD_AD_WL 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_WRF_WTAD_AD_WL 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_WRF_WTAD_AD_WL INTO WA_WRF_WTAD_AD_WL. *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_WRF_WTAD_AD_WL-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_WTAD_AD_WL-MATNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ADDIBELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WRF_WTAD_AD_WL-ADDIBELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_WTAD_AD_WL-ADDIBELNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit MATN1, internal->external for field ADDIMAT CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_WRF_WTAD_AD_WL-ADDIMAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_WTAD_AD_WL-ADDIMAT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ADDILIFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WRF_WTAD_AD_WL-ADDILIFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_WTAD_AD_WL-ADDILIFNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ADDIEBELN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WRF_WTAD_AD_WL-ADDIEBELN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_WTAD_AD_WL-ADDIEBELN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ADDIVKME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_WRF_WTAD_AD_WL-ADDIVKME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_WTAD_AD_WL-ADDIVKME.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ADDIKUNNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WRF_WTAD_AD_WL-ADDIKUNNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_WTAD_AD_WL-ADDIKUNNR.
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_WRF_WTAD_AD_WL_STR,
MANDT TYPE STRING,
USERID TYPE STRING,
GUID TYPE STRING,
MATNR TYPE STRING,
MAKTX TYPE STRING,
ADDIBELNR TYPE STRING,
ADDIPOSNR TYPE STRING,
ADDIMAT TYPE STRING,
DATECR TYPE STRING,
ADDIIDOCD TYPE STRING,
ADDIFM TYPE STRING,
ADDILIFNR TYPE STRING,
ADDIKSCHL TYPE STRING,
ADDIEBELN TYPE STRING,
KSCHLIDOC TYPE STRING,
KBETRIDOC TYPE STRING,
WAERSIDOC TYPE STRING,
NEWKBETR TYPE STRING,
NEWWAERS TYPE STRING,
ADDIRDID TYPE STRING,
GUID_ALV TYPE STRING,
CREATE_IDOC_DAT TYPE STRING,
IDOC_PRICE_DAT TYPE STRING,
CHANGE_PRICE_DAT TYPE STRING,
ADDIMAKTX TYPE STRING,
ADDISTUNR TYPE STRING,
LFDNR TYPE STRING,
CHECKSUM TYPE STRING,
CONDCHECKSUMIDOC TYPE STRING,
ADDIVKME TYPE STRING,
ADDIWERKS TYPE STRING,
ADDIKUNNR TYPE STRING,
ADDIMATKL TYPE STRING,
TIMESTAMP TYPE STRING,
CHANGED_BY TYPE STRING,END OF T_EKKO_STR. DATA: WA_WRF_WTAD_AD_WL_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_WRF_WTAD_AD_WL_STR-MANDT sy-vline
WA_WRF_WTAD_AD_WL_STR-USERID sy-vline
WA_WRF_WTAD_AD_WL_STR-GUID sy-vline
WA_WRF_WTAD_AD_WL_STR-MATNR sy-vline
WA_WRF_WTAD_AD_WL_STR-MAKTX sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIBELNR sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIPOSNR sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIMAT sy-vline
WA_WRF_WTAD_AD_WL_STR-DATECR sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIIDOCD sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIFM sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDILIFNR sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIKSCHL sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIEBELN sy-vline
WA_WRF_WTAD_AD_WL_STR-KSCHLIDOC sy-vline
WA_WRF_WTAD_AD_WL_STR-KBETRIDOC sy-vline
WA_WRF_WTAD_AD_WL_STR-WAERSIDOC sy-vline
WA_WRF_WTAD_AD_WL_STR-NEWKBETR sy-vline
WA_WRF_WTAD_AD_WL_STR-NEWWAERS sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIRDID sy-vline
WA_WRF_WTAD_AD_WL_STR-GUID_ALV sy-vline
WA_WRF_WTAD_AD_WL_STR-CREATE_IDOC_DAT sy-vline
WA_WRF_WTAD_AD_WL_STR-IDOC_PRICE_DAT sy-vline
WA_WRF_WTAD_AD_WL_STR-CHANGE_PRICE_DAT sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIMAKTX sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDISTUNR sy-vline
WA_WRF_WTAD_AD_WL_STR-LFDNR sy-vline
WA_WRF_WTAD_AD_WL_STR-CHECKSUM sy-vline
WA_WRF_WTAD_AD_WL_STR-CONDCHECKSUMIDOC sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIVKME sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIWERKS sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIKUNNR sy-vline
WA_WRF_WTAD_AD_WL_STR-ADDIMATKL sy-vline
WA_WRF_WTAD_AD_WL_STR-TIMESTAMP sy-vline
WA_WRF_WTAD_AD_WL_STR-CHANGED_BY sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.