Function Module Overview

Use

CSL Basis Modules

Name

Use

CSLEO_ENQUEUE

Requests a CSL lock or a certain token. If the token is not available locally, the module performs a synchronous RFC to move the token. The synchronous RFC can trigger a database commit.

CSLEO_DEQUEUE

Releases the standard lock of a token. Even if this module is not called, the runtime environment releases the standard locks at the end of the dialog or the update (depending on how long the lock was set for in CSLEO_ENQUEUE by PSCOPE).

CSLEO_ADDREF

Adds a token reference. The reference can be used with CSLEO_USEREF.

CSLEO_USEREF

Uses a token reference that was transferred from another subprocess. After the call, lock requests to the same token are successful.

Modules for Mass Processing

Each of the four basis modules of the CSL has a counterpart that you can use to request, release, or use more than one lock or reference. The names of the modules consist of the abbreviation ARR (for array) and the module name of the call: CSLEO_ARR_ENQUEUE, CSLEO_ARR_DEQUEUE, CSLEO_ARR_ADDREF, CSLEO_ARR_USEREF. They are also called array modules.

The array modules have exactly one parameter - the PPARAMTABLE table parameter - and the exceptions of the corresponding basis module. Depending on the basis function, the table has a different row type but the structure is the same:

  • The component names of the table fields correspond to the import and export parameters of the basis function but they have I or E as a prefix so that you can differentiate between them.

  • Every row type has included a structure for the exceptions of a single call. After the call, the CSL fills these exceptions with the contents of the SY-SUBRC and SY-MSG* fields (they have the same name with the added prefix SY-). A triggered exception (E) of the array module indicates that at least one of the corresponding entries in PPARAMTABLE in the SUBRC component contains the value E. If there are multiple calls that have triggered exceptions, the array module returns the value with the highest priority.

Other

Name

Use

CSLEO_FLUSH_ENQUEUE

Sends accumulated lock requests. You accumulate lock requests by setting the PCOLLECT import parameter of the CSLEO_ENQUEUE function module. This is similar to the collect mechanism of standard locks.

CSLEO_CHECK_EFFECTIVENESS

Checks the effectiveness of the CSL for a given lock object type.