FAQ related to SAP ABAP bgRFC (Background Remote Function Calls)
What is bgRFC?
bgRFC(Background Remote Function Calls) allows applications to record data that is received later by a called application. When the data is received, you must ensure that it was transferred to the receiver only once either in any order (transactional) or in the order of creation (queued).
bgRFC runs in two modes:
- type t: This is similar to a transactional RFC(tRFC) wherein every operation is done exactly once.
- type q: This is similar to a queued RFC(qRFC) wherein every operation is done exactly once thus being transactional and in the order in which they arrive to the queue.
What is the type of bgRFC used in PRA?
Throughout the PRA application background RFCs(bgRFCs) of type q are in use wherever transactional and queuing order needs to be maintained.
Example: Posting during VLRD and during the Payment Processing Finalise Step
Where should the configuration settings for the bgRFC queues be maintained?
Logistics -> Production and Revenue Accounting -> Process 2.0 -> Payment Processing 2.0 Portal -> Payment Processing Admin Workplace
What are the main configuration options that need to be considered and where can I find them?
Navigate to the transaction 'SBGRFCCONF'. The following configuration options are available:
=> Create Supervisor Destination
bgRFC cannot function if a supervisor destination has not been defined.For more information on creating a supervisor destination, see http://help.sap.com/saphelp_nw70/helpdata/en/44/fd896134e241e1e10000000a1553f6/content.htm.
=> Create Inbound Destinations
By creating separate inbound destinations for each application, you can distribute the load.
=> Assign Queue Prefixes to Inbound Destinations
You need to make these settings in order to assign existing queue prefixes for a classic qRFC to an inbound destination. This ensures that bgRFC works without errors.
=> Maintain Logon Server Groups
By assigning server groups to an inbound destination, you can distribute the load. For more information, see
To optimize system performance when using bgRFC, you can make various settings for the bgRFC schedulers. If you do not want to make any changes here, the system takes the default values.
What authorizations are necessary for accessing the bgRFC Configuration screen?
- To perform bgRFC configuration tasks, you need authorizations from authorization object S_BGRFC.
- To debug bgRFC units, you need authorizations from general authorization object S_DEVELOP (ABAP Workbench).
Where can I monitor the units that are queued up in the bgRFC?
You use the bgRFC monitor to display the recorded units of the bgRFC. A unit consists of one or more function modules that need to be processed as an indivisible unit.
The units are stored on the database until they are processed. You can use the monitor to trace the state of the unit, from when it was first recorded until it has been processed. The bgRFC monitor is called using the transaction 'SBGRFCMON'.
Where can I find resources for programming using the bgRFC concept?
What are some of the application specific restrictions that need to be adhered?
Maintain different destinations for different applications.
Example: For Payment Processing, '/PRA/PP' could be a destination and for Withholding Annual Reporting, '/PRA/WH' could be a destination. If there are multiple process groups within an application,then maintain a different queue for each different process group and maintain the same destination for all the queues or process groups.
Example: The Payment Processing application could have '/PRA/PP' as the destination, and '/PRA/PP/EP01' and '/PRA/PP/AJ01' as two different queues for the EP01 and AJ01 process groups, respectively.The same applies for ONRR (Federal Payable).
Why does the system not process the bgRFC units?
Please refer to doc 1616303 and follow the steps listed in the doc. This will have to be performed by a BASIS person as most of the steps require basis authority.
Where can the Journal Entry (JE) data that is present in the queue be monitored?
The queue can be monitored through the Queue Monitor option in Payment Processing Admin Workplace. The new version of the Payment Processing Queue Monitor can be found under "Payment Processing 2.0 Portal -> Queue Monitoring -> Payment Processing Queue Monitor". A similiar setup is available for the ONRR portal( Federal Payables).
What has to be done incase a client copy is made?
In such cases, the contents of the queue would be copied along with the queue, but the units would not be in a state for processing. Hence, go to the new PP/FP Queue Monitor tool and press the 'Flush' button, which will assign the units in the queue with new unit IDs thus making them available again for processing.
How can I verify whether the total in the Owner Payable Sub Ledger and the Summary tables(/PRA/PP_PAY_SUM) are matching with OPSL ledger?
To verify the total in the Owner Payable Sub Ledger and the Summary table use the reconciliation report transaction available in the Payment Processing 2.0 Portal under Queue Monitoring.
How can the totals, which do not match be corrected or posted again?
To post the entries whose total do not match, choose the Post button in the Reconciliation Report.
How can an admin be notified if incase there is an error in the queue processing?
You can notify an admin using Computing Center Management System (CCMS). Refer the following sections.
When can a queue lock be deleted if required?
Do not delete locks unless an OSS incident is written under component BC-MID-RFC-BG or XX-PROJ-CDP-TEST-333 and SAP agrees to delete the lock.