| [613] | 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
 | 
|---|