SAP LOAN_PAYMENT Function Module for Loan disbursement
LOAN_PAYMENT is a standard loan payment SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Loan disbursement 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 loan payment FM, simply by entering the name LOAN_PAYMENT into the relevant SAP transaction such as SE37 or SE38.
Function Group: FVDA
Program Name: SAPLFVDA
Main Program: SAPLFVDA
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function LOAN_PAYMENT 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 'LOAN_PAYMENT'"Loan disbursement.
EXPORTING
* I_DISPLAY_ONLY = ' ' "X-Only possible to display (partial) outpayments
* J_FLG_CHANGE = '0' "Changed-Transfer previous flag
X_RMF67 = "Field string RMF67 content
X_STATUS_ALT = "Old contract status if previously already changed
X_VDARL = "Content of current VDARL-record
X_VZZKOKO = "Content of current VZZKOKO-record
I_ARC_DOC_REC = "Carryforward Records for Reorganization of Loan Doc. Items
* I_FVD_CAPITALS = "
IMPORTING
END_FLAG = "
E_BUDAT = "Posting date of posted documents
E_FLG_BUPROT = "Display posting log flag
E_FLG_CHANGE = "Change Indicator
E_FLG_CHANGE_VER = "Dispositions change flag
E_VDARL = "VDARL has possibly been changed
OK_BACK = "
TABLES
ETAB_SPROT_U = "Export table for posted document dialog box
ZITIBEPP = "Flows which already exist
* XVDNOTEPAYEE = "erweiterter Verwendungszweck
* YVDNOTEPAYEE = "erweiterter Verwendungszweck
IVZPARDEB = "Partner with customer numbers
IVZZKOPO = "Table with all items in header
XVDAUSZ = "
XVDBEKI = "
XVDBEPI = "
XVDBEPP = "
YVDAUSZ = "
YVDBEPP = "
Customer Function user exits
Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.EXIT_SAPLFVDA_001 User Exit IS-IS Disbursement with PAI
EXIT_SAPLFVDA_002 User Exit for IS-IS Disbursement with PBO
IMPORTING Parameters details for LOAN_PAYMENT
I_DISPLAY_ONLY - X-Only possible to display (partial) outpayments
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
J_FLG_CHANGE - Changed-Transfer previous flag
Data type:Default: '0'
Optional: Yes
Call by Reference: No ( called with pass by value option)
X_RMF67 - Field string RMF67 content
Data type: RMF67Optional: No
Call by Reference: No ( called with pass by value option)
X_STATUS_ALT - Old contract status if previously already changed
Data type: VDARL-SSTATIOptional: No
Call by Reference: No ( called with pass by value option)
X_VDARL - Content of current VDARL-record
Data type: VDARLOptional: No
Call by Reference: No ( called with pass by value option)
X_VZZKOKO - Content of current VZZKOKO-record
Data type: VZZKOKOOptional: No
Call by Reference: No ( called with pass by value option)
I_ARC_DOC_REC - Carryforward Records for Reorganization of Loan Doc. Items
Data type: TRTY_VDARC_DOC_RECOptional: No
Call by Reference: No ( called with pass by value option)
I_FVD_CAPITALS -
Data type: IF_EX_FVD_CAPITALSOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for LOAN_PAYMENT
END_FLAG -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
E_BUDAT - Posting date of posted documents
Data type: SY-DATUMOptional: No
Call by Reference: No ( called with pass by value option)
E_FLG_BUPROT - Display posting log flag
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
E_FLG_CHANGE - Change Indicator
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
E_FLG_CHANGE_VER - Dispositions change flag
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
E_VDARL - VDARL has possibly been changed
Data type: VDARLOptional: No
Call by Reference: No ( called with pass by value option)
OK_BACK -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for LOAN_PAYMENT
ETAB_SPROT_U - Export table for posted document dialog box
Data type: SPROT_UOptional: No
Call by Reference: No ( called with pass by value option)
ZITIBEPP - Flows which already exist
Data type: VZZBEPPOptional: No
Call by Reference: No ( called with pass by value option)
XVDNOTEPAYEE - erweiterter Verwendungszweck
Data type: VDNOTEPAYEEOptional: Yes
Call by Reference: Yes
YVDNOTEPAYEE - erweiterter Verwendungszweck
Data type: VDNOTEPAYEEOptional: Yes
Call by Reference: Yes
IVZPARDEB - Partner with customer numbers
Data type: VDGPODEBOptional: No
Call by Reference: Yes
IVZZKOPO - Table with all items in header
Data type: VVZZKOPOOptional: No
Call by Reference: No ( called with pass by value option)
XVDAUSZ -
Data type: VDAUSZOptional: No
Call by Reference: No ( called with pass by value option)
XVDBEKI -
Data type: VDBEKIOptional: No
Call by Reference: No ( called with pass by value option)
XVDBEPI -
Data type: VDBEPIOptional: No
Call by Reference: No ( called with pass by value option)
XVDBEPP -
Data type: VDBEPPOptional: No
Call by Reference: No ( called with pass by value option)
YVDAUSZ -
Data type: VDAUSZOptional: No
Call by Reference: No ( called with pass by value option)
YVDBEPP -
Data type: VDBEPPOptional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for LOAN_PAYMENT 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_end_flag | TYPE STRING, " | |||
| lt_etab_sprot_u | TYPE STANDARD TABLE OF SPROT_U, " | |||
| lv_i_display_only | TYPE SPROT_U, " ' ' | |||
| lt_zitibepp | TYPE STANDARD TABLE OF VZZBEPP, " | |||
| lt_xvdnotepayee | TYPE STANDARD TABLE OF VDNOTEPAYEE, " | |||
| lt_yvdnotepayee | TYPE STANDARD TABLE OF VDNOTEPAYEE, " | |||
| lv_e_budat | TYPE SY-DATUM, " | |||
| lt_ivzpardeb | TYPE STANDARD TABLE OF VDGPODEB, " | |||
| lv_j_flg_change | TYPE VDGPODEB, " '0' | |||
| lv_x_rmf67 | TYPE RMF67, " | |||
| lt_ivzzkopo | TYPE STANDARD TABLE OF VVZZKOPO, " | |||
| lv_e_flg_buprot | TYPE VVZZKOPO, " | |||
| lt_xvdausz | TYPE STANDARD TABLE OF VDAUSZ, " | |||
| lv_e_flg_change | TYPE VDAUSZ, " | |||
| lv_x_status_alt | TYPE VDARL-SSTATI, " | |||
| lt_xvdbeki | TYPE STANDARD TABLE OF VDBEKI, " | |||
| lv_x_vdarl | TYPE VDARL, " | |||
| lv_e_flg_change_ver | TYPE VDARL, " | |||
| lv_e_vdarl | TYPE VDARL, " | |||
| lt_xvdbepi | TYPE STANDARD TABLE OF VDBEPI, " | |||
| lv_x_vzzkoko | TYPE VZZKOKO, " | |||
| lv_ok_back | TYPE VZZKOKO, " | |||
| lt_xvdbepp | TYPE STANDARD TABLE OF VDBEPP, " | |||
| lv_i_arc_doc_rec | TYPE TRTY_VDARC_DOC_REC, " | |||
| lt_yvdausz | TYPE STANDARD TABLE OF VDAUSZ, " | |||
| lv_i_fvd_capitals | TYPE IF_EX_FVD_CAPITALS, " | |||
| lt_yvdbepp | TYPE STANDARD TABLE OF VDBEPP. " |
|   CALL FUNCTION 'LOAN_PAYMENT' "Loan disbursement |
| EXPORTING | ||
| I_DISPLAY_ONLY | = lv_i_display_only | |
| J_FLG_CHANGE | = lv_j_flg_change | |
| X_RMF67 | = lv_x_rmf67 | |
| X_STATUS_ALT | = lv_x_status_alt | |
| X_VDARL | = lv_x_vdarl | |
| X_VZZKOKO | = lv_x_vzzkoko | |
| I_ARC_DOC_REC | = lv_i_arc_doc_rec | |
| I_FVD_CAPITALS | = lv_i_fvd_capitals | |
| IMPORTING | ||
| END_FLAG | = lv_end_flag | |
| E_BUDAT | = lv_e_budat | |
| E_FLG_BUPROT | = lv_e_flg_buprot | |
| E_FLG_CHANGE | = lv_e_flg_change | |
| E_FLG_CHANGE_VER | = lv_e_flg_change_ver | |
| E_VDARL | = lv_e_vdarl | |
| OK_BACK | = lv_ok_back | |
| TABLES | ||
| ETAB_SPROT_U | = lt_etab_sprot_u | |
| ZITIBEPP | = lt_zitibepp | |
| XVDNOTEPAYEE | = lt_xvdnotepayee | |
| YVDNOTEPAYEE | = lt_yvdnotepayee | |
| IVZPARDEB | = lt_ivzpardeb | |
| IVZZKOPO | = lt_ivzzkopo | |
| XVDAUSZ | = lt_xvdausz | |
| XVDBEKI | = lt_xvdbeki | |
| XVDBEPI | = lt_xvdbepi | |
| XVDBEPP | = lt_xvdbepp | |
| YVDAUSZ | = lt_yvdausz | |
| YVDBEPP | = lt_yvdbepp | |
| . " LOAN_PAYMENT | ||
ABAP code using 7.40 inline data declarations to call FM LOAN_PAYMENT
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_display_only) | = ' '. | |||
| "SELECT single DATUM FROM SY INTO @DATA(ld_e_budat). | ||||
| DATA(ld_j_flg_change) | = '0'. | |||
| "SELECT single SSTATI FROM VDARL INTO @DATA(ld_x_status_alt). | ||||
Search for further information about these or an SAP related objects