SAP CUSTOMER_ITEMS_SELECTION Function Module for Loan Disbursement: Selection of Open Item for Retention Amount
CUSTOMER_ITEMS_SELECTION is a standard customer items selection 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: Selection of Open Item for Retention Amount 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 customer items selection FM, simply by entering the name CUSTOMER_ITEMS_SELECTION into the relevant SAP transaction such as SE37 or SE38.
Function Group: FVPA
Program Name: SAPLFVPA
Main Program:
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function CUSTOMER_ITEMS_SELECTION 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 'CUSTOMER_ITEMS_SELECTION'"Loan Disbursement: Selection of Open Item for Retention Amount.
EXPORTING
I_BUKRS = "Company Code
* I_VVSBBEZ = '000' "Beziehung für Zugriff auf TZB06
* I_ZLSPR = ' ' "zu setzender Zahlungssperrgrund für Verrechnung
* I_MARK_POSSIBLE = ' ' "S-nur Sollposten; H-nur Habenposten markierbar
* I_CHECK_BTR = ' ' "X - Summe mark.Posten müssen <= I_DMBTR sein
* I_DMBTR = 0 "Disbursement amount
I_KUNNR = "Customer Number
* I_LFDNR = '000' "lfd. Nummer der Auszahlung
* I_MODUS = ' ' "ANLA/AENA/ANZA für Anlage, Ändern, Anzeige
I_RANL = "Contract Number
I_RANTYP = "Vertragsart (1=Bereich Darlehen)
* I_RPDBEPI = ' ' "X - bei Restposten Dummy-VDBEPI erzeugen
TABLES
TAB_ABW_ZAHLER = "Debitornummern der abweichenden Zahler (Import)
TAB_BSEG = "Rücklieferung markierter Posten
TAB_VDBEPI = "Rücklieferung dazugehöriger VDBEPI-Sätze
IMPORTING Parameters details for CUSTOMER_ITEMS_SELECTION
I_BUKRS - Company Code
Data type: BSEG-BUKRSOptional: No
Call by Reference: No ( called with pass by value option)
I_VVSBBEZ - Beziehung für Zugriff auf TZB06
Data type: TZB06-VVSBBEZDefault: '000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_ZLSPR - zu setzender Zahlungssperrgrund für Verrechnung
Data type: BSEG-ZLSPRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_MARK_POSSIBLE - S-nur Sollposten; H-nur Habenposten markierbar
Data type: BSEG-ZLSPRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CHECK_BTR - X - Summe mark.Posten müssen <= I_DMBTR sein
Data type: BSEG-ZLSPRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DMBTR - Disbursement amount
Data type: BSEG-DMBTROptional: Yes
Call by Reference: No ( called with pass by value option)
I_KUNNR - Customer Number
Data type: BSEG-KUNNROptional: No
Call by Reference: No ( called with pass by value option)
I_LFDNR - lfd. Nummer der Auszahlung
Data type: RMF67-LFDNRDefault: '000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_MODUS - ANLA/AENA/ANZA für Anlage, Ändern, Anzeige
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_RANL - Contract Number
Data type: BSEG-VERTNOptional: No
Call by Reference: No ( called with pass by value option)
I_RANTYP - Vertragsart (1=Bereich Darlehen)
Data type: BSEG-VERTTOptional: No
Call by Reference: No ( called with pass by value option)
I_RPDBEPI - X - bei Restposten Dummy-VDBEPI erzeugen
Data type: BSEG-ZLSPRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for CUSTOMER_ITEMS_SELECTION
TAB_ABW_ZAHLER - Debitornummern der abweichenden Zahler (Import)
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
TAB_BSEG - Rücklieferung markierter Posten
Data type: BSEGOptional: No
Call by Reference: No ( called with pass by value option)
TAB_VDBEPI - Rücklieferung dazugehöriger VDBEPI-Sätze
Data type: VDBEPIOptional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for CUSTOMER_ITEMS_SELECTION 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_bukrs | TYPE BSEG-BUKRS, " | |||
| lt_tab_abw_zahler | TYPE STANDARD TABLE OF BSEG, " | |||
| lv_i_vvsbbez | TYPE TZB06-VVSBBEZ, " '000' | |||
| lv_i_zlspr | TYPE BSEG-ZLSPR, " SPACE | |||
| lv_i_mark_possible | TYPE BSEG-ZLSPR, " SPACE | |||
| lt_tab_bseg | TYPE STANDARD TABLE OF BSEG, " | |||
| lv_i_check_btr | TYPE BSEG-ZLSPR, " SPACE | |||
| lv_i_dmbtr | TYPE BSEG-DMBTR, " 0 | |||
| lt_tab_vdbepi | TYPE STANDARD TABLE OF VDBEPI, " | |||
| lv_i_kunnr | TYPE BSEG-KUNNR, " | |||
| lv_i_lfdnr | TYPE RMF67-LFDNR, " '000' | |||
| lv_i_modus | TYPE RMF67, " SPACE | |||
| lv_i_ranl | TYPE BSEG-VERTN, " | |||
| lv_i_rantyp | TYPE BSEG-VERTT, " | |||
| lv_i_rpdbepi | TYPE BSEG-ZLSPR. " SPACE |
|   CALL FUNCTION 'CUSTOMER_ITEMS_SELECTION' "Loan Disbursement: Selection of Open Item for Retention Amount |
| EXPORTING | ||
| I_BUKRS | = lv_i_bukrs | |
| I_VVSBBEZ | = lv_i_vvsbbez | |
| I_ZLSPR | = lv_i_zlspr | |
| I_MARK_POSSIBLE | = lv_i_mark_possible | |
| I_CHECK_BTR | = lv_i_check_btr | |
| I_DMBTR | = lv_i_dmbtr | |
| I_KUNNR | = lv_i_kunnr | |
| I_LFDNR | = lv_i_lfdnr | |
| I_MODUS | = lv_i_modus | |
| I_RANL | = lv_i_ranl | |
| I_RANTYP | = lv_i_rantyp | |
| I_RPDBEPI | = lv_i_rpdbepi | |
| TABLES | ||
| TAB_ABW_ZAHLER | = lt_tab_abw_zahler | |
| TAB_BSEG | = lt_tab_bseg | |
| TAB_VDBEPI | = lt_tab_vdbepi | |
| . " CUSTOMER_ITEMS_SELECTION | ||
ABAP code using 7.40 inline data declarations to call FM CUSTOMER_ITEMS_SELECTION
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 BUKRS FROM BSEG INTO @DATA(ld_i_bukrs). | ||||
| "SELECT single VVSBBEZ FROM TZB06 INTO @DATA(ld_i_vvsbbez). | ||||
| DATA(ld_i_vvsbbez) | = '000'. | |||
| "SELECT single ZLSPR FROM BSEG INTO @DATA(ld_i_zlspr). | ||||
| DATA(ld_i_zlspr) | = ' '. | |||
| "SELECT single ZLSPR FROM BSEG INTO @DATA(ld_i_mark_possible). | ||||
| DATA(ld_i_mark_possible) | = ' '. | |||
| "SELECT single ZLSPR FROM BSEG INTO @DATA(ld_i_check_btr). | ||||
| DATA(ld_i_check_btr) | = ' '. | |||
| "SELECT single DMBTR FROM BSEG INTO @DATA(ld_i_dmbtr). | ||||
| "SELECT single KUNNR FROM BSEG INTO @DATA(ld_i_kunnr). | ||||
| "SELECT single LFDNR FROM RMF67 INTO @DATA(ld_i_lfdnr). | ||||
| DATA(ld_i_lfdnr) | = '000'. | |||
| DATA(ld_i_modus) | = ' '. | |||
| "SELECT single VERTN FROM BSEG INTO @DATA(ld_i_ranl). | ||||
| "SELECT single VERTT FROM BSEG INTO @DATA(ld_i_rantyp). | ||||
| "SELECT single ZLSPR FROM BSEG INTO @DATA(ld_i_rpdbepi). | ||||
| DATA(ld_i_rpdbepi) | = ' '. | |||
Search for further information about these or an SAP related objects