How To Fix 00081 - Nested call of PERFORM ON COMMIT: & & & &


SAP Error Message - Details

  • Message type: E = Error

  • Message class: 00 -

  • Message number: 081

  • Message text: Nested call of PERFORM ON COMMIT: & & & &

  • Show details Hide details
  • What causes this issue?

    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

    The system issues an error message and will not allow you to continue with this transaction until the error is resolved.

    How to fix this error?

    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 Administrators


    Error message extract from SAP system. Copyright SAP SE.


Smart SAP Assistant

  • What is the cause and solution for SAP error message 00081 - Nested call of PERFORM ON COMMIT: & & & & ?

    The SAP error message "00081 Nested call of PERFORM ON COMMIT: & & & &" typically occurs in ABAP programs when there is an attempt to call a PERFORM statement within a COMMIT WORK block, which is not allowed. This error indicates that a nested call to a subroutine (PERFORM) is being attempted while a database commit is in progress.

    Cause:

    1. Nested PERFORM Calls: The error arises when a subroutine is called (using PERFORM) while another PERFORM is already being executed in the context of a COMMIT WORK.
    2. Improper Transaction Handling: The program may not be handling database transactions correctly, leading to nested calls during a commit.
    3. Program Logic: The logic of the program may inadvertently lead to a situation where a PERFORM is called during a commit.

    Solution:

    1. Review Program Logic: Check the program for any PERFORM statements that are executed during a COMMIT WORK. Ensure that no subroutine is called while a commit is in progress.
    2. Refactor Code: If necessary, refactor the code to separate the logic that requires a commit from the logic that calls subroutines. You can do this by:
      • Moving the PERFORM calls outside of the transaction block.
      • Using function modules or methods instead of PERFORM if they need to be called during a commit.
    3. Use Function Modules: If you need to perform actions that require a commit, consider using function modules that encapsulate the logic and can be called without causing nested PERFORM calls.
    4. Debugging: Use debugging tools to trace the execution flow and identify where the nested call is occurring. This can help pinpoint the exact location in the code that needs to be modified.

    Related Information:

    • Transaction Control: Understand how transaction control works in ABAP, especially the use of COMMIT WORK and ROLLBACK WORK.
    • ABAP Documentation: Refer to the official SAP documentation for best practices on handling database transactions and subroutine calls.
    • Error Handling: Implement proper error handling to manage exceptions that may arise during database operations.

    By addressing the nested call issue and ensuring proper transaction management, you should be able to resolve the error message "00081 Nested call of PERFORM ON COMMIT: & & & &".

    • Do you have any question about this error?


      Upgrade now to chat with this error.


Instant HelpGet instant SAP help. Start your 7-day free trial now.


Related SAP Error Messages

Click the links below to see the following related messages:

Click on this link to search all SAP messages.


Rating
ERPlingo's SAP support assistant is amazing. Saves me countless hours trying to solve complex SAP issues myself. It's a real game changer!
Rate 1
Thomas Michael
SAP Consultant, Author & Speaker