ABAP Select data from SAP table SEUICTRL 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 SEUICTRL 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 SEUICTRL. 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 SEUICTRL 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_SEUICTRL TYPE STANDARD TABLE OF SEUICTRL, WA_SEUICTRL TYPE SEUICTRL, 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: <SEUICTRL> TYPE SEUICTRL. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_SEUICTRL. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM SEUICTRL INTO TABLE IT_SEUICTRL. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM SEUICTRL * INTO TABLE @DATA(IT_SEUICTRL2). *--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_SEUICTRL INDEX 1 INTO DATA(WA_SEUICTRL2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_SEUICTRL ASSIGNING <SEUICTRL>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<SEUICTRL>-OBJ_TYPE = 1.
<SEUICTRL>-IS_ENCLOBJ = 1.
<SEUICTRL>-FUNCTION = 1.
<SEUICTRL>-PROGRAM = 1.
<SEUICTRL>-RAW_MAX = 1.
ENDLOOP. LOOP AT IT_SEUICTRL INTO WA_SEUICTRL. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_SEUICTRL-VARIANT, sy-vline,
WA_SEUICTRL-F4_SET, sy-vline,
WA_SEUICTRL-F4_DISPLAY, sy-vline,
WA_SEUICTRL-LOOPC, sy-vline,
WA_SEUICTRL-SELEALL, sy-vline,
WA_SEUICTRL-SUPPSELE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_SEUICTRL 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_SEUICTRL 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_SEUICTRL INTO WA_SEUICTRL. *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_SEUICTRL_STR,
OBJ_TYPE TYPE STRING,
IS_ENCLOBJ TYPE STRING,
FUNCTION TYPE STRING,
PROGRAM TYPE STRING,
RAW_MAX TYPE STRING,
VARIANT TYPE STRING,
F4_SET TYPE STRING,
F4_DISPLAY TYPE STRING,
LOOPC TYPE STRING,
SELEALL TYPE STRING,
SUPPSELE TYPE STRING,
NO_DIALOG TYPE STRING,
POPUP TYPE STRING,
RESTRICT TYPE STRING,
SYSTEM TYPE STRING,
F4LASTVAL TYPE STRING,
LINE_SIZE TYPE STRING,
LINE_COUNT TYPE STRING,
EXTERN TYPE STRING,
FIRST TYPE STRING,
TAKE TYPE STRING,
APPL_HIRA TYPE STRING,
SELECT_SET TYPE STRING,
SELECTDARK TYPE STRING,
SORTFIELD TYPE STRING,
KEYFIELD TYPE STRING,
KEYFIELD2 TYPE STRING,
DELETE TYPE STRING,
LIST_FORM TYPE STRING,
LIST_STACO TYPE STRING,
LIST_STARO TYPE STRING,
LIST_CPAGE TYPE STRING,
LIST_COLMN TYPE STRING,
LIST_LINE TYPE STRING,
TADIR_KEY TYPE STRING,
MEMOID_OBJ TYPE STRING,
IS_EXP_OBJ TYPE STRING,
MAX_COMP TYPE STRING,
COUNT_COMP TYPE STRING,
ALL_COMP TYPE STRING,
ALL_FIELDS TYPE STRING,
OBJ_FILL TYPE STRING,
BATCH_LIST TYPE STRING,
WITH_REST TYPE STRING,
CONTINUE TYPE STRING,
MUSTEXPAND TYPE STRING,
GOON TYPE STRING,
REUSE TYPE STRING,
SELSCREEN TYPE STRING,
REACTIVATE TYPE STRING,
UCOMM TYPE STRING,
BLOCKLIST TYPE STRING,
REFRESH TYPE STRING,
ALVVARIANT TYPE STRING,
REPORT TYPE STRING,
HANDLE TYPE STRING,
LOG_GROUP TYPE STRING,
USERNAME TYPE STRING,
VARIANT TYPE STRING,
TEXT TYPE STRING,
DEPENDVARS TYPE STRING,
OBJLEN TYPE STRING,
IN_COLLEC TYPE STRING,
START_X TYPE STRING,
START_Y TYPE STRING,
F4STANDARD TYPE STRING,
NODEVCLASS TYPE STRING,
PARALLEL TYPE STRING,
F4NOPRIVAT TYPE STRING,
INDIRECT TYPE STRING,END OF T_EKKO_STR. DATA: WA_SEUICTRL_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_SEUICTRL_STR-OBJ_TYPE sy-vline
WA_SEUICTRL_STR-IS_ENCLOBJ sy-vline
WA_SEUICTRL_STR-FUNCTION sy-vline
WA_SEUICTRL_STR-PROGRAM sy-vline
WA_SEUICTRL_STR-RAW_MAX sy-vline
WA_SEUICTRL_STR-VARIANT sy-vline
WA_SEUICTRL_STR-F4_SET sy-vline
WA_SEUICTRL_STR-F4_DISPLAY sy-vline
WA_SEUICTRL_STR-LOOPC sy-vline
WA_SEUICTRL_STR-SELEALL sy-vline
WA_SEUICTRL_STR-SUPPSELE sy-vline
WA_SEUICTRL_STR-NO_DIALOG sy-vline
WA_SEUICTRL_STR-POPUP sy-vline
WA_SEUICTRL_STR-RESTRICT sy-vline
WA_SEUICTRL_STR-SYSTEM sy-vline
WA_SEUICTRL_STR-F4LASTVAL sy-vline
WA_SEUICTRL_STR-LINE_SIZE sy-vline
WA_SEUICTRL_STR-LINE_COUNT sy-vline
WA_SEUICTRL_STR-EXTERN sy-vline
WA_SEUICTRL_STR-FIRST sy-vline
WA_SEUICTRL_STR-TAKE sy-vline
WA_SEUICTRL_STR-APPL_HIRA sy-vline
WA_SEUICTRL_STR-SELECT_SET sy-vline
WA_SEUICTRL_STR-SELECTDARK sy-vline
WA_SEUICTRL_STR-SORTFIELD sy-vline
WA_SEUICTRL_STR-KEYFIELD sy-vline
WA_SEUICTRL_STR-KEYFIELD2 sy-vline
WA_SEUICTRL_STR-DELETE sy-vline
WA_SEUICTRL_STR-LIST_FORM sy-vline
WA_SEUICTRL_STR-LIST_STACO sy-vline
WA_SEUICTRL_STR-LIST_STARO sy-vline
WA_SEUICTRL_STR-LIST_CPAGE sy-vline
WA_SEUICTRL_STR-LIST_COLMN sy-vline
WA_SEUICTRL_STR-LIST_LINE sy-vline
WA_SEUICTRL_STR-TADIR_KEY sy-vline
WA_SEUICTRL_STR-MEMOID_OBJ sy-vline
WA_SEUICTRL_STR-IS_EXP_OBJ sy-vline
WA_SEUICTRL_STR-MAX_COMP sy-vline
WA_SEUICTRL_STR-COUNT_COMP sy-vline
WA_SEUICTRL_STR-ALL_COMP sy-vline
WA_SEUICTRL_STR-ALL_FIELDS sy-vline
WA_SEUICTRL_STR-OBJ_FILL sy-vline
WA_SEUICTRL_STR-BATCH_LIST sy-vline
WA_SEUICTRL_STR-WITH_REST sy-vline
WA_SEUICTRL_STR-CONTINUE sy-vline
WA_SEUICTRL_STR-MUSTEXPAND sy-vline
WA_SEUICTRL_STR-GOON sy-vline
WA_SEUICTRL_STR-REUSE sy-vline
WA_SEUICTRL_STR-SELSCREEN sy-vline
WA_SEUICTRL_STR-REACTIVATE sy-vline
WA_SEUICTRL_STR-UCOMM sy-vline
WA_SEUICTRL_STR-BLOCKLIST sy-vline
WA_SEUICTRL_STR-REFRESH sy-vline
WA_SEUICTRL_STR-ALVVARIANT sy-vline
WA_SEUICTRL_STR-REPORT sy-vline
WA_SEUICTRL_STR-HANDLE sy-vline
WA_SEUICTRL_STR-LOG_GROUP sy-vline
WA_SEUICTRL_STR-USERNAME sy-vline
WA_SEUICTRL_STR-VARIANT sy-vline
WA_SEUICTRL_STR-TEXT sy-vline
WA_SEUICTRL_STR-DEPENDVARS sy-vline
WA_SEUICTRL_STR-OBJLEN sy-vline
WA_SEUICTRL_STR-IN_COLLEC sy-vline
WA_SEUICTRL_STR-START_X sy-vline
WA_SEUICTRL_STR-START_Y sy-vline
WA_SEUICTRL_STR-F4STANDARD sy-vline
WA_SEUICTRL_STR-NODEVCLASS sy-vline
WA_SEUICTRL_STR-PARALLEL sy-vline
WA_SEUICTRL_STR-F4NOPRIVAT sy-vline
WA_SEUICTRL_STR-INDIRECT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.