ABAP Select data from SAP table IWDIALOG 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 IWDIALOG 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 IWDIALOG. 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 IWDIALOG 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_IWDIALOG TYPE STANDARD TABLE OF IWDIALOG,
      WA_IWDIALOG TYPE IWDIALOG,
      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: <IWDIALOG> TYPE IWDIALOG.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM IWDIALOG
*  INTO TABLE @DATA(IT_IWDIALOG2).
*--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_IWDIALOG INDEX 1 INTO DATA(WA_IWDIALOG2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_IWDIALOG ASSIGNING <IWDIALOG>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<IWDIALOG>-IOCLPRIO = 1.
<IWDIALOG>-IOCLPRIOT = 1.
<IWDIALOG>-PRIOINHERT = 1.
<IWDIALOG>-MARK_COL = 1.
<IWDIALOG>-MARK_COL2 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_IWDIALOG-SRC_LANGU, sy-vline,
WA_IWDIALOG-IDEV_LANGU, sy-vline,
WA_IWDIALOG-TRG_LANGU, sy-vline,
WA_IWDIALOG-TSRC_LANGU, sy-vline,
WA_IWDIALOG-TTRG_LANGU, sy-vline,
WA_IWDIALOG-CNTY_ID, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IWDIALOG 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_IWDIALOG 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_IWDIALOG INTO WA_IWDIALOG. *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 ISOLA, internal->external for field SRC_LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_IWDIALOG-SRC_LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IWDIALOG-SRC_LANGU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field TRG_LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_IWDIALOG-TRG_LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IWDIALOG-TRG_LANGU.
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_IWDIALOG_STR,
IOCLPRIO TYPE STRING,
IOCLPRIOT TYPE STRING,
PRIOINHERT TYPE STRING,
MARK_COL TYPE STRING,
MARK_COL2 TYPE STRING,
SRC_LANGU TYPE STRING,
IDEV_LANGU TYPE STRING,
TRG_LANGU TYPE STRING,
TSRC_LANGU TYPE STRING,
TTRG_LANGU TYPE STRING,
CNTY_ID TYPE STRING,
COUNTRY TYPE STRING,
INDUSTRY TYPE STRING,
IND_REL TYPE STRING,
CUSTOMER TYPE STRING,
RELEASE TYPE STRING,
FOLDER_NAM TYPE STRING,
MIG_SAPRL TYPE STRING,
MIG_ABORT TYPE STRING,
MIG_ALL TYPE STRING,
MIG_STATE TYPE STRING,
MIG_PATH TYPE STRING,
MIG_PRJCT TYPE STRING,
STR_TITLE TYPE STRING,
DANGLING TYPE STRING,
CHOUT_INFO TYPE STRING,
CHCK_LINK TYPE STRING,
TITLE TYPE STRING,
RESPONSBLE TYPE STRING,
TECH_NAME TYPE STRING,
DELIVER TYPE STRING,
CUSTOUT TYPE STRING,
STANDREL TYPE STRING,
EXTENDED TYPE STRING,
INDUST TYPE STRING,
SERVER TYPE STRING,
SY TYPE STRING,
HLP TYPE STRING,
RFCKEN TYPE STRING,
FREEZE TYPE STRING,
IW_TYPE TYPE STRING,
IW_STATE TYPE STRING,
EXP_TYPE TYPE STRING,
EXP_TYPE_T TYPE STRING,
OPT_ID TYPE STRING,
OPT_T TYPE STRING,
EXP_PRIO TYPE STRING,
EXP_PRIO_T TYPE STRING,
CXT_LINE TYPE STRING,
CXT_FLD1 TYPE STRING,
CXT_FLD2 TYPE STRING,
CXT_FLD3 TYPE STRING,
CXT_FLD4 TYPE STRING,
CXT_FLD5 TYPE STRING,
MACRONAME TYPE STRING,
MACROPAR1 TYPE STRING,
MACROPAR2 TYPE STRING,
MACROPAR3 TYPE STRING,
MACROPAR4 TYPE STRING,
MACROPAR5 TYPE STRING,
MACROPAR6 TYPE STRING,
MACROPAR7 TYPE STRING,
COMP_RES TYPE STRING,
EXP_ALIAS TYPE STRING,
IW_TEXT TYPE STRING,
ASSIGNMENT_STATUS TYPE STRING,
BEST_PHIO TYPE STRING,END OF T_EKKO_STR. DATA: WA_IWDIALOG_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_IWDIALOG_STR-IOCLPRIO sy-vline
WA_IWDIALOG_STR-IOCLPRIOT sy-vline
WA_IWDIALOG_STR-PRIOINHERT sy-vline
WA_IWDIALOG_STR-MARK_COL sy-vline
WA_IWDIALOG_STR-MARK_COL2 sy-vline
WA_IWDIALOG_STR-SRC_LANGU sy-vline
WA_IWDIALOG_STR-IDEV_LANGU sy-vline
WA_IWDIALOG_STR-TRG_LANGU sy-vline
WA_IWDIALOG_STR-TSRC_LANGU sy-vline
WA_IWDIALOG_STR-TTRG_LANGU sy-vline
WA_IWDIALOG_STR-CNTY_ID sy-vline
WA_IWDIALOG_STR-COUNTRY sy-vline
WA_IWDIALOG_STR-INDUSTRY sy-vline
WA_IWDIALOG_STR-IND_REL sy-vline
WA_IWDIALOG_STR-CUSTOMER sy-vline
WA_IWDIALOG_STR-RELEASE sy-vline
WA_IWDIALOG_STR-FOLDER_NAM sy-vline
WA_IWDIALOG_STR-MIG_SAPRL sy-vline
WA_IWDIALOG_STR-MIG_ABORT sy-vline
WA_IWDIALOG_STR-MIG_ALL sy-vline
WA_IWDIALOG_STR-MIG_STATE sy-vline
WA_IWDIALOG_STR-MIG_PATH sy-vline
WA_IWDIALOG_STR-MIG_PRJCT sy-vline
WA_IWDIALOG_STR-STR_TITLE sy-vline
WA_IWDIALOG_STR-DANGLING sy-vline
WA_IWDIALOG_STR-CHOUT_INFO sy-vline
WA_IWDIALOG_STR-CHCK_LINK sy-vline
WA_IWDIALOG_STR-TITLE sy-vline
WA_IWDIALOG_STR-RESPONSBLE sy-vline
WA_IWDIALOG_STR-TECH_NAME sy-vline
WA_IWDIALOG_STR-DELIVER sy-vline
WA_IWDIALOG_STR-CUSTOUT sy-vline
WA_IWDIALOG_STR-STANDREL sy-vline
WA_IWDIALOG_STR-EXTENDED sy-vline
WA_IWDIALOG_STR-INDUST sy-vline
WA_IWDIALOG_STR-SERVER sy-vline
WA_IWDIALOG_STR-SY sy-vline
WA_IWDIALOG_STR-HLP sy-vline
WA_IWDIALOG_STR-RFCKEN sy-vline
WA_IWDIALOG_STR-FREEZE sy-vline
WA_IWDIALOG_STR-IW_TYPE sy-vline
WA_IWDIALOG_STR-IW_STATE sy-vline
WA_IWDIALOG_STR-EXP_TYPE sy-vline
WA_IWDIALOG_STR-EXP_TYPE_T sy-vline
WA_IWDIALOG_STR-OPT_ID sy-vline
WA_IWDIALOG_STR-OPT_T sy-vline
WA_IWDIALOG_STR-EXP_PRIO sy-vline
WA_IWDIALOG_STR-EXP_PRIO_T sy-vline
WA_IWDIALOG_STR-CXT_LINE sy-vline
WA_IWDIALOG_STR-CXT_FLD1 sy-vline
WA_IWDIALOG_STR-CXT_FLD2 sy-vline
WA_IWDIALOG_STR-CXT_FLD3 sy-vline
WA_IWDIALOG_STR-CXT_FLD4 sy-vline
WA_IWDIALOG_STR-CXT_FLD5 sy-vline
WA_IWDIALOG_STR-MACRONAME sy-vline
WA_IWDIALOG_STR-MACROPAR1 sy-vline
WA_IWDIALOG_STR-MACROPAR2 sy-vline
WA_IWDIALOG_STR-MACROPAR3 sy-vline
WA_IWDIALOG_STR-MACROPAR4 sy-vline
WA_IWDIALOG_STR-MACROPAR5 sy-vline
WA_IWDIALOG_STR-MACROPAR6 sy-vline
WA_IWDIALOG_STR-MACROPAR7 sy-vline
WA_IWDIALOG_STR-COMP_RES sy-vline
WA_IWDIALOG_STR-EXP_ALIAS sy-vline
WA_IWDIALOG_STR-IW_TEXT sy-vline
WA_IWDIALOG_STR-ASSIGNMENT_STATUS sy-vline
WA_IWDIALOG_STR-BEST_PHIO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.