ABAP Select data from SAP table TSOBJECTS 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 TSOBJECTS 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 TSOBJECTS. 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 TSOBJECTS 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_TSOBJECTS TYPE STANDARD TABLE OF TSOBJECTS,
      WA_TSOBJECTS TYPE TSOBJECTS,
      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: <TSOBJECTS> TYPE TSOBJECTS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TSOBJECTS
*  INTO TABLE @DATA(IT_TSOBJECTS2).
*--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_TSOBJECTS INDEX 1 INTO DATA(WA_TSOBJECTS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TSOBJECTS ASSIGNING <TSOBJECTS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TSOBJECTS>-BEGDA = 1.
<TSOBJECTS>-ENDDA = 1.
<TSOBJECTS>-ISTAT = 1.
<TSOBJECTS>-D000_MINUS = 1.
<TSOBJECTS>-D000_PLUS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TSOBJECTS-D000_MORE, sy-vline,
WA_TSOBJECTS-D500_BEGIN, sy-vline,
WA_TSOBJECTS-D500_END, sy-vline,
WA_TSOBJECTS-D500_WORK, sy-vline,
WA_TSOBJECTS-D500_DAY, sy-vline,
WA_TSOBJECTS-D500_PLAN, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TSOBJECTS 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_TSOBJECTS 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_TSOBJECTS INTO WA_TSOBJECTS. *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 TLANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_TSOBJECTS-TLANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TSOBJECTS-TLANGU.
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_TSOBJECTS_STR,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
ISTAT TYPE STRING,
D000_MINUS TYPE STRING,
D000_PLUS TYPE STRING,
D000_MORE TYPE STRING,
D500_BEGIN TYPE STRING,
D500_END TYPE STRING,
D500_WORK TYPE STRING,
D500_DAY TYPE STRING,
D500_PLAN TYPE STRING,
D500_ACTL TYPE STRING,
D100_MTEST TYPE STRING,
D100_RESLT TYPE STRING,
D100_MPROT TYPE STRING,
D500_TITL TYPE STRING,
SPROJECT TYPE STRING,
SSTATUS TYPE STRING,
SDONEFR TYPE STRING,
SDONETO TYPE STRING,
SPLANSTFR TYPE STRING,
SPLANSTTO TYPE STRING,
SPLANEDFR TYPE STRING,
SPLANEDTO TYPE STRING,
SACTSTFR TYPE STRING,
SACTSTTO TYPE STRING,
SACTEDFR TYPE STRING,
SACTEDTO TYPE STRING,
SPLANDUR TYPE STRING,
SACTDUR TYPE STRING,
SPLANDURFR TYPE STRING,
SPLANDURTO TYPE STRING,
SACTDURFR TYPE STRING,
SACTDURTO TYPE STRING,
SFUSER TYPE STRING,
SFDATEFR TYPE STRING,
SFDATETO TYPE STRING,
SLUSER TYPE STRING,
SLDATEFR TYPE STRING,
SLDATETO TYPE STRING,
SRESSOURCE TYPE STRING,
SSELECTION TYPE STRING,
STITLE_0 TYPE STRING,
STO01 TYPE STRING,
STO02 TYPE STRING,
STO03 TYPE STRING,
STO04 TYPE STRING,
STO05 TYPE STRING,
STO06 TYPE STRING,
STO07 TYPE STRING,
STO08 TYPE STRING,
STO09 TYPE STRING,
SINIT1 TYPE STRING,
SINIT2 TYPE STRING,
SINIT3 TYPE STRING,
SINIT4 TYPE STRING,
SINIT5 TYPE STRING,
SINIT6 TYPE STRING,
SINIT7 TYPE STRING,
SINIT8 TYPE STRING,
SINIT9 TYPE STRING,
SINIT10 TYPE STRING,
SINIT11 TYPE STRING,
SINIT12 TYPE STRING,
SINIT13 TYPE STRING,
SINIT14 TYPE STRING,
SATTRIBUT TYPE STRING,
SPRODOCU TYPE STRING,
SNOTE_TYPE TYPE STRING,
MARKED TYPE STRING,
POSITION TYPE STRING,
F4PROJECT TYPE STRING,
SVIEW TYPE STRING,
D600_TRANS TYPE STRING,
D600_COND TYPE STRING,
HISTO TYPE STRING,
SHORT TYPE STRING,
STEXT TYPE STRING,
TISTAT TYPE STRING,
D000_MINUS TYPE STRING,
D000_PLUS TYPE STRING,
D000_MORE TYPE STRING,
D500_BEGIN TYPE STRING,
D500_END TYPE STRING,
D500_WORK TYPE STRING,
D500_DAY TYPE STRING,
D500_PLAN TYPE STRING,
D500_ACTL TYPE STRING,
D100_MTEST TYPE STRING,
D100_RESLT TYPE STRING,
D100_MPROT TYPE STRING,
D500_TITL TYPE STRING,
SPROJECT TYPE STRING,
SSTATUS TYPE STRING,
SDONEFR TYPE STRING,
SDONETO TYPE STRING,
SPLANSTFR TYPE STRING,
SPLANSTTO TYPE STRING,
SPLANEDFR TYPE STRING,
SPLANEDTO TYPE STRING,
SACTSTFR TYPE STRING,
SACTSTTO TYPE STRING,
SACTEDFR TYPE STRING,
SACTEDTO TYPE STRING,
SPLANDUR TYPE STRING,
SACTDUR TYPE STRING,
SPLANDURFR TYPE STRING,
SPLANDURTO TYPE STRING,
SACTDURFR TYPE STRING,
SACTDURTO TYPE STRING,
SFUSER TYPE STRING,
SFDATEFR TYPE STRING,
SFDATETO TYPE STRING,
SLUSER TYPE STRING,
SLDATEFR TYPE STRING,
SLDATETO TYPE STRING,
SRESSOURCE TYPE STRING,
SSELECTION TYPE STRING,
STITLE_0 TYPE STRING,
STO01 TYPE STRING,
STO02 TYPE STRING,
STO03 TYPE STRING,
STO04 TYPE STRING,
STO05 TYPE STRING,
STO06 TYPE STRING,
STO07 TYPE STRING,
STO08 TYPE STRING,
STO09 TYPE STRING,
SINIT1 TYPE STRING,
SINIT2 TYPE STRING,
SINIT3 TYPE STRING,
SINIT4 TYPE STRING,
SINIT5 TYPE STRING,
SINIT6 TYPE STRING,
SINIT7 TYPE STRING,
SINIT8 TYPE STRING,
SINIT9 TYPE STRING,
SINIT10 TYPE STRING,
SINIT11 TYPE STRING,
SINIT12 TYPE STRING,
SINIT13 TYPE STRING,
SINIT14 TYPE STRING,
SATTRIBUT TYPE STRING,
SPRODOCU TYPE STRING,
SNOTE_TYPE TYPE STRING,
MARKED TYPE STRING,
POSITION TYPE STRING,
F4PROJECT TYPE STRING,
SVIEW TYPE STRING,
D600_TRANS TYPE STRING,
D600_COND TYPE STRING,
TLANGU TYPE STRING,
DISP_TEXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_TSOBJECTS_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_TSOBJECTS_STR-BEGDA sy-vline
WA_TSOBJECTS_STR-ENDDA sy-vline
WA_TSOBJECTS_STR-ISTAT sy-vline
WA_TSOBJECTS_STR-D000_MINUS sy-vline
WA_TSOBJECTS_STR-D000_PLUS sy-vline
WA_TSOBJECTS_STR-D000_MORE sy-vline
WA_TSOBJECTS_STR-D500_BEGIN sy-vline
WA_TSOBJECTS_STR-D500_END sy-vline
WA_TSOBJECTS_STR-D500_WORK sy-vline
WA_TSOBJECTS_STR-D500_DAY sy-vline
WA_TSOBJECTS_STR-D500_PLAN sy-vline
WA_TSOBJECTS_STR-D500_ACTL sy-vline
WA_TSOBJECTS_STR-D100_MTEST sy-vline
WA_TSOBJECTS_STR-D100_RESLT sy-vline
WA_TSOBJECTS_STR-D100_MPROT sy-vline
WA_TSOBJECTS_STR-D500_TITL sy-vline
WA_TSOBJECTS_STR-SPROJECT sy-vline
WA_TSOBJECTS_STR-SSTATUS sy-vline
WA_TSOBJECTS_STR-SDONEFR sy-vline
WA_TSOBJECTS_STR-SDONETO sy-vline
WA_TSOBJECTS_STR-SPLANSTFR sy-vline
WA_TSOBJECTS_STR-SPLANSTTO sy-vline
WA_TSOBJECTS_STR-SPLANEDFR sy-vline
WA_TSOBJECTS_STR-SPLANEDTO sy-vline
WA_TSOBJECTS_STR-SACTSTFR sy-vline
WA_TSOBJECTS_STR-SACTSTTO sy-vline
WA_TSOBJECTS_STR-SACTEDFR sy-vline
WA_TSOBJECTS_STR-SACTEDTO sy-vline
WA_TSOBJECTS_STR-SPLANDUR sy-vline
WA_TSOBJECTS_STR-SACTDUR sy-vline
WA_TSOBJECTS_STR-SPLANDURFR sy-vline
WA_TSOBJECTS_STR-SPLANDURTO sy-vline
WA_TSOBJECTS_STR-SACTDURFR sy-vline
WA_TSOBJECTS_STR-SACTDURTO sy-vline
WA_TSOBJECTS_STR-SFUSER sy-vline
WA_TSOBJECTS_STR-SFDATEFR sy-vline
WA_TSOBJECTS_STR-SFDATETO sy-vline
WA_TSOBJECTS_STR-SLUSER sy-vline
WA_TSOBJECTS_STR-SLDATEFR sy-vline
WA_TSOBJECTS_STR-SLDATETO sy-vline
WA_TSOBJECTS_STR-SRESSOURCE sy-vline
WA_TSOBJECTS_STR-SSELECTION sy-vline
WA_TSOBJECTS_STR-STITLE_0 sy-vline
WA_TSOBJECTS_STR-STO01 sy-vline
WA_TSOBJECTS_STR-STO02 sy-vline
WA_TSOBJECTS_STR-STO03 sy-vline
WA_TSOBJECTS_STR-STO04 sy-vline
WA_TSOBJECTS_STR-STO05 sy-vline
WA_TSOBJECTS_STR-STO06 sy-vline
WA_TSOBJECTS_STR-STO07 sy-vline
WA_TSOBJECTS_STR-STO08 sy-vline
WA_TSOBJECTS_STR-STO09 sy-vline
WA_TSOBJECTS_STR-SINIT1 sy-vline
WA_TSOBJECTS_STR-SINIT2 sy-vline
WA_TSOBJECTS_STR-SINIT3 sy-vline
WA_TSOBJECTS_STR-SINIT4 sy-vline
WA_TSOBJECTS_STR-SINIT5 sy-vline
WA_TSOBJECTS_STR-SINIT6 sy-vline
WA_TSOBJECTS_STR-SINIT7 sy-vline
WA_TSOBJECTS_STR-SINIT8 sy-vline
WA_TSOBJECTS_STR-SINIT9 sy-vline
WA_TSOBJECTS_STR-SINIT10 sy-vline
WA_TSOBJECTS_STR-SINIT11 sy-vline
WA_TSOBJECTS_STR-SINIT12 sy-vline
WA_TSOBJECTS_STR-SINIT13 sy-vline
WA_TSOBJECTS_STR-SINIT14 sy-vline
WA_TSOBJECTS_STR-SATTRIBUT sy-vline
WA_TSOBJECTS_STR-SPRODOCU sy-vline
WA_TSOBJECTS_STR-SNOTE_TYPE sy-vline
WA_TSOBJECTS_STR-MARKED sy-vline
WA_TSOBJECTS_STR-POSITION sy-vline
WA_TSOBJECTS_STR-F4PROJECT sy-vline
WA_TSOBJECTS_STR-SVIEW sy-vline
WA_TSOBJECTS_STR-D600_TRANS sy-vline
WA_TSOBJECTS_STR-D600_COND sy-vline
WA_TSOBJECTS_STR-HISTO sy-vline
WA_TSOBJECTS_STR-SHORT sy-vline
WA_TSOBJECTS_STR-STEXT sy-vline
WA_TSOBJECTS_STR-TISTAT sy-vline
WA_TSOBJECTS_STR-D000_MINUS sy-vline
WA_TSOBJECTS_STR-D000_PLUS sy-vline
WA_TSOBJECTS_STR-D000_MORE sy-vline
WA_TSOBJECTS_STR-D500_BEGIN sy-vline
WA_TSOBJECTS_STR-D500_END sy-vline
WA_TSOBJECTS_STR-D500_WORK sy-vline
WA_TSOBJECTS_STR-D500_DAY sy-vline
WA_TSOBJECTS_STR-D500_PLAN sy-vline
WA_TSOBJECTS_STR-D500_ACTL sy-vline
WA_TSOBJECTS_STR-D100_MTEST sy-vline
WA_TSOBJECTS_STR-D100_RESLT sy-vline
WA_TSOBJECTS_STR-D100_MPROT sy-vline
WA_TSOBJECTS_STR-D500_TITL sy-vline
WA_TSOBJECTS_STR-SPROJECT sy-vline
WA_TSOBJECTS_STR-SSTATUS sy-vline
WA_TSOBJECTS_STR-SDONEFR sy-vline
WA_TSOBJECTS_STR-SDONETO sy-vline
WA_TSOBJECTS_STR-SPLANSTFR sy-vline
WA_TSOBJECTS_STR-SPLANSTTO sy-vline
WA_TSOBJECTS_STR-SPLANEDFR sy-vline
WA_TSOBJECTS_STR-SPLANEDTO sy-vline
WA_TSOBJECTS_STR-SACTSTFR sy-vline
WA_TSOBJECTS_STR-SACTSTTO sy-vline
WA_TSOBJECTS_STR-SACTEDFR sy-vline
WA_TSOBJECTS_STR-SACTEDTO sy-vline
WA_TSOBJECTS_STR-SPLANDUR sy-vline
WA_TSOBJECTS_STR-SACTDUR sy-vline
WA_TSOBJECTS_STR-SPLANDURFR sy-vline
WA_TSOBJECTS_STR-SPLANDURTO sy-vline
WA_TSOBJECTS_STR-SACTDURFR sy-vline
WA_TSOBJECTS_STR-SACTDURTO sy-vline
WA_TSOBJECTS_STR-SFUSER sy-vline
WA_TSOBJECTS_STR-SFDATEFR sy-vline
WA_TSOBJECTS_STR-SFDATETO sy-vline
WA_TSOBJECTS_STR-SLUSER sy-vline
WA_TSOBJECTS_STR-SLDATEFR sy-vline
WA_TSOBJECTS_STR-SLDATETO sy-vline
WA_TSOBJECTS_STR-SRESSOURCE sy-vline
WA_TSOBJECTS_STR-SSELECTION sy-vline
WA_TSOBJECTS_STR-STITLE_0 sy-vline
WA_TSOBJECTS_STR-STO01 sy-vline
WA_TSOBJECTS_STR-STO02 sy-vline
WA_TSOBJECTS_STR-STO03 sy-vline
WA_TSOBJECTS_STR-STO04 sy-vline
WA_TSOBJECTS_STR-STO05 sy-vline
WA_TSOBJECTS_STR-STO06 sy-vline
WA_TSOBJECTS_STR-STO07 sy-vline
WA_TSOBJECTS_STR-STO08 sy-vline
WA_TSOBJECTS_STR-STO09 sy-vline
WA_TSOBJECTS_STR-SINIT1 sy-vline
WA_TSOBJECTS_STR-SINIT2 sy-vline
WA_TSOBJECTS_STR-SINIT3 sy-vline
WA_TSOBJECTS_STR-SINIT4 sy-vline
WA_TSOBJECTS_STR-SINIT5 sy-vline
WA_TSOBJECTS_STR-SINIT6 sy-vline
WA_TSOBJECTS_STR-SINIT7 sy-vline
WA_TSOBJECTS_STR-SINIT8 sy-vline
WA_TSOBJECTS_STR-SINIT9 sy-vline
WA_TSOBJECTS_STR-SINIT10 sy-vline
WA_TSOBJECTS_STR-SINIT11 sy-vline
WA_TSOBJECTS_STR-SINIT12 sy-vline
WA_TSOBJECTS_STR-SINIT13 sy-vline
WA_TSOBJECTS_STR-SINIT14 sy-vline
WA_TSOBJECTS_STR-SATTRIBUT sy-vline
WA_TSOBJECTS_STR-SPRODOCU sy-vline
WA_TSOBJECTS_STR-SNOTE_TYPE sy-vline
WA_TSOBJECTS_STR-MARKED sy-vline
WA_TSOBJECTS_STR-POSITION sy-vline
WA_TSOBJECTS_STR-F4PROJECT sy-vline
WA_TSOBJECTS_STR-SVIEW sy-vline
WA_TSOBJECTS_STR-D600_TRANS sy-vline
WA_TSOBJECTS_STR-D600_COND sy-vline
WA_TSOBJECTS_STR-TLANGU sy-vline
WA_TSOBJECTS_STR-DISP_TEXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.