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

BAPI BAPI_OBJCL_CHANGE inside EXIT_SAPLKAUF_001

Former Member
0 Likes
1,545

Hello All,

I have to implement  the user exit EXIT_SAPLKAUF_001 (For KO01/KO02) and inside the Userexit i'm trying to implement BAPI BAPI_OBJCL_CHANGE.(Based on the changes i have to make changes to other T-code)

I 'm getting below dump,

Short text of error message:

Nested call of PERFORM ON COMMIT: NESTED_PERFORM_ON_COMMIT caller: SAPLC

FM program: SAPLCLFM form: INSERT_CLASSIFICATION

Long text of error message:

Diagnosis

    During processing of a routine called using PERFORM ... ON COMMIT,

    the system attempted to call PERFORM ... ON COMMIT again. Nesting

    of this is not allowed.

System Response

Procedure

    The program indicated after "Caller:" must be changed. This is the

    program that calls the routine indicated after "Form:" during

    COMMIT processing. This routine is part of the program indicated

    after

    "Program:".

Procedure for System Administration

Technical information about the message:

Message class....... 00

Number.............. 081

Variable 1.......... "NESTED_PERFORM_ON_COMMIT"

Variable 2.......... "caller: SAPLCLFM"

Variable 3.......... "program: SAPLCLFM"

Variable 4.......... "form: INSERT_CLASSIFICATION"


Anyhelp would be really appericiated

Thanks

Venkat

5 REPLIES 5
Read only

Former Member
0 Likes
1,082

Short dump is generated because of nesting of PERFORM ON COMMIT which is not allowed as of Release 4.6.  Enhancement EXIT_SAPLKAUF_001 is called from a sub-routine registered with PERFORM ON COMMIT. 

(Call sequence FM : KAUF_ORDER_SAVE (Line no 356)  -> Include : LKAUFF07 (Line No : 47) -> FM : KAUF_ORDER_CUSTOMER_EXIT(Line 19) ).

BAPI "BAPI_OBJCL_CHANGE" also include a sub-routine registered with PERFORM ON COMMIT (Sub-routine INSERT_CLASSIFICATION in function module CLAP_DDB_SALVE_CLASSIFICATION).   Since you are calling BAPI_OBJCL_CHANGE within the above enhancement component, this will result in PERFORM ON COMMIT nesting.

See SAP documentation ABAP Keyword Documentation for more details

Regards, Vinod


Read only

ashish_gupta11
Explorer
0 Likes
1,082

Hi Venki,

I am Getting the same dump in OCR2 while working inside the Userexit i'm trying to implement BAPI BAPI_OBJCL_CHANGE.


how to solve .

Ashish

Read only

ThangaPrakash
Active Contributor
0 Likes
1,082

Hello Venki,

After calling the BAPI "BAPI_OBJCL_CHANGE", Are you doing the COMMIT WORK, if yes have you written like COMMIT WORK staement or have you used any subroutine call like PERFORM COMMIT WORK.

If you would have used subroutine, remove it and write like COMMIT WORK.

Regards,

Thanga

Read only

SujeetMishra
Active Contributor
0 Likes
1,082

Hi,

No need to write commit.

Regards,

Sujeet

Read only

0 Likes
1,082

Hi Sujeet /Thanga Prakash,

not solve .BAPI_OBJCL_CHANGE has sub-routine registered with PERFORM ON COMMIT.

ashish