2011 Aug 24 7:02 PM
We are developing a web application which calls an RFC function to create a return order in SAP referring to an invoice. We use BAPi_SALEDOCUmNET_COPY to achieve this. But we need to populate a Y* field in the order header(web order#). To achive this we are trying to use SET parameterid in the RFC function and GET parameter in the user exit MV45AFZZ.
All the calls from the web application uses the same user id.Could you please advise as how SET/GET parameter and multiple parallel RFC calls work? Do different RFC calls from the same webserver/ same user share the same SAP memory or differet?
Please help!!!!
2011 Aug 24 7:46 PM
Hi
The SAP memory is available and shared only for all sessions of the same instance (logon).
Every RFC should have a dinstic logon, so it can't see the SAP memory for the same user but another logon.
You can see it if you create a program sets and gets a value from/to id parameter and run it in parallel logon with the same user.
Anyway in your case you can also consider to use the properties of the function group, I mean you can create 2 function beloging to the same function group:
One to set the data (called in the RFC)
One to get the data /called in the user-exit)
In this way you can pass some values without to use SET/GET PARAMETER
Max
We are developing a web application which calls an RFC function to create a return order in SAP referring to an invoice. We use BAPi_SALEDOCUmNET_COPY to achieve this. But we need to populate a Y* field in the order header(web order#). To achive this we are trying to use SET parameterid in the RFC function and GET parameter in the user exit MV45AFZZ.
All the calls from the web application uses the same user id.Could you please advise as how SET/GET parameter and multiple parallel RFC calls work? Do different RFC calls from the same webserver/ same user share the same SAP memory or differet?
Please help!!!!
2011 Aug 24 7:46 PM
Hi
The SAP memory is available and shared only for all sessions of the same instance (logon).
Every RFC should have a dinstic logon, so it can't see the SAP memory for the same user but another logon.
You can see it if you create a program sets and gets a value from/to id parameter and run it in parallel logon with the same user.
Anyway in your case you can also consider to use the properties of the function group, I mean you can create 2 function beloging to the same function group:
One to set the data (called in the RFC)
One to get the data /called in the user-exit)
In this way you can pass some values without to use SET/GET PARAMETER
Max
2011 Aug 24 9:30 PM
2011 Aug 24 8:25 PM
Hi ,
SET / GET parameter are done in the SAP. for Example when hit F1 help on a Screen Field (lets say in TCode = VA03 Field -Order)
you will now go to the Techinal setting and see the Parameter ID.
Now in the program you use it as Set Parameter Id 'ORD' Field X_VBELN.
Similarly GET. But in the SAP Context only.
If You want to Use outside. Since the web and RFC may have different SAP Memory. So we do this by passing some parameter to BAPI. i.e., we go to SW01 and copy the Bussiness Object to Z/Y (Custom) and add one more field in the paramters.
Hope this helps.
Thanks,
Bhargav
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |