ABAP Select data from SAP table TXI_SYST 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 TXI_SYST 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 TXI_SYST. 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 TXI_SYST 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_TXI_SYST TYPE STANDARD TABLE OF TXI_SYST,
      WA_TXI_SYST TYPE TXI_SYST,
      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: <TXI_SYST> TYPE TXI_SYST.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TXI_SYST
*  INTO TABLE @DATA(IT_TXI_SYST2).
*--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_TXI_SYST INDEX 1 INTO DATA(WA_TXI_SYST2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TXI_SYST ASSIGNING <TXI_SYST>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TXI_SYST>-INDEX = 1.
<TXI_SYST>-PAGNO = 1.
<TXI_SYST>-TABIX = 1.
<TXI_SYST>-TFILL = 1.
<TXI_SYST>-TLOPC = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TXI_SYST-TMAXL, sy-vline,
WA_TXI_SYST-TOCCU, sy-vline,
WA_TXI_SYST-TTABC, sy-vline,
WA_TXI_SYST-TSTIS, sy-vline,
WA_TXI_SYST-TTABI, sy-vline,
WA_TXI_SYST-DBCNT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TXI_SYST 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_TXI_SYST 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_TXI_SYST INTO WA_TXI_SYST. *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 LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_TXI_SYST-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXI_SYST-LANGU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field PDEST CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_TXI_SYST-PDEST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXI_SYST-PDEST.
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_TXI_SYST_STR,
INDEX TYPE STRING,
PAGNO TYPE STRING,
TABIX TYPE STRING,
TFILL TYPE STRING,
TLOPC TYPE STRING,
TMAXL TYPE STRING,
TOCCU TYPE STRING,
TTABC TYPE STRING,
TSTIS TYPE STRING,
TTABI TYPE STRING,
DBCNT TYPE STRING,
FDPOS TYPE STRING,
COLNO TYPE STRING,
LINCT TYPE STRING,
LINNO TYPE STRING,
LINSZ TYPE STRING,
PAGCT TYPE STRING,
MACOL TYPE STRING,
MAROW TYPE STRING,
TLENG TYPE STRING,
SFOFF TYPE STRING,
WILLI TYPE STRING,
LILLI TYPE STRING,
SUBRC TYPE STRING,
FLENG TYPE STRING,
CUCOL TYPE STRING,
CUROW TYPE STRING,
LSIND TYPE STRING,
LISTI TYPE STRING,
STEPL TYPE STRING,
TPAGI TYPE STRING,
WINX1 TYPE STRING,
WINY1 TYPE STRING,
WINX2 TYPE STRING,
WINY2 TYPE STRING,
WINCO TYPE STRING,
WINRO TYPE STRING,
WINDI TYPE STRING,
SROWS TYPE STRING,
SCOLS TYPE STRING,
LOOPC TYPE STRING,
FOLEN TYPE STRING,
FODEC TYPE STRING,
TZONE TYPE STRING,
DAYST TYPE STRING,
FTYPE TYPE STRING,
APPLI TYPE STRING,
FDAYW TYPE STRING,
CCURS TYPE STRING,
CCURT TYPE STRING,
DEBUG TYPE STRING,
CTYPE TYPE STRING,
INPUT TYPE STRING,
LANGU TYPE STRING,
MODNO TYPE STRING,
BATCH TYPE STRING,
BINPT TYPE STRING,
CALLD TYPE STRING,
DYNNR TYPE STRING,
DYNGR TYPE STRING,
NEWPA TYPE STRING,
PRI40 TYPE STRING,
RSTRT TYPE STRING,
WTITL TYPE STRING,
CPAGE TYPE STRING,
DBNAM TYPE STRING,
MANDT TYPE STRING,
PREFX TYPE STRING,
FMKEY TYPE STRING,
PEXPI TYPE STRING,
PRINI TYPE STRING,
PRIMM TYPE STRING,
PRREL TYPE STRING,
PLAYO TYPE STRING,
PRBIG TYPE STRING,
PLAYP TYPE STRING,
PRNEW TYPE STRING,
PRLOG TYPE STRING,
PDEST TYPE STRING,
PLIST TYPE STRING,
PAUTH TYPE STRING,
PRDSN TYPE STRING,
PNWPA TYPE STRING,
CALLR TYPE STRING,
REPI2 TYPE STRING,
RTITL TYPE STRING,
PRREC TYPE STRING,
PRTXT TYPE STRING,
PRABT TYPE STRING,
LPASS TYPE STRING,
NRPAG TYPE STRING,
PAART TYPE STRING,
PRCOP TYPE STRING,
BATZS TYPE STRING,
BSPLD TYPE STRING,
BREP4 TYPE STRING,
BATZO TYPE STRING,
BATZD TYPE STRING,
BATZW TYPE STRING,
BATZM TYPE STRING,
CTABL TYPE STRING,
DBSYS TYPE STRING,
DCSYS TYPE STRING,
MACDB TYPE STRING,
SYSID TYPE STRING,
OPSYS TYPE STRING,
PFKEY TYPE STRING,
SAPRL TYPE STRING,
TCODE TYPE STRING,
UCOMM TYPE STRING,
CFWAE TYPE STRING,
CHWAE TYPE STRING,
SPONO TYPE STRING,
SPONR TYPE STRING,
WAERS TYPE STRING,
CDATE TYPE STRING,
DATUM TYPE STRING,
SLSET TYPE STRING,
SUBTY TYPE STRING,
SUBCS TYPE STRING,
GROUP TYPE STRING,
FFILE TYPE STRING,
UZEIT TYPE STRING,
DSNAM TYPE STRING,
TABID TYPE STRING,
TFDSN TYPE STRING,
UNAME TYPE STRING,
LSTAT TYPE STRING,
ABCDE TYPE STRING,
MARKY TYPE STRING,
SFNAM TYPE STRING,
TNAME TYPE STRING,
MSGLI TYPE STRING,
TITLE TYPE STRING,
ENTRY TYPE STRING,
LISEL TYPE STRING,
ULINE TYPE STRING,
XCODE TYPE STRING,
CPROG TYPE STRING,
XPROG TYPE STRING,
XFORM TYPE STRING,
LDBPG TYPE STRING,
TVAR0 TYPE STRING,
TVAR1 TYPE STRING,
TVAR2 TYPE STRING,
TVAR3 TYPE STRING,
TVAR4 TYPE STRING,
TVAR5 TYPE STRING,
TVAR6 TYPE STRING,
TVAR7 TYPE STRING,
TVAR8 TYPE STRING,
TVAR9 TYPE STRING,
MSGID TYPE STRING,
MSGTY TYPE STRING,
MSGNO TYPE STRING,
MSGV1 TYPE STRING,
MSGV2 TYPE STRING,
MSGV3 TYPE STRING,
MSGV4 TYPE STRING,
ONCOM TYPE STRING,
VLINE TYPE STRING,
WINSL TYPE STRING,
STACO TYPE STRING,
STARO TYPE STRING,
DATAR TYPE STRING,
HOST TYPE STRING,
LOCDB TYPE STRING,
LOCOP TYPE STRING,
DATLO TYPE STRING,
TIMLO TYPE STRING,
ZONLO TYPE STRING,END OF T_EKKO_STR. DATA: WA_TXI_SYST_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_TXI_SYST_STR-INDEX sy-vline
WA_TXI_SYST_STR-PAGNO sy-vline
WA_TXI_SYST_STR-TABIX sy-vline
WA_TXI_SYST_STR-TFILL sy-vline
WA_TXI_SYST_STR-TLOPC sy-vline
WA_TXI_SYST_STR-TMAXL sy-vline
WA_TXI_SYST_STR-TOCCU sy-vline
WA_TXI_SYST_STR-TTABC sy-vline
WA_TXI_SYST_STR-TSTIS sy-vline
WA_TXI_SYST_STR-TTABI sy-vline
WA_TXI_SYST_STR-DBCNT sy-vline
WA_TXI_SYST_STR-FDPOS sy-vline
WA_TXI_SYST_STR-COLNO sy-vline
WA_TXI_SYST_STR-LINCT sy-vline
WA_TXI_SYST_STR-LINNO sy-vline
WA_TXI_SYST_STR-LINSZ sy-vline
WA_TXI_SYST_STR-PAGCT sy-vline
WA_TXI_SYST_STR-MACOL sy-vline
WA_TXI_SYST_STR-MAROW sy-vline
WA_TXI_SYST_STR-TLENG sy-vline
WA_TXI_SYST_STR-SFOFF sy-vline
WA_TXI_SYST_STR-WILLI sy-vline
WA_TXI_SYST_STR-LILLI sy-vline
WA_TXI_SYST_STR-SUBRC sy-vline
WA_TXI_SYST_STR-FLENG sy-vline
WA_TXI_SYST_STR-CUCOL sy-vline
WA_TXI_SYST_STR-CUROW sy-vline
WA_TXI_SYST_STR-LSIND sy-vline
WA_TXI_SYST_STR-LISTI sy-vline
WA_TXI_SYST_STR-STEPL sy-vline
WA_TXI_SYST_STR-TPAGI sy-vline
WA_TXI_SYST_STR-WINX1 sy-vline
WA_TXI_SYST_STR-WINY1 sy-vline
WA_TXI_SYST_STR-WINX2 sy-vline
WA_TXI_SYST_STR-WINY2 sy-vline
WA_TXI_SYST_STR-WINCO sy-vline
WA_TXI_SYST_STR-WINRO sy-vline
WA_TXI_SYST_STR-WINDI sy-vline
WA_TXI_SYST_STR-SROWS sy-vline
WA_TXI_SYST_STR-SCOLS sy-vline
WA_TXI_SYST_STR-LOOPC sy-vline
WA_TXI_SYST_STR-FOLEN sy-vline
WA_TXI_SYST_STR-FODEC sy-vline
WA_TXI_SYST_STR-TZONE sy-vline
WA_TXI_SYST_STR-DAYST sy-vline
WA_TXI_SYST_STR-FTYPE sy-vline
WA_TXI_SYST_STR-APPLI sy-vline
WA_TXI_SYST_STR-FDAYW sy-vline
WA_TXI_SYST_STR-CCURS sy-vline
WA_TXI_SYST_STR-CCURT sy-vline
WA_TXI_SYST_STR-DEBUG sy-vline
WA_TXI_SYST_STR-CTYPE sy-vline
WA_TXI_SYST_STR-INPUT sy-vline
WA_TXI_SYST_STR-LANGU sy-vline
WA_TXI_SYST_STR-MODNO sy-vline
WA_TXI_SYST_STR-BATCH sy-vline
WA_TXI_SYST_STR-BINPT sy-vline
WA_TXI_SYST_STR-CALLD sy-vline
WA_TXI_SYST_STR-DYNNR sy-vline
WA_TXI_SYST_STR-DYNGR sy-vline
WA_TXI_SYST_STR-NEWPA sy-vline
WA_TXI_SYST_STR-PRI40 sy-vline
WA_TXI_SYST_STR-RSTRT sy-vline
WA_TXI_SYST_STR-WTITL sy-vline
WA_TXI_SYST_STR-CPAGE sy-vline
WA_TXI_SYST_STR-DBNAM sy-vline
WA_TXI_SYST_STR-MANDT sy-vline
WA_TXI_SYST_STR-PREFX sy-vline
WA_TXI_SYST_STR-FMKEY sy-vline
WA_TXI_SYST_STR-PEXPI sy-vline
WA_TXI_SYST_STR-PRINI sy-vline
WA_TXI_SYST_STR-PRIMM sy-vline
WA_TXI_SYST_STR-PRREL sy-vline
WA_TXI_SYST_STR-PLAYO sy-vline
WA_TXI_SYST_STR-PRBIG sy-vline
WA_TXI_SYST_STR-PLAYP sy-vline
WA_TXI_SYST_STR-PRNEW sy-vline
WA_TXI_SYST_STR-PRLOG sy-vline
WA_TXI_SYST_STR-PDEST sy-vline
WA_TXI_SYST_STR-PLIST sy-vline
WA_TXI_SYST_STR-PAUTH sy-vline
WA_TXI_SYST_STR-PRDSN sy-vline
WA_TXI_SYST_STR-PNWPA sy-vline
WA_TXI_SYST_STR-CALLR sy-vline
WA_TXI_SYST_STR-REPI2 sy-vline
WA_TXI_SYST_STR-RTITL sy-vline
WA_TXI_SYST_STR-PRREC sy-vline
WA_TXI_SYST_STR-PRTXT sy-vline
WA_TXI_SYST_STR-PRABT sy-vline
WA_TXI_SYST_STR-LPASS sy-vline
WA_TXI_SYST_STR-NRPAG sy-vline
WA_TXI_SYST_STR-PAART sy-vline
WA_TXI_SYST_STR-PRCOP sy-vline
WA_TXI_SYST_STR-BATZS sy-vline
WA_TXI_SYST_STR-BSPLD sy-vline
WA_TXI_SYST_STR-BREP4 sy-vline
WA_TXI_SYST_STR-BATZO sy-vline
WA_TXI_SYST_STR-BATZD sy-vline
WA_TXI_SYST_STR-BATZW sy-vline
WA_TXI_SYST_STR-BATZM sy-vline
WA_TXI_SYST_STR-CTABL sy-vline
WA_TXI_SYST_STR-DBSYS sy-vline
WA_TXI_SYST_STR-DCSYS sy-vline
WA_TXI_SYST_STR-MACDB sy-vline
WA_TXI_SYST_STR-SYSID sy-vline
WA_TXI_SYST_STR-OPSYS sy-vline
WA_TXI_SYST_STR-PFKEY sy-vline
WA_TXI_SYST_STR-SAPRL sy-vline
WA_TXI_SYST_STR-TCODE sy-vline
WA_TXI_SYST_STR-UCOMM sy-vline
WA_TXI_SYST_STR-CFWAE sy-vline
WA_TXI_SYST_STR-CHWAE sy-vline
WA_TXI_SYST_STR-SPONO sy-vline
WA_TXI_SYST_STR-SPONR sy-vline
WA_TXI_SYST_STR-WAERS sy-vline
WA_TXI_SYST_STR-CDATE sy-vline
WA_TXI_SYST_STR-DATUM sy-vline
WA_TXI_SYST_STR-SLSET sy-vline
WA_TXI_SYST_STR-SUBTY sy-vline
WA_TXI_SYST_STR-SUBCS sy-vline
WA_TXI_SYST_STR-GROUP sy-vline
WA_TXI_SYST_STR-FFILE sy-vline
WA_TXI_SYST_STR-UZEIT sy-vline
WA_TXI_SYST_STR-DSNAM sy-vline
WA_TXI_SYST_STR-TABID sy-vline
WA_TXI_SYST_STR-TFDSN sy-vline
WA_TXI_SYST_STR-UNAME sy-vline
WA_TXI_SYST_STR-LSTAT sy-vline
WA_TXI_SYST_STR-ABCDE sy-vline
WA_TXI_SYST_STR-MARKY sy-vline
WA_TXI_SYST_STR-SFNAM sy-vline
WA_TXI_SYST_STR-TNAME sy-vline
WA_TXI_SYST_STR-MSGLI sy-vline
WA_TXI_SYST_STR-TITLE sy-vline
WA_TXI_SYST_STR-ENTRY sy-vline
WA_TXI_SYST_STR-LISEL sy-vline
WA_TXI_SYST_STR-ULINE sy-vline
WA_TXI_SYST_STR-XCODE sy-vline
WA_TXI_SYST_STR-CPROG sy-vline
WA_TXI_SYST_STR-XPROG sy-vline
WA_TXI_SYST_STR-XFORM sy-vline
WA_TXI_SYST_STR-LDBPG sy-vline
WA_TXI_SYST_STR-TVAR0 sy-vline
WA_TXI_SYST_STR-TVAR1 sy-vline
WA_TXI_SYST_STR-TVAR2 sy-vline
WA_TXI_SYST_STR-TVAR3 sy-vline
WA_TXI_SYST_STR-TVAR4 sy-vline
WA_TXI_SYST_STR-TVAR5 sy-vline
WA_TXI_SYST_STR-TVAR6 sy-vline
WA_TXI_SYST_STR-TVAR7 sy-vline
WA_TXI_SYST_STR-TVAR8 sy-vline
WA_TXI_SYST_STR-TVAR9 sy-vline
WA_TXI_SYST_STR-MSGID sy-vline
WA_TXI_SYST_STR-MSGTY sy-vline
WA_TXI_SYST_STR-MSGNO sy-vline
WA_TXI_SYST_STR-MSGV1 sy-vline
WA_TXI_SYST_STR-MSGV2 sy-vline
WA_TXI_SYST_STR-MSGV3 sy-vline
WA_TXI_SYST_STR-MSGV4 sy-vline
WA_TXI_SYST_STR-ONCOM sy-vline
WA_TXI_SYST_STR-VLINE sy-vline
WA_TXI_SYST_STR-WINSL sy-vline
WA_TXI_SYST_STR-STACO sy-vline
WA_TXI_SYST_STR-STARO sy-vline
WA_TXI_SYST_STR-DATAR sy-vline
WA_TXI_SYST_STR-HOST sy-vline
WA_TXI_SYST_STR-LOCDB sy-vline
WA_TXI_SYST_STR-LOCOP sy-vline
WA_TXI_SYST_STR-DATLO sy-vline
WA_TXI_SYST_STR-TIMLO sy-vline
WA_TXI_SYST_STR-ZONLO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.