ABAP Select data from SAP table TXW_AFRU 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 TXW_AFRU 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 TXW_AFRU. 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 TXW_AFRU 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_TXW_AFRU TYPE STANDARD TABLE OF TXW_AFRU,
      WA_TXW_AFRU TYPE TXW_AFRU,
      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: <TXW_AFRU> TYPE TXW_AFRU.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TXW_AFRU
*  INTO TABLE @DATA(IT_TXW_AFRU2).
*--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_TXW_AFRU INDEX 1 INTO DATA(WA_TXW_AFRU2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TXW_AFRU ASSIGNING <TXW_AFRU>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TXW_AFRU>-MANDT = 1.
<TXW_AFRU>-VGBEL = 1.
<TXW_AFRU>-VGPOS = 1.
<TXW_AFRU>-DLINR = 1.
<TXW_AFRU>-RUECK = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TXW_AFRU-RMZHL, sy-vline,
WA_TXW_AFRU-ERSDA, sy-vline,
WA_TXW_AFRU-ERNAM, sy-vline,
WA_TXW_AFRU-LAEDA, sy-vline,
WA_TXW_AFRU-AENAM, sy-vline,
WA_TXW_AFRU-BUDAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TXW_AFRU 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_TXW_AFRU 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_TXW_AFRU INTO WA_TXW_AFRU. *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 VGBEL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-VGBEL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-VGBEL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field TXTSP CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_TXW_AFRU-TXTSP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-TXTSP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ZEIER CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ZEIER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ZEIER.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ILE01 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ILE01 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ILE01.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ILE02 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ILE02 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ILE02.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ILE03 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ILE03 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ILE03.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ILE04 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ILE04 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ILE04.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ILE05 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ILE05 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ILE05.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ILE06 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ILE06 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ILE06.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ISMNE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-ISMNE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-ISMNE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field IDAUE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-IDAUE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-IDAUE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field GMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-GMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-GMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MEINH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-MEINH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-MEINH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field WABLNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-WABLNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-WABLNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field WEBLNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-WEBLNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-WEBLNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field AUFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-AUFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-AUFNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field APLFL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-APLFL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-APLFL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit NUMCV, internal->external for field VORNR CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_TXW_AFRU-VORNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-VORNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field OFMNE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TXW_AFRU-OFMNE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-OFMNE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BELNR_IST CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-BELNR_IST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-BELNR_IST.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BELNR_UMB CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-BELNR_UMB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-BELNR_UMB.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field CATSBELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-CATSBELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-CATSBELNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SKOSTL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TXW_AFRU-SKOSTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TXW_AFRU-SKOSTL.
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_TXW_AFRU_STR,
MANDT TYPE STRING,
VGBEL TYPE STRING,
VGPOS TYPE STRING,
DLINR TYPE STRING,
RUECK TYPE STRING,
RMZHL TYPE STRING,
ERSDA TYPE STRING,
ERNAM TYPE STRING,
LAEDA TYPE STRING,
AENAM TYPE STRING,
BUDAT TYPE STRING,
ARBID TYPE STRING,
WERKS TYPE STRING,
LTXA1 TYPE STRING,
TXTSP TYPE STRING,
ISERH TYPE STRING,
ZEIER TYPE STRING,
ILE01 TYPE STRING,
ISM01 TYPE STRING,
ILE02 TYPE STRING,
ISM02 TYPE STRING,
ILE03 TYPE STRING,
ISM03 TYPE STRING,
ILE04 TYPE STRING,
ISM04 TYPE STRING,
ILE05 TYPE STRING,
ISM05 TYPE STRING,
ILE06 TYPE STRING,
ISM06 TYPE STRING,
ABARB TYPE STRING,
ISMNW TYPE STRING,
ISMNE TYPE STRING,
LEARR TYPE STRING,
IDAUR TYPE STRING,
IDAUE TYPE STRING,
LOART TYPE STRING,
LOGRP TYPE STRING,
GMNGA TYPE STRING,
LMNGA TYPE STRING,
XMNGA TYPE STRING,
GMEIN TYPE STRING,
MEINH TYPE STRING,
GRUND TYPE STRING,
PERNR TYPE STRING,
ISDD TYPE STRING,
ISDZ TYPE STRING,
WABLNR TYPE STRING,
WEBLNR TYPE STRING,
AUERU TYPE STRING,
AUSOR TYPE STRING,
STNDR TYPE STRING,
MANUR TYPE STRING,
MEILR TYPE STRING,
AUFPL TYPE STRING,
APLZL TYPE STRING,
AUFNR TYPE STRING,
APLFL TYPE STRING,
VORNR TYPE STRING,
SUMNR TYPE STRING,
OFMNW TYPE STRING,
OFMNE TYPE STRING,
LEKNW TYPE STRING,
STOKZ TYPE STRING,
STZHL TYPE STRING,
SMENG TYPE STRING,
RUECK_MST TYPE STRING,
RMZHL_MST TYPE STRING,
PDSNR TYPE STRING,
SPLIT TYPE STRING,
ORIND TYPE STRING,
ORIGF TYPE STRING,
CANUM TYPE STRING,
BELNR_IST TYPE STRING,
BELNR_UMB TYPE STRING,
CATSBELNR TYPE STRING,
SATZA TYPE STRING,
CATSPRICE TYPE STRING,
CATSTCURR TYPE STRING,
CATSPEINH TYPE STRING,
BEMOT TYPE STRING,
SKOKRS TYPE STRING,
SKOSTL TYPE STRING,END OF T_EKKO_STR. DATA: WA_TXW_AFRU_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_TXW_AFRU_STR-MANDT sy-vline
WA_TXW_AFRU_STR-VGBEL sy-vline
WA_TXW_AFRU_STR-VGPOS sy-vline
WA_TXW_AFRU_STR-DLINR sy-vline
WA_TXW_AFRU_STR-RUECK sy-vline
WA_TXW_AFRU_STR-RMZHL sy-vline
WA_TXW_AFRU_STR-ERSDA sy-vline
WA_TXW_AFRU_STR-ERNAM sy-vline
WA_TXW_AFRU_STR-LAEDA sy-vline
WA_TXW_AFRU_STR-AENAM sy-vline
WA_TXW_AFRU_STR-BUDAT sy-vline
WA_TXW_AFRU_STR-ARBID sy-vline
WA_TXW_AFRU_STR-WERKS sy-vline
WA_TXW_AFRU_STR-LTXA1 sy-vline
WA_TXW_AFRU_STR-TXTSP sy-vline
WA_TXW_AFRU_STR-ISERH sy-vline
WA_TXW_AFRU_STR-ZEIER sy-vline
WA_TXW_AFRU_STR-ILE01 sy-vline
WA_TXW_AFRU_STR-ISM01 sy-vline
WA_TXW_AFRU_STR-ILE02 sy-vline
WA_TXW_AFRU_STR-ISM02 sy-vline
WA_TXW_AFRU_STR-ILE03 sy-vline
WA_TXW_AFRU_STR-ISM03 sy-vline
WA_TXW_AFRU_STR-ILE04 sy-vline
WA_TXW_AFRU_STR-ISM04 sy-vline
WA_TXW_AFRU_STR-ILE05 sy-vline
WA_TXW_AFRU_STR-ISM05 sy-vline
WA_TXW_AFRU_STR-ILE06 sy-vline
WA_TXW_AFRU_STR-ISM06 sy-vline
WA_TXW_AFRU_STR-ABARB sy-vline
WA_TXW_AFRU_STR-ISMNW sy-vline
WA_TXW_AFRU_STR-ISMNE sy-vline
WA_TXW_AFRU_STR-LEARR sy-vline
WA_TXW_AFRU_STR-IDAUR sy-vline
WA_TXW_AFRU_STR-IDAUE sy-vline
WA_TXW_AFRU_STR-LOART sy-vline
WA_TXW_AFRU_STR-LOGRP sy-vline
WA_TXW_AFRU_STR-GMNGA sy-vline
WA_TXW_AFRU_STR-LMNGA sy-vline
WA_TXW_AFRU_STR-XMNGA sy-vline
WA_TXW_AFRU_STR-GMEIN sy-vline
WA_TXW_AFRU_STR-MEINH sy-vline
WA_TXW_AFRU_STR-GRUND sy-vline
WA_TXW_AFRU_STR-PERNR sy-vline
WA_TXW_AFRU_STR-ISDD sy-vline
WA_TXW_AFRU_STR-ISDZ sy-vline
WA_TXW_AFRU_STR-WABLNR sy-vline
WA_TXW_AFRU_STR-WEBLNR sy-vline
WA_TXW_AFRU_STR-AUERU sy-vline
WA_TXW_AFRU_STR-AUSOR sy-vline
WA_TXW_AFRU_STR-STNDR sy-vline
WA_TXW_AFRU_STR-MANUR sy-vline
WA_TXW_AFRU_STR-MEILR sy-vline
WA_TXW_AFRU_STR-AUFPL sy-vline
WA_TXW_AFRU_STR-APLZL sy-vline
WA_TXW_AFRU_STR-AUFNR sy-vline
WA_TXW_AFRU_STR-APLFL sy-vline
WA_TXW_AFRU_STR-VORNR sy-vline
WA_TXW_AFRU_STR-SUMNR sy-vline
WA_TXW_AFRU_STR-OFMNW sy-vline
WA_TXW_AFRU_STR-OFMNE sy-vline
WA_TXW_AFRU_STR-LEKNW sy-vline
WA_TXW_AFRU_STR-STOKZ sy-vline
WA_TXW_AFRU_STR-STZHL sy-vline
WA_TXW_AFRU_STR-SMENG sy-vline
WA_TXW_AFRU_STR-RUECK_MST sy-vline
WA_TXW_AFRU_STR-RMZHL_MST sy-vline
WA_TXW_AFRU_STR-PDSNR sy-vline
WA_TXW_AFRU_STR-SPLIT sy-vline
WA_TXW_AFRU_STR-ORIND sy-vline
WA_TXW_AFRU_STR-ORIGF sy-vline
WA_TXW_AFRU_STR-CANUM sy-vline
WA_TXW_AFRU_STR-BELNR_IST sy-vline
WA_TXW_AFRU_STR-BELNR_UMB sy-vline
WA_TXW_AFRU_STR-CATSBELNR sy-vline
WA_TXW_AFRU_STR-SATZA sy-vline
WA_TXW_AFRU_STR-CATSPRICE sy-vline
WA_TXW_AFRU_STR-CATSTCURR sy-vline
WA_TXW_AFRU_STR-CATSPEINH sy-vline
WA_TXW_AFRU_STR-BEMOT sy-vline
WA_TXW_AFRU_STR-SKOKRS sy-vline
WA_TXW_AFRU_STR-SKOSTL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.