‎2010 Feb 22 12:19 PM
Hi,
I am getting Dump COMMIT_IN_PERFORM_ON_COMMIT on saving user ID 0105 suty 0001. The dump occurs at commitwork in a BADI.
when doing this through a customised workbench it gives the dump. Doing the same on thru PA30 diesnt cause a problem. Plz help.
‎2010 Feb 25 11:47 AM
‎2010 Feb 25 11:47 AM
if you are using this FM in the user exit or enhancement, please set the value of NOCOMMIT as 'X'.
because COMMIT WORK is not allowed within a FORM, which is called using PERFORM ... ON COMMIT.
Edited by: Krupaji on Feb 25, 2010 12:54 PM
Edited by: Krupaji on Feb 25, 2010 12:56 PM
‎2010 Feb 25 11:50 AM
Hi,
You have to avoid COMMIT WORKs in Badis and User exits!
This is a general proposal of SAP.
regards,
Chris
‎2010 Feb 26 7:07 AM
Hi
Thanks for all your response.
Is it necessary to use a COMMIT WORK after an insert?
INSERT /virsa/int_trig FROM l_int_trig.
IF NOT sy-subrc IS INITIAL.
CALL FUNCTION 'POPUP_WITH_WARNING'
EXPORTING
textline1 = text-e01
textline2 = text-e02
titel = text-e05.
EXIT. " Do not continue processing w/o trig number
ENDIF.
COMMIT WORK.
Also, it is puzzling that through PA30 this dump doesnot occur buth through the customised workbench the dump comes?
Any idea?
‎2010 Mar 29 6:43 AM
‎2010 Mar 29 7:40 AM
Hi,
PERFORM XYZ ON COMMIT is an update module(V1) and hence you should not have any statements that might invoke Implicit or explicit COMMIT. Your changes will get committed to the DB without you needing to invoke a explicit COMMIT.
Also, take off the POP_UP_TO_CONFIRM FM, this will again cause an update termination.
If you are worried about duplicate records error, use modify.
regards,
Chen
‎2010 Mar 29 7:45 AM
‎2010 Mar 29 11:27 AM
is there a limit to the number of commit works as per SAP standards?
‎2010 Mar 29 11:22 PM
What do you mean? You need one commit work to commit your updates. Or more if you experience performance issues (for example, committing after 1 million updates is generally not a good idea!) Ask your DB administrator, he will explain you.