ABAP Select data from SAP table IUEEDPPLOTA_ARCHIVE 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 IUEEDPPLOTA_ARCHIVE 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 IUEEDPPLOTA_ARCHIVE. 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 IUEEDPPLOTA_ARCHIVE 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_IUEEDPPLOTA_ARCHIVE TYPE STANDARD TABLE OF IUEEDPPLOTA_ARCHIVE,
      WA_IUEEDPPLOTA_ARCHIVE TYPE IUEEDPPLOTA_ARCHIVE,
      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: <IUEEDPPLOTA_ARCHIVE> TYPE IUEEDPPLOTA_ARCHIVE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM IUEEDPPLOTA_ARCHIVE
*  INTO TABLE @DATA(IT_IUEEDPPLOTA_ARCHIVE2).
*--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_IUEEDPPLOTA_ARCHIVE INDEX 1 INTO DATA(WA_IUEEDPPLOTA_ARCHIVE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_IUEEDPPLOTA_ARCHIVE ASSIGNING <IUEEDPPLOTA_ARCHIVE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<IUEEDPPLOTA_ARCHIVE>-HEAD = 1.
<IUEEDPPLOTA_ARCHIVE>-MANDT = 1.
<IUEEDPPLOTA_ARCHIVE>-KEYZ1 = 1.
<IUEEDPPLOTA_ARCHIVE>-RUNID = 1.
<IUEEDPPLOTA_ARCHIVE>-RUNDT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_IUEEDPPLOTA_ARCHIVE-RUNTM, sy-vline,
WA_IUEEDPPLOTA_ARCHIVE-VKONT, sy-vline,
WA_IUEEDPPLOTA_ARCHIVE-SENID, sy-vline,
WA_IUEEDPPLOTA_ARCHIVE-RECID, sy-vline,
WA_IUEEDPPLOTA_ARCHIVE-BETRW, sy-vline,
WA_IUEEDPPLOTA_ARCHIVE-WAERS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IUEEDPPLOTA_ARCHIVE 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_IUEEDPPLOTA_ARCHIVE 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_IUEEDPPLOTA_ARCHIVE INTO WA_IUEEDPPLOTA_ARCHIVE. *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 VKONT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IUEEDPPLOTA_ARCHIVE-VKONT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IUEEDPPLOTA_ARCHIVE-VKONT.
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_IUEEDPPLOTA_ARCHIVE_STR,
HEAD TYPE STRING,
MANDT TYPE STRING,
KEYZ1 TYPE STRING,
RUNID TYPE STRING,
RUNDT TYPE STRING,
RUNTM TYPE STRING,
VKONT TYPE STRING,
SENID TYPE STRING,
RECID TYPE STRING,
BETRW TYPE STRING,
WAERS TYPE STRING,
ASTAZ TYPE STRING,
V_GROUP TYPE STRING,
STORN TYPE STRING,
SAVEACC TYPE STRING,
DISTAVIS TYPE STRING,
WORKFLOW TYPE STRING,
AUTOAVIS TYPE STRING,
VERART_DL TYPE STRING,
KEYZ2_REF2 TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
DELETED TYPE STRING,
ADM TYPE STRING,
MANDT TYPE STRING,
PROGN TYPE STRING,
RUNID TYPE STRING,
RUNDT TYPE STRING,
RUNTM TYPE STRING,
VALUT TYPE STRING,
DPERC TYPE STRING,
MAXNO TYPE STRING,
LOTPR TYPE STRING,
LGHND TYPE STRING,
MSGNO TYPE STRING,
RSTAT TYPE STRING,
LOTDK TYPE STRING,
VPROB TYPE STRING,
CHPAY TYPE STRING,
ADM1_T TYPE STRING,
REF_T TYPE STRING,
REF1_T TYPE STRING,
REF2 TYPE STRING,
MANDT TYPE STRING,
KEYZ1 TYPE STRING,
KEYZ2 TYPE STRING,
KEYZ2_COMP TYPE STRING,END OF T_EKKO_STR. DATA: WA_IUEEDPPLOTA_ARCHIVE_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_IUEEDPPLOTA_ARCHIVE_STR-HEAD sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-MANDT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-KEYZ1 sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RUNID sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RUNDT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RUNTM sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-VKONT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-SENID sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RECID sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-BETRW sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-WAERS sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-ASTAZ sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-V_GROUP sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-STORN sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-SAVEACC sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-DISTAVIS sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-WORKFLOW sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-AUTOAVIS sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-VERART_DL sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-KEYZ2_REF2 sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-AEDAT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-AENAM sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-DELETED sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-ADM sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-MANDT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-PROGN sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RUNID sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RUNDT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RUNTM sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-VALUT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-DPERC sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-MAXNO sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-LOTPR sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-LGHND sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-MSGNO sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-RSTAT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-LOTDK sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-VPROB sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-CHPAY sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-ADM1_T sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-REF_T sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-REF1_T sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-REF2 sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-MANDT sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-KEYZ1 sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-KEYZ2 sy-vline
WA_IUEEDPPLOTA_ARCHIVE_STR-KEYZ2_COMP sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.