1

I noticed that there is an implicit commit between the cycles mentioned above.

Now I am in an BADI, where I implement a method, which help states there should be no commits there. However, I have a requirement which is best to be implemented through this method.

And I use F4IF_INT_TABLE_VALUE_REQUEST module to allow user selection via popup.

Now I need to know whether this popup implicitly triggers the commit because there is also a PBO-PAI cycle involved. Is it?

Sandra Rossi
  • 11,934
  • 5
  • 22
  • 48
icbytes
  • 1,831
  • 1
  • 17
  • 27
  • As far as I know, yes. – szako Apr 20 '17 at 13:53
  • The BADI documentation stated that there should be no commit? If so, I think giving a popup in that BADI is a bad idea and the it should be re-thinked. Is that really the good place to get values from the end-user? When is the BADI called? – szako Apr 20 '17 at 17:40
  • It is our badi, from or module, implicit enhancements are not allowed in that project, dirty assigns are a way, which is not completely forbidden, and some screen badi methods offer to do that. The architecture is very close to SAP standard. Before_save is the method, guess, what the invoking bapi does after that badi jump in point... – icbytes Apr 20 '17 at 17:45
  • Well, the solution depends on the requirement and the calling enviroment, which we don't know. Placing user interaction in a before_save( ) method seems to be a bit wrong. – szako Apr 20 '17 at 18:41
  • I know, I just wanted to clarify, whether popups issue that implicit commit. Ok, thanks a lot, i need to discuss that. – icbytes Apr 20 '17 at 18:58
  • How did you *notice* that? Did you do DB trace? This sounds like nonsense. `F4IF_INT_TABLE_VALUE_REQUEST` restricts search help, it cannot do any commits to DB. – Suncatcher Apr 21 '17 at 06:56
  • ? Sap Standard: Each PAI-PBO cycle commits. – icbytes Apr 21 '17 at 07:13
  • @Suncatcher: I have PoC. I wrote a sample test program that called the FM with showing a popup. It commited implicitly. – szako Apr 21 '17 at 09:32
  • I did that too, right now and tested that with various extra statements, and coworker, It is as stated / said / linked to by szako. The popup runs through the dialog step. In the debugging even BEFORE PAI is entered, immediately after PBO my values, which I changed in the debugger, were already on the database. But, that was inside SE37. Anyway, thanks for proving/helping, szako. – icbytes Apr 21 '17 at 09:37
  • @ Suncatcher: There is a famous german comedian, which has one major standard sentence.... – icbytes Apr 26 '17 at 07:06

1 Answers1

2

As I also stated in comments the short answer is yes.

F4IF_INT_TABLE_VALUE_REQUEST calls a popup window with CALL SCREEN and this command starts a new screen sequence ending another.

More (latest ABAP version) here, cited the exact case:

Completion of a dialog step

The program waits for a user action and does not occupy a work process during this time. The next free work process is assigned to the program in the next dialog step.

szako
  • 1,271
  • 1
  • 9
  • 12