1 | PRSPCPPE ; HISC/MGD - DISPLAY PP ESR EXCEPTIONS ;05/18/05
|
---|
2 | ;;4.0;PAID;**93**;Sep 21, 1995;Build 7
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | TK ; TimeKeeper Entry
|
---|
7 | S PRSTLV=2 D T0 Q
|
---|
8 | SUP ; Supervisor Entry
|
---|
9 | S PRSTLV=3
|
---|
10 | T0 D TOP ; print header
|
---|
11 | S USR="",SSN=$P($G(^VA(200,DUZ,1)),"^",9)
|
---|
12 | I SSN="" D D EXIT Q
|
---|
13 | . W !!,*7,"Your SSN was not found in the New Person File!"
|
---|
14 | . S TLI=""
|
---|
15 | S USR=$O(^PRSPC("SSN",SSN,0))
|
---|
16 | D TLL ; Loop to prompt for T&Ls
|
---|
17 | K DIC
|
---|
18 | I '$D(PRSTL) D EXIT Q
|
---|
19 | ; Prompt for Pay Period Date
|
---|
20 | S PPI=""
|
---|
21 | D DATE
|
---|
22 | I Y<1!(PPI<1) D EXIT Q
|
---|
23 | D DEVICE I POP D EXIT Q
|
---|
24 | I $D(IO("Q")) D D EXIT Q
|
---|
25 | . S PRSAPGM="QEN^PRSPCPPE"
|
---|
26 | . S PRSALST="MDAT^PPE^PPI^PRSIEN^PRSTL("
|
---|
27 | . D QUE^PRSAUTL
|
---|
28 | ;
|
---|
29 | QEN ; queued entry point
|
---|
30 | ;
|
---|
31 | ; Loop through T&Ls identifying PTP's w/ exceptions
|
---|
32 | D LOOP
|
---|
33 | ; Display Exceptions
|
---|
34 | D DISPLAY
|
---|
35 | D EXIT
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | TLL ; Loop to allow enting more than one T&L unit
|
---|
39 | ; Select T&L from among those allowed
|
---|
40 | K DIC,PRSTL
|
---|
41 | S Z1=$S(PRSTLV="2":"T",PRSTLV="3":"S",1:"*")
|
---|
42 | S TLI=$O(^PRST(455.5,"A"_Z1,DUZ,0))
|
---|
43 | I TLI<1 D Q
|
---|
44 | . W !!,*7,"No T&L Units have been assigned to you!"
|
---|
45 | . S TLI="^"
|
---|
46 | I $O(^PRST(455.5,"A"_Z1,DUZ,TLI))<1 D Q
|
---|
47 | . S TLE=$P($G(^PRST(455.5,TLI,0)),"^",1)
|
---|
48 | . S PRSTL(TLE)="",TLI=""
|
---|
49 | S DIC("S")="I $D(^PRST(455.5,+Y,Z1,DUZ))"
|
---|
50 | TL S DIC="^PRST(455.5,",DIC(0)="AEQM",DIC("A")="Select T&L Unit: "
|
---|
51 | F D Q:TLI=""!(TLI="^")
|
---|
52 | . W !
|
---|
53 | . I $D(PRSTL) S DIC("A")="Select Another T&L Unit: "
|
---|
54 | . D ^DIC
|
---|
55 | . I "^"[X!$D(DTOUT) S TLI="^" Q
|
---|
56 | . S TLI=+Y
|
---|
57 | . Q:'TLI
|
---|
58 | . S TLE=$P($G(^PRST(455.5,TLI,0)),"^",1)
|
---|
59 | . S PRSTL(TLE)=""
|
---|
60 | Q
|
---|
61 | ;
|
---|
62 | DATE S %DT="AEPX",%DT("A")="Posting Date: ",%DT(0)=-DT W ! D ^%DT
|
---|
63 | Q:Y<1
|
---|
64 | S D1=Y S Y=$G(^PRST(458,"AD",D1)),PPI=$P(Y,"^",1)
|
---|
65 | Q:PPI<1
|
---|
66 | S PPE=$P($G(^PRST(458,PPI,0)),U,1)
|
---|
67 | S MDAT=$P($G(^PRST(458,PPI,1)),U,1)
|
---|
68 | Q
|
---|
69 | ;
|
---|
70 | DEVICE W !
|
---|
71 | S %ZIS("A")="Select DEVICE: ",%ZIS="MQ"
|
---|
72 | D ^%ZIS Q:POP
|
---|
73 | ;
|
---|
74 | LOOP ; Loop through T&Ls identifying PTP's w/ exceptions
|
---|
75 | K ^TMP($J,"PRSPCPPE DATA")
|
---|
76 | S TLE="",QT=0
|
---|
77 | F S TLE=$O(PRSTL(TLE)) Q:TLE="" D Q:QT
|
---|
78 | . S TL="ATL"_TLE
|
---|
79 | . S NAME="",DATA1=$G(^PRST(458,PPI,1))
|
---|
80 | . F S NAME=$O(^PRSPC(TL,NAME)) Q:NAME="" D Q:QT
|
---|
81 | . . S PRSIEN=$O(^PRSPC(TL,NAME,0))
|
---|
82 | . . Q:'PRSIEN
|
---|
83 | . . Q:'+$$MIEN^PRSPUT1(PRSIEN,MDAT) ; Employee is not a PTP w/ Memo
|
---|
84 | DAYCHK . . ; Loop through the days in the PP checking the ESR status
|
---|
85 | . . S (DAYCHK,IDAYS)=0
|
---|
86 | . . F DAY=1:1:14 Q:$P(DATA1,U,DAY)>DT D
|
---|
87 | . . . S DAYCHK=$P($G(^PRST(458,PPI,"E",PRSIEN,"D",DAY,7)),U,1)
|
---|
88 | . . . Q:DAYCHK>3 ; Not an exception
|
---|
89 | . . . S IDAYS=IDAYS+1
|
---|
90 | . . Q:IDAYS=0
|
---|
91 | . . ; Found at least 1 incomplete ESR
|
---|
92 | . . S ^TMP($J,"PRSPCPPE DATA",$P(^PRSPC(PRSIEN,0),U,1))=PRSIEN_"^"_IDAYS
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | DISPLAY ; Display ESR for entire Pay Period. Sorted alphabetically
|
---|
96 | U IO
|
---|
97 | S QT=0,(NAME,PRSIEN)="",$P(DASH,"_",80)="_"
|
---|
98 | D LOOP^PRSPCPP1
|
---|
99 | D ^%ZISC K %ZIS,IOP
|
---|
100 | Q
|
---|
101 | ;
|
---|
102 | ;====================================================================
|
---|
103 | TOP W:$E(IOST,1,2)="C-" @IOF W !?26,"VA TIME & ATTENDANCE SYSTEM"
|
---|
104 | W !?27,"DISPLAY PP ESR EXCEPTIONS"
|
---|
105 | Q
|
---|
106 | ;
|
---|
107 | ;====================================================================
|
---|
108 | ;
|
---|
109 | EXIT ; Clean up variables
|
---|
110 | K %DT,%ZIS,D1,DASH,DATA,DATA0,DATA1,DATA5,DATA6,DATA7,DAY,DAY1,DAYCHK
|
---|
111 | K DFN,DIR,DIRUT,DTOUT,EDLSM,HRS,IDAYS,MDAT,MIEN,MT,NAME,PDT,PG,POP
|
---|
112 | K PPE,PPI,PRSALST,PRSAPGM,PRSIEN,PRSTL,PRSTLV,PTPRMKS,QT,QUIT,RC,RCEX
|
---|
113 | K SCRTTL,SEG,SSN,START,STAT,STATEX,STOP,SUPRMKS,T1,T1EX,T2,T2EX
|
---|
114 | K TL,TLE,TLI,TLSCREEN,TOT,TOTEX,USR,X,Y,Z1
|
---|
115 | K ^TMP($J,"PRSPCPPE DATA")
|
---|
116 | Q
|
---|