cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI commit for several BAPI calls in Integration Process

Former Member
0 Kudos

Hi,

I have set-up a BPM in XI where several BAPI's are called. I am controlling the BAPI return messages to see if the BAPI calls were successfull. Now I want to make sure that the BAPI calls only get committed when all of them are succcessfull. Therefore I tried to use RFC Receiver Channels with BAPI commit only in the last BAPI call hoping that it would also commit the previous BAPI calls in the process where I used RFC Receiver Channels without commit.

Unforunately this did not work.

Can somebody tell me how I can do such a BAPI commmit for all BAPI calls in the end of the Integration Process?

Thanks in advance.

Alex

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Alexander,

Please take a look at this thread..

Hope this helps you!

cheers,

Prashanth

Former Member
0 Kudos

Hi Prashanth,

this is a good starting point. But as far as I understand the thread you emntioned is not an XI Scenario. I was wondering if I could call 'BAPI_TRANSACTION_ROLLBACK' in case I receive an error for a BAPI call which uses an RFC Receiver Channel with commit. Do you know if this works?

Thanks.

Alex

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Alexander,

Check which SP you have. Starting with SP 14, you need not specifically use BAPI_TRANSACTION_COMMIT. There is a check-box for auto-commit in the Receiver RFC Communication Channel/Adapter.

Check the help ...

http://help.sap.com/saphelp_nw04/helpdata/EN/c8/e80440a832e369e10000000a155106/content.htm

This will avoid writing a wrapper RFC/BAPI.

Again, this possible from SP14 upwards.

Regards,

Abhy

Former Member
0 Kudos

Hi Thomas,

I am currently using this set-up when I call BAPI's from XI. The point is that I only want to commit all BAPI calls when I can be sure that they are successfull. Therefore I don't want to use the auto-commit for each BAPI call.

Cheers.

Alex

Former Member
0 Kudos

Hi Alexander,

Just try doing this....

first call ur BAPI, then.....

check gt_return if no error then call next one and do the same for remaining.

at last bapi check the gt_retrun if no error then call bapi transaction commit

Regards,

Abhy

Former Member
0 Kudos

Hi ,

This can be handled in BPM. Check your BAPI return structure....If yes then call the second BAPI...

In the last BAPI call use the option...."Commit Control for Individual BAPI Calls"

Hope this solves the problemm...

Sekhar

Former Member
0 Kudos

Hi,

Try this way....just an idea...

Dont use "Commit Control for Individual BAPI Calls" option in RFC communication channel....

Write a brapper bapi which can commit all the bapis which you used before...Call that bapi finally in the BPM......

Thanks

Sekhar

Former Member
0 Kudos

Hi Sekhar,

sounds good. Can you explain me what you mean with a wrapper BAPI, how could it look like?

Thanks.

Alex

Former Member
0 Kudos

Hi Alexander,

Just go through this link to know more about Wrapper BAPI.

https://websmp103.sap-ag.de/~sapdownload/011000358700000328352005E/HowtouseBAPandccBPM.pdf

Regards,

Abhy