added CMS folder
This commit is contained in:
95
CMS/BP.CLOCK/CLOCKTABLE.PROJECT
Normal file
95
CMS/BP.CLOCK/CLOCKTABLE.PROJECT
Normal file
@@ -0,0 +1,95 @@
|
||||
*--------------------------*
|
||||
* TABLE
|
||||
* GENERIC TABLE MAINTENANCE PROGRAM TO UPDATE CLOCK TABLES.
|
||||
*--------------------------*
|
||||
CS=@(-1) ; CR=@(-3) ; CL=@(-4) ; RV=@(-13) ; ERV=@(-14)
|
||||
VM=CHAR(253) ; SVM=CHAR(252) ; AM=CHAR(254) ; BEEP=CHAR(7)
|
||||
PF1='<' ; PF2='P' ; PF3='/'
|
||||
PROMPT ""
|
||||
*
|
||||
FILENAME='PROJECT'
|
||||
LAYOUT=''
|
||||
LAYOUT<1>=1:VM:2
|
||||
LAYOUT<2>="DESCRIPTION":VM:"ACCT CODE"
|
||||
LAYOUT<3>="Enter PROJECT description.":VM:"Enter the ACCOUNTING CODE for this project"
|
||||
OPEN FILENAME TO OFILE ELSE ABORT
|
||||
10 *
|
||||
CRT CS
|
||||
CRT @(0,0):"CLOCKTABLE.PROJECT"
|
||||
STRING=FILENAME:" MAINTENANCE"
|
||||
CENTER=40-INT(LEN(STRING)/2)
|
||||
XCT=DCOUNT(LAYOUT<1>,VM)
|
||||
OLD.LEN=0
|
||||
FOR X=1 TO XCT
|
||||
XLEN=LEN(LAYOUT<2,X>)
|
||||
IF XLEN > OLD.LEN THEN OLD.LEN=XLEN
|
||||
NEXT X
|
||||
XLEN=OLD.LEN
|
||||
CRT @(CENTER,3):RV:STRING:ERV
|
||||
STRING=FILENAME
|
||||
CRT @(0,22):CL:"Enter ":FILENAME:" code '/' to escape"
|
||||
CRT @(CENTER,6):CL:STRING:" ":
|
||||
CENTER=CENTER-5
|
||||
INPUT KEY
|
||||
IF KEY='/' OR KEY='' THEN STOP
|
||||
READ IREC FROM OFILE,KEY THEN
|
||||
GOSUB 2000
|
||||
OREC=IREC
|
||||
END ELSE
|
||||
CRT @(0,22):CL:FILENAME:" record not found - 'A'(add)":
|
||||
INPUT ANS
|
||||
IF ANS = 'A' THEN
|
||||
IREC=''
|
||||
OREC=''
|
||||
GOSUB 2000
|
||||
GOSUB 1000
|
||||
END ELSE
|
||||
GO 10
|
||||
END
|
||||
END
|
||||
GOSUB 3000
|
||||
GO 10
|
||||
1000 *
|
||||
ACT=DCOUNT(LAYOUT<1>,VM)
|
||||
FOR A=1 TO ACT
|
||||
ALEN=LEN(LAYOUT<2,A>)
|
||||
CRT @(0,22):CL:LAYOUT<3,A>:
|
||||
CRT @(CENTER,7+A):A:" ":LAYOUT<2,A>:STR(" ",XLEN-ALEN):": ":
|
||||
INPUT ANS
|
||||
IF ANS # '' THEN
|
||||
OREC<A>=ANS
|
||||
END
|
||||
NEXT A
|
||||
RETURN
|
||||
2000 *
|
||||
ACT=DCOUNT(LAYOUT<1>,VM)
|
||||
FOR A=1 TO ACT
|
||||
ALEN=LEN(LAYOUT<2,A>)
|
||||
CRT @(CENTER,7+A):A:" ":LAYOUT<2,A>:STR(" ",XLEN-ALEN):": ":IREC<A>
|
||||
NEXT A
|
||||
RETURN
|
||||
3000 *
|
||||
CRT @(0,22):CL:"Enter # change, 'E'(end) else RETURN ":
|
||||
INPUT A
|
||||
IF A='E' THEN GOSUB 4000; GO 10
|
||||
IF A >=1 AND A <=ACT THEN
|
||||
ALEN=LEN(LAYOUT<2,A>)
|
||||
CRT @(0,22):CL:LAYOUT<3,A>:
|
||||
CRT @(CENTER,7+A):A:" ":LAYOUT<2,A>:STR(" ",XLEN-ALEN):": ":OREC<A>:CL
|
||||
CRT @(CENTER,7+A):A:" ":LAYOUT<2,A>:STR(" ",XLEN-ALEN):": ":
|
||||
INPUT ANS
|
||||
IF ANS # '' THEN
|
||||
OREC<A>=ANS
|
||||
END
|
||||
CRT @(CENTER,7+A):A:" ":LAYOUT<2,A>:STR(" ",XLEN-ALEN):": ":OREC<A>:CL
|
||||
GO 3000
|
||||
END
|
||||
CRT @(0,22):CL:"NO SELECTION MADE":
|
||||
RQM
|
||||
GO 10
|
||||
RETURN
|
||||
4000 *
|
||||
WRITE OREC ON OFILE,KEY
|
||||
CRT @(0,22):CL:"RECORD UPDATED":
|
||||
RQM
|
||||
RETURN
|
||||
Reference in New Issue
Block a user