ABAP Select data from SAP table VTBKORES 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 VTBKORES 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 VTBKORES. 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 VTBKORES 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_VTBKORES TYPE STANDARD TABLE OF VTBKORES, WA_VTBKORES TYPE VTBKORES, 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: <VTBKORES> TYPE VTBKORES. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_VTBKORES. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM VTBKORES INTO TABLE IT_VTBKORES. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM VTBKORES * INTO TABLE @DATA(IT_VTBKORES2). *--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_VTBKORES INDEX 1 INTO DATA(WA_VTBKORES2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_VTBKORES ASSIGNING <VTBKORES>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<VTBKORES>-MANDT = 1.
<VTBKORES>-BUKRS = 1.
<VTBKORES>-RFHA = 1.
<VTBKORES>-RFHAZU = 1.
<VTBKORES>-RORDER = 1.
ENDLOOP. LOOP AT IT_VTBKORES INTO WA_VTBKORES. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_VTBKORES-DCRDAT, sy-vline,
WA_VTBKORES-TCTRIM, sy-vline,
WA_VTBKORES-RLFDNR, sy-vline,
WA_VTBKORES-SPLAN, sy-vline,
WA_VTBKORES-SFGZUSTT, sy-vline,
WA_VTBKORES-SFUNKTL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VTBKORES 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_VTBKORES 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_VTBKORES INTO WA_VTBKORES. *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 RFHA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VTBKORES-RFHA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VTBKORES-RFHA.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KONTRH CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VTBKORES-KONTRH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VTBKORES-KONTRH.
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_VTBKORES_STR,
MANDT TYPE STRING,
BUKRS TYPE STRING,
RFHA TYPE STRING,
RFHAZU TYPE STRING,
RORDER TYPE STRING,
DCRDAT TYPE STRING,
TCTRIM TYPE STRING,
RLFDNR TYPE STRING,
SPLAN TYPE STRING,
SFGZUSTT TYPE STRING,
SFUNKTL TYPE STRING,
CORTYP TYPE STRING,
SPRINT TYPE STRING,
SFAX TYPE STRING,
SSWIFT TYPE STRING,
SIDOC TYPE STRING,
SEMAIL TYPE STRING,
DCIDAT TYPE STRING,
TCIDAT TYPE STRING,
JSENDEN TYPE STRING,
DEXDAT TYPE STRING,
TEXDAT TYPE STRING,
UEXNAM TYPE STRING,
TDSPOOLID TYPE STRING,
TDOBJ_NO TYPE STRING,
SRECONFIRM TYPE STRING,
DREDAT TYPE STRING,
TREDAT TYPE STRING,
URENAM TYPE STRING,
FORMULAR TYPE STRING,
SWIFT_DAT TYPE STRING,
KONTRH TYPE STRING,
ROLETYP TYPE STRING,
URCNAM TYPE STRING,
CORR_AD TYPE STRING,
CRUSER TYPE STRING,
UPUSER TYPE STRING,
DUPDAT TYPE STRING,
TUPTIM TYPE STRING,
JAUTOMAT TYPE STRING,
CORAUT TYPE STRING,
SSTATUS TYPE STRING,
SSTATCHG TYPE STRING,
SREPEAT TYPE STRING,
LAUFD TYPE STRING,
LAUFI TYPE STRING,
DTKEY TYPE STRING,
LFDNR TYPE STRING,
SWIFTREF TYPE STRING,
DOCNUM TYPE STRING,
DOCNUM_IN TYPE STRING,
SFORMCT TYPE STRING,END OF T_EKKO_STR. DATA: WA_VTBKORES_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_VTBKORES_STR-MANDT sy-vline
WA_VTBKORES_STR-BUKRS sy-vline
WA_VTBKORES_STR-RFHA sy-vline
WA_VTBKORES_STR-RFHAZU sy-vline
WA_VTBKORES_STR-RORDER sy-vline
WA_VTBKORES_STR-DCRDAT sy-vline
WA_VTBKORES_STR-TCTRIM sy-vline
WA_VTBKORES_STR-RLFDNR sy-vline
WA_VTBKORES_STR-SPLAN sy-vline
WA_VTBKORES_STR-SFGZUSTT sy-vline
WA_VTBKORES_STR-SFUNKTL sy-vline
WA_VTBKORES_STR-CORTYP sy-vline
WA_VTBKORES_STR-SPRINT sy-vline
WA_VTBKORES_STR-SFAX sy-vline
WA_VTBKORES_STR-SSWIFT sy-vline
WA_VTBKORES_STR-SIDOC sy-vline
WA_VTBKORES_STR-SEMAIL sy-vline
WA_VTBKORES_STR-DCIDAT sy-vline
WA_VTBKORES_STR-TCIDAT sy-vline
WA_VTBKORES_STR-JSENDEN sy-vline
WA_VTBKORES_STR-DEXDAT sy-vline
WA_VTBKORES_STR-TEXDAT sy-vline
WA_VTBKORES_STR-UEXNAM sy-vline
WA_VTBKORES_STR-TDSPOOLID sy-vline
WA_VTBKORES_STR-TDOBJ_NO sy-vline
WA_VTBKORES_STR-SRECONFIRM sy-vline
WA_VTBKORES_STR-DREDAT sy-vline
WA_VTBKORES_STR-TREDAT sy-vline
WA_VTBKORES_STR-URENAM sy-vline
WA_VTBKORES_STR-FORMULAR sy-vline
WA_VTBKORES_STR-SWIFT_DAT sy-vline
WA_VTBKORES_STR-KONTRH sy-vline
WA_VTBKORES_STR-ROLETYP sy-vline
WA_VTBKORES_STR-URCNAM sy-vline
WA_VTBKORES_STR-CORR_AD sy-vline
WA_VTBKORES_STR-CRUSER sy-vline
WA_VTBKORES_STR-UPUSER sy-vline
WA_VTBKORES_STR-DUPDAT sy-vline
WA_VTBKORES_STR-TUPTIM sy-vline
WA_VTBKORES_STR-JAUTOMAT sy-vline
WA_VTBKORES_STR-CORAUT sy-vline
WA_VTBKORES_STR-SSTATUS sy-vline
WA_VTBKORES_STR-SSTATCHG sy-vline
WA_VTBKORES_STR-SREPEAT sy-vline
WA_VTBKORES_STR-LAUFD sy-vline
WA_VTBKORES_STR-LAUFI sy-vline
WA_VTBKORES_STR-DTKEY sy-vline
WA_VTBKORES_STR-LFDNR sy-vline
WA_VTBKORES_STR-SWIFTREF sy-vline
WA_VTBKORES_STR-DOCNUM sy-vline
WA_VTBKORES_STR-DOCNUM_IN sy-vline
WA_VTBKORES_STR-SFORMCT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.