1 | PRSROT11 ;HISC/JH-IND. OR ALL EMPLOYEE OT/CT REPORT (Continued) ;7/18/97
|
---|
2 | ;;4.0;PAID;**2,21,28,34,114**;Sep 21, 1995;Build 6
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ; CP = "|" CP = column PIPE character (used for vertical columns)
|
---|
6 | ;
|
---|
7 | N CP
|
---|
8 | S CP="|"
|
---|
9 | S ORG=$S($D(ORG):$E(ORG,1,12),1:"")
|
---|
10 | D HDR1
|
---|
11 | S (PP(1),NAM(1),DAY(1),DATT(1))="",DATE(1)=0
|
---|
12 | F I=1:1:2 S (SAL(I),COMP(I),COMPU(I),OTH(I),OTP(I))=0
|
---|
13 | S PP=""
|
---|
14 | F I=0:0 S PP=$O(^TMP($J,"OT/CP",PP)) Q:PP="" S SW(1)=0 D Q:POUT
|
---|
15 | .;
|
---|
16 | . S DATT=0
|
---|
17 | . F I=0:0 S DATT=$O(^TMP($J,"OT/CP",PP,DATT)) Q:DATT'>0 D Q:POUT
|
---|
18 | ..;
|
---|
19 | .. S INX=0
|
---|
20 | .. F I=0:0 S INX=$O(^TMP($J,"OT/CP",PP,DATT,INX)) Q:INX'>0 D Q:POUT
|
---|
21 | ...;
|
---|
22 | ... S NAM=""
|
---|
23 | ... F I=0:0 S NAM=$O(^TMP($J,"OT/CP",PP,DATT,INX,NAM)) Q:NAM="" S SW(3)=0 D Q:POUT
|
---|
24 | .... S D0=0
|
---|
25 | .... F I=0:0 S D0=$O(^TMP($J,"OT/CP",PP,DATT,INX,NAM,D0)) Q:D0'>0 S TIME=$G(^(D0)) Q:TIME="" D Q:POUT
|
---|
26 | .....;
|
---|
27 | ..... D:($Y>(IOSL-5)) HDR Q:POUT
|
---|
28 | ..... D VLIN0:PP'=PP(1)
|
---|
29 | ..... W !,CP,$S(PP'=PP(1):$J($P(PP,"-",2),2),1:""),?4,CP,$S(DATT'=DATT(1):DATT,1:""),?14,CP,NAM,?39,CP
|
---|
30 | ..... I PRSTLV=3 W $E($P(TIME,"^")),"XX-XX-",$E($P(TIME,"^"),8,11),?52,CP
|
---|
31 | ..... I PRSTLV=7 W $P(TIME,"^"),?52,CP
|
---|
32 | ..... W $J($P(TIME,"^",2),10,2),?64,CP,$J($P(TIME,"^",3),12,2),?79,CP,$J($P(TIME,"^",4),12,2),?94,CP
|
---|
33 | ..... W $J($P(TIME,"^",5),12,2),?109,CP,$J($P(TIME,"^",6),17,2),?131,CP
|
---|
34 | ..... S SAL(1)=SAL(1)+$P(TIME,"^",2),COMPU(1)=COMPU(1)+$P(TIME,"^",3),COMP(1)=COMP(1)+$P(TIME,"^",4),OTH(1)=OTH(1)+$P(TIME,"^",5),OTP(1)=OTP(1)+$P(TIME,"^",6),SW(1)=SW(1)+1
|
---|
35 | ..... S SAL(2)=SAL(2)+$P(TIME,"^",2),COMPU(2)=COMPU(2)+$P(TIME,"^",3),COMP(2)=COMP(2)+$P(TIME,"^",4),OTH(2)=OTH(2)+$P(TIME,"^",5),OTP(2)=OTP(2)+$P(TIME,"^",6)
|
---|
36 | ..... Q
|
---|
37 | .... S PP(1)=PP,DATT(1)=DATT,NAM(1)=NAM,DATE(1)=DATE Q
|
---|
38 | .... Q
|
---|
39 | ... Q
|
---|
40 | .. Q
|
---|
41 | . Q:POUT I SW(1) D
|
---|
42 | .. W !
|
---|
43 | .. D TABLANK0,ROWSEP
|
---|
44 | . D TABLANK0
|
---|
45 | . W " P/P-Totals:"
|
---|
46 | . D WTOT(1)
|
---|
47 | . S (SAL(1),COMPU(1),COMP(1),OTH(1),OTP(1))=0
|
---|
48 | . Q
|
---|
49 | Q:POUT
|
---|
50 | I SW(1) D
|
---|
51 | . D VLIN0
|
---|
52 | . D VLINUND
|
---|
53 | ;
|
---|
54 | D TABLANK0
|
---|
55 | W ?44,"TOTALS:"
|
---|
56 | D WTOT(2)
|
---|
57 | I IOSL<66 D VLIN0
|
---|
58 | Q
|
---|
59 | WTOT(PERIOD) ;Write out week 1 total OR (both weeks = pay period total).
|
---|
60 | S I=PERIOD
|
---|
61 | W ?53,$J(SAL(2),10,2)
|
---|
62 | W ?65,$J(COMPU(I),12,2)
|
---|
63 | W ?80,$J(COMP(I),12,2)
|
---|
64 | W ?95,$J(OTH(I),12,2)
|
---|
65 | W ?110,$J(OTP(I),17,2),?131,CP
|
---|
66 | Q
|
---|
67 | CHK S X1=DATE,X2=DATE(1) D ^%DTC Q
|
---|
68 | HDR S CODE="O001",FOOT="VA TIME & ATTENDANCE SYSTEM"
|
---|
69 | D VLIDSH0,FOOT1^PRSRUT0
|
---|
70 | I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR K DIR I $D(DIRUT) S POUT=1
|
---|
71 | Q:POUT
|
---|
72 | W @IOF
|
---|
73 | HDR1 N CP S CP="|"
|
---|
74 | W !?(IOM-$L(^TMP($J,"OT/CP")))/2,^TMP($J,"OT/CP"),?(IOM-14),"DATE: ",DAT
|
---|
75 | S X="T&L: "_$P(TLE(1),U)_" Employee: "_$S(SW:"ALL",1:$P(PRSRY,U,2))
|
---|
76 | S X=X_" Year: "_YEAR_" Payperiod"
|
---|
77 | S X=X_$S(PPE(1)=PPE(2):": "_PPE(1),1:"s: "_PPE(1)_" to "_PPE(2))
|
---|
78 | W !,?(IOM-$L(X)/2-1),X,!
|
---|
79 | W !,CP,"P/P",?4,CP,?7,"DATE",?14,CP,?25,"NAME",?39,CP,?44,"SSN",?52,CP,?54,"GROSS PAY",?64,CP,?67,"CT/CH USED",?79,CP,?82,"CT/CH BAL",?94,CP,?97,"OVER/T HRS",?109,CP,?118,"OVER/T PAY",?131,CP D VLIDSH0 Q
|
---|
80 | ;
|
---|
81 | VLIDSH0 ;
|
---|
82 | W !,"|---|---------|------------------------|------------|-----------|--------------|--------------|--------------|---------------------|" Q
|
---|
83 | ;
|
---|
84 | VLIN0 ;
|
---|
85 | W !
|
---|
86 | D TABLANK0,TABLANK1
|
---|
87 | Q
|
---|
88 | ;
|
---|
89 | VLINUND ;use leading blank columns & trailing row separator.
|
---|
90 | W ! D TABLANK0,ROWSEP Q
|
---|
91 | ;
|
---|
92 | TABLANK0 ;leading blank columns with vertical slash for column breaks.
|
---|
93 | N CP S CP="|"
|
---|
94 | W CP,?4,CP,?14,CP,?39,CP Q
|
---|
95 | ;
|
---|
96 | TABLANK1 ;2nd half of blank columns w/ vertical slash for column breaks.
|
---|
97 | N CP S CP="|"
|
---|
98 | W ?52,CP,?64,CP,?79,CP,?94,CP,?109,CP,?131,CP Q
|
---|
99 | ;
|
---|
100 | ROWSEP ;row separator (2nd half of line)
|
---|
101 | N CP S CP="|"
|
---|
102 | W ?52,CP," --------- ",CP," ------- "
|
---|
103 | W ?79,CP," ------- "
|
---|
104 | W ?94,CP," ------- "
|
---|
105 | W ?109,CP," ---------- "
|
---|
106 | W ?131,CP,!
|
---|
107 | Q
|
---|