SAP FKK_INVDOC_SELECT Function Module for
FKK_INVDOC_SELECT is a standard fkk invdoc select SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for fkk invdoc select FM, simply by entering the name FKK_INVDOC_SELECT into the relevant SAP transaction such as SE37 or SE38.
Function Group: FKKINV_DB_INVDOC
Program Name: SAPLFKKINV_DB_INVDOC
Main Program: SAPLFKKINV_DB_INVDOC
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function FKK_INVDOC_SELECT pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'FKK_INVDOC_SELECT'".
EXPORTING
* I_APPLK = "Application Area
* I_CRDATE_RANGES = "Ranges Table for Date of Creation
* I_ABWBL_RANGES = "Ranges Table for Substitute Document
* I_INV_PROCESS_RANGES = "Ranges Table for Invoicing Process
* I_DOCTYPE_RANGES = "Range Table for Document Type
* I_PRINTDAT_RANGES = "Ranges Table for Print Date
* I_INVOICED = 'X' "
* I_ACCEPT_SIMULATED = ' ' "
* I_ACCEPT_PRELIMINARY = ' ' "
* I_ACCEPT_REVERSED = 'X' "
* I_ACCEPT_REVERSAL = 'X' "
* I_INVDOCNO_TAB = "
* I_WHERE_TAB = "Table Type for WHERE Clause
* I_MAX_NUM_INVOICES = 0 "
* I_INVDOCNO_RANGES = "Ranges Table for Invoicing Doucment Number
* I_GPART_RANGES = "Range Table GPART
* I_VKONT_RANGES = "
* I_MDCAT_RANGES = "
* I_FIKEY_RANGES = "Ranges Table for Reconciliation Key
* I_BUDAT_RANGES = "Range Table for BUDAT
* I_BLDAT_RANGES = "
IMPORTING
E_FKKINVDOC_H_TAB = "Standard Table for Type FKKINVDOC_H
E_FKKINVDOC_I_TAB = "Standard Table for Structure FKKINVDOC_I
E_FKKINVDOC_P_TAB = "Standard Table for Structure FKKINVDOC_P
E_FKKINVDOC_S_TAB = "Standard Table for Structure FKKINVDOC_S
E_FKKINVDOC_O_TAB = "Standard Table for Structure FKKINVDOC_O
E_FKKINVDOC_C_TAB = "Standard Table for Structure FKKINVDOC_C
E_FKKINVDOC_CH_TAB = "Standard Table for Structure FKKINVDOC_CH
E_FKKINVDOC_X_TAB = "
E_FKKINVDOC_TAB = "Table of Invoicing Documents
IMPORTING Parameters details for FKK_INVDOC_SELECT
I_APPLK - Application Area
Data type: APPLK_KKOptional: Yes
Call by Reference: Yes
I_CRDATE_RANGES - Ranges Table for Date of Creation
Data type: FKK_RT_CRDATEOptional: Yes
Call by Reference: Yes
I_ABWBL_RANGES - Ranges Table for Substitute Document
Data type: FKK_RT_ABWBLOptional: Yes
Call by Reference: Yes
I_INV_PROCESS_RANGES - Ranges Table for Invoicing Process
Data type: FKK_RT_INV_PROCESSOptional: Yes
Call by Reference: Yes
I_DOCTYPE_RANGES - Range Table for Document Type
Data type: FKK_RT_DOCTYPEOptional: Yes
Call by Reference: Yes
I_PRINTDAT_RANGES - Ranges Table for Print Date
Data type: FKK_RT_PRINTDATOptional: Yes
Call by Reference: Yes
I_INVOICED -
Data type: INV_POSTED_KKDefault: 'X'
Optional: Yes
Call by Reference: Yes
I_ACCEPT_SIMULATED -
Data type: XFELDDefault: ' '
Optional: Yes
Call by Reference: Yes
I_ACCEPT_PRELIMINARY -
Data type: XPRLDOC_SEL_KKDefault: ' '
Optional: Yes
Call by Reference: Yes
I_ACCEPT_REVERSED -
Data type: XREVDOC_SEL_KKDefault: 'X'
Optional: Yes
Call by Reference: Yes
I_ACCEPT_REVERSAL -
Data type: XRVLDOC_SEL_KKDefault: 'X'
Optional: Yes
Call by Reference: Yes
I_INVDOCNO_TAB -
Data type: FKKINV_INVDOCNO_TABOptional: Yes
Call by Reference: Yes
I_WHERE_TAB - Table Type for WHERE Clause
Data type: FKK_MAD_TWHERELOptional: Yes
Call by Reference: Yes
I_MAX_NUM_INVOICES -
Data type: DDSHMAXRECOptional: Yes
Call by Reference: Yes
I_INVDOCNO_RANGES - Ranges Table for Invoicing Doucment Number
Data type: FKK_RT_INVDOCNOOptional: Yes
Call by Reference: Yes
I_GPART_RANGES - Range Table GPART
Data type: FKK_RT_GPARTOptional: Yes
Call by Reference: Yes
I_VKONT_RANGES -
Data type: FKK_RT_VKONTOptional: Yes
Call by Reference: Yes
I_MDCAT_RANGES -
Data type: FKK_RT_MDCATOptional: Yes
Call by Reference: Yes
I_FIKEY_RANGES - Ranges Table for Reconciliation Key
Data type: FKK_RT_FIKEYOptional: Yes
Call by Reference: Yes
I_BUDAT_RANGES - Range Table for BUDAT
Data type: FKK_RT_BUDATOptional: Yes
Call by Reference: Yes
I_BLDAT_RANGES -
Data type: FKK_RT_BLDATOptional: Yes
Call by Reference: Yes
EXPORTING Parameters details for FKK_INVDOC_SELECT
E_FKKINVDOC_H_TAB - Standard Table for Type FKKINVDOC_H
Data type: FKKINVDOC_H_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_I_TAB - Standard Table for Structure FKKINVDOC_I
Data type: FKKINVDOC_I_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_P_TAB - Standard Table for Structure FKKINVDOC_P
Data type: FKKINVDOC_P_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_S_TAB - Standard Table for Structure FKKINVDOC_S
Data type: FKKINVDOC_S_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_O_TAB - Standard Table for Structure FKKINVDOC_O
Data type: FKKINVDOC_O_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_C_TAB - Standard Table for Structure FKKINVDOC_C
Data type: FKKINVDOC_C_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_CH_TAB - Standard Table for Structure FKKINVDOC_CH
Data type: FKKINVDOC_CH_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_X_TAB -
Data type: FKKINVDOC_X_TABOptional: No
Call by Reference: Yes
E_FKKINVDOC_TAB - Table of Invoicing Documents
Data type: FKKINVDOC_TABOptional: No
Call by Reference: Yes
Copy and paste ABAP code example for FKK_INVDOC_SELECT Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_i_applk | TYPE APPLK_KK, " | |||
| lv_e_fkkinvdoc_h_tab | TYPE FKKINVDOC_H_TAB, " | |||
| lv_i_crdate_ranges | TYPE FKK_RT_CRDATE, " | |||
| lv_i_abwbl_ranges | TYPE FKK_RT_ABWBL, " | |||
| lv_i_inv_process_ranges | TYPE FKK_RT_INV_PROCESS, " | |||
| lv_i_doctype_ranges | TYPE FKK_RT_DOCTYPE, " | |||
| lv_i_printdat_ranges | TYPE FKK_RT_PRINTDAT, " | |||
| lv_i_invoiced | TYPE INV_POSTED_KK, " 'X' | |||
| lv_i_accept_simulated | TYPE XFELD, " ' ' | |||
| lv_i_accept_preliminary | TYPE XPRLDOC_SEL_KK, " ' ' | |||
| lv_i_accept_reversed | TYPE XREVDOC_SEL_KK, " 'X' | |||
| lv_i_accept_reversal | TYPE XRVLDOC_SEL_KK, " 'X' | |||
| lv_i_invdocno_tab | TYPE FKKINV_INVDOCNO_TAB, " | |||
| lv_e_fkkinvdoc_i_tab | TYPE FKKINVDOC_I_TAB, " | |||
| lv_i_where_tab | TYPE FKK_MAD_TWHEREL, " | |||
| lv_i_max_num_invoices | TYPE DDSHMAXREC, " 0 | |||
| lv_e_fkkinvdoc_p_tab | TYPE FKKINVDOC_P_TAB, " | |||
| lv_i_invdocno_ranges | TYPE FKK_RT_INVDOCNO, " | |||
| lv_i_gpart_ranges | TYPE FKK_RT_GPART, " | |||
| lv_e_fkkinvdoc_s_tab | TYPE FKKINVDOC_S_TAB, " | |||
| lv_i_vkont_ranges | TYPE FKK_RT_VKONT, " | |||
| lv_e_fkkinvdoc_o_tab | TYPE FKKINVDOC_O_TAB, " | |||
| lv_i_mdcat_ranges | TYPE FKK_RT_MDCAT, " | |||
| lv_e_fkkinvdoc_c_tab | TYPE FKKINVDOC_C_TAB, " | |||
| lv_i_fikey_ranges | TYPE FKK_RT_FIKEY, " | |||
| lv_e_fkkinvdoc_ch_tab | TYPE FKKINVDOC_CH_TAB, " | |||
| lv_i_budat_ranges | TYPE FKK_RT_BUDAT, " | |||
| lv_e_fkkinvdoc_x_tab | TYPE FKKINVDOC_X_TAB, " | |||
| lv_i_bldat_ranges | TYPE FKK_RT_BLDAT, " | |||
| lv_e_fkkinvdoc_tab | TYPE FKKINVDOC_TAB. " |
|   CALL FUNCTION 'FKK_INVDOC_SELECT' " |
| EXPORTING | ||
| I_APPLK | = lv_i_applk | |
| I_CRDATE_RANGES | = lv_i_crdate_ranges | |
| I_ABWBL_RANGES | = lv_i_abwbl_ranges | |
| I_INV_PROCESS_RANGES | = lv_i_inv_process_ranges | |
| I_DOCTYPE_RANGES | = lv_i_doctype_ranges | |
| I_PRINTDAT_RANGES | = lv_i_printdat_ranges | |
| I_INVOICED | = lv_i_invoiced | |
| I_ACCEPT_SIMULATED | = lv_i_accept_simulated | |
| I_ACCEPT_PRELIMINARY | = lv_i_accept_preliminary | |
| I_ACCEPT_REVERSED | = lv_i_accept_reversed | |
| I_ACCEPT_REVERSAL | = lv_i_accept_reversal | |
| I_INVDOCNO_TAB | = lv_i_invdocno_tab | |
| I_WHERE_TAB | = lv_i_where_tab | |
| I_MAX_NUM_INVOICES | = lv_i_max_num_invoices | |
| I_INVDOCNO_RANGES | = lv_i_invdocno_ranges | |
| I_GPART_RANGES | = lv_i_gpart_ranges | |
| I_VKONT_RANGES | = lv_i_vkont_ranges | |
| I_MDCAT_RANGES | = lv_i_mdcat_ranges | |
| I_FIKEY_RANGES | = lv_i_fikey_ranges | |
| I_BUDAT_RANGES | = lv_i_budat_ranges | |
| I_BLDAT_RANGES | = lv_i_bldat_ranges | |
| IMPORTING | ||
| E_FKKINVDOC_H_TAB | = lv_e_fkkinvdoc_h_tab | |
| E_FKKINVDOC_I_TAB | = lv_e_fkkinvdoc_i_tab | |
| E_FKKINVDOC_P_TAB | = lv_e_fkkinvdoc_p_tab | |
| E_FKKINVDOC_S_TAB | = lv_e_fkkinvdoc_s_tab | |
| E_FKKINVDOC_O_TAB | = lv_e_fkkinvdoc_o_tab | |
| E_FKKINVDOC_C_TAB | = lv_e_fkkinvdoc_c_tab | |
| E_FKKINVDOC_CH_TAB | = lv_e_fkkinvdoc_ch_tab | |
| E_FKKINVDOC_X_TAB | = lv_e_fkkinvdoc_x_tab | |
| E_FKKINVDOC_TAB | = lv_e_fkkinvdoc_tab | |
| . " FKK_INVDOC_SELECT | ||
ABAP code using 7.40 inline data declarations to call FM FKK_INVDOC_SELECT
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| DATA(ld_i_invoiced) | = 'X'. | |||
| DATA(ld_i_accept_simulated) | = ' '. | |||
| DATA(ld_i_accept_preliminary) | = ' '. | |||
| DATA(ld_i_accept_reversed) | = 'X'. | |||
| DATA(ld_i_accept_reversal) | = 'X'. | |||
Search for further information about these or an SAP related objects