ABAP Select data from SAP table TBCO_ALL 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 TBCO_ALL 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 TBCO_ALL. 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 TBCO_ALL 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_TBCO_ALL TYPE STANDARD TABLE OF TBCO_ALL,
      WA_TBCO_ALL TYPE TBCO_ALL,
      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: <TBCO_ALL> TYPE TBCO_ALL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TBCO_ALL
*  INTO TABLE @DATA(IT_TBCO_ALL2).
*--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_TBCO_ALL INDEX 1 INTO DATA(WA_TBCO_ALL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TBCO_ALL ASSIGNING <TBCO_ALL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TBCO_ALL>-MANDT = 1.
<TBCO_ALL>-BUKRS = 1.
<TBCO_ALL>-BUTXT = 1.
<TBCO_ALL>-BU_SWIFT = 1.
<TBCO_ALL>-RANTYP = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TBCO_ALL-SGSART, sy-vline,
WA_TBCO_ALL-XSGSART, sy-vline,
WA_TBCO_ALL-XSGSART_K, sy-vline,
WA_TBCO_ALL-XSGSART_E, sy-vline,
WA_TBCO_ALL-SFHAART, sy-vline,
WA_TBCO_ALL-XSFHAART, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TBCO_ALL 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_TBCO_ALL 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_TBCO_ALL INTO WA_TBCO_ALL. *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_BEFORE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_TBCO_ALL-LANGU_BEFORE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TBCO_ALL-LANGU_BEFORE.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

*Conversion exit SXIDN, internal->external for field KO_ADSMTP CALL FUNCTION 'CONVERSION_EXIT_SXIDN_OUTPUT' EXPORTING input = WA_TBCO_ALL-KO_ADSMTP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TBCO_ALL-KO_ADSMTP.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field RRFHA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TBCO_ALL-RRFHA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TBCO_ALL-RRFHA.
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_TBCO_ALL_STR,
MANDT TYPE STRING,
BUKRS TYPE STRING,
BUTXT TYPE STRING,
BU_SWIFT TYPE STRING,
RANTYP TYPE STRING,
SGSART TYPE STRING,
XSGSART TYPE STRING,
XSGSART_K TYPE STRING,
XSGSART_E TYPE STRING,
SFHAART TYPE STRING,
XSFHAART TYPE STRING,
XSFHAART_E TYPE STRING,
SFGZUSTT TYPE STRING,
XSFGZUSTT TYPE STRING,
XSFGZUSTTE TYPE STRING,
SFUNKTV TYPE STRING,
XSFUNKTV TYPE STRING,
SFUNKTL TYPE STRING,
XSFUNKTL TYPE STRING,
XSFUNKTL_E TYPE STRING,
LANGU_BEFORE TYPE STRING,
LANGU_AFTER TYPE STRING,
OBJNR TYPE STRING,
RFHA TYPE STRING,
RFHAZU TYPE STRING,
RFHAZUL TYPE STRING,
SFIXRFHAZU TYPE STRING,
SFIRST TYPE STRING,
RLFDNR TYPE STRING,
SREPEAT TYPE STRING,
DATUM TYPE STRING,
CRUSER TYPE STRING,
DCRDAT TYPE STRING,
TCRTIM TYPE STRING,
UPUSER TYPE STRING,
DUPDAT TYPE STRING,
TUPTIM TYPE STRING,
DVTRAB TYPE STRING,
RMAID TYPE STRING,
GSPPART TYPE STRING,
DBLFZ TYPE STRING,
DELFZ TYPE STRING,
KONTRH TYPE STRING,
XKONTRH TYPE STRING,
ADDRNUMBER TYPE STRING,
ADDR_TYPE TYPE STRING,
PERSNUMBER TYPE STRING,
FROMCOUNTRY TYPE STRING,
ROLETYP TYPE STRING,
XROLETYP TYPE STRING,
RGARANT TYPE STRING,
XRGARANT TYPE STRING,
KO_FAX TYPE STRING,
KO_ADR_COUNTRY TYPE STRING,
KO_SWIFT TYPE STRING,
KO_ADSMTP TYPE STRING,
RPZAHL TYPE STRING,
ZR_SWIFT TYPE STRING,
RPBANK TYPE STRING,
PB_SWIFT TYPE STRING,
PB_IBAN TYPE STRING,
RAHABKI TYPE STRING,
HB_SWIFT TYPE STRING,
HB_IBAN TYPE STRING,
RAHKTID TYPE STRING,
RAHK_NO TYPE STRING,
RPCODE TYPE STRING,
SZART TYPE STRING,
UZAWE TYPE STRING,
NORDEXT TYPE STRING,
RDEALER TYPE STRING,
SSTOGRD TYPE STRING,
XSSTOGRD TYPE STRING,
SRNDNG TYPE STRING,
CORTYP TYPE STRING,
FORMULAR TYPE STRING,
SWIFT_DAT TYPE STRING,
SANLF TYPE STRING,
SFGTYP TYPE STRING,
SAKTIV TYPE STRING,
RPORTB TYPE STRING,
ZUONR TYPE STRING,
RANL TYPE STRING,
RLDEPO TYPE STRING,
PEFFZINS TYPE STRING,
SEFFMETH TYPE STRING,
XEFFMETH TYPE STRING,
ZUOND TYPE STRING,
REFER TYPE STRING,
MERKM TYPE STRING,
RCOMVALCL TYPE STRING,
XRCOMVALCL TYPE STRING,
FACILITYNR TYPE STRING,
FACILITYBUKRS TYPE STRING,
VRFHA TYPE STRING,
RRFHA TYPE STRING,
RBUKRS TYPE STRING,
TRANS_KEY TYPE STRING,
SFORMCT TYPE STRING,
BANKA_SB TYPE STRING,
BRNCH_SB TYPE STRING,
STRAS_SB TYPE STRING,
ORT01_SB TYPE STRING,
SWIFT_SB TYPE STRING,
BNKLZ_SB TYPE STRING,
BANKN_SK TYPE STRING,
BNKN2_SK TYPE STRING,
IBAN_SK TYPE STRING,
SDISP_INTST TYPE STRING,
SDISP_BNOM TYPE STRING,
SDISP_REF TYPE STRING,
SDISP_ZS TYPE STRING,
SDISP_COND TYPE STRING,
SDISP_COND_SE TYPE STRING,
SDISP_COND_REP TYPE STRING,
SDISP_RPAY TYPE STRING,
SDISP_BNOM_IN TYPE STRING,
SDISP_DIVID_FW TYPE STRING,
SFIXRFHAZU_CS TYPE STRING,
SFIXRFHAZU_TRS TYPE STRING,
SDISP_BNOM_TRS TYPE STRING,
SDISP_BNOM_TRS_IN TYPE STRING,
SDISP_DIVID_TRS TYPE STRING,
LEGAL_BASIS TYPE STRING,
TRADE_ID TYPE STRING,END OF T_EKKO_STR. DATA: WA_TBCO_ALL_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_TBCO_ALL_STR-MANDT sy-vline
WA_TBCO_ALL_STR-BUKRS sy-vline
WA_TBCO_ALL_STR-BUTXT sy-vline
WA_TBCO_ALL_STR-BU_SWIFT sy-vline
WA_TBCO_ALL_STR-RANTYP sy-vline
WA_TBCO_ALL_STR-SGSART sy-vline
WA_TBCO_ALL_STR-XSGSART sy-vline
WA_TBCO_ALL_STR-XSGSART_K sy-vline
WA_TBCO_ALL_STR-XSGSART_E sy-vline
WA_TBCO_ALL_STR-SFHAART sy-vline
WA_TBCO_ALL_STR-XSFHAART sy-vline
WA_TBCO_ALL_STR-XSFHAART_E sy-vline
WA_TBCO_ALL_STR-SFGZUSTT sy-vline
WA_TBCO_ALL_STR-XSFGZUSTT sy-vline
WA_TBCO_ALL_STR-XSFGZUSTTE sy-vline
WA_TBCO_ALL_STR-SFUNKTV sy-vline
WA_TBCO_ALL_STR-XSFUNKTV sy-vline
WA_TBCO_ALL_STR-SFUNKTL sy-vline
WA_TBCO_ALL_STR-XSFUNKTL sy-vline
WA_TBCO_ALL_STR-XSFUNKTL_E sy-vline
WA_TBCO_ALL_STR-LANGU_BEFORE sy-vline
WA_TBCO_ALL_STR-LANGU_AFTER sy-vline
WA_TBCO_ALL_STR-OBJNR sy-vline
WA_TBCO_ALL_STR-RFHA sy-vline
WA_TBCO_ALL_STR-RFHAZU sy-vline
WA_TBCO_ALL_STR-RFHAZUL sy-vline
WA_TBCO_ALL_STR-SFIXRFHAZU sy-vline
WA_TBCO_ALL_STR-SFIRST sy-vline
WA_TBCO_ALL_STR-RLFDNR sy-vline
WA_TBCO_ALL_STR-SREPEAT sy-vline
WA_TBCO_ALL_STR-DATUM sy-vline
WA_TBCO_ALL_STR-CRUSER sy-vline
WA_TBCO_ALL_STR-DCRDAT sy-vline
WA_TBCO_ALL_STR-TCRTIM sy-vline
WA_TBCO_ALL_STR-UPUSER sy-vline
WA_TBCO_ALL_STR-DUPDAT sy-vline
WA_TBCO_ALL_STR-TUPTIM sy-vline
WA_TBCO_ALL_STR-DVTRAB sy-vline
WA_TBCO_ALL_STR-RMAID sy-vline
WA_TBCO_ALL_STR-GSPPART sy-vline
WA_TBCO_ALL_STR-DBLFZ sy-vline
WA_TBCO_ALL_STR-DELFZ sy-vline
WA_TBCO_ALL_STR-KONTRH sy-vline
WA_TBCO_ALL_STR-XKONTRH sy-vline
WA_TBCO_ALL_STR-ADDRNUMBER sy-vline
WA_TBCO_ALL_STR-ADDR_TYPE sy-vline
WA_TBCO_ALL_STR-PERSNUMBER sy-vline
WA_TBCO_ALL_STR-FROMCOUNTRY sy-vline
WA_TBCO_ALL_STR-ROLETYP sy-vline
WA_TBCO_ALL_STR-XROLETYP sy-vline
WA_TBCO_ALL_STR-RGARANT sy-vline
WA_TBCO_ALL_STR-XRGARANT sy-vline
WA_TBCO_ALL_STR-KO_FAX sy-vline
WA_TBCO_ALL_STR-KO_ADR_COUNTRY sy-vline
WA_TBCO_ALL_STR-KO_SWIFT sy-vline
WA_TBCO_ALL_STR-KO_ADSMTP sy-vline
WA_TBCO_ALL_STR-RPZAHL sy-vline
WA_TBCO_ALL_STR-ZR_SWIFT sy-vline
WA_TBCO_ALL_STR-RPBANK sy-vline
WA_TBCO_ALL_STR-PB_SWIFT sy-vline
WA_TBCO_ALL_STR-PB_IBAN sy-vline
WA_TBCO_ALL_STR-RAHABKI sy-vline
WA_TBCO_ALL_STR-HB_SWIFT sy-vline
WA_TBCO_ALL_STR-HB_IBAN sy-vline
WA_TBCO_ALL_STR-RAHKTID sy-vline
WA_TBCO_ALL_STR-RAHK_NO sy-vline
WA_TBCO_ALL_STR-RPCODE sy-vline
WA_TBCO_ALL_STR-SZART sy-vline
WA_TBCO_ALL_STR-UZAWE sy-vline
WA_TBCO_ALL_STR-NORDEXT sy-vline
WA_TBCO_ALL_STR-RDEALER sy-vline
WA_TBCO_ALL_STR-SSTOGRD sy-vline
WA_TBCO_ALL_STR-XSSTOGRD sy-vline
WA_TBCO_ALL_STR-SRNDNG sy-vline
WA_TBCO_ALL_STR-CORTYP sy-vline
WA_TBCO_ALL_STR-FORMULAR sy-vline
WA_TBCO_ALL_STR-SWIFT_DAT sy-vline
WA_TBCO_ALL_STR-SANLF sy-vline
WA_TBCO_ALL_STR-SFGTYP sy-vline
WA_TBCO_ALL_STR-SAKTIV sy-vline
WA_TBCO_ALL_STR-RPORTB sy-vline
WA_TBCO_ALL_STR-ZUONR sy-vline
WA_TBCO_ALL_STR-RANL sy-vline
WA_TBCO_ALL_STR-RLDEPO sy-vline
WA_TBCO_ALL_STR-PEFFZINS sy-vline
WA_TBCO_ALL_STR-SEFFMETH sy-vline
WA_TBCO_ALL_STR-XEFFMETH sy-vline
WA_TBCO_ALL_STR-ZUOND sy-vline
WA_TBCO_ALL_STR-REFER sy-vline
WA_TBCO_ALL_STR-MERKM sy-vline
WA_TBCO_ALL_STR-RCOMVALCL sy-vline
WA_TBCO_ALL_STR-XRCOMVALCL sy-vline
WA_TBCO_ALL_STR-FACILITYNR sy-vline
WA_TBCO_ALL_STR-FACILITYBUKRS sy-vline
WA_TBCO_ALL_STR-VRFHA sy-vline
WA_TBCO_ALL_STR-RRFHA sy-vline
WA_TBCO_ALL_STR-RBUKRS sy-vline
WA_TBCO_ALL_STR-TRANS_KEY sy-vline
WA_TBCO_ALL_STR-SFORMCT sy-vline
WA_TBCO_ALL_STR-BANKA_SB sy-vline
WA_TBCO_ALL_STR-BRNCH_SB sy-vline
WA_TBCO_ALL_STR-STRAS_SB sy-vline
WA_TBCO_ALL_STR-ORT01_SB sy-vline
WA_TBCO_ALL_STR-SWIFT_SB sy-vline
WA_TBCO_ALL_STR-BNKLZ_SB sy-vline
WA_TBCO_ALL_STR-BANKN_SK sy-vline
WA_TBCO_ALL_STR-BNKN2_SK sy-vline
WA_TBCO_ALL_STR-IBAN_SK sy-vline
WA_TBCO_ALL_STR-SDISP_INTST sy-vline
WA_TBCO_ALL_STR-SDISP_BNOM sy-vline
WA_TBCO_ALL_STR-SDISP_REF sy-vline
WA_TBCO_ALL_STR-SDISP_ZS sy-vline
WA_TBCO_ALL_STR-SDISP_COND sy-vline
WA_TBCO_ALL_STR-SDISP_COND_SE sy-vline
WA_TBCO_ALL_STR-SDISP_COND_REP sy-vline
WA_TBCO_ALL_STR-SDISP_RPAY sy-vline
WA_TBCO_ALL_STR-SDISP_BNOM_IN sy-vline
WA_TBCO_ALL_STR-SDISP_DIVID_FW sy-vline
WA_TBCO_ALL_STR-SFIXRFHAZU_CS sy-vline
WA_TBCO_ALL_STR-SFIXRFHAZU_TRS sy-vline
WA_TBCO_ALL_STR-SDISP_BNOM_TRS sy-vline
WA_TBCO_ALL_STR-SDISP_BNOM_TRS_IN sy-vline
WA_TBCO_ALL_STR-SDISP_DIVID_TRS sy-vline
WA_TBCO_ALL_STR-LEGAL_BASIS sy-vline
WA_TBCO_ALL_STR-TRADE_ID sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.