cancel
Showing results for 
Search instead for 
Did you mean: 

Rfc Adapter - commit work and wait

Former Member
0 Kudos

Hi,

Here is my problem:

I'm calling a BAPI specifying 'Commit' in Communication Channel. After this call, in BPM i call another RFC (or BAPI) that needs to modify or use objects created in the first call. The problem is that the work made by the first BAPI wasn't updated in the database yet, and i receive errors in next calls.

Is there anyway to wait for commit?

Jose Neves

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hay Jose,

I haven't encuontered such a problem but I think that you can wrap your first part with an abap program that will perform the action syncroniously.

another option is to just implement a wait between the 2 steps.

I'll be hppy to hear how you eventually solved it.

Uri Lifshitz.

Uri (at) Xact.co.il

Former Member
0 Kudos

Hi again,

Thanks for your attention...

Well i am using the 'WAIT' between Steps... But this is not how i would like to keep things... i can't assume how long i should wait and i don't want to have unneeded pauses during process (each process has about 18 calls to R3!).

The only solution i see everywhere is Wrap Wrap Wrap... unfortunately this implies changing every BAPI to Z...

I know that RFC Adapter uses JCO... I think in JCO you can start a transaction, using an identifier, passing this ID to every BAPI call, and call commit at the end, but i don't see anyway to do this in XI.

Another solution i have heard around, is about using ABAP Proxy... is that true that i can encapsulate many BAPI calls in a proxy, and execute all in the same session? We have some configuration problems, and we are not using ABAP Proxy so we can't try... But if this is the solution...

stefan_grube
Active Contributor
0 Kudos

You need not change the Bapis to z, just create one new z-RFC which handles all BAPIs.

You call all BAPIs and do a commit afterwards. If any BAPI returns error, do ROLLBACK WORK.

If you have 18 BAPI calls for a single process, you definitely should create a wrapper, as 18 RFC calls migh cause severe performence issues.

Regards

Stefan

Former Member
0 Kudos

Jose,

Yes that is correct. In abap proxy you can call number of RFC's / BAPI's.

You can write your ABAP code in proxy.

Let me know if you need more details.

Nilesh