‎2007 Oct 03 1:42 PM
Hi all,
I have a web dynpro application that has a function (button) with two features: 1) create new contract accounts and 2) modify business partner relations in table BUT050, both features via BAPI calls. After every BAPI the function "BAPI_TRANSACTION_COMMIT" is called.
Now this seems to work fine, all necessary tables are updated correctly. Problem is, that when I now call the same function (button) in my application again, it dumps with the error "NESTED_PERFORM_ON_COMMIT" (in SAP std. function "ISU_FICA_EVENT_DSAVE" at call "PERFORM reset_fica_buffer ON COMMIT.").
I have to mention that when I completly reload the whole application between the two function calls (button), then it works without error. So it seems some kind of buffer is written or cleared at the application reloading.
Any ideas what I can do here?
Thanks in advance!
Kind regards, Matthias
‎2007 Oct 03 1:46 PM
Hi!
BAPI_TRANSACTION_COMMIT has a parameter, called WAIT.
Use it like this: WAIT = 'X'.
It forces the commit to wait the updates and only after it will continue.
Regards
Tamá
‎2007 Oct 03 1:48 PM
The reason can be, that the two BAPIs you are calling are using the same table.
so BAPI_TRANSACTION_COMMIT in the call send WAIT = 'X'. In this way the tables will be updated completely before you second BAPI starts updation.
Khusro Habib
‎2007 Oct 03 1:49 PM
Sorry, I forgot to mention that I use the "WAIT = 'X'" parameter at every call of the COMMIT function...
The problem occurs anyway.
‎2007 Oct 03 2:49 PM
What BAPIs are you calling? Do you get the error if you call one BAPI and then the other one?
Rob
‎2007 Oct 03 3:05 PM
Hi Rob, the two BAPIs are
BAPI_CTRACCONTRACTACCOUNT_CH1
BAPI_BUPR_RELATIONSHIP_CREATEWhat do you mean with "call one BAPI and then the other one"? The BAPIs are called in some functions when a CA/BP is added or removed from a relationship (BUT050).
Kind regards, Matthias
‎2007 Oct 03 4:17 PM
Well, you might see if one commit after both BAPIs have finished is any better.
Rob
‎2007 Oct 03 4:29 PM
Ahh, now I understand what you mean. Yes, I already tried that -- calling the BAPIs and then at the end of the whole process call the COMMIT function once. But that did not help me either.
As said, the strange thing is that after I called the process via the button in the app. the first time everything works fine (calling all these BAPIs multiple times). Then, after calling the function (button) in the app. the second time, then the dump occurs.
But since it works, when I reload the whole application between the two function calls (via app. button), I think there might be some buffer or something, that has to be written or emptied before calling the BAPIs and the COMMIT the next time. Any ideas on this?
Kind regards, Matthias
‎2007 Oct 03 4:40 PM
You could try opening an OSS message. They'll probably come back and say it's a consulting issue, but you never know. Maybe they won't.
Rob
‎2007 Oct 03 4:43 PM
‎2007 Oct 03 4:53 PM
You could try closing the message and opening a new one. Maybe you'll get someone more helpful. But mark it as an ABAP problem. Don't use one of the functional areas.
Rob
‎2009 May 19 2:55 PM
I have the same problem as you and can't find decent answer.
Both BAPI_BUPR_RELATIONSHIP_DELETE and BAPI_BUPR_RELATIONSHIP_CREATE are causing the same error message if they are called more than one time.