SAP BKK_COND_VALUE_DATE_DET Function Module for Determines Value Date
BKK_COND_VALUE_DATE_DET is a standard bkk cond value date det SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Determines Value Date processing and below is the pattern details for this FM, 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 bkk cond value date det FM, simply by entering the name BKK_COND_VALUE_DATE_DET into the relevant SAP transaction such as SE37 or SE38.
Function Group: FB91
Program Name: SAPLFB91
Main Program: SAPLFB91
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function BKK_COND_VALUE_DATE_DET 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 'BKK_COND_VALUE_DATE_DET'"Determines Value Date.
EXPORTING
I_COND_CALCTYP = "
* I_DUEDATE = "Due Date
I_AMOUNT = "
* I_ACCNT_XVALREQ = "
I_POST_DATE = "
I_TRNSTYPE_XVALREQ = "
* I_VALUE_DATE_REQ = "
I_CAL_ID1 = "
I_CAL_ID2 = "
* I_FLG_VD_DUEDATE = "Calculate Value Date Based on Due Date
IMPORTING
E_VALUE_DATE = "
E_VALUE_DATE_FROM = "Value date from
E_VALUE_DATE_TO = "Value date to
E_RC = "
TABLES
T_POSITION = "
IMPORTING Parameters details for BKK_COND_VALUE_DATE_DET
I_COND_CALCTYP -
Data type: IBKK91-CALCTYPOptional: No
Call by Reference: Yes
I_DUEDATE - Due Date
Data type: IBKK_ITEM-DATE_DUEOptional: Yes
Call by Reference: Yes
I_AMOUNT -
Data type: IBKK_ITEM-A_AMOUNTOptional: No
Call by Reference: Yes
I_ACCNT_XVALREQ -
Data type: IBKK42-XVALREQOptional: Yes
Call by Reference: Yes
I_POST_DATE -
Data type: IBKK_ITEM-DATE_POSTOptional: No
Call by Reference: Yes
I_TRNSTYPE_XVALREQ -
Data type: TBKKG3-VALUE_REQOptional: No
Call by Reference: Yes
I_VALUE_DATE_REQ -
Data type: IBKK_ITEM-DATE_VALUEOptional: Yes
Call by Reference: Yes
I_CAL_ID1 -
Data type: BKK42-CAL_ID1Optional: No
Call by Reference: Yes
I_CAL_ID2 -
Data type: BKK42-CAL_ID2Optional: No
Call by Reference: Yes
I_FLG_VD_DUEDATE - Calculate Value Date Based on Due Date
Data type: IBKK91-X_VD_DUEDATEOptional: Yes
Call by Reference: Yes
EXPORTING Parameters details for BKK_COND_VALUE_DATE_DET
E_VALUE_DATE -
Data type: IBKK_ITEM-DATE_VALUEOptional: No
Call by Reference: Yes
E_VALUE_DATE_FROM - Value date from
Data type: IBKK_ITEM-DATE_VALUEOptional: No
Call by Reference: Yes
E_VALUE_DATE_TO - Value date to
Data type: IBKK_ITEM-DATE_VALUEOptional: No
Call by Reference: Yes
E_RC -
Data type: SY-SUBRCOptional: No
Call by Reference: Yes
TABLES Parameters details for BKK_COND_VALUE_DATE_DET
T_POSITION -
Data type: IBKK92Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for BKK_COND_VALUE_DATE_DET 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: | ||||
| lt_t_position | TYPE STANDARD TABLE OF IBKK92, " | |||
| lv_e_value_date | TYPE IBKK_ITEM-DATE_VALUE, " | |||
| lv_i_cond_calctyp | TYPE IBKK91-CALCTYP, " | |||
| lv_i_duedate | TYPE IBKK_ITEM-DATE_DUE, " | |||
| lv_i_amount | TYPE IBKK_ITEM-A_AMOUNT, " | |||
| lv_e_value_date_from | TYPE IBKK_ITEM-DATE_VALUE, " | |||
| lv_e_value_date_to | TYPE IBKK_ITEM-DATE_VALUE, " | |||
| lv_i_accnt_xvalreq | TYPE IBKK42-XVALREQ, " | |||
| lv_e_rc | TYPE SY-SUBRC, " | |||
| lv_i_post_date | TYPE IBKK_ITEM-DATE_POST, " | |||
| lv_i_trnstype_xvalreq | TYPE TBKKG3-VALUE_REQ, " | |||
| lv_i_value_date_req | TYPE IBKK_ITEM-DATE_VALUE, " | |||
| lv_i_cal_id1 | TYPE BKK42-CAL_ID1, " | |||
| lv_i_cal_id2 | TYPE BKK42-CAL_ID2, " | |||
| lv_i_flg_vd_duedate | TYPE IBKK91-X_VD_DUEDATE. " |
|   CALL FUNCTION 'BKK_COND_VALUE_DATE_DET' "Determines Value Date |
| EXPORTING | ||
| I_COND_CALCTYP | = lv_i_cond_calctyp | |
| I_DUEDATE | = lv_i_duedate | |
| I_AMOUNT | = lv_i_amount | |
| I_ACCNT_XVALREQ | = lv_i_accnt_xvalreq | |
| I_POST_DATE | = lv_i_post_date | |
| I_TRNSTYPE_XVALREQ | = lv_i_trnstype_xvalreq | |
| I_VALUE_DATE_REQ | = lv_i_value_date_req | |
| I_CAL_ID1 | = lv_i_cal_id1 | |
| I_CAL_ID2 | = lv_i_cal_id2 | |
| I_FLG_VD_DUEDATE | = lv_i_flg_vd_duedate | |
| IMPORTING | ||
| E_VALUE_DATE | = lv_e_value_date | |
| E_VALUE_DATE_FROM | = lv_e_value_date_from | |
| E_VALUE_DATE_TO | = lv_e_value_date_to | |
| E_RC | = lv_e_rc | |
| TABLES | ||
| T_POSITION | = lt_t_position | |
| . " BKK_COND_VALUE_DATE_DET | ||
ABAP code using 7.40 inline data declarations to call FM BKK_COND_VALUE_DATE_DET
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.| "SELECT single DATE_VALUE FROM IBKK_ITEM INTO @DATA(ld_e_value_date). | ||||
| "SELECT single CALCTYP FROM IBKK91 INTO @DATA(ld_i_cond_calctyp). | ||||
| "SELECT single DATE_DUE FROM IBKK_ITEM INTO @DATA(ld_i_duedate). | ||||
| "SELECT single A_AMOUNT FROM IBKK_ITEM INTO @DATA(ld_i_amount). | ||||
| "SELECT single DATE_VALUE FROM IBKK_ITEM INTO @DATA(ld_e_value_date_from). | ||||
| "SELECT single DATE_VALUE FROM IBKK_ITEM INTO @DATA(ld_e_value_date_to). | ||||
| "SELECT single XVALREQ FROM IBKK42 INTO @DATA(ld_i_accnt_xvalreq). | ||||
| "SELECT single SUBRC FROM SY INTO @DATA(ld_e_rc). | ||||
| "SELECT single DATE_POST FROM IBKK_ITEM INTO @DATA(ld_i_post_date). | ||||
| "SELECT single VALUE_REQ FROM TBKKG3 INTO @DATA(ld_i_trnstype_xvalreq). | ||||
| "SELECT single DATE_VALUE FROM IBKK_ITEM INTO @DATA(ld_i_value_date_req). | ||||
| "SELECT single CAL_ID1 FROM BKK42 INTO @DATA(ld_i_cal_id1). | ||||
| "SELECT single CAL_ID2 FROM BKK42 INTO @DATA(ld_i_cal_id2). | ||||
| "SELECT single X_VD_DUEDATE FROM IBKK91 INTO @DATA(ld_i_flg_vd_duedate). | ||||
Search for further information about these or an SAP related objects