ABAP Select data from SAP table TNODEE 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 TNODEE 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 TNODEE. 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 TNODEE 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_TNODEE TYPE STANDARD TABLE OF TNODEE,
      WA_TNODEE TYPE TNODEE,
      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: <TNODEE> TYPE TNODEE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TNODEE
*  INTO TABLE @DATA(IT_TNODEE2).
*--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_TNODEE INDEX 1 INTO DATA(WA_TNODEE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TNODEE ASSIGNING <TNODEE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TNODEE>-NODE_TYPE = 1.
<TNODEE>-TEXT_POS = 1.
<TNODEE>-STXT_RTYPE = 1.
<TNODEE>-LTXT_RTYPE = 1.
<TNODEE>-F1_RTYPE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TNODEE-F1_ICON, sy-vline,
WA_TNODEE-F1_HOTSPOT, sy-vline,
WA_TNODEE-F1_FIX, sy-vline,
WA_TNODEE-F1_REF_EX, sy-vline,
WA_TNODEE-F2_RTYPE, sy-vline,
WA_TNODEE-F2_ICON, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TNODEE 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_TNODEE 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_TNODEE INTO WA_TNODEE. *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_TNODEE_STR,
NODE_TYPE TYPE STRING,
TEXT_POS TYPE STRING,
STXT_RTYPE TYPE STRING,
LTXT_RTYPE TYPE STRING,
F1_RTYPE TYPE STRING,
F1_ICON TYPE STRING,
F1_HOTSPOT TYPE STRING,
F1_FIX TYPE STRING,
F1_REF_EX TYPE STRING,
F2_RTYPE TYPE STRING,
F2_ICON TYPE STRING,
F2_HOTSPOT TYPE STRING,
F2_FIX TYPE STRING,
F2_REF_EX TYPE STRING,
F3_RTYPE TYPE STRING,
F3_ICON TYPE STRING,
F3_HOTSPOT TYPE STRING,
F3_FIX TYPE STRING,
F3_REF_EX TYPE STRING,
F4_RTYPE TYPE STRING,
F4_ICON TYPE STRING,
F4_HOTSPOT TYPE STRING,
F4_FIX TYPE STRING,
F4_REF_EX TYPE STRING,
F5_RTYPE TYPE STRING,
F5_ICON TYPE STRING,
F5_HOTSPOT TYPE STRING,
F5_FIX TYPE STRING,
F5_REF_EX TYPE STRING,
F6_RTYPE TYPE STRING,
F6_ICON TYPE STRING,
F6_HOTSPOT TYPE STRING,
F6_FIX TYPE STRING,
F6_REF_EX TYPE STRING,
F7_RTYPE TYPE STRING,
F7_ICON TYPE STRING,
F7_HOTSPOT TYPE STRING,
F7_FIX TYPE STRING,
F7_REF_EX TYPE STRING,
F8_RTYPE TYPE STRING,
F8_ICON TYPE STRING,
F8_HOTSPOT TYPE STRING,
F8_FIX TYPE STRING,
F8_REF_EX TYPE STRING,
F9_RTYPE TYPE STRING,
F9_ICON TYPE STRING,
F9_HOTSPOT TYPE STRING,
F9_FIX TYPE STRING,
F9_REF_EX TYPE STRING,
F1_COLOR TYPE STRING,
F2_COLOR TYPE STRING,
F3_COLOR TYPE STRING,
F4_COLOR TYPE STRING,
F5_COLOR TYPE STRING,
F6_COLOR TYPE STRING,
F7_COLOR TYPE STRING,
F8_COLOR TYPE STRING,
F9_COLOR TYPE STRING,
F1_NODELN TYPE STRING,
F2_NODELN TYPE STRING,
F3_NODELN TYPE STRING,
F4_NODELN TYPE STRING,
F5_NODELN TYPE STRING,
F6_NODELN TYPE STRING,
F7_NODELN TYPE STRING,
F8_NODELN TYPE STRING,
F9_NODELN TYPE STRING,
F1_INTENS TYPE STRING,
F2_INTENS TYPE STRING,
F3_INTENS TYPE STRING,
F4_INTENS TYPE STRING,
F5_INTENS TYPE STRING,
F6_INTENS TYPE STRING,
F7_INTENS TYPE STRING,
F8_INTENS TYPE STRING,
F9_INTENS TYPE STRING,
F1_POS TYPE STRING,
F2_POS TYPE STRING,
F3_POS TYPE STRING,
F4_POS TYPE STRING,
F5_POS TYPE STRING,
F6_POS TYPE STRING,
F7_POS TYPE STRING,
F8_POS TYPE STRING,
F9_POS TYPE STRING,
ATR_COU TYPE STRING,
ATR_BRA TYPE STRING,END OF T_EKKO_STR. DATA: WA_TNODEE_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_TNODEE_STR-NODE_TYPE sy-vline
WA_TNODEE_STR-TEXT_POS sy-vline
WA_TNODEE_STR-STXT_RTYPE sy-vline
WA_TNODEE_STR-LTXT_RTYPE sy-vline
WA_TNODEE_STR-F1_RTYPE sy-vline
WA_TNODEE_STR-F1_ICON sy-vline
WA_TNODEE_STR-F1_HOTSPOT sy-vline
WA_TNODEE_STR-F1_FIX sy-vline
WA_TNODEE_STR-F1_REF_EX sy-vline
WA_TNODEE_STR-F2_RTYPE sy-vline
WA_TNODEE_STR-F2_ICON sy-vline
WA_TNODEE_STR-F2_HOTSPOT sy-vline
WA_TNODEE_STR-F2_FIX sy-vline
WA_TNODEE_STR-F2_REF_EX sy-vline
WA_TNODEE_STR-F3_RTYPE sy-vline
WA_TNODEE_STR-F3_ICON sy-vline
WA_TNODEE_STR-F3_HOTSPOT sy-vline
WA_TNODEE_STR-F3_FIX sy-vline
WA_TNODEE_STR-F3_REF_EX sy-vline
WA_TNODEE_STR-F4_RTYPE sy-vline
WA_TNODEE_STR-F4_ICON sy-vline
WA_TNODEE_STR-F4_HOTSPOT sy-vline
WA_TNODEE_STR-F4_FIX sy-vline
WA_TNODEE_STR-F4_REF_EX sy-vline
WA_TNODEE_STR-F5_RTYPE sy-vline
WA_TNODEE_STR-F5_ICON sy-vline
WA_TNODEE_STR-F5_HOTSPOT sy-vline
WA_TNODEE_STR-F5_FIX sy-vline
WA_TNODEE_STR-F5_REF_EX sy-vline
WA_TNODEE_STR-F6_RTYPE sy-vline
WA_TNODEE_STR-F6_ICON sy-vline
WA_TNODEE_STR-F6_HOTSPOT sy-vline
WA_TNODEE_STR-F6_FIX sy-vline
WA_TNODEE_STR-F6_REF_EX sy-vline
WA_TNODEE_STR-F7_RTYPE sy-vline
WA_TNODEE_STR-F7_ICON sy-vline
WA_TNODEE_STR-F7_HOTSPOT sy-vline
WA_TNODEE_STR-F7_FIX sy-vline
WA_TNODEE_STR-F7_REF_EX sy-vline
WA_TNODEE_STR-F8_RTYPE sy-vline
WA_TNODEE_STR-F8_ICON sy-vline
WA_TNODEE_STR-F8_HOTSPOT sy-vline
WA_TNODEE_STR-F8_FIX sy-vline
WA_TNODEE_STR-F8_REF_EX sy-vline
WA_TNODEE_STR-F9_RTYPE sy-vline
WA_TNODEE_STR-F9_ICON sy-vline
WA_TNODEE_STR-F9_HOTSPOT sy-vline
WA_TNODEE_STR-F9_FIX sy-vline
WA_TNODEE_STR-F9_REF_EX sy-vline
WA_TNODEE_STR-F1_COLOR sy-vline
WA_TNODEE_STR-F2_COLOR sy-vline
WA_TNODEE_STR-F3_COLOR sy-vline
WA_TNODEE_STR-F4_COLOR sy-vline
WA_TNODEE_STR-F5_COLOR sy-vline
WA_TNODEE_STR-F6_COLOR sy-vline
WA_TNODEE_STR-F7_COLOR sy-vline
WA_TNODEE_STR-F8_COLOR sy-vline
WA_TNODEE_STR-F9_COLOR sy-vline
WA_TNODEE_STR-F1_NODELN sy-vline
WA_TNODEE_STR-F2_NODELN sy-vline
WA_TNODEE_STR-F3_NODELN sy-vline
WA_TNODEE_STR-F4_NODELN sy-vline
WA_TNODEE_STR-F5_NODELN sy-vline
WA_TNODEE_STR-F6_NODELN sy-vline
WA_TNODEE_STR-F7_NODELN sy-vline
WA_TNODEE_STR-F8_NODELN sy-vline
WA_TNODEE_STR-F9_NODELN sy-vline
WA_TNODEE_STR-F1_INTENS sy-vline
WA_TNODEE_STR-F2_INTENS sy-vline
WA_TNODEE_STR-F3_INTENS sy-vline
WA_TNODEE_STR-F4_INTENS sy-vline
WA_TNODEE_STR-F5_INTENS sy-vline
WA_TNODEE_STR-F6_INTENS sy-vline
WA_TNODEE_STR-F7_INTENS sy-vline
WA_TNODEE_STR-F8_INTENS sy-vline
WA_TNODEE_STR-F9_INTENS sy-vline
WA_TNODEE_STR-F1_POS sy-vline
WA_TNODEE_STR-F2_POS sy-vline
WA_TNODEE_STR-F3_POS sy-vline
WA_TNODEE_STR-F4_POS sy-vline
WA_TNODEE_STR-F5_POS sy-vline
WA_TNODEE_STR-F6_POS sy-vline
WA_TNODEE_STR-F7_POS sy-vline
WA_TNODEE_STR-F8_POS sy-vline
WA_TNODEE_STR-F9_POS sy-vline
WA_TNODEE_STR-ATR_COU sy-vline
WA_TNODEE_STR-ATR_BRA sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.