sapdev logo background
sapdev logo sapdev logo
Comments

SAP SAP LUW documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

SAP LUW
As a rule, an application program is processed by multiple work processes in succession, and every change of the work process is linked to an implicit database commit . This means that an application program is not automatically associated with a single database LUW . This applies in particular to dialog-oriented applications, in which one database LUW is assigned to one dialog step.
To ensure the data consistency of application programs that are executed across multiple work processes, the change statements are not executed directly in an SAP LUW. Instead, they are first registered and then executed by a single work process, that is in a single database LUW.
The following techniques are available for bundling the change statements in a database LUW:

Bundling using function modules (update)
The statement CALL FUNCTION ... IN UPDATE TASK is used to register an update function module for later execution in an update work process (
synchronous and asynchronous update ) or in the current work process ( local update ).

Bundling using function modules (transactional RFC)
The statement CALL FUNCTION ... IN BACKGROUND TASK|UNIT is used to register a remote-enabled function module for later asynchronous execution in the background and through the RFC interface (transactional RFC).

Note
A function module can be specified as either an update function module or as remote-enabled, but not both at the same time. The update is used to realize SAP LUWs within AS ABAP
, while transactional RFC creates LUWs in distributed systems.

Bundling using subroutines
The statement PERFORM ... ON COMMIT is used to register a subroutine for later execution in a different work process.

Statements for SAP LUWs
Each opening of a new internal session
(except for the CALL DIALOG statement) starts a new SAP LUW which can be controlled by the Open SQL statements
  • COMMIT WORK

  • ROLLBACK WORK

  • SET UPDATE TASK LOCAL

  • Each closing of an internal session ends the current SAP LUW .

    Notes
  • The statements COMMIT WORK and ROLLBACK WORK determine the limits of a SAP LUW . An ABAP program can be divided into any number of SAP LUW s, whereby the end of an ABAP program always ends the last SAP LUW as well. By calling ABAP programs using CALL TRANSACTION or SUBMIT ... AND RETURN , SAP LUW s can be nested.

  • If a program is ended or an internal session closed using SUBMIT without AND RETURN or LEAVE TO TRANSACTION and procedures are still registered in the current SAP LUW, then the SAP LUW is ended without the procedures being called or rolled back. Registered update function modules remain on the database but can no longer be executed.

  • The system class

  • CL_SYSTEM_TRANSACTION_STATE contains methods that return the status of the current SAP LUW .
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    SAP_LOCK_GLOSRY
    SAP_LUW_GLOSRY




    comments powered by Disqus