ABAP Select data from SAP table EUI_EXT_DIA_DIALOG 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 EUI_EXT_DIA_DIALOG 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 EUI_EXT_DIA_DIALOG. 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 EUI_EXT_DIA_DIALOG 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_EUI_EXT_DIA_DIALOG TYPE STANDARD TABLE OF EUI_EXT_DIA_DIALOG,
      WA_EUI_EXT_DIA_DIALOG TYPE EUI_EXT_DIA_DIALOG,
      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: <EUI_EXT_DIA_DIALOG> TYPE EUI_EXT_DIA_DIALOG.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM EUI_EXT_DIA_DIALOG
*  INTO TABLE @DATA(IT_EUI_EXT_DIA_DIALOG2).
*--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_EUI_EXT_DIA_DIALOG INDEX 1 INTO DATA(WA_EUI_EXT_DIA_DIALOG2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_EUI_EXT_DIA_DIALOG ASSIGNING <EUI_EXT_DIA_DIALOG>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<EUI_EXT_DIA_DIALOG>-EXTUI = 1.
<EUI_EXT_DIA_DIALOG>-EXT_UI = 1.
<EUI_EXT_DIA_DIALOG>-UISTRUTYP = 1.
<EUI_EXT_DIA_DIALOG>-DATETO = 1.
<EUI_EXT_DIA_DIALOG>-TIMETO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_EUI_EXT_DIA_DIALOG-DATEFROM, sy-vline,
WA_EUI_EXT_DIA_DIALOG-TIMEFROM, sy-vline,
WA_EUI_EXT_DIA_DIALOG-WA_TRANS_HIST, sy-vline,
WA_EUI_EXT_DIA_DIALOG-SELECTED, sy-vline,
WA_EUI_EXT_DIA_DIALOG-EXT_UI_DIS, sy-vline,
WA_EUI_EXT_DIA_DIALOG-MANDT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_EUI_EXT_DIA_DIALOG 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_EUI_EXT_DIA_DIALOG 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_EUI_EXT_DIA_DIALOG INTO WA_EUI_EXT_DIA_DIALOG. *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 PREMISE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EUI_EXT_DIA_DIALOG-PREMISE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EUI_EXT_DIA_DIALOG-PREMISE.
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_EUI_EXT_DIA_DIALOG_STR,
EXTUI TYPE STRING,
EXT_UI TYPE STRING,
UISTRUTYP TYPE STRING,
DATETO TYPE STRING,
TIMETO TYPE STRING,
DATEFROM TYPE STRING,
TIMEFROM TYPE STRING,
WA_TRANS_HIST TYPE STRING,
SELECTED TYPE STRING,
EXT_UI_DIS TYPE STRING,
MANDT TYPE STRING,
INT_UI TYPE STRING,
DATETO TYPE STRING,
TIMETO TYPE STRING,
DATEFROM TYPE STRING,
TIMEFROM TYPE STRING,
EXT_UI TYPE STRING,
UISTRUTYP TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
BEGRU TYPE STRING,
LOEVM TYPE STRING,
TRANS_HIST TYPE STRING,
GRID TYPE STRING,
MANDT TYPE STRING,
INT_UI TYPE STRING,
DATETO TYPE STRING,
TIMETO TYPE STRING,
DATEFROM TYPE STRING,
TIMEFROM TYPE STRING,
GRID_ID TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
BEGRU TYPE STRING,
LOEVM TYPE STRING,
GRID_LEVEL TYPE STRING,
DISTRIBUTOR TYPE STRING,
PREMISE TYPE STRING,
VOLTAGE_LEVEL TYPE STRING,
NEW_VALUES TYPE STRING,
SPARTYP TYPE STRING,
STRUTYPE_CHNG TYPE STRING,
PODGROUPSCREEN TYPE STRING,
PODGROUP TYPE STRING,
MANDT TYPE STRING,
INT_UI TYPE STRING,
DATETO TYPE STRING,
DEREGPROC TYPE STRING,
DATEFROM TYPE STRING,
PODGROUP TYPE STRING,
PODGROUPUSE TYPE STRING,
PODGROUPMAN TYPE STRING,
PODGROUPTXT TYPE STRING,
DEREGSCENARIOSCREEN TYPE STRING,
DEREGSCENARIO TYPE STRING,
MANDT TYPE STRING,
SCENARIO TYPE STRING,
SPARTE TYPE STRING,
SCENARIOTYPE TYPE STRING,
DATEFROM TYPE STRING,
DATETO TYPE STRING,
ACTIVE TYPE STRING,
SCENARIOTXT TYPE STRING,
SCENARIO TYPE STRING,
DRCKSTUF TYPE STRING,END OF T_EKKO_STR. DATA: WA_EUI_EXT_DIA_DIALOG_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_EUI_EXT_DIA_DIALOG_STR-EXTUI sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-EXT_UI sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-UISTRUTYP sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-TIMETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-TIMEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-WA_TRANS_HIST sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-SELECTED sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-EXT_UI_DIS sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-MANDT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-INT_UI sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-TIMETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-TIMEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-EXT_UI sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-UISTRUTYP sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-ERDAT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-ERNAM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-AEDAT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-AENAM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-BEGRU sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-LOEVM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-TRANS_HIST sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-GRID sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-MANDT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-INT_UI sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-TIMETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-TIMEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-GRID_ID sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-ERDAT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-ERNAM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-AEDAT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-AENAM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-BEGRU sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-LOEVM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-GRID_LEVEL sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DISTRIBUTOR sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-PREMISE sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-VOLTAGE_LEVEL sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-NEW_VALUES sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-SPARTYP sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-STRUTYPE_CHNG sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-PODGROUPSCREEN sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-PODGROUP sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-MANDT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-INT_UI sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DEREGPROC sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-PODGROUP sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-PODGROUPUSE sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-PODGROUPMAN sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-PODGROUPTXT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DEREGSCENARIOSCREEN sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DEREGSCENARIO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-MANDT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-SCENARIO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-SPARTE sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-SCENARIOTYPE sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATEFROM sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DATETO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-ACTIVE sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-SCENARIOTXT sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-SCENARIO sy-vline
WA_EUI_EXT_DIA_DIALOG_STR-DRCKSTUF sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.