ABAP Select data from SAP table V_TVKK 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 V_TVKK 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 V_TVKK. 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 V_TVKK 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_V_TVKK TYPE STANDARD TABLE OF V_TVKK, WA_V_TVKK TYPE V_TVKK, 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: <V_TVKK> TYPE V_TVKK. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_V_TVKK. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM V_TVKK INTO TABLE IT_V_TVKK. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM V_TVKK * INTO TABLE @DATA(IT_V_TVKK2). *--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_V_TVKK INDEX 1 INTO DATA(WA_V_TVKK2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_V_TVKK ASSIGNING <V_TVKK>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<V_TVKK>-MANDT = 1.
<V_TVKK>-KTAAR = 1.
<V_TVKK>-VTEXT_KK = 1.
<V_TVKK>-KOPGR = 1.
<V_TVKK>-UEVOR = 1.
ENDLOOP. LOOP AT IT_V_TVKK INTO WA_V_TVKK. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_V_TVKK-NUMKE, sy-vline,
WA_V_TVKK-PARGR, sy-vline,
WA_V_TVKK-VTEXT_PG, sy-vline,
WA_V_TVKK-VBTYP, sy-vline,
WA_V_TVKK-VBOBJ, sy-vline,
WA_V_TVKK-TRVOG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_V_TVKK 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_V_TVKK 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_V_TVKK INTO WA_V_TVKK. *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 AUART, internal->external for field AFART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-AFART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-AFART.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field AGART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-AGART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-AGART.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field AUART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-AUART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-AUART.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field GUART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-GUART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-GUART.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field LAART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-LAART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-LAART.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field REART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-REART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-REART.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field SOART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-SOART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-SOART.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field AUMA1 CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-AUMA1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-AUMA1.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field AUMA2 CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-AUMA2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-AUMA2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit PARVW, internal->external for field KPAFK CALL FUNCTION 'CONVERSION_EXIT_PARVW_OUTPUT' EXPORTING input = WA_V_TVKK-KPAFK IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-KPAFK.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field FOLLOW_UP_PREF CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_V_TVKK-FOLLOW_UP_PREF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_TVKK-FOLLOW_UP_PREF.
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_V_TVKK_STR,
MANDT TYPE STRING,
KTAAR TYPE STRING,
VTEXT_KK TYPE STRING,
KOPGR TYPE STRING,
UEVOR TYPE STRING,
NUMKE TYPE STRING,
PARGR TYPE STRING,
VTEXT_PG TYPE STRING,
VBTYP TYPE STRING,
VBOBJ TYPE STRING,
TRVOG TYPE STRING,
KAPPL TYPE STRING,
KSCHL TYPE STRING,
KALSM TYPE STRING,
DATVO TYPE STRING,
TXTGR TYPE STRING,
AFART TYPE STRING,
AGART TYPE STRING,
AUART TYPE STRING,
GUART TYPE STRING,
LAART TYPE STRING,
REART TYPE STRING,
SOART TYPE STRING,
KTAOR TYPE STRING,
BEZOB TYPE STRING,
KWIVO TYPE STRING,
KTAFK TYPE STRING,
AUMA1 TYPE STRING,
AUMA2 TYPE STRING,
KPAFK TYPE STRING,
VTEXT_KP TYPE STRING,
STGRU TYPE STRING,
VTEXT_ST TYPE STRING,
FEHGR TYPE STRING,
BEZEI_FE TYPE STRING,
DIAFE TYPE STRING,
NUMADR TYPE STRING,
AR_OBJECT TYPE STRING,
TXT_KONSE TYPE STRING,
EXCLUDE_FC TYPE STRING,
DIRECTION TYPE STRING,
PA_PLTYPE TYPE STRING,
KTAAR_CLASS TYPE STRING,
FOLLOW_UP_PREF TYPE STRING,
KALE TYPE STRING,
ABPATTERN TYPE STRING,END OF T_EKKO_STR. DATA: WA_V_TVKK_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_V_TVKK_STR-MANDT sy-vline
WA_V_TVKK_STR-KTAAR sy-vline
WA_V_TVKK_STR-VTEXT_KK sy-vline
WA_V_TVKK_STR-KOPGR sy-vline
WA_V_TVKK_STR-UEVOR sy-vline
WA_V_TVKK_STR-NUMKE sy-vline
WA_V_TVKK_STR-PARGR sy-vline
WA_V_TVKK_STR-VTEXT_PG sy-vline
WA_V_TVKK_STR-VBTYP sy-vline
WA_V_TVKK_STR-VBOBJ sy-vline
WA_V_TVKK_STR-TRVOG sy-vline
WA_V_TVKK_STR-KAPPL sy-vline
WA_V_TVKK_STR-KSCHL sy-vline
WA_V_TVKK_STR-KALSM sy-vline
WA_V_TVKK_STR-DATVO sy-vline
WA_V_TVKK_STR-TXTGR sy-vline
WA_V_TVKK_STR-AFART sy-vline
WA_V_TVKK_STR-AGART sy-vline
WA_V_TVKK_STR-AUART sy-vline
WA_V_TVKK_STR-GUART sy-vline
WA_V_TVKK_STR-LAART sy-vline
WA_V_TVKK_STR-REART sy-vline
WA_V_TVKK_STR-SOART sy-vline
WA_V_TVKK_STR-KTAOR sy-vline
WA_V_TVKK_STR-BEZOB sy-vline
WA_V_TVKK_STR-KWIVO sy-vline
WA_V_TVKK_STR-KTAFK sy-vline
WA_V_TVKK_STR-AUMA1 sy-vline
WA_V_TVKK_STR-AUMA2 sy-vline
WA_V_TVKK_STR-KPAFK sy-vline
WA_V_TVKK_STR-VTEXT_KP sy-vline
WA_V_TVKK_STR-STGRU sy-vline
WA_V_TVKK_STR-VTEXT_ST sy-vline
WA_V_TVKK_STR-FEHGR sy-vline
WA_V_TVKK_STR-BEZEI_FE sy-vline
WA_V_TVKK_STR-DIAFE sy-vline
WA_V_TVKK_STR-NUMADR sy-vline
WA_V_TVKK_STR-AR_OBJECT sy-vline
WA_V_TVKK_STR-TXT_KONSE sy-vline
WA_V_TVKK_STR-EXCLUDE_FC sy-vline
WA_V_TVKK_STR-DIRECTION sy-vline
WA_V_TVKK_STR-PA_PLTYPE sy-vline
WA_V_TVKK_STR-KTAAR_CLASS sy-vline
WA_V_TVKK_STR-FOLLOW_UP_PREF sy-vline
WA_V_TVKK_STR-KALE sy-vline
WA_V_TVKK_STR-ABPATTERN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.