added CMS folder
This commit is contained in:
253
CMS/BP.CLOCK/MSD.PROOF.RPT2
Normal file
253
CMS/BP.CLOCK/MSD.PROOF.RPT2
Normal file
@@ -0,0 +1,253 @@
|
||||
SUBROUTINE MSD.PROOF.RPT2(FILE.KEY,PAY.DATE,FIRST.DATE,SECOND.DATE,DEPT)
|
||||
*
|
||||
* AUTHOR: SCOTT REDMOND
|
||||
* DATE: 02/28/96
|
||||
* PURPOSE: PROOF REPORT - PRINT BEFORE RUNNING PAY PERIOD
|
||||
*
|
||||
*--- includes ---------------------------------------------------*
|
||||
*
|
||||
$INCLUDE GEN.COMMON
|
||||
$INCLUDE USER
|
||||
$INCLUDE CLOCK.PAY.DATES
|
||||
*
|
||||
*---- open files ------------------------------------------------*
|
||||
*
|
||||
OPEN 'USER' TO USER.FILE ELSE ABORT 201, 'USER'
|
||||
OPEN 'HP.CONTROL' TO HPC ELSE ABORT 201, 'HP.CONTROL'
|
||||
OPEN 'CLOCK.GEN.KEYS' TO CLOCK.GEN.KEYS ELSE ABORT 201, 'CLOCK.GEN.KEYS'
|
||||
OPEN 'CLOCK.PAY.DATES' TO CLOCK.PAY.DATES ELSE ABORT 201, 'CLOCK.PAY.DATES'
|
||||
OPEN FILE.KEY TO INFO.WORK ELSE ABORT 201, 'INFO.WORK'
|
||||
*
|
||||
*---- initialize variables --------------------------------------*
|
||||
*
|
||||
EOF=0 ; T=0 ; WT=0 ; CHANNEL.1=CHAR(12) ; PAGECNT=0 ; LNCT=99
|
||||
TODAY=DATE() ; LAST.DEPT='' ; FIRST.SW=1 ; MICAHTEK.FLAG=''
|
||||
TOTALS='' ; GRAND.TOTALS=''
|
||||
FOR X = 1 TO 13 ;* init column totals
|
||||
TOTALS<X>=0
|
||||
NEXT X
|
||||
*
|
||||
*
|
||||
TODAY=OCONV(DATE(),'D2/')
|
||||
*----------------------------------------------------------------*
|
||||
READ JEN.REC FROM CLOCK.GEN.KEYS,"NEXT.PAY.PERIOD" ELSE
|
||||
CRT @(0,22):CL:RV:" ERROR - MISSING CLOCK.GEN.KEYS ITEM! ":ERV:
|
||||
INPUT ANY,3
|
||||
STOP
|
||||
END
|
||||
*--- report headings ------------------------------------------------*
|
||||
H1=TODAY'L#8':SPACE(58):'MICAHTEK, MSD & IDM USER TIME DETAIL REPORT'
|
||||
H3A=SPACE(46):' Period Vac Personal Reg OT Vac Holiday'
|
||||
H3A=H3A:' Funeral Personal Bonus W. Comp Jury Non-Reg Total'
|
||||
H3='User Name':SPACE(11):' Code Dept Sta Type Clk'
|
||||
H3=H3:SPACE(1):' date Avail Avail Work Work Used Used'
|
||||
H3=H3:SPACE(1):' Used Used Used Used Used Hours Hours'
|
||||
*
|
||||
200 *--- enter beginning pay period date ---------------------------*
|
||||
CRT @(39,6):CL:OCONV(PAY.DATE,'D2/')
|
||||
*
|
||||
FIRST.PERIOD=''
|
||||
300 *
|
||||
CRT @(8,6):CL:RV:" PAY PERIOD DATE :":ERV:" ":OCONV(PAY.DATE,'D2/')
|
||||
*
|
||||
400 *---- select users by status --------------------------------*
|
||||
CRT @(0,11):CR:
|
||||
CRT @(0,22):CL:RV:" REPORT 'A'ctive users, 'I'nactive users or 'B'oth :":ERV:
|
||||
INPUT ACTIVE.ANS,3
|
||||
IF ACTIVE.ANS='' OR ACTIVE.ANS=PF3 THEN STOP
|
||||
IF ACTIVE.ANS='A' OR ACTIVE.ANS='I' OR ACTIVE.ANS='B' OR ACTIVE.ANS='' OR ACTIVE.ANS=PF3 ELSE GO 200
|
||||
*
|
||||
405 *
|
||||
CRT @(0,11):CR:
|
||||
CRT @(0,22):CL:RV:" ENTER 'B' TO BEGIN REPORT :":ERV:
|
||||
INPUT BEGIN.ANS,4
|
||||
IF BEGIN.ANS[1,1] # 'B' THEN STOP
|
||||
*
|
||||
*--- report will automatically landscape + 16.pitch ------------------*
|
||||
CRT @(8,16):CR:BEEP:RV:" This report must be sent to a laser printer! ":ERV:
|
||||
CRT @(0,18):
|
||||
EXECUTE "EX PRINTER"
|
||||
CRT @(0,16):CR:
|
||||
*
|
||||
PRINTER ON
|
||||
READ SMALL FROM HPC,'16.PITCH' ELSE SMALL=''
|
||||
READ LAND FROM HPC,'LANDSCAPE' ELSE LAND=''
|
||||
READ RESET FROM HPC,'RESET' ELSE RESET=''
|
||||
*
|
||||
H2=SPACE(69):'FOR DATE RANGE ':OCONV(FIRST.DATE,'D2/'):" TO ":OCONV(SECOND.DATE,'D2/')
|
||||
PRINT SMALL ; PRINT LAND
|
||||
*
|
||||
*------ select file -------------------------------------------*
|
||||
CRT @(0,22):CL:RV:" SELECTING FILE...PLEASE WAIT! ":ERV:
|
||||
HUSH ON
|
||||
EXECUTE "SSELECT ":FILE.KEY:" BY *A1 BY *A2 BY *A5"
|
||||
HUSH OFF
|
||||
*
|
||||
LOOP
|
||||
READNEXT ID ELSE EOF=1
|
||||
UNTIL EOF DO
|
||||
T=T+1
|
||||
IF REM(T,250)=0 THEN
|
||||
CRT @(8,16):CR:"REPORT RECORDS READ :":T
|
||||
CRT @(8,17):CL:"RECORDS IN DATE RANGE :":WT
|
||||
END
|
||||
USER.KEY=ID
|
||||
READ UREC FROM INFO.WORK,ID THEN
|
||||
DEPART=UREC<UR$DEPT>
|
||||
IF DEPT # '5' THEN ;* (5 i.e., all depts)
|
||||
LOCATE(DEPART,D.TABLE,1;FND) ELSE GO 2000
|
||||
END
|
||||
LAST.PAY.DATE=UREC<UR$LAST.PAY.DATE>
|
||||
IF LAST.PAY.DATE = PAY.DATE ELSE GO 2000
|
||||
IF NOT(FIRST.SW) THEN
|
||||
IF DEPART # LAST.DEPT THEN
|
||||
LINE=STR('-',171)
|
||||
GOSUB 8000
|
||||
IF DEPART='799' THEN ;* subtotal idm then begin micahtek
|
||||
IF DEPT # '4' THEN ;* more than phone center selected
|
||||
MICAHTEK.FLAG=1 ;* micahtek totals will be printed
|
||||
LINE='****** IDM TOTALS':SPACE(56)
|
||||
GOSUB 10000 ;* print subtotals
|
||||
GOSUB 8000
|
||||
TOTALS=''
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
FIRST.SW=''
|
||||
LAST.DEPT=DEPART
|
||||
NAME=UREC<UR$LNAME>:", ":UREC<UR$FNAME>
|
||||
LINE=NAME'L#20':SPACE(1)
|
||||
LINE=LINE:USER.KEY'L#4':SPACE(2)
|
||||
LINE=LINE:DEPART'R#4':SPACE(2)
|
||||
USTATUS=UREC<UR$STATUS>
|
||||
*------ user status' for report --------*
|
||||
IF ACTIVE.ANS='A' THEN
|
||||
IF UREC<UR$TOTAL.HOURS> > 0 ELSE GO 2000
|
||||
END
|
||||
IF ACTIVE.ANS='I' THEN
|
||||
IF USTATUS # 'I' THEN GO 2000
|
||||
END
|
||||
LINE=LINE:UREC<UR$STATUS>'L#2':SPACE(2)
|
||||
TYPE=UREC<UR$TYPE.CODE>
|
||||
IF TYPE='F' THEN TYPE='FULL'
|
||||
IF TYPE='P' THEN TYPE='PART'
|
||||
IF TYPE='M' THEN TYPE='MGR '
|
||||
IF TYPE='O' THEN TYPE='OTHR'
|
||||
LINE=LINE:TYPE'L#4':SPACE(2)
|
||||
LINE=LINE:UREC<UR$CLOCK.SYSTEM>'L#1':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$LAST.PAY.DATE>,'D2/')'R#8':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$VACATION.AVAIL>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$PERSONAL.AVAIL>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$REGULAR.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$OT.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$VACATION.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
*--- modify: no sick time -----------------------------------*
|
||||
*LINE=LINE:OCONV(UREC<UR$SICK.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
*
|
||||
LINE=LINE:OCONV(UREC<UR$HOLIDAY.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$FUNERAL.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$PERSONAL.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$BONUS.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$WORKMANS.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$JURY.DUTY.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$OTHER.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
LINE=LINE:OCONV(UREC<UR$TOTAL.HOURS>,'MR2')'R#7':SPACE(2)
|
||||
WT=WT+1
|
||||
GOSUB 6000 ;* increment totals
|
||||
GOSUB 6500 ;* increment grand totals
|
||||
GOSUB 8000 ;* print line
|
||||
END
|
||||
2000 *
|
||||
REPEAT
|
||||
*
|
||||
CRT @(8,16):CL:"REPORT RECORDS READ :":T
|
||||
CRT @(8,17):CL:"RECORDS IN DATE RANGE :":WT
|
||||
*
|
||||
LINE=STR('=',172)
|
||||
GOSUB 8000 ;* print totals line
|
||||
*
|
||||
IF MICAHTEK.FLAG THEN
|
||||
LINE='**** MICAHTEK TOTALS':SPACE(52)
|
||||
GOSUB 10000 ;* print micahtek totals
|
||||
GOSUB 8000
|
||||
END
|
||||
TOTALS=GRAND.TOTALS
|
||||
LINE='**** GRAND TOTALS':SPACE(55)
|
||||
GOSUB 10000 ;* print totals
|
||||
GOSUB 8000
|
||||
GOSUB 8000
|
||||
LINE='END OF REPORT'
|
||||
GOSUB 8000
|
||||
*
|
||||
9999 *
|
||||
CRT @(0,20):CR:
|
||||
PRINT RESET
|
||||
PRINTER CLOSE
|
||||
PRINTER OFF
|
||||
CRT @(0,22):CL:RV:" PROCESS COMPLETE <return> :":ERV:
|
||||
INPUT ANY,3
|
||||
RETURN
|
||||
*
|
||||
6000 *--- total figures ----------------------------------------*
|
||||
TOTALS<1>=''
|
||||
TOTALS<2>=''
|
||||
TOTALS<3>=TOTALS<3>+UREC<UR$REGULAR.HOURS>
|
||||
TOTALS<4>=TOTALS<4>+UREC<UR$OT.HOURS>
|
||||
TOTALS<5>=TOTALS<5>+UREC<UR$VACATION.HOURS>
|
||||
TOTALS<6>=TOTALS<6>+UREC<UR$HOLIDAY.HOURS>
|
||||
TOTALS<7>=TOTALS<7>+UREC<UR$FUNERAL.HOURS>
|
||||
TOTALS<8>=TOTALS<8>+UREC<UR$PERSONAL.HOURS>
|
||||
TOTALS<9>=TOTALS<9>+UREC<UR$BONUS.HOURS>
|
||||
TOTALS<10>=TOTALS<10>+UREC<UR$WORKMANS.HOURS>
|
||||
TOTALS<11>=TOTALS<11>+UREC<UR$JURY.DUTY.HOURS>
|
||||
TOTALS<12>=TOTALS<12>+UREC<UR$OTHER.HOURS>
|
||||
TOTALS<13>=TOTALS<13>+UREC<UR$TOTAL.HOURS>
|
||||
RETURN
|
||||
*
|
||||
6500 *--- grand total figures ----------------------------------*
|
||||
GRAND.TOTALS<1>=''
|
||||
GRAND.TOTALS<2>=''
|
||||
GRAND.TOTALS<3>=GRAND.TOTALS<3>+UREC<UR$REGULAR.HOURS>
|
||||
GRAND.TOTALS<4>=GRAND.TOTALS<4>+UREC<UR$OT.HOURS>
|
||||
GRAND.TOTALS<5>=GRAND.TOTALS<5>+UREC<UR$VACATION.HOURS>
|
||||
GRAND.TOTALS<6>=GRAND.TOTALS<6>+UREC<UR$HOLIDAY.HOURS>
|
||||
GRAND.TOTALS<7>=GRAND.TOTALS<7>+UREC<UR$FUNERAL.HOURS>
|
||||
GRAND.TOTALS<8>=GRAND.TOTALS<8>+UREC<UR$PERSONAL.HOURS>
|
||||
GRAND.TOTALS<9>=GRAND.TOTALS<9>+UREC<UR$BONUS.HOURS>
|
||||
GRAND.TOTALS<10>=GRAND.TOTALS<10>+UREC<UR$WORKMANS.HOURS>
|
||||
GRAND.TOTALS<11>=GRAND.TOTALS<11>+UREC<UR$JURY.DUTY.HOURS>
|
||||
GRAND.TOTALS<12>=GRAND.TOTALS<12>+UREC<UR$OTHER.HOURS>
|
||||
GRAND.TOTALS<13>=GRAND.TOTALS<13>+UREC<UR$TOTAL.HOURS>
|
||||
RETURN
|
||||
*
|
||||
8000 *--- print line -------------------------------------------*
|
||||
IF LNCT > 43 THEN
|
||||
PRINT CHANNEL.1
|
||||
PAGECNT=PAGECNT+1
|
||||
H1B=H1:SPACE(50):"PAGE ":PAGECNT
|
||||
PRINT H1B
|
||||
PRINT H2
|
||||
PRINT
|
||||
PRINT H3A
|
||||
PRINT H3
|
||||
PRINT
|
||||
LNCT=6
|
||||
END
|
||||
PRINT LINE
|
||||
LINE=''
|
||||
LNCT=LNCT+1
|
||||
RETURN
|
||||
*
|
||||
*
|
||||
10000 *---- print subtotals -----------------------------------*
|
||||
*
|
||||
FOR X = 1 TO 13
|
||||
IF X > 2 THEN
|
||||
LINE=LINE:OCONV(TOTALS<X>,'MR2')'R#8':SPACE(1)
|
||||
END
|
||||
NEXT X
|
||||
GOSUB 8000
|
||||
GOSUB 8000
|
||||
*
|
||||
RETURN
|
||||
Reference in New Issue
Block a user