System Lock File Requirements

System Lock File Requirements

Lock files are used in Elliott to prevent users from entering transactions when other users are posting, to prevent users from entering transactions when invoices are printed, or to prevent multiple people from printing purchase orders at the same time. For the lock file to work, it must meet the following conditions:

It should be an indexed file with the lock mode set to manual:

       SELECT LOCK-FILE
          ASSIGN TO RANDOM SYLCKFIL-PATH
          ORGANIZATION IS INDEXED
          ACCESS MODE IS DYNAMIC
          LOCK MODE IS MANUAL
          RECORD KEY IS LOCK-KEY
          FILE STATUS IS LOCK-FILE-STATUS.

The declarative should be coded like the following example so the application code can intercept a lock condition and give the user the appropriate error message:

       LOCK-FILE-ERROR SECTION.
          USE AFTER STANDARD ERROR PROCEDURE ON
              LOCK-FILE.

Notice that there is no error procedure.

To lock the file exclusively, the file should be opened I-O with lock. This is the same as using LOCK MODE IS EXCLUSIVE in the Select statement.

       OPEN-LOCK-FILE-WITH-LOCK.

          PERFORM GET-PATH.
          MOVE PASSING-DATA-PATH TO SYLCKFIL-PATH.
          OPEN I-O LOCK-FILE WITH LOCK.

The file naming convention must be ??LCK??? and the length of the record must be 24 bytes for the file handler to recognize that a lock file is being processed.

CLS

    • Related Articles

    • Btrieve Error USE on COP Lock File

      Q - Today, for whatever reason, we experienced a large amount of locking issues in the warehouse. Several times today we ran into the problem with printing invoices where we received a message "Btrieve Error USE on COP Lock File," and it stops ...
    • Getting PO Lock File Problem During PO Printing

      Q - I was attempting to print a Purchase Order and received the following message: Btrieve Error USE on PO Lock File - 065 File Locked A - The message implies you have two users trying to use "Print Purchase Order" function at the same time and that ...
    • Elliott V8.2 Release Notes: Introduction and Requirements

      ElliottÒ V8.2 Release Notes Introduction Elliott Version 8.2 improves upon Version 8.1. It brings major improvements in user experience and database security to Elliott. At the same time, it remains database and feature compatible with Elliott V7.5. ...
    • Elliott Web Service Requirements

      Release Date: 5/22/2017 Q - What are the requirements for running Elliott Web Service? A - Elliott Web Service is built on .NET and runs on Windows. It extends a vast amount of Elliott features to external applications. Some of these features may ...
    • How to Fix COP Lock File Error When Printing Invoice

      Release Date: 08/21/2018 Q - Every time we try to print invoices or credit memos, we get this Btrieve error: Btrieve Error USE on CPFRMFIL COP Lock File See sample screen below: I don’t see anyone locking this file in the PSQL Monitor utility. Do you ...