INI-files locking for editing

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.

Locking mechanism

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.

Implementation details

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):