ABAP Select data from SAP table TXI_TVAP 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_TVAP 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_TVAP. 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_TVAP 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_TVAP TYPE STANDARD TABLE OF TXI_TVAP,
      WA_TXI_TVAP TYPE TXI_TVAP,
      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_TVAP> TYPE TXI_TVAP.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TXI_TVAP
*  INTO TABLE @DATA(IT_TXI_TVAP2).
*--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_TVAP INDEX 1 INTO DATA(WA_TXI_TVAP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TXI_TVAP ASSIGNING <TXI_TVAP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TXI_TVAP>-MANDT = 1.
<TXI_TVAP>-PSTYV = 1.
<TXI_TVAP>-FKREL = 1.
<TXI_TVAP>-PRSFD = 1.
<TXI_TVAP>-POSGR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TXI_TVAP-PARGR, sy-vline,
WA_TXI_TVAP-PSGRP, sy-vline,
WA_TXI_TVAP-STULI, sy-vline,
WA_TXI_TVAP-ASWPA, sy-vline,
WA_TXI_TVAP-STRUM, sy-vline,
WA_TXI_TVAP-PROPAGATE_PAOBJNR_BOM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TXI_TVAP 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_TVAP 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_TVAP INTO WA_TXI_TVAP. *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 ALPHA, internal->external for field STGAP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXI_TVAP-STGAP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXI_TVAP-STGAP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field WKMAT CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_TXI_TVAP-WKMAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXI_TVAP-WKMAT.
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_TVAP_STR,
MANDT TYPE STRING,
PSTYV TYPE STRING,
FKREL TYPE STRING,
PRSFD TYPE STRING,
POSGR TYPE STRING,
PARGR TYPE STRING,
PSGRP TYPE STRING,
STULI TYPE STRING,
ASWPA TYPE STRING,
STRUM TYPE STRING,
PROPAGATE_PAOBJNR_BOM TYPE STRING,
EVRWR TYPE STRING,
KOWRR TYPE STRING,
FELDP TYPE STRING,
FAKSP TYPE STRING,
SHELL TYPE STRING,
ERLRE TYPE STRING,
TXN08 TYPE STRING,
DIAFM TYPE STRING,
KDERL TYPE STRING,
TXTGR TYPE STRING,
POSAR TYPE STRING,
LFREL TYPE STRING,
ERNAM TYPE STRING,
ETERL TYPE STRING,
GWREL TYPE STRING,
KOMPP TYPE STRING,
FEHGR TYPE STRING,
SHKZG TYPE STRING,
EQMAT TYPE STRING,
STGAP TYPE STRING,
KALSM TYPE STRING,
SOBKZ TYPE STRING,
CMPNT TYPE STRING,
STRAT TYPE STRING,
STSMA TYPE STRING,
MENG1 TYPE STRING,
ALEKZ TYPE STRING,
FPART TYPE STRING,
CHAUT TYPE STRING,
EXCOP TYPE STRING,
SVGNG TYPE STRING,
TYPFD TYPE STRING,
LTYPA TYPE STRING,
LTYPV TYPE STRING,
WKMAT TYPE STRING,
RKTIO TYPE STRING,
SEGAL TYPE STRING,
STDTE TYPE STRING,
RDERL TYPE STRING,
EFFEC TYPE STRING,
FFPRF TYPE STRING,
SCHEME_RMA TYPE STRING,
SCHEME_VF TYPE STRING,
FAKTF TYPE STRING,
RRREL TYPE STRING,
ACDATV TYPE STRING,
UVEIB TYPE STRING,
OIBOM TYPE STRING,
OIBCST TYPE STRING,
OIUSEREXIT TYPE STRING,
REVSP TYPE STRING,
REVEVTYP TYPE STRING,
MILL_BATCH_REF TYPE STRING,
MILL_BATCH_SEL_D TYPE STRING,
RBACONTROL TYPE STRING,
FSH_SEADET TYPE STRING,
FSH_VASS_DETC TYPE STRING,
FSH_AUTODELOC TYPE STRING,
ENH_REJ_LOGIC TYPE STRING,
AUTO_REJECTION TYPE STRING,
REASON_FOR_REJ TYPE STRING,
UPDATE_SO_ON_CONF_PO TYPE STRING,
SPDIPO TYPE STRING,
SPDTP TYPE STRING,
AUTO_DEALLOC TYPE STRING,
LVART TYPE STRING,
MILL_SE_KKNMT TYPE STRING,
RFM_COPY_SO_PO TYPE STRING,
RFM_DIV_CANC TYPE STRING,
RFM_DEL_SEAS_CANC TYPE STRING,
RFM_DIV_QTY_REDUCE TYPE STRING,
RFM_PSST_RULE_DEACT TYPE STRING,
RFM_COPY_SEA TYPE STRING,
RFM_NO_COPY_SEA TYPE STRING,END OF T_EKKO_STR. DATA: WA_TXI_TVAP_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_TVAP_STR-MANDT sy-vline
WA_TXI_TVAP_STR-PSTYV sy-vline
WA_TXI_TVAP_STR-FKREL sy-vline
WA_TXI_TVAP_STR-PRSFD sy-vline
WA_TXI_TVAP_STR-POSGR sy-vline
WA_TXI_TVAP_STR-PARGR sy-vline
WA_TXI_TVAP_STR-PSGRP sy-vline
WA_TXI_TVAP_STR-STULI sy-vline
WA_TXI_TVAP_STR-ASWPA sy-vline
WA_TXI_TVAP_STR-STRUM sy-vline
WA_TXI_TVAP_STR-PROPAGATE_PAOBJNR_BOM sy-vline
WA_TXI_TVAP_STR-EVRWR sy-vline
WA_TXI_TVAP_STR-KOWRR sy-vline
WA_TXI_TVAP_STR-FELDP sy-vline
WA_TXI_TVAP_STR-FAKSP sy-vline
WA_TXI_TVAP_STR-SHELL sy-vline
WA_TXI_TVAP_STR-ERLRE sy-vline
WA_TXI_TVAP_STR-TXN08 sy-vline
WA_TXI_TVAP_STR-DIAFM sy-vline
WA_TXI_TVAP_STR-KDERL sy-vline
WA_TXI_TVAP_STR-TXTGR sy-vline
WA_TXI_TVAP_STR-POSAR sy-vline
WA_TXI_TVAP_STR-LFREL sy-vline
WA_TXI_TVAP_STR-ERNAM sy-vline
WA_TXI_TVAP_STR-ETERL sy-vline
WA_TXI_TVAP_STR-GWREL sy-vline
WA_TXI_TVAP_STR-KOMPP sy-vline
WA_TXI_TVAP_STR-FEHGR sy-vline
WA_TXI_TVAP_STR-SHKZG sy-vline
WA_TXI_TVAP_STR-EQMAT sy-vline
WA_TXI_TVAP_STR-STGAP sy-vline
WA_TXI_TVAP_STR-KALSM sy-vline
WA_TXI_TVAP_STR-SOBKZ sy-vline
WA_TXI_TVAP_STR-CMPNT sy-vline
WA_TXI_TVAP_STR-STRAT sy-vline
WA_TXI_TVAP_STR-STSMA sy-vline
WA_TXI_TVAP_STR-MENG1 sy-vline
WA_TXI_TVAP_STR-ALEKZ sy-vline
WA_TXI_TVAP_STR-FPART sy-vline
WA_TXI_TVAP_STR-CHAUT sy-vline
WA_TXI_TVAP_STR-EXCOP sy-vline
WA_TXI_TVAP_STR-SVGNG sy-vline
WA_TXI_TVAP_STR-TYPFD sy-vline
WA_TXI_TVAP_STR-LTYPA sy-vline
WA_TXI_TVAP_STR-LTYPV sy-vline
WA_TXI_TVAP_STR-WKMAT sy-vline
WA_TXI_TVAP_STR-RKTIO sy-vline
WA_TXI_TVAP_STR-SEGAL sy-vline
WA_TXI_TVAP_STR-STDTE sy-vline
WA_TXI_TVAP_STR-RDERL sy-vline
WA_TXI_TVAP_STR-EFFEC sy-vline
WA_TXI_TVAP_STR-FFPRF sy-vline
WA_TXI_TVAP_STR-SCHEME_RMA sy-vline
WA_TXI_TVAP_STR-SCHEME_VF sy-vline
WA_TXI_TVAP_STR-FAKTF sy-vline
WA_TXI_TVAP_STR-RRREL sy-vline
WA_TXI_TVAP_STR-ACDATV sy-vline
WA_TXI_TVAP_STR-UVEIB sy-vline
WA_TXI_TVAP_STR-OIBOM sy-vline
WA_TXI_TVAP_STR-OIBCST sy-vline
WA_TXI_TVAP_STR-OIUSEREXIT sy-vline
WA_TXI_TVAP_STR-REVSP sy-vline
WA_TXI_TVAP_STR-REVEVTYP sy-vline
WA_TXI_TVAP_STR-MILL_BATCH_REF sy-vline
WA_TXI_TVAP_STR-MILL_BATCH_SEL_D sy-vline
WA_TXI_TVAP_STR-RBACONTROL sy-vline
WA_TXI_TVAP_STR-FSH_SEADET sy-vline
WA_TXI_TVAP_STR-FSH_VASS_DETC sy-vline
WA_TXI_TVAP_STR-FSH_AUTODELOC sy-vline
WA_TXI_TVAP_STR-ENH_REJ_LOGIC sy-vline
WA_TXI_TVAP_STR-AUTO_REJECTION sy-vline
WA_TXI_TVAP_STR-REASON_FOR_REJ sy-vline
WA_TXI_TVAP_STR-UPDATE_SO_ON_CONF_PO sy-vline
WA_TXI_TVAP_STR-SPDIPO sy-vline
WA_TXI_TVAP_STR-SPDTP sy-vline
WA_TXI_TVAP_STR-AUTO_DEALLOC sy-vline
WA_TXI_TVAP_STR-LVART sy-vline
WA_TXI_TVAP_STR-MILL_SE_KKNMT sy-vline
WA_TXI_TVAP_STR-RFM_COPY_SO_PO sy-vline
WA_TXI_TVAP_STR-RFM_DIV_CANC sy-vline
WA_TXI_TVAP_STR-RFM_DEL_SEAS_CANC sy-vline
WA_TXI_TVAP_STR-RFM_DIV_QTY_REDUCE sy-vline
WA_TXI_TVAP_STR-RFM_PSST_RULE_DEACT sy-vline
WA_TXI_TVAP_STR-RFM_COPY_SEA sy-vline
WA_TXI_TVAP_STR-RFM_NO_COPY_SEA sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.