Different types of bgRFC?
The bgRFC allows applications to record data that is received later by a called application. When the data is received, we must ensure that the data was transferred to the receiver either once only in any order (transactional) or once only in the order of creation (queued).
Depending upon the usage of bgRFC we can define two types bgRFC
a) Active bgRFC
b) Passive bgRFC
Here we have to remember that active and passive bgRFC is typically two concepts to handle different scenarios. Basic processing flow is same for these two types but still there is some significant conceptual difference.
Active bgRFC flow is the same as the normal bgRFC flow which we discussed in earlier post.
Scenario: We are Creating/Changing one Listing/Exclusion record through transaction VB01/VB02. Now here we have maintained the valid from date as today’s date and valid to date as system expire default date. In this case if we want to capture changes made in this transaction and want to update any custom database table in background we have to detect all the changes and create bgRFC immediately. In this scenario we will use active bgRFC because we have to detect the changes and update the database table immediately because valid from date is today’s date.
Passive bgRFC concept is much more different than Active bgRFC concept. This concept is dependent to the project requirement as there is no standard way to achieve this. So first I will try to explain the scenario and where to use this concept then I will also explain the programming process of passive bgRFC.
Scenario: Like the above mentioned scenario, we are creating/changing one Listing/Exclusion record through transaction VB01/VB02. But here we have maintained the valid from date as today’s date and valid to date after one month from today’s date. In this scenario if we want to capture all the changes from this transaction we have to capture two things. First based on valid from date we have to create one Active bgRFC in system so that we can capture the change immediately. Another bgRFC we have to create to capture changes based on end date or valid to date. This bgRFC will only execute after the end date. This kind of concept is called as Passive bgRFC concept.
Sample Programming Technique for bgRFC:
To create passive bgRFC we have to first calculate the delay. We can put our custom logic to calculate the delay based on our requirement. After calculating the delay we have to use this derived delay after creation of the bgRFC unit. So that one unit will be created in the system but it will not be executed until the calculated delay come. In this way we can achieve the passive scenario.
Please leave your queries and we would be happy to get back to you.
About the author: Soumyadeep Basu
Soumyadeep is a senior SAP Technical Consultant. He has more than 8 years of experience working for multinational IT firms and Fortune 500 clients.
Find more about Soumyadeep Basu at LinkedIn.
Image source: via Free Stock Photos foter.com