| 1 | PRSD1150 ;HISC/GWB-RECORD OF LEAVE DATA ;2/5/1998
 | 
|---|
| 2 |  ;;4.0;PAID;**35**;Sep 21, 1995
 | 
|---|
| 3 | EMP K DIC S DIC="^PRSPC(",DIC(0)="AEMQZ"
 | 
|---|
| 4 |  S DIC("A")="Select SEPARATED EMPLOYEE: " D ^DIC K DIC
 | 
|---|
| 5 |  I Y'>0 G EX
 | 
|---|
| 6 |  S DA=+Y
 | 
|---|
| 7 |  I $P($G(^PRSPC(DA,1)),U,33)'="Y" D  G EMP
 | 
|---|
| 8 |  .W !!,*7,"This is not a separated employee.  "
 | 
|---|
| 9 |  .W "The SEPARATION IND does not equal Y.",!
 | 
|---|
| 10 | START ;
 | 
|---|
| 11 |  K DASHES S $P(DASHES,"-",80)="-"
 | 
|---|
| 12 |  S ZERO=^PRSPC(DA,0)
 | 
|---|
| 13 |  S NAME=$P(ZERO,U,1),STATION=$P(ZERO,U,7),TLU=$P(ZERO,U,8)
 | 
|---|
| 14 |  S SSN=$P(ZERO,U,9),SSN=$E(SSN,1,3)_"-"_$E(SSN,4,5)_"-"_$E(SSN,6,9)
 | 
|---|
| 15 |  S SAL=$P(ZERO,U,29),HR=$S(SAL>99:SAL/2087,1:SAL),HR=$J(HR,0,2)
 | 
|---|
| 16 |  S Y=$P(ZERO,U,49) X ^DD(450,458,2.1) S CCORG=Y
 | 
|---|
| 17 |  S DS=$P($G(^PRSPC(DA,1)),U,42),LPP=$P($G(^PRSPC(DA,"MISC4")),U,16)
 | 
|---|
| 18 |  S SCD=$P(ZERO,U,31)
 | 
|---|
| 19 |  S SCDYR=$E(SCD,1,3),SCDMO=+$E(SCD,4,5),SCDDY=+$E(SCD,6,7)
 | 
|---|
| 20 |  S DOS=$P($G(^PRSPC(DA,1)),U,2)
 | 
|---|
| 21 |  S DOS1=$$FMADD^XLFDT(DOS,1) ; add 1 day so empl.  credited for DOS
 | 
|---|
| 22 |  S DOS1YR=$E(DOS1,1,3),DOS1MO=+$E(DOS1,4,5),DOS1DY=+$E(DOS1,6,7)
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ; calculate difference between DOS1 and SCD
 | 
|---|
| 25 |  S TOTDY=DOS1DY-SCDDY
 | 
|---|
| 26 |  S TOTMO=DOS1MO-SCDMO
 | 
|---|
| 27 |  S TOTYR=DOS1YR-SCDYR
 | 
|---|
| 28 |  ; if negative days then recalc. Subtract 1 from month and get days by
 | 
|---|
| 29 |  ; adding the days from first and last month together.
 | 
|---|
| 30 |  I TOTDY<0 D
 | 
|---|
| 31 |  . S SCDDIM=$P("31^28^31^30^31^30^31^31^30^31^30^31",U,SCDMO)
 | 
|---|
| 32 |  . I SCDDIM=28 S SCDDIM=SCDDIM+$$LEAPYR^PRSLIB00(SCDYR+1700)
 | 
|---|
| 33 |  . S TOTDY=SCDDIM-SCDDY+DOS1DY
 | 
|---|
| 34 |  . S TOTMO=TOTMO-1
 | 
|---|
| 35 |  I TOTMO<0 S TOTMO=TOTMO+12,TOTYR=TOTYR-1
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | ROLD S CATEGORY="RECORD OF LEAVE DATA",PAGE=0
 | 
|---|
| 38 |  K ^UTILITY("DIQ1",$J) S DIC="^PRSPC("
 | 
|---|
| 39 |  S DR="30;49;50",DIQ(0)="IE" D EN^DIQ1 W @IOF D HDR S PRTC=1
 | 
|---|
| 40 |  F F=30,49,50 D WR G:'PRTC EX
 | 
|---|
| 41 |  W !,"TOTAL SERVICE FOR LEAVE.........",TOTYR," YEARS"
 | 
|---|
| 42 |  W !,"                                ",TOTMO," MONTHS"
 | 
|---|
| 43 |  W !,"                                ",TOTDY," DAYS"
 | 
|---|
| 44 |  K ^UTILITY("DIQ1",$J) S DIC="^PRSPC("
 | 
|---|
| 45 |  S DR="462;510",DIQ(0)="IE" D EN^DIQ1
 | 
|---|
| 46 |  F F=462,510 D WR G:'PRTC EX
 | 
|---|
| 47 |  W !,"HOURLY RATE.....................",HR
 | 
|---|
| 48 |  S END="" D PRTC
 | 
|---|
| 49 | EX K ^UTILITY("DIQ1",$J)
 | 
|---|
| 50 |  N PRSTLV D KILL^XUSCLEAN W @IOF
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | WR S NODEDD=^DD(450,F,0),NODEUTIL=$G(^UTILITY("DIQ1",$J,450,DA,F,"E"))
 | 
|---|
| 53 |  I (NODEUTIL="")!(NODEUTIL="NA") K NODEDD,NODEUTIL Q
 | 
|---|
| 54 |  S FLDNAM=$P(NODEDD,U,1)
 | 
|---|
| 55 |  S INT=^UTILITY("DIQ1",$J,450,DA,F,"I")
 | 
|---|
| 56 | EXT S EXT=^UTILITY("DIQ1",$J,450,DA,F,"E")
 | 
|---|
| 57 |  S IL=$L(INT)
 | 
|---|
| 58 |  I $P(NODEDD,U,2)["NJ",+INT=0 K NODEDD,NODEUTIL Q
 | 
|---|
| 59 |  I $P(NODEDD,U,5)["""$""" S VAL=$FN(INT,",",2) G IOSL
 | 
|---|
| 60 |  I $P(NODEDD,U,2)["D" S VAL=EXT G IOSL
 | 
|---|
| 61 |  I $P(NODEDD,U,2)["NJ" S VAL=$J(INT,IL,2) G IOSL
 | 
|---|
| 62 |  S VAL=EXT
 | 
|---|
| 63 | IOSL K DOTS S NOD=32-$L(FLDNAM),$P(DOTS,".",NOD)="."
 | 
|---|
| 64 |  I $Y>(IOSL-4) D PRTC Q:'PRTC
 | 
|---|
| 65 |  W !,FLDNAM,DOTS
 | 
|---|
| 66 |  D VAL Q
 | 
|---|
| 67 | VAL I $L(VAL)<48 W ?32,VAL Q
 | 
|---|
| 68 |  S COLUMN=32,LGTH=0
 | 
|---|
| 69 |  F LOOP=1:1 Q:LGTH=$L(VAL)!(LGTH>($L(VAL)))  W:$L($P(VAL," ",LOOP))>(80-COLUMN) ! S:$L($P(VAL," ",LOOP))>(80-COLUMN) COLUMN=32 W ?COLUMN,$P(VAL," ",LOOP) S COLUMN=COLUMN+$L($P(VAL," ",LOOP))+1,LGTH=LGTH+$L($P(VAL," ",LOOP))+1
 | 
|---|
| 70 |  Q
 | 
|---|
| 71 | HDR W:$Y>0 @IOF S PAGE=PAGE+1
 | 
|---|
| 72 |  S CLNGTH=$L(CCORG),TAB=(80-CLNGTH)\2,TAB=TAB-1
 | 
|---|
| 73 |  W !,NAME,?TAB,CCORG,?62,"DUTY STATION: ",STATION_DS
 | 
|---|
| 74 |  W !,SSN,?71,"T&L: ",TLU,!,DASHES
 | 
|---|
| 75 |  S CLNGTH=$L(CATEGORY),TAB=(80-CLNGTH)\2,TAB=TAB-1
 | 
|---|
| 76 |  W !,"LAST PP: ",LPP,?TAB,CATEGORY,?73,"PAGE ",PAGE
 | 
|---|
| 77 |  W !,DASHES
 | 
|---|
| 78 |  K CLNGTH,TAB Q
 | 
|---|
| 79 | PRTC W:$Y<22 ! K DIR,DIRUT,DIROUT,DTOUT,DUOUT
 | 
|---|
| 80 |  S DIR(0)="E",DIR("A")="Press RETURN to continue" D ^DIR
 | 
|---|
| 81 |  I $D(DIRUT) S PRTC=0 Q
 | 
|---|
| 82 |  D:'$D(END) HDR Q
 | 
|---|
| 83 |  Q
 | 
|---|