ABAP Select data from SAP table /IWSCS/S_SCREEN_INFO 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 /IWSCS/S_SCREEN_INFO 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 /IWSCS/S_SCREEN_INFO. 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 /IWSCS/S_SCREEN_INFO 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_/IWSCS/S_SCREEN_INFO TYPE STANDARD TABLE OF /IWSCS/S_SCREEN_INFO, WA_/IWSCS/S_SCREEN_INFO TYPE /IWSCS/S_SCREEN_INFO, 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: </IWSCS/S_SCREEN_INFO> TYPE /IWSCS/S_SCREEN_INFO. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_/IWSCS/S_SCREEN_INFO. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM /IWSCS/S_SCREEN_INFO INTO TABLE IT_/IWSCS/S_SCREEN_INFO. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM /IWSCS/S_SCREEN_INFO * INTO TABLE @DATA(IT_/IWSCS/S_SCREEN_INFO2). *--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_/IWSCS/S_SCREEN_INFO INDEX 1 INTO DATA(WA_/IWSCS/S_SCREEN_INFO2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_/IWSCS/S_SCREEN_INFO ASSIGNING </IWSCS/S_SCREEN_INFO>.*To update a field value using a field symbol simply change the value via the field symbol pointer
</IWSCS/S_SCREEN_INFO>-INTTYPE = 1.
</IWSCS/S_SCREEN_INFO>-INTLEN = 1.
</IWSCS/S_SCREEN_INFO>-DECIMALS = 1.
</IWSCS/S_SCREEN_INFO>-CONT_TYPE = 1.
</IWSCS/S_SCREEN_INFO>-CONT_NAME = 1.
ENDLOOP. LOOP AT IT_/IWSCS/S_SCREEN_INFO INTO WA_/IWSCS/S_SCREEN_INFO. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_/IWSCS/S_SCREEN_INFO-TYPE, sy-vline,
WA_/IWSCS/S_SCREEN_INFO-NAME, sy-vline,
WA_/IWSCS/S_SCREEN_INFO-TEXT, sy-vline,
WA_/IWSCS/S_SCREEN_INFO-DROPDOWN, sy-vline,
WA_/IWSCS/S_SCREEN_INFO-ICON_NAME, sy-vline,
WA_/IWSCS/S_SCREEN_INFO-ICON_QINFO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/IWSCS/S_SCREEN_INFO 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_/IWSCS/S_SCREEN_INFO 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_/IWSCS/S_SCREEN_INFO INTO WA_/IWSCS/S_SCREEN_INFO. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_/IWSCS/S_SCREEN_INFO_STR,
INTTYPE TYPE STRING,
INTLEN TYPE STRING,
DECIMALS TYPE STRING,
CONT_TYPE TYPE STRING,
CONT_NAME TYPE STRING,
TYPE TYPE STRING,
NAME TYPE STRING,
TEXT TYPE STRING,
DROPDOWN TYPE STRING,
ICON_NAME TYPE STRING,
ICON_QINFO TYPE STRING,
ICON_QSPEC TYPE STRING,
WITH_ICON TYPE STRING,
ROLLING TYPE STRING,
LINE TYPE STRING,
COLUMN TYPE STRING,
LENGTH TYPE STRING,
VISLENGTH TYPE STRING,
HEIGHT TYPE STRING,
GROUP1 TYPE STRING,
GROUP2 TYPE STRING,
GROUP3 TYPE STRING,
GROUP4 TYPE STRING,
PUSH_FCODE TYPE STRING,
PUSH_FTYPE TYPE STRING,
CXT_MENON TYPE STRING,
FORMAT TYPE STRING,
FROM_DICT TYPE STRING,
MODIFIC TYPE STRING,
CONV_EXIT TYPE STRING,
PARAM_ID TYPE STRING,
SET_PARAM TYPE STRING,
GET_PARAM TYPE STRING,
UP_LOWER TYPE STRING,
NO_TEMPL TYPE STRING,
FOREIGNKEY TYPE STRING,
INPUT_FLD TYPE STRING,
OUTPUT_FLD TYPE STRING,
OUTPUTONLY TYPE STRING,
REQU_ENTRY TYPE STRING,
POSS_ENTRY TYPE STRING,
DROPFROM TYPE STRING,
RIGHT_JUST TYPE STRING,
LEAD_ZEROS TYPE STRING,
*_ENTRY TYPE STRING,
NO_RESET TYPE STRING,
FIXED_FONT TYPE STRING,
BRIGHT TYPE STRING,
INVISIBLE TYPE STRING,
2_DIMENS TYPE STRING,
LABELLEFT TYPE STRING,
LABELRIGHT TYPE STRING,
LTR TYPE STRING,
BIDICTRL TYPE STRING,
DBLCLICK TYPE STRING,
MATCHCODE TYPE STRING,
REF_FIELD TYPE STRING,
TC_TITLE TYPE STRING,
TC_HEADING TYPE STRING,
TC_SELCOL TYPE STRING,
BUTT_RIGHT TYPE STRING,
DICT_I_FKY TYPE STRING,
DICT_I_FKD TYPE STRING,
DICT_I_SGN TYPE STRING,
DICT_I_VAL TYPE STRING,
SFW_SWITCHID TYPE STRING,
SFW_SHOWHIDE TYPE STRING,
PROPERTIES TYPE STRING,END OF T_EKKO_STR. DATA: WA_/IWSCS/S_SCREEN_INFO_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_/IWSCS/S_SCREEN_INFO_STR-INTTYPE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-INTLEN sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DECIMALS sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-CONT_TYPE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-CONT_NAME sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-TYPE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-NAME sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-TEXT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DROPDOWN sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-ICON_NAME sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-ICON_QINFO sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-ICON_QSPEC sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-WITH_ICON sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-ROLLING sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-LINE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-COLUMN sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-LENGTH sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-VISLENGTH sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-HEIGHT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-GROUP1 sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-GROUP2 sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-GROUP3 sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-GROUP4 sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-PUSH_FCODE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-PUSH_FTYPE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-CXT_MENON sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-FORMAT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-FROM_DICT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-MODIFIC sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-CONV_EXIT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-PARAM_ID sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-SET_PARAM sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-GET_PARAM sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-UP_LOWER sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-NO_TEMPL sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-FOREIGNKEY sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-INPUT_FLD sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-OUTPUT_FLD sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-OUTPUTONLY sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-REQU_ENTRY sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-POSS_ENTRY sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DROPFROM sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-RIGHT_JUST sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-LEAD_ZEROS sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-*_ENTRY sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-NO_RESET sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-FIXED_FONT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-BRIGHT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-INVISIBLE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-2_DIMENS sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-LABELLEFT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-LABELRIGHT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-LTR sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-BIDICTRL sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DBLCLICK sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-MATCHCODE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-REF_FIELD sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-TC_TITLE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-TC_HEADING sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-TC_SELCOL sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-BUTT_RIGHT sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DICT_I_FKY sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DICT_I_FKD sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DICT_I_SGN sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-DICT_I_VAL sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-SFW_SWITCHID sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-SFW_SHOWHIDE sy-vline
WA_/IWSCS/S_SCREEN_INFO_STR-PROPERTIES sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.