Skip to Content
avatar image
Former Member

what is commit work

when i'm using commitwork in user exit all the data in buffer is updated to data base tables,how i can use commit work particularly to my data which is not going to effect any others data

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    avatar image
    Former Member
    Oct 24, 2007 at 11:45 AM

    COMMIT WORK will save all buffers data....

    It is not possible to restrict that to save only some part of data.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 24, 2007 at 11:57 AM

    hi,

    The statement COMMIT WORK completes the current SAP LUW and opens a new one, storing all change requests for the currenta SAP LUW in the process. In this case, COMMIT WORK performs the following actions:

    It executes all subroutines registered using PERFORM ON COMMIT.

    It triggers an internal event in Object Services that ensures the registration of changes in persistent objects as the last update function module, as well as the subsequent initialization of persistent object attributes.

    It initiates the processing of all registered update function modules in the update work process.

    This executes all high-priority update function modules registered using CALL FUNCTION ... IN UPDATE TASK in the order of their registration and in a common database LUW. If you do not specify the addition AND WAIT, the program does not wait until the update work process has executed it (asynchronous updating). If you specify the addition AND WAIT, however, program processing after COMMIT WORK will not continue until the update work process has executed the high-priority update function modules (synchronous updating).

    If all high-priority update function modules are completed successfully, the statement executes the low-priority update function modules together in a common database LUW.

    In parallel, it also executes the individual function modules registered using CALL FUNCTION ... IN BACKGROUND TASK DESTINATION in a separate database LUW for each destination.

    It handles all SAP locks set in the current program according to the value of the formal parameter _SCOPE of the corresponding lock function modules.

    It triggers a database commit that also terminates the current database LUW.

    The completion of statement COMMIT WORK triggers the event TRANSACTION_FINISHED of the system class CL_SYSTEM_TRANSACTION_STATE, where the parameter KIND has the value of the constant CL_SYSTEM_TRANSACTION_STATE=>COMMIT_WORK.

    If the statement COMMIT WORK is executed by calling special programs, be aware of the following:

    In a program executed using batch input, or if you have called the program using the USING addition of the statement CALL TRANSACTION, COMMIT WORK terminates the batch input processing when using the corresponding settings.

    In a program called using CALL DIALOG, COMMIT WORK initiates the processing of subroutines or updated function modules registered using PERFORM ... ON COMMIT and CALL FUNCTION ... IN UPDATE TASK. Therefore, it does not complete the current SAP LUW. The SAP LUW cannot be completed until you execute the COMMIT WORK statement in the calling program.

    You cannot execute the COMMIT WORK statement during the updating procedure or during the execution of subroutines registered using PERFORM ... ON {COMMIT|ROLLBACK}.

    Reward points if useful.

    Thanks,

    usha

    Add comment
    10|10000 characters needed characters exceeded