ABAP Select data from SAP table FKKVKD 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 FKKVKD 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 FKKVKD. 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 FKKVKD 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_FKKVKD TYPE STANDARD TABLE OF FKKVKD, WA_FKKVKD TYPE FKKVKD, 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: <FKKVKD> TYPE FKKVKD. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_FKKVKD. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM FKKVKD INTO TABLE IT_FKKVKD. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM FKKVKD * INTO TABLE @DATA(IT_FKKVKD2). *--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_FKKVKD INDEX 1 INTO DATA(WA_FKKVKD2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_FKKVKD ASSIGNING <FKKVKD>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<FKKVKD>-GPARVTT = 1.
<FKKVKD>-GPARTT = 1.
<FKKVKD>-ABWRHT = 1.
<FKKVKD>-ABWRET = 1.
<FKKVKD>-ABWRAT = 1.
ENDLOOP. LOOP AT IT_FKKVKD INTO WA_FKKVKD. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_FKKVKD-ABWMAT, sy-vline,
WA_FKKVKD-VKONT, sy-vline,
WA_FKKVKD-GPART, sy-vline,
WA_FKKVKD-ERDAT, sy-vline,
WA_FKKVKD-ERNAM, sy-vline,
WA_FKKVKD-EBVTYT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FKKVKD 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_FKKVKD 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_FKKVKD INTO WA_FKKVKD. *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 VKONT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKVKD-VKONT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKVKD-VKONT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field GPART CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKVKD-GPART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKVKD-GPART.
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_FKKVKD_STR,
GPARVTT TYPE STRING,
GPARTT TYPE STRING,
ABWRHT TYPE STRING,
ABWRET TYPE STRING,
ABWRAT TYPE STRING,
ABWMAT TYPE STRING,
VKONT TYPE STRING,
GPART TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
EBVTYT TYPE STRING,
ABVTYT TYPE STRING,
CCARD_TXT TYPE STRING,
CCARD_OUT_TXT TYPE STRING,
EZAWET TYPE STRING,
AZAWET TYPE STRING,
EZASPT TYPE STRING,
AZASPT TYPE STRING,
DUNLOCKREASON TYPE STRING,
INCPAYLOCKREASON TYPE STRING,
OUTGPAYLOCKREASON TYPE STRING,
POSTLOCKREASON TYPE STRING,
INTERESTLOCKREASON TYPE STRING,
DUN_REASON TYPE STRING,
INC_PAY_LOCK TYPE STRING,
OUTG_PAY_LOCK TYPE STRING,
POST_LOCK TYPE STRING,
INTEREST_LOCK TYPE STRING,
LOCK_PUSHBUTTON TYPE STRING,
COTXT TYPE STRING,
COPARTNERTXT TYPE STRING,
COACTTXT TYPE STRING,
DEF_COPARTNERTXT TYPE STRING,
DEF_COACTTXT TYPE STRING,
VALDT TYPE STRING,
QSBEZ_A TYPE STRING,
QSBEZ_E TYPE STRING,
INVLOCKREASON TYPE STRING,
INV_REASON TYPE STRING,
CORRDUNLOCKREASON TYPE STRING,
CORRDUN_REASON TYPE STRING,
TXJCD TYPE STRING,
LANDX TYPE STRING,
TAX_COUNTRY_TXT TYPE STRING,
BUPLATXT TYPE STRING,
VKPBZ_TXT TYPE STRING,
EIGBV_TXT TYPE STRING,
BKLND TYPE STRING,
PERSRT TYPE STRING,
FICAINVLOCKREASON TYPE STRING,
FICA_INV_REASON TYPE STRING,
CPERST TYPE STRING,
INV_CYCLE_DAY_TXT TYPE STRING,
BPL_DESC TYPE STRING,
MNDID_TXT TYPE STRING,
INV_FORM_DET_KEY_TXT TYPE STRING,
INV_CURR_TXT TYPE STRING,
ADDSC_CORR TYPE STRING,
ADFIX_CORR TYPE STRING,
BEGRU_TXT TYPE STRING,
GPART_INVT TYPE STRING,
VKONT_INVT TYPE STRING,
GPART_INVLISTT TYPE STRING,
VKONT_INVLISTT TYPE STRING,
MAKEYT TYPE STRING,
PTSRLT TYPE STRING,END OF T_EKKO_STR. DATA: WA_FKKVKD_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_FKKVKD_STR-GPARVTT sy-vline
WA_FKKVKD_STR-GPARTT sy-vline
WA_FKKVKD_STR-ABWRHT sy-vline
WA_FKKVKD_STR-ABWRET sy-vline
WA_FKKVKD_STR-ABWRAT sy-vline
WA_FKKVKD_STR-ABWMAT sy-vline
WA_FKKVKD_STR-VKONT sy-vline
WA_FKKVKD_STR-GPART sy-vline
WA_FKKVKD_STR-ERDAT sy-vline
WA_FKKVKD_STR-ERNAM sy-vline
WA_FKKVKD_STR-EBVTYT sy-vline
WA_FKKVKD_STR-ABVTYT sy-vline
WA_FKKVKD_STR-CCARD_TXT sy-vline
WA_FKKVKD_STR-CCARD_OUT_TXT sy-vline
WA_FKKVKD_STR-EZAWET sy-vline
WA_FKKVKD_STR-AZAWET sy-vline
WA_FKKVKD_STR-EZASPT sy-vline
WA_FKKVKD_STR-AZASPT sy-vline
WA_FKKVKD_STR-DUNLOCKREASON sy-vline
WA_FKKVKD_STR-INCPAYLOCKREASON sy-vline
WA_FKKVKD_STR-OUTGPAYLOCKREASON sy-vline
WA_FKKVKD_STR-POSTLOCKREASON sy-vline
WA_FKKVKD_STR-INTERESTLOCKREASON sy-vline
WA_FKKVKD_STR-DUN_REASON sy-vline
WA_FKKVKD_STR-INC_PAY_LOCK sy-vline
WA_FKKVKD_STR-OUTG_PAY_LOCK sy-vline
WA_FKKVKD_STR-POST_LOCK sy-vline
WA_FKKVKD_STR-INTEREST_LOCK sy-vline
WA_FKKVKD_STR-LOCK_PUSHBUTTON sy-vline
WA_FKKVKD_STR-COTXT sy-vline
WA_FKKVKD_STR-COPARTNERTXT sy-vline
WA_FKKVKD_STR-COACTTXT sy-vline
WA_FKKVKD_STR-DEF_COPARTNERTXT sy-vline
WA_FKKVKD_STR-DEF_COACTTXT sy-vline
WA_FKKVKD_STR-VALDT sy-vline
WA_FKKVKD_STR-QSBEZ_A sy-vline
WA_FKKVKD_STR-QSBEZ_E sy-vline
WA_FKKVKD_STR-INVLOCKREASON sy-vline
WA_FKKVKD_STR-INV_REASON sy-vline
WA_FKKVKD_STR-CORRDUNLOCKREASON sy-vline
WA_FKKVKD_STR-CORRDUN_REASON sy-vline
WA_FKKVKD_STR-TXJCD sy-vline
WA_FKKVKD_STR-LANDX sy-vline
WA_FKKVKD_STR-TAX_COUNTRY_TXT sy-vline
WA_FKKVKD_STR-BUPLATXT sy-vline
WA_FKKVKD_STR-VKPBZ_TXT sy-vline
WA_FKKVKD_STR-EIGBV_TXT sy-vline
WA_FKKVKD_STR-BKLND sy-vline
WA_FKKVKD_STR-PERSRT sy-vline
WA_FKKVKD_STR-FICAINVLOCKREASON sy-vline
WA_FKKVKD_STR-FICA_INV_REASON sy-vline
WA_FKKVKD_STR-CPERST sy-vline
WA_FKKVKD_STR-INV_CYCLE_DAY_TXT sy-vline
WA_FKKVKD_STR-BPL_DESC sy-vline
WA_FKKVKD_STR-MNDID_TXT sy-vline
WA_FKKVKD_STR-INV_FORM_DET_KEY_TXT sy-vline
WA_FKKVKD_STR-INV_CURR_TXT sy-vline
WA_FKKVKD_STR-ADDSC_CORR sy-vline
WA_FKKVKD_STR-ADFIX_CORR sy-vline
WA_FKKVKD_STR-BEGRU_TXT sy-vline
WA_FKKVKD_STR-GPART_INVT sy-vline
WA_FKKVKD_STR-VKONT_INVT sy-vline
WA_FKKVKD_STR-GPART_INVLISTT sy-vline
WA_FKKVKD_STR-VKONT_INVLISTT sy-vline
WA_FKKVKD_STR-MAKEYT sy-vline
WA_FKKVKD_STR-PTSRLT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.