| 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
 | 
|---|