ABAP Select data from SAP table T5ITII 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 T5ITII 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 T5ITII. 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 T5ITII 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_T5ITII TYPE STANDARD TABLE OF T5ITII, WA_T5ITII TYPE T5ITII, 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: <T5ITII> TYPE T5ITII. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_T5ITII. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM T5ITII INTO TABLE IT_T5ITII. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM T5ITII * INTO TABLE @DATA(IT_T5ITII2). *--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_T5ITII INDEX 1 INTO DATA(WA_T5ITII2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_T5ITII ASSIGNING <T5ITII>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<T5ITII>-MANDT = 1.
<T5ITII>-TRFAR = 1.
<T5ITII>-TRFGB = 1.
<T5ITII>-TRFKZ = 1.
<T5ITII>-TPTRA = 1.
ENDLOOP. LOOP AT IT_T5ITII INTO WA_T5ITII. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_T5ITII-ENDDA, sy-vline,
WA_T5ITII-BEGDA, sy-vline,
WA_T5ITII-GGLM1, sy-vline,
WA_T5ITII-ABY1, sy-vline,
WA_T5ITII-WTMA1, sy-vline,
WA_T5ITII-ABS1, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T5ITII 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_T5ITII 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_T5ITII INTO WA_T5ITII. *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_T5ITII_STR,
MANDT TYPE STRING,
TRFAR TYPE STRING,
TRFGB TYPE STRING,
TRFKZ TYPE STRING,
TPTRA TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
GGLM1 TYPE STRING,
ABY1 TYPE STRING,
WTMA1 TYPE STRING,
ABS1 TYPE STRING,
GGLM2 TYPE STRING,
ABY2 TYPE STRING,
WTMA2 TYPE STRING,
ABS2 TYPE STRING,
GGLM3 TYPE STRING,
ABY3 TYPE STRING,
WTMA3 TYPE STRING,
ABS3 TYPE STRING,
GGLM4 TYPE STRING,
ABY4 TYPE STRING,
WTMA4 TYPE STRING,
ABS4 TYPE STRING,
GGLM5 TYPE STRING,
ABY5 TYPE STRING,
WTMA5 TYPE STRING,
ABS5 TYPE STRING,
GGCAR TYPE STRING,
WTGGC TYPE STRING,
ABS6 TYPE STRING,
GGLMA TYPE STRING,
WTGLM TYPE STRING,
ABS7 TYPE STRING,
GGSN1 TYPE STRING,
GGSN2 TYPE STRING,
TPF1 TYPE STRING,
TPF2 TYPE STRING,
TPF3 TYPE STRING,
TPF4 TYPE STRING,
TPF5 TYPE STRING,
TPF6 TYPE STRING,
TPF7 TYPE STRING,
TPF8 TYPE STRING,
TPF9 TYPE STRING,
TPF10 TYPE STRING,
TPGD1 TYPE STRING,
TPGD2 TYPE STRING,
TPGD3 TYPE STRING,
TPGD4 TYPE STRING,
WTGNI TYPE STRING,
ABS8 TYPE STRING,
RIDO1 TYPE STRING,
RIDO2 TYPE STRING,
WTAMI TYPE STRING,
GGSN3 TYPE STRING,
GGSN4 TYPE STRING,
GGSN5 TYPE STRING,
GGSN6 TYPE STRING,
GGSN7 TYPE STRING,END OF T_EKKO_STR. DATA: WA_T5ITII_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_T5ITII_STR-MANDT sy-vline
WA_T5ITII_STR-TRFAR sy-vline
WA_T5ITII_STR-TRFGB sy-vline
WA_T5ITII_STR-TRFKZ sy-vline
WA_T5ITII_STR-TPTRA sy-vline
WA_T5ITII_STR-ENDDA sy-vline
WA_T5ITII_STR-BEGDA sy-vline
WA_T5ITII_STR-GGLM1 sy-vline
WA_T5ITII_STR-ABY1 sy-vline
WA_T5ITII_STR-WTMA1 sy-vline
WA_T5ITII_STR-ABS1 sy-vline
WA_T5ITII_STR-GGLM2 sy-vline
WA_T5ITII_STR-ABY2 sy-vline
WA_T5ITII_STR-WTMA2 sy-vline
WA_T5ITII_STR-ABS2 sy-vline
WA_T5ITII_STR-GGLM3 sy-vline
WA_T5ITII_STR-ABY3 sy-vline
WA_T5ITII_STR-WTMA3 sy-vline
WA_T5ITII_STR-ABS3 sy-vline
WA_T5ITII_STR-GGLM4 sy-vline
WA_T5ITII_STR-ABY4 sy-vline
WA_T5ITII_STR-WTMA4 sy-vline
WA_T5ITII_STR-ABS4 sy-vline
WA_T5ITII_STR-GGLM5 sy-vline
WA_T5ITII_STR-ABY5 sy-vline
WA_T5ITII_STR-WTMA5 sy-vline
WA_T5ITII_STR-ABS5 sy-vline
WA_T5ITII_STR-GGCAR sy-vline
WA_T5ITII_STR-WTGGC sy-vline
WA_T5ITII_STR-ABS6 sy-vline
WA_T5ITII_STR-GGLMA sy-vline
WA_T5ITII_STR-WTGLM sy-vline
WA_T5ITII_STR-ABS7 sy-vline
WA_T5ITII_STR-GGSN1 sy-vline
WA_T5ITII_STR-GGSN2 sy-vline
WA_T5ITII_STR-TPF1 sy-vline
WA_T5ITII_STR-TPF2 sy-vline
WA_T5ITII_STR-TPF3 sy-vline
WA_T5ITII_STR-TPF4 sy-vline
WA_T5ITII_STR-TPF5 sy-vline
WA_T5ITII_STR-TPF6 sy-vline
WA_T5ITII_STR-TPF7 sy-vline
WA_T5ITII_STR-TPF8 sy-vline
WA_T5ITII_STR-TPF9 sy-vline
WA_T5ITII_STR-TPF10 sy-vline
WA_T5ITII_STR-TPGD1 sy-vline
WA_T5ITII_STR-TPGD2 sy-vline
WA_T5ITII_STR-TPGD3 sy-vline
WA_T5ITII_STR-TPGD4 sy-vline
WA_T5ITII_STR-WTGNI sy-vline
WA_T5ITII_STR-ABS8 sy-vline
WA_T5ITII_STR-RIDO1 sy-vline
WA_T5ITII_STR-RIDO2 sy-vline
WA_T5ITII_STR-WTAMI sy-vline
WA_T5ITII_STR-GGSN3 sy-vline
WA_T5ITII_STR-GGSN4 sy-vline
WA_T5ITII_STR-GGSN5 sy-vline
WA_T5ITII_STR-GGSN6 sy-vline
WA_T5ITII_STR-GGSN7 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.