PRS8VW2 ;WCIOFO/JAH - DECOMPOSITION, VIEW RESULTS ;01/11/08
;;4.0;PAID;**6,32,34,45,69,112,117,132**;Sep 21, 1995;Build 13
;;Per VHA Directive 2004-038, this routine should not be modified.
;
; This routine is used to show the results of the decomp to
; the supervisor before certification. It takes the values
; in the 8B string (NEW) and prints each type of time with the
; amount in a more readable format (ie - value in 8B = OE163,
; would print --> Week 1 Overtime 16.75
; Called from CERT+18^PRS8VW, a continuation from that entry point.
;
S CHECK=0
;
EN ;
S E=E(1),W="Week 1",LOC=1 D SHOW
S E=E(2),W="Week 2",LOC=2 D SHOW
S E=E(3),W="Misc",LOC=0 D SHOW
I 'CHECK,"C"'[$E(IOST) D
.W !,DASH1
.W !,TR
K %,CHECK,D,E,I,L,LOC,USED,W,X,Y Q
;
SHOW ; --- show information
F I=1:2 S X=$E(E,I,I+1) Q:X="" D
.I $D(USED(X)) Q
.S USED(X)=""
.S X(1)=$F(NEW,X)
.I 'CHECK,'X(1) Q ;not in string
.I CHECK S LOC(1)=(I\2+1) S:'LOC LOC(1)=LOC(1)+50 D
..S FOUND(LOC(1))=$G(FOUND(LOC(1)))
..S $P(FOUND(LOC(1)),"^",$S(LOC<2:1,1:4))=X
.;
.;read from tables below
.;
.S Y=$P($T(@$E(X)),";;",2)
.S Y(1)=$F(Y,$E(X,2)_":")
.S Y=$P($E(Y,Y(1),999),":",1,2)
.I 'CHECK W !,W,?15,$P($T(TYP+Y),";;",2)
.S X=X(1),X1=52 D CON
Q
;
CON ; --- convert to proper format
I '+X S X=$E("00000000000",1,+$P(Y,":",2))
I X,X1=52 S (X,Z)=$E(NEW,X(1),X(1)+$P(Y,":",2)-1)
I I=73!(W="Misc"&(I=13)) S R=X/100 W ?50,$J(R,6,2) Q
I W="Misc",I=3 S X=X*10
S R=$E(X,1,$L(X)-1)_$S($E(X,$L(X))=3:".75",$E(X,$L(X))=2:".5",$E(X,$L(X))=1:".25",1:"") W ?50,$J(R,6,2) Q
Q
;
; This internal table stores types of time codes and their
; corresponding descriptions and TT8B value field lengths. Each
; single char line label below is the 1st char of a type of time code.
; The text on the corresponding line contains '^' delimited
; pieces. The 1st char of those pieces is the 2nd char of a type of
; time. The text description for that time code is given by the
; the number in the 2nd ':' delimited piece. That number indicates
; the line number below the label TYP in routine PRS8VW2. The 3rd
; ':' delimited piece is the length of the time code's value in the
; TT8B String.
;
A ;;N:1:3^U:5:3^L:1:3^B:5:3^D:63:3^F:63:3
C ;;E:7:3^U:8:3^T:7:3^O:8:3^L:34:4^A:55:4^Y:57:3^D:60:6^F:70:3^G:70:3^H:71:3^I:71:3^P:72:3^Q:72:3^R:73:3^S:73:3
D ;;A:16:3^B:17:3^C:18:3^E:16:3^F:17:3^G:18:3^W:45:2^T:48:6
E ;;A:38:5^B:40:5^C:38:5^D:40:5
F ;;F:59:4^A:61:3^B:61:3^C:62:3^D:62:3^E:64:6
H ;;A:29:3^B:30:3^C:31:3^L:29:3^M:30:3^N:31:3^D:36:3^O:36:3
I ;;N:46:1
L ;;U:48:4^N:49:4^D:50:4^A:53:1
M ;;L:54:4
N ;;O:4:3^A:10:3^B:11:3^P:4:3^R:10:3^S:11:3^L:44:2^T:65:3^H:65:3^D:69:3^U:69:3
O ;;A:20:3^B:21:3^C:22:3^K:24:3^M:25:3^N:34:4^E:20:3^F:21:3^G:22:3^S:24:3^U:25:3
P ;;T:32:3^A:33:3^H:32:3^B:33:3^C:56:2
R ;;T:6:3^A:26:3^B:27:3^C:28:3^L:6:3^E:26:3^F:27:3^G:28:3^R:58:1^S:66:3^N:66:3
S ;;K:2:3^P:12:3^A:13:3^B:14:3^C:15:3^L:2:3^Q:12:3^E:13:3^F:14:3^G:15:3^R:67:3^S:67:3^D:68:3^H:68:3
T ;;F:19:3^A:42:3^C:43:3^G:19:3^B:42:3^D:43:3^L:47:3^O:52:1^W:74:3^S:75:3^M:76:3^X:74:3^T:75:3^N:76:3
U ;;N:9:3^S:9:3
V ;;C:37:6^S:37:6
W ;;D:3:3^P:3:3
Y ;;A:23:3^D:35:4^E:23:3^H:35:4
;
TYP ; literal values of activities (actual name)
;;Annual Leave
;;Sick Leave
;;Leave Without Pay
;;Non-Pay Time
;;Authorized Absence
;;Restored Annual Leave
;;Comp Time Earned
;;Comp Time Used
;;Unscheduled Regular
;;Night Differential-2
;;Night Differential-3
;;Saturday Premium
;;Sunday Premium-D
;;Sunday Premium-2
;;Sunday Premium-3
;;Overtime Hrs > 8 Day-D
;;Overtime Hrs > 8 Day-2
;;Overtime Hrs > 8 Day-3
;;Travel OT-FLSA
;;Overtime Total Hours-D
;;Overtime Total Hours-2
;;Overtime Total Hours-3
;;Scheduled Call-Back OT
;;Overtime on Holiday
;;Sleep Time
;;Reg Hrs @ Overtime Rate-D
;;Reg Hrs @ Overtime Rate-2
;;Reg Hrs @ Overtime Rate-3
;;Holiday Hours-D
;;Holiday Hours-2
;;Holiday Hours-3
;;Part Time Hours
;;Continuation of Pay
;;Standby Hours
;;On-Call Hours
;;Pieceworker Holiday Excused
;;VCS Sales
;;Environmental Differential
;;
;;Hazardous Duty Pay
;;
;;Travel
;;Training
;;Non-Pay Annual Leave
;;Days Worked
;;Insurance
;;T&L Change
;;Lump Sum Units-D
;;Lump Sum Units-2
;;Lump Sum Units-3
;;Lump Sum Expiration Date
;;Optional Withholding Tax
;;Foreign Cola
;;Military Leave
;;Calendar Year Adjustment
;;Workers Compensation
;;SF 2806 Adjustment
;;Payment Record Requested
;;Fire Fighter Normal Hours
;;Control Data
;;Care and Bereavement
;;Adoption
;;Donor Leave
;;Fee Basis
;;Base Tour Non Pay Hours
;;Recess
;;Saturday Premium-AWS
;;Sunday Premium-AWS
;;Night Differential-AWS
;;Comp Time for Travel Earned
;;Comp Time for Travel Used
;;Credit Hours Earned
;;Credit Hours Used
;;Scheduled Telework
;;Situational Telework
;;Medical Telework
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRS8VW2 4960 printed Oct 16, 2024@18:23:52 Page 2
PRS8VW2 ;WCIOFO/JAH - DECOMPOSITION, VIEW RESULTS ;01/11/08
+1 ;;4.0;PAID;**6,32,34,45,69,112,117,132**;Sep 21, 1995;Build 13
+2 ;;Per VHA Directive 2004-038, this routine should not be modified.
+3 ;
+4 ; This routine is used to show the results of the decomp to
+5 ; the supervisor before certification. It takes the values
+6 ; in the 8B string (NEW) and prints each type of time with the
+7 ; amount in a more readable format (ie - value in 8B = OE163,
+8 ; would print --> Week 1 Overtime 16.75
+9 ; Called from CERT+18^PRS8VW, a continuation from that entry point.
+10 ;
+11 SET CHECK=0
+12 ;
EN ;
+1 SET E=E(1)
SET W="Week 1"
SET LOC=1
DO SHOW
+2 SET E=E(2)
SET W="Week 2"
SET LOC=2
DO SHOW
+3 SET E=E(3)
SET W="Misc"
SET LOC=0
DO SHOW
+4 IF 'CHECK
IF "C"'[$EXTRACT(IOST)
Begin DoDot:1
+5 WRITE !,DASH1
+6 WRITE !,TR
End DoDot:1
+7 KILL %,CHECK,D,E,I,L,LOC,USED,W,X,Y
QUIT
+8 ;
SHOW ; --- show information
+1 FOR I=1:2
SET X=$EXTRACT(E,I,I+1)
if X=""
QUIT
Begin DoDot:1
+2 IF $DATA(USED(X))
QUIT
+3 SET USED(X)=""
+4 SET X(1)=$FIND(NEW,X)
+5 ;not in string
IF 'CHECK
IF 'X(1)
QUIT
+6 IF CHECK
SET LOC(1)=(I\2+1)
if 'LOC
SET LOC(1)=LOC(1)+50
Begin DoDot:2
+7 SET FOUND(LOC(1))=$GET(FOUND(LOC(1)))
+8 SET $PIECE(FOUND(LOC(1)),"^",$SELECT(LOC<2:1,1:4))=X
End DoDot:2
+9 ;
+10 ;read from tables below
+11 ;
+12 SET Y=$PIECE($TEXT(@$EXTRACT(X)),";;",2)
+13 SET Y(1)=$FIND(Y,$EXTRACT(X,2)_":")
+14 SET Y=$PIECE($EXTRACT(Y,Y(1),999),":",1,2)
+15 IF 'CHECK
WRITE !,W,?15,$PIECE($TEXT(TYP+Y),";;",2)
+16 SET X=X(1)
SET X1=52
DO CON
End DoDot:1
+17 QUIT
+18 ;
CON ; --- convert to proper format
+1 IF '+X
SET X=$EXTRACT("00000000000",1,+$PIECE(Y,":",2))
+2 IF X
IF X1=52
SET (X,Z)=$EXTRACT(NEW,X(1),X(1)+$PIECE(Y,":",2)-1)
+3 IF I=73!(W="Misc"&(I=13))
SET R=X/100
WRITE ?50,$JUSTIFY(R,6,2)
QUIT
+4 IF W="Misc"
IF I=3
SET X=X*10
+5 SET R=$EXTRACT(X,1,$LENGTH(X)-1)_$SELECT($EXTRACT(X,$LENGTH(X))=3:".75",$EXTRACT(X,$LENGTH(X))=2:".5",$EXTRACT(X,$LENGTH(X))=1:".25",1:"")
WRITE ?50,$JUSTIFY(R,6,2)
QUIT
+6 QUIT
+7 ;
+8 ; This internal table stores types of time codes and their
+9 ; corresponding descriptions and TT8B value field lengths. Each
+10 ; single char line label below is the 1st char of a type of time code.
+11 ; The text on the corresponding line contains '^' delimited
+12 ; pieces. The 1st char of those pieces is the 2nd char of a type of
+13 ; time. The text description for that time code is given by the
+14 ; the number in the 2nd ':' delimited piece. That number indicates
+15 ; the line number below the label TYP in routine PRS8VW2. The 3rd
+16 ; ':' delimited piece is the length of the time code's value in the
+17 ; TT8B String.
+18 ;
A ;;N:1:3^U:5:3^L:1:3^B:5:3^D:63:3^F:63:3
C ;;E:7:3^U:8:3^T:7:3^O:8:3^L:34:4^A:55:4^Y:57:3^D:60:6^F:70:3^G:70:3^H:71:3^I:71:3^P:72:3^Q:72:3^R:73:3^S:73:3
D ;;A:16:3^B:17:3^C:18:3^E:16:3^F:17:3^G:18:3^W:45:2^T:48:6
E ;;A:38:5^B:40:5^C:38:5^D:40:5
F ;;F:59:4^A:61:3^B:61:3^C:62:3^D:62:3^E:64:6
H ;;A:29:3^B:30:3^C:31:3^L:29:3^M:30:3^N:31:3^D:36:3^O:36:3
I ;;N:46:1
L ;;U:48:4^N:49:4^D:50:4^A:53:1
M ;;L:54:4
N ;;O:4:3^A:10:3^B:11:3^P:4:3^R:10:3^S:11:3^L:44:2^T:65:3^H:65:3^D:69:3^U:69:3
O ;;A:20:3^B:21:3^C:22:3^K:24:3^M:25:3^N:34:4^E:20:3^F:21:3^G:22:3^S:24:3^U:25:3
P ;;T:32:3^A:33:3^H:32:3^B:33:3^C:56:2
R ;;T:6:3^A:26:3^B:27:3^C:28:3^L:6:3^E:26:3^F:27:3^G:28:3^R:58:1^S:66:3^N:66:3
S ;;K:2:3^P:12:3^A:13:3^B:14:3^C:15:3^L:2:3^Q:12:3^E:13:3^F:14:3^G:15:3^R:67:3^S:67:3^D:68:3^H:68:3
T ;;F:19:3^A:42:3^C:43:3^G:19:3^B:42:3^D:43:3^L:47:3^O:52:1^W:74:3^S:75:3^M:76:3^X:74:3^T:75:3^N:76:3
U ;;N:9:3^S:9:3
V ;;C:37:6^S:37:6
W ;;D:3:3^P:3:3
Y ;;A:23:3^D:35:4^E:23:3^H:35:4
+1 ;
TYP ; literal values of activities (actual name)
+1 ;;Annual Leave
+2 ;;Sick Leave
+3 ;;Leave Without Pay
+4 ;;Non-Pay Time
+5 ;;Authorized Absence
+6 ;;Restored Annual Leave
+7 ;;Comp Time Earned
+8 ;;Comp Time Used
+9 ;;Unscheduled Regular
+10 ;;Night Differential-2
+11 ;;Night Differential-3
+12 ;;Saturday Premium
+13 ;;Sunday Premium-D
+14 ;;Sunday Premium-2
+15 ;;Sunday Premium-3
+16 ;;Overtime Hrs > 8 Day-D
+17 ;;Overtime Hrs > 8 Day-2
+18 ;;Overtime Hrs > 8 Day-3
+19 ;;Travel OT-FLSA
+20 ;;Overtime Total Hours-D
+21 ;;Overtime Total Hours-2
+22 ;;Overtime Total Hours-3
+23 ;;Scheduled Call-Back OT
+24 ;;Overtime on Holiday
+25 ;;Sleep Time
+26 ;;Reg Hrs @ Overtime Rate-D
+27 ;;Reg Hrs @ Overtime Rate-2
+28 ;;Reg Hrs @ Overtime Rate-3
+29 ;;Holiday Hours-D
+30 ;;Holiday Hours-2
+31 ;;Holiday Hours-3
+32 ;;Part Time Hours
+33 ;;Continuation of Pay
+34 ;;Standby Hours
+35 ;;On-Call Hours
+36 ;;Pieceworker Holiday Excused
+37 ;;VCS Sales
+38 ;;Environmental Differential
+39 ;;
+40 ;;Hazardous Duty Pay
+41 ;;
+42 ;;Travel
+43 ;;Training
+44 ;;Non-Pay Annual Leave
+45 ;;Days Worked
+46 ;;Insurance
+47 ;;T&L Change
+48 ;;Lump Sum Units-D
+49 ;;Lump Sum Units-2
+50 ;;Lump Sum Units-3
+51 ;;Lump Sum Expiration Date
+52 ;;Optional Withholding Tax
+53 ;;Foreign Cola
+54 ;;Military Leave
+55 ;;Calendar Year Adjustment
+56 ;;Workers Compensation
+57 ;;SF 2806 Adjustment
+58 ;;Payment Record Requested
+59 ;;Fire Fighter Normal Hours
+60 ;;Control Data
+61 ;;Care and Bereavement
+62 ;;Adoption
+63 ;;Donor Leave
+64 ;;Fee Basis
+65 ;;Base Tour Non Pay Hours
+66 ;;Recess
+67 ;;Saturday Premium-AWS
+68 ;;Sunday Premium-AWS
+69 ;;Night Differential-AWS
+70 ;;Comp Time for Travel Earned
+71 ;;Comp Time for Travel Used
+72 ;;Credit Hours Earned
+73 ;;Credit Hours Used
+74 ;;Scheduled Telework
+75 ;;Situational Telework
+76 ;;Medical Telework