PRS8HROT ;JAH/WCIOFO-Calc time over 8/day &/or 40/week ;07/14/2008
;;4.0;PAID;**29,42,52,102,117**;Sep 21, 1995;Build 32
;;Per VHA Directive 2004-038, this routine should not be modified.
;
OVER840 ;
; If overtime coded & either holiday worked or holiday excused
; Then set type of time to Holiday Hrs (shift Day, 2 or 3).
;
I VAL="O",HOLWKEX S X=TOUR+28 D CHK^PRS8HRSV Q:X
;
; If > 8 hrs & not compressed ** results of G8
;
I HT>32 D G8^PRS8HRSV Q:X
;
I "1235nHMLSWNARUXYVJFGDZq"[VAL,NH>319 Q
;
; If Baylor Plan
;
I TYP["B" D Q:X
.;
.; IF weeks hours greater than 8 & TIME not coded as comp-time
.; THEN set TIME to OT-Total Hrs (shift Day, 2 or 3)
.;
.I HT>32 S X=$S("Ee"'[VAL:TOUR+19,1:7) D CHK^PRS8HRSV Q:X
.;
.; IF Total Hours for the current week are <= 40
.; THEN TIME gets unscheduled regular.
.;
.I TH(W)'>160 S X=9 D CHK^PRS8HRSV Q:X
.;
.; IF Total Hours for the current week ARE > 40
.; AND total hours for today are <= 8
.; AND Time is not comp-time
.; THEN Time gets Unscheduled regular.
.;
.I TH(W)>160,HT<33,"Ee"'[VAL S X=9 D CHK^PRS8HRSV Q:X
;
; IF not comp-time THEN Time = Overtime, otherwise
; part timers get unscheduled reg until 8/day, 40/week
; UNSCHEDULED REGULAR WILL BE CODED AS OT for over 8/day
;
S X=$S("Ee"'[VAL:TOUR+19,1:7)
D CHK^PRS8HRSV
;
;-------------------------------------------------------------------
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRS8HROT 1505 printed Nov 22, 2024@17:32:53 Page 2
PRS8HROT ;JAH/WCIOFO-Calc time over 8/day &/or 40/week ;07/14/2008
+1 ;;4.0;PAID;**29,42,52,102,117**;Sep 21, 1995;Build 32
+2 ;;Per VHA Directive 2004-038, this routine should not be modified.
+3 ;
OVER840 ;
+1 ; If overtime coded & either holiday worked or holiday excused
+2 ; Then set type of time to Holiday Hrs (shift Day, 2 or 3).
+3 ;
+4 IF VAL="O"
IF HOLWKEX
SET X=TOUR+28
DO CHK^PRS8HRSV
if X
QUIT
+5 ;
+6 ; If > 8 hrs & not compressed ** results of G8
+7 ;
+8 IF HT>32
DO G8^PRS8HRSV
if X
QUIT
+9 ;
+10 IF "1235nHMLSWNARUXYVJFGDZq"[VAL
IF NH>319
QUIT
+11 ;
+12 ; If Baylor Plan
+13 ;
+14 IF TYP["B"
Begin DoDot:1
+15 ;
+16 ; IF weeks hours greater than 8 & TIME not coded as comp-time
+17 ; THEN set TIME to OT-Total Hrs (shift Day, 2 or 3)
+18 ;
+19 IF HT>32
SET X=$SELECT("Ee"'[VAL:TOUR+19,1:7)
DO CHK^PRS8HRSV
if X
QUIT
+20 ;
+21 ; IF Total Hours for the current week are <= 40
+22 ; THEN TIME gets unscheduled regular.
+23 ;
+24 IF TH(W)'>160
SET X=9
DO CHK^PRS8HRSV
if X
QUIT
+25 ;
+26 ; IF Total Hours for the current week ARE > 40
+27 ; AND total hours for today are <= 8
+28 ; AND Time is not comp-time
+29 ; THEN Time gets Unscheduled regular.
+30 ;
+31 IF TH(W)>160
IF HT<33
IF "Ee"'[VAL
SET X=9
DO CHK^PRS8HRSV
if X
QUIT
End DoDot:1
if X
QUIT
+32 ;
+33 ; IF not comp-time THEN Time = Overtime, otherwise
+34 ; part timers get unscheduled reg until 8/day, 40/week
+35 ; UNSCHEDULED REGULAR WILL BE CODED AS OT for over 8/day
+36 ;
+37 SET X=$SELECT("Ee"'[VAL:TOUR+19,1:7)
+38 DO CHK^PRS8HRSV
+39 ;
+40 ;-------------------------------------------------------------------
+41 QUIT