000182IMPORT.COMMON■* IMPORT.COMMON■*■■COMMON COM.FILE.CNT■COMMON COM.FILE.NAMES■COMMON COM.RECS(COM.FILE.CNT)■■COMMON COM.KEY■COMMON COM.IMPORT.REC■COMMON COM.REC.CNT■COMMON COM.TEST.MODE00180EXPORT.COMMON■* EXPORT.COMMON■*■COMMON COM.FILE.CNT■COMMON COM.FILE.NAMES■COMMON COM.RECS(COM.FILE.CNT)■COMMON COM.KEY■COMMON COM.EXPORT.REC■COMMON COM.REC.CNT■COMMON COM.TEST.MODE01164LOCK.ONE.ITEM■LOCK.ONE.ITEM:■*■* SPECTRUM HUMAN RESOURCE SYSTEMS CORPORATION■*■* 1/12/90 = Craig Roberts■*■* This subroutine locks a record. If the record is already locked then it■* continues to attempt to lock it while displaying an appropriate message■* to the user. The user can abort the process by pressing Esc.■*■* SUBROUTINE PARAMETERS:■* FILE.LOCK - The opened file variable for the record to be locked■* LOCK.FN<1> - The name of the FILE.LOCK file■* LOCK.ID - The record key for the record to be locked■* ERR.DATA - The error message generated if the user aborts the lock attempt■*■WAIT.FLAG = ""■ERR.DATA = ""■LOOP■ LOCK FILE.LOCK,LOCK.ID THEN LOCK.FLAG = 1 ELSE■ IF STATUS() = 1 THEN LOCK.FLAG = 1 ELSE■ LOCK.FLAG = ""■ IF WAIT.FLAG = "" THEN■ PRINT @(0,22):@(-4):"Press Esc to Abort":■ PRINT @(0,23):@(-4):"Waiting for ":LOCK.FN<1>:" Record ":LOCK.ID:" To be unlocked":■ WAIT.FLAG = 1■ END■ INPUT KEY,-1:■ IF KEY = CHAR(27) THEN ERR.DATA = "Terminated At Operator's Request"■ END■ END■UNTIL LOCK.FLAG OR ERR.DATA REPEAT■*■IF WAIT.FLAG THEN PRINT @(0,22):@(-4):@(0,23):@(-4):■RETURN