You use this function (transaction F111) to start the Payment Program for Payment Requests .
This is an additional option for automatic payment in the SAP system.
Unlike the standard payment program, the payments are not based on open items (customer items) but on payment requests.
Table of Contents
What is Payment Request in SAP ?
You use the Payment Program for Payment Requests in the Money Market , Foreign Exchange , Derivatives , and Securities areas of Treasury and Risk Management and in Loans Management in the Bank Applications area .
There is a link to the payment details. The system can, therefore, use the house bank specified in the payment details to update the payment data in SAP Cash Management .” (source)
SAP Payment Requests Tables
SAP PAYRQ Table
The main table for Payment Request in SAP is the tableÂPAYRQ – Payment Requests.
The Key for any SAP Payment Request is the KEYNO (Key Number for Payment Request).
You will find also, some other information such as:
- ZBUKR: Paying Company Code for this Payment Request in SAP
- ABSBU: Sending Company Code for PR
- BUKRS: Company Code
- BELNR: Accounting Document Number
- BUZEI: Number of Line Item Within Accounting Document
- GJAHR: Fiscal Year
- WAERS: Currency Key of the Invoice
- SHKZG: Debit/Credit Indicator
- KOART: Account Type
Note that Payment requests are stored in PAYRQ. The payment run processing will be stored in REGUP and REGUH Tables.
Related Tables for Payment Request in SAP
The list of related tables for Payment Request in SAP are:
Table | Payment Request in SAP |
---|---|
COPC_PAYRQ | Payment Request for Cash Operation Center |
COPC_PAYRQ_DTL | COPC: PAYRQ Detail |
COPC_PAYRQ_T | COPC: Payment request text |
COPC_RPR_VAR_VL | COPC: RPR variant value |
EPIC_EBR_FEB | Additional Data on Bank Statement Line Item for Bank Receipt |
FDZA | Cash Management line items in payment reques ts |
FPRL_ITEM | Item Data |
IHC_DB_PN | Source Document for Incoming Payment Orders |
OTC_CONV_FHAPO | Backup Table for Financial Transaction Flows |
PAYBU | Header Supplement for Payment Requests Without Vendor |
PAYCT | Additional Criteria per Line Item |
PAYKO | Additional FM Data for Payment Request |
PAYOI | Item from a Payment Order |
PRQKY | Key Number for Payment Request |
PAYRC | Additional Header Data for Recovery Order |
PAYRQ | Payment Requests |
PAYRQP | PAYRQ Enhancement (Cross-Country Bank Acc ount Transfers) |
PAYRQT | Reference Texts for Payment Request |
REGUP | Processed items from payment program |
RESCT | Additional Criteria per Line Item |
TRPRT_PAYMENTS | Persistent Data for Payment Requests |
VDBEPI | Posted line items for document header |
VDBEPI_SHADOW | Shadow Table for VDBEPI (Restrictions) |
VDBEPP | Flow Data Planned Item |
VDBOBEPP | Business Operation: Entered and Activated Flow Data |
VTBFHAPO | Transaction Flow |
VTBFHAPO_MIGR | Migrated Financial Flows |
VTBFHAPO_UNFIXED | Non-Fixed Financial Transaction Flows |
VWBEPI | Treasury Securities: Actual Flows – Item |
VZFZE_VDBEPP | Central Entry Table for Release Procedure |
SAP BAPIs for Payment Request
The list of Payment Request BAPIs in SAP are:
BAPI | Description |
---|---|
BAPI_PAYMENTREQUEST_CREATE | Creation of a Payment Request |
BAPI_PAYMENTREQUEST_GETLIST | List of Payment Requests with Selections |
BAPI_PAYMENTREQUEST_GETSTATUS | Determination of Payment Request Status |
BAPI_PAYMENTREQUEST_CANCEL | Cancel Payment Request |
BAPI_PAYMENTREQUEST_POST | Posting a Parked Payment Request |
BAPI_PAYMENTREQUEST_RELEASE | Payment Request Released for Payment |
BAPI_PAYMENTREQ_STARTPAYMENT | Start Payment of Payment Request |
BAPI_PAYMENTREQUEST_CREATE
This BAPI BAPI_PAYMENTREQUEST_CREATE will create a new Payment Request Object in SAP.
Here the signature of BAPI_PAYMENTREQUEST_CREATE.
FUNCTION BAPI_PAYMENTREQUEST_CREATE. *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(ORIGIN) LIKE BAPI2021_ORIGIN STRUCTURE BAPI2021_ORIGIN *" VALUE(ORGANISATIONS) LIKE BAPI2021_ORGANISATIONS STRUCTURE *" BAPI2021_ORGANISATIONS *" VALUE(ACCOUNTS) LIKE BAPI2021_ACCOUNTS STRUCTURE *" BAPI2021_ACCOUNTS *" VALUE(AMOUNTS) LIKE BAPI2021_AMOUNTS STRUCTURE *" BAPI2021_AMOUNTS *" VALUE(VALUE_DATES) LIKE BAPI2021_DATES STRUCTURE *" BAPI2021_DATES *" VALUE(PAYM_CONTROL) LIKE BAPI2021_PAYMENTCTRL STRUCTURE *" BAPI2021_PAYMENTCTRL *" VALUE(CORR_DOC) LIKE BAPI2021_CORRDOC STRUCTURE *" BAPI2021_CORRDOC OPTIONAL *" VALUE(CENTRAL_BANK_REP) LIKE BAPI2021_CENTRALBANKREP STRUCTURE *" BAPI2021_CENTRALBANKREP OPTIONAL *" VALUE(INSTRUCTIONS) LIKE BAPI2021_INSTRUCTIONS STRUCTURE *" BAPI2021_INSTRUCTIONS OPTIONAL *" VALUE(REFERENCES) LIKE BAPI2021_REFERENCES STRUCTURE *" BAPI2021_REFERENCES OPTIONAL *" VALUE(RELEASEPOST) LIKE BAPI2021_HELP-RELEASEPOST DEFAULT 'X' *" VALUE(RELEASEPAY) LIKE BAPI2021_HELP-RELEASEPAY DEFAULT 'X' *" VALUE(TESTRUN) LIKE BAPI2021_HELP-TESTRUN OPTIONAL *" EXPORTING *" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2 *" VALUE(REQUESTID) LIKE BAPI2021_KEYNO-REQUESTID *" TABLES *" ADDRESS_DATA STRUCTURE BAPI2021_ADDRESS *" BANK_DATA STRUCTURE BAPI2021_BANK OPTIONAL *" REFERENCE_TEXT STRUCTURE BAPI2021_REFTEXT OPTIONAL *" EXTENSIONIN STRUCTURE BAPIPAREX OPTIONAL *"----------------------------------------------------------------------
BAPI_PAYMENTREQUEST_GETLIST
The function BAPI_PAYMENTREQUEST_GETLIST will retrieve a list of Payment Request.
Here the signature of this BAPI :
FUNCTION BAPI_PAYMENTREQUEST_GETLIST. *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(MAXROWS) LIKE BAPI2021_HELP-BAPIMAXROW OPTIONAL *" EXPORTING *" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2 *" TABLES *" SEL_ORIGIN STRUCTURE BAPI2021_SELORI OPTIONAL *" SEL_LOGSYSTEM STRUCTURE BAPI2021_SELLOGSYST OPTIONAL *" SEL_OBJ_TYPE STRUCTURE BAPI2021_SELOBJTYPE OPTIONAL *" SEL_OBJ_KEY STRUCTURE BAPI2021_SELOBJKEY OPTIONAL *" SEL_COMP_CODE STRUCTURE BAPI2021_SELCOMPCODE OPTIONAL *" SEL_AC_DOC_NO STRUCTURE BAPI2021_SELACDOCNO OPTIONAL *" SEL_ITEM_NUM STRUCTURE BAPI2021_SELITEMNUM OPTIONAL *" SEL_FISC_YEAR STRUCTURE BAPI2021_SELFISCYEAR OPTIONAL *" SEL_CLR_DOC_NO STRUCTURE BAPI2021_SELCLRDOCNO OPTIONAL *" LIST_REQUESTID STRUCTURE BAPI2021_LIST OPTIONAL *"----------------------------------------------------------------------
BAPI_PAYMENTREQUEST_GETSTATUS
The BAPI BAPI_PAYMENTREQUEST_GETSTATUS will retrieve the status for a Request Payment in SAP.
As input, it takes the REQUESTID
FUNCTION BAPI_PAYMENTREQUEST_GETSTATUS. *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(REQUESTID) LIKE BAPI2021_KEYNO-REQUESTID *" EXPORTING *" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2 *" VALUE(REQUEST_STATUS) LIKE BAPI2021_STA-REQUESTSTATUS *"----------------------------------------------------------------------
BAPI_PAYMENTREQUEST_CANCEL
The BAPI BAPI_PAYMENTREQUEST_CANCEL will cancel an existing Request Payment in SAP.
Here the signature of BAPI_PAYMENTREQUEST_CANCEL
function bapi_paymentrequest_cancel. *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(REQUESTID) LIKE BAPI2021_KEYNO-REQUESTID *" VALUE(REASON_REV) LIKE BAPI2021_REV-REASON_REV *" VALUE(DATE_REV) LIKE BAPI2021_REV-DATE_REV *" VALUE(TESTRUN) LIKE BAPI2021_HELP-TESTRUN OPTIONAL *" EXPORTING *" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2 *"----------------------------------------------------------------------
BAPI_PAYMENTREQUEST_POST
This function BAPI_PAYMENTREQUEST_POST will Post a Parked Payment Request.
The input is the REQUESTID and flag Run Test.
Here the signature of BAPI_PAYMENTREQUEST_POST:
function bapi_paymentrequest_post. *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(REQUESTID) LIKE BAPI2021_KEYNO-REQUESTID *" VALUE(TESTRUN) LIKE BAPI2021_HELP-TESTRUN OPTIONAL *" EXPORTING *" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2 *"----------------------------------------------------------------------
BAPI_PAYMENTREQUEST_RELEASE
This is the BAPI for Payment Request Released for Payment.
The signature of BAPI_PAYMENTREQUEST_RELEASE is:
FUNCTION BAPI_PAYMENTREQUEST_RELEASE. *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(REQUESTID) LIKE BAPI2021_KEYNO-REQUESTID *" VALUE(TESTRUN) LIKE BAPI2021_HELP-TESTRUN OPTIONAL *" EXPORTING *" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2 *"----------------------------------------------------------------------
BAPI_PAYMENTREQ_STARTPAYMENT
Finally, in order to start the payment of a SAP Payment Request call the BAPI BAPI_PAYMENTREQ_STARTPAYMENT.
Here the signature of BAPI_PAYMENTREQ_STARTPAYMENT:
FUNCTION BAPI_PAYMENTREQ_STARTPAYMENT . *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(PSTNG_DATE) LIKE BAPI2021_PAY-PSTNG_DATE DEFAULT SY-DATUM *" VALUE(NEXT_DATE) LIKE BAPI2021_PAY-NEXT_DATE DEFAULT '99991231' *" VALUE(USE_PAYMENT_MEDIUM_TOOL) LIKE *" BAPI2021_PAY-USE_PAYMENT_MEDIUM_TOOL OPTIONAL *" VALUE(PAYMENT_RUN_LOG) LIKE BAPI2021_PAY-PAYMENT_RUN_LOG *" OPTIONAL *" VALUE(TESTRUN) LIKE BAPI2021_HELP-TESTRUN OPTIONAL *" EXPORTING *" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2 *" VALUE(PAYMENT_RUN_DATE) LIKE BAPI2021_PAY-PAYMENT_RUN_DATE *" VALUE(PAYMENT_RUN_ID) LIKE BAPI2021_PAY-PAYMENT_RUN_ID *" TABLES *" REQUESTID STRUCTURE BAPI2021_SELREQUESTID *" REPORTS STRUCTURE BAPI2021_REPORTS OPTIONAL *"----------------------------------------------------------------------
SAP BADI for Payment Request
You can also use a BAdI (technical nameTPM_EXT_PAYMENT_TRPR
) to make payments for payment requests using another payment program (such asIn-House Cash
).
The BAdI is available in Customizing for the Transaction Manager
under . (source)
BADI TPM_EXT_PAYMENT_TRPR
The BAID TPM_EXT_PAYMENT_TRPR is for Payments via External Programs.
Here the list of methods available for TPM_EXT_PAYMENT_TRPR:
Method | Description |
---|---|
CANCEL_PAYMENT | Reverses a Payment |
DISPLAY_PAYMENT | Displays Payment |
BLOCK_PAYMENT | Blocks a Payment |
RELEASE_PAYMENT | Releases a Payment |
IS_RELEVANT | Payment Should Be Made via External Payment Program |
CREATE_PAYMENT | Generates a Payment |
GET_PAYMENT_STATUS | Gets the Status of a Payment |