Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

NESTED_PERFORM_ON_COMMIT after calling 2 BAPIs

Former Member
0 Likes
1,818

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

11 REPLIES 11
Read only

Former Member
0 Likes
1,381

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á

Read only

Former Member
0 Likes
1,381

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

Read only

Former Member
0 Likes
1,381

Sorry, I forgot to mention that I use the "WAIT = 'X'" parameter at every call of the COMMIT function...

The problem occurs anyway.

Read only

Former Member
0 Likes
1,381

What BAPIs are you calling? Do you get the error if you call one BAPI and then the other one?

Rob

Read only

0 Likes
1,381

Hi Rob, the two BAPIs are

BAPI_CTRACCONTRACTACCOUNT_CH1
BAPI_BUPR_RELATIONSHIP_CREATE

What 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

Read only

0 Likes
1,381

Well, you might see if one commit after both BAPIs have finished is any better.

Rob

Read only

0 Likes
1,381

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

Read only

0 Likes
1,381

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

Read only

0 Likes
1,381

... already tried that, and, you say it

Read only

0 Likes
1,381

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

Read only

jani_bajec
Explorer
0 Likes
1,381

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.