In static data transactions DBxxxx where editing of ini-files takes place - there is the locking mechanism which prevents to edit the same file simultaneously by more than one session.
This is relevant for the following transactions:
When there is more than one ini-file that is edited by transaction - all required ini-files will be locked upon entering editing mode.
In case there is an existing lock on the required ini-file, editing will be cancelled with a status indicating the particular lock details.
The lock/unlock of the given ini-files happens in the following functions defined in module SLGNOI:
Incoming parameters are:
When LockIniFiles called - for each ini-file name MAC is calculated and database entry with INR equals to calculated MAC is locked.
If module REC has own DB-table - it will be used for locking, otherwise, entry in common dummy DB-table INI is used
In case any of the ini-files are already locked or held:
When FreeIniFiles called - each entry that was previously locked by LockIniFiles is unlocked.
The ini-files locking implementation might be used for locking ini-files in custom transactions as well.
To have the locking mechanism active:
For the standard implementation of DBIxxx/DBExxx with MDIBUT/MDEBUT - the following to be added to xxxP module (for example, SYSP in DBISYS):