1 | PRSDV450 ;HISC/MGD-VIEW PAID EMPLOYEE DATA ;09/05/2003
|
---|
2 | ;;4.0;PAID;**2,82,114**;Sep 21, 1995;Build 6
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | EN1 ;HRM entry
|
---|
5 | S LIMIT=10,PRSTLV=7 D PTBL^PRSDVTBL G EMP
|
---|
6 | EN2 ;Fiscal entry
|
---|
7 | S LIMIT=12,PRSTLV=7 D FTBL^PRSDVTBL
|
---|
8 | EMP K DASHES S $P(DASHES,"-",80)="-",FIRST=""
|
---|
9 | K DIC,^UTILITY("DIQ1",$J)
|
---|
10 | S DIC="^PRSPC(",DIC(0)="AEMQZ",DIC("A")="Select EMPLOYEE: " D ^DIC
|
---|
11 | K DIC I Y'>0 D KILL1,KILL2 Q
|
---|
12 | S DA=+Y,ZERO=^PRSPC(DA,0),NAME=$P(ZERO,U,1),SSN=$P(ZERO,U,9)
|
---|
13 | S SSN=$E(SSN,1,3)_"-"_$E(SSN,4,5)_"-"_$E(SSN,6,9),TLU=$P(ZERO,U,8)
|
---|
14 | S STATION=$P(ZERO,U,7),Y=$P(ZERO,U,49) X ^DD(450,458,2.1) S CCORG=Y
|
---|
15 | S DS=$P($G(^PRSPC(DA,1)),U,42),LPP=$P($G(^PRSPC(DA,"MISC4")),U,16)
|
---|
16 | CAT S CLNGTH=$L(CCORG),TAB=(80-CLNGTH)\2,TAB=TAB-1
|
---|
17 | W @IOF,!,NAME,?TAB,CCORG,?62,"DUTY STATION: ",STATION_DS
|
---|
18 | W !,SSN,?71,"T&L: ",TLU,!,DASHES
|
---|
19 | W ! F L=1:1:LIMIT W !,?20,$P(CHOICE(L),";",3),?23,$P(CHOICE(L),";",4)
|
---|
20 | SAN W ! K DIR,DIRUT,DIROUT,DTOUT,DUOUT
|
---|
21 | S DIR(0)="NAO^1:"_LIMIT_":0",DIR("A")="Select a number: "
|
---|
22 | S DIR("?")="Type a number between 1 and "_LIMIT S:$D(FIRST) DIR("B")=3
|
---|
23 | D ^DIR I ($D(DTOUT))!($D(DUOUT))!($D(DIROUT)) D KILL1 G EMP
|
---|
24 | I X="@" W !!,*7,DIR("?")_"." G SAN
|
---|
25 | G:X="" EMP
|
---|
26 | I CHOICE(+Y)["NURSING" S PP=$P(^PRSPC(DA,0),U,21) I (PP'="K")&(PP'="M")&(PP'="X") W !!,*7,"This employee is not a nurse. Pay Plan code not K, M or X.",! K PP G SAN
|
---|
27 | I CHOICE(+Y)["SEPARATED" I $P($G(^PRSPC(DA,1)),U,33)'="Y" W !!,*7,"This is not a separated employee. Separation Ind not equal Y.",! G SAN
|
---|
28 | S PAGE=0,CATEGORY=$P(CHOICE(+Y),";",4),LAB=$P(CHOICE(+Y),";",5)
|
---|
29 | S NOL=$P(CHOICE(+Y),";",6)
|
---|
30 | F L=1:1:NOL S (VAL(L),PRNTORDR(L))=$P($T(@LAB+L^PRSDVTBL),";",3) D
|
---|
31 | .F Q:VAL(L)'["," S VAL(L)=$P(VAL(L),",")_";"_$P(VAL(L),",",2,999)
|
---|
32 | .F Q:VAL(L)'[":1:" S VAL(L)=$P(VAL(L),":1:")_":"_$P(VAL(L),":1:",2,999)
|
---|
33 | .F Q:VAL(L)'[":.01:" S VAL(L)=$P(VAL(L),":.01:")_":"_$P(VAL(L),":.01:",2,999)
|
---|
34 | S IOFSAV=IOF
|
---|
35 | K %ZIS,IOP S %ZIS="MQ",%ZIS("B")="" D ^%ZIS I POP D KILL1,KILL2 Q
|
---|
36 | S IOF=IOFSAV
|
---|
37 | F L="CATEGORY","CCORG","CLNGTH","DA","DASHES","DATETIME","VAL(","DS","LPP","NAME","PAGE","PRNTORDR(","SSN","STATION","TAB","TLU","PRSTLV" S ZTSAVE(L)=""
|
---|
38 | I $D(IO("Q")) S ZTIO=ION,ZTDESC="DISPLAY EMPLOYEE DATA",ZTRTN="DISPLAY^PRSDV450",ZTREQ="@",ZTSAVE("ZTREQ")="" D ^%ZTLOAD W:$D(ZTSK) !,"Request Queued!" D KILL1 K FIRST G CAT
|
---|
39 | D:$E(IOST,1)="C" WAIT^DICD
|
---|
40 | U IO D DISPLAY K FIRST G:PRTC=0 CAT
|
---|
41 | I $E(IOST,1)="C" D:PRTC="" PRTC G:PRTC=0 CAT
|
---|
42 | D:$E(IOST,1)'="C" ^%ZISC
|
---|
43 | W @IOF K FIRST G CAT
|
---|
44 | DISPLAY S DRIEN=0 F S DRIEN=$O(VAL(DRIEN)) Q:DRIEN="" S DIQ(0)="EI",DIC="^PRSPC(",DR=VAL(DRIEN) D EN^DIQ1
|
---|
45 | W:$E(IOST,1)="C" @IOF D HDR^PRSDSRS
|
---|
46 | D ^PRSDYTD
|
---|
47 | I CATEGORY="LABOR DISTRIBUTION" D
|
---|
48 | . S PRTC=0
|
---|
49 | . D LD
|
---|
50 | . I $E(IOST,1)="C" D CHECK
|
---|
51 | . I $E(IOST,1)'="C" D ^%ZISC
|
---|
52 | I CATEGORY'="LABOR DISTRIBUTION" D
|
---|
53 | . S PRIEN=0,PRTC="" F S PRIEN=$O(PRNTORDR(PRIEN)) Q:PRIEN="" S PRNTVALS="F FIELDN="_PRNTORDR(PRIEN)_" D WRITE^PRSDW450 Q:PRTC=0" X PRNTVALS
|
---|
54 | KILL1 K D0,DIC,DIQ,DIQ2,DIR,DIRUT,DIROUT,DR,DRIEN,VAL,DTOUT,DUOUT,FIELDN
|
---|
55 | K IOFSAV,IOP,L,POP,PRIEN,PRNTORDR,PRNTVALS,X,Y,ZERO,ZTDESC,ZTIO,ZTRTN
|
---|
56 | K ZTSAVE,ZTSK,%ZIS,^UTILITY("DIQ1",$J)
|
---|
57 | D YTDEX^PRSDYTD
|
---|
58 | Q
|
---|
59 | KILL2 K CATEGORY,CCORG,CHOICE,CLNGTH,DA,DASHES,DATETIME,DS,FIRST,LAB,LIMIT,LPP
|
---|
60 | K NAME,NOL,PAGE,PRSTLV,PRTC,SSN,STATION,TAB,TLU,LOOP,ZTREQ,%,%I
|
---|
61 | Q
|
---|
62 | CHECK I $E(IOST,1)="C",$Y>(IOSL-4) D PRTC
|
---|
63 | Q
|
---|
64 | PRTC W ! K DIR,DIRUT,DIROUT,DTOUT,DUOUT
|
---|
65 | S DIR(0)="E",DIR("A")="Press RETURN to continue" D ^DIR S PRTC=Y
|
---|
66 | S:$D(DIRUT) PRTC=0
|
---|
67 | Q
|
---|
68 | LD ; Display Labor Distribution codes
|
---|
69 | Q:'$G(DA)
|
---|
70 | N DESC,INTERNAL,LDCNT,LDDATA,NODEDD,PRSLD,Y
|
---|
71 | S DIC=450,DIQ(0)="IE",DIQ="LDDATA"
|
---|
72 | F PRSLD=756,755,755.1 D
|
---|
73 | . S DR=PRSLD
|
---|
74 | . D EN^DIQ1
|
---|
75 | . S NODEDD=^DD(450,PRSLD,0)
|
---|
76 | . S INTERNAL=$G(LDDATA(450,DA,PRSLD,"I"))
|
---|
77 | . S DESC=$G(LDDATA(450,DA,PRSLD,"E"))
|
---|
78 | . W !,$P(NODEDD,U,1)
|
---|
79 | . W ?30,$S($P(NODEDD,U,5)["""$""":$J($FN(INTERNAL,",",2),14),$P(NODEDD,U,2)["NJ":$J(INTERNAL,14,2),$P(NODEDD,U,2)["D":$J(DESC,14),1:$J(INTERNAL,14))
|
---|
80 | . I $P(NODEDD,U,2)'["D",INTERNAL'=DESC D DESC^PRSDW450
|
---|
81 | ;
|
---|
82 | F PRSLD=1:1:4 D
|
---|
83 | . S DIC=450,DR=757 ; Specify LD multiple
|
---|
84 | . S DR(450.0757)="1;2;3;4",DA(450.0757)=PRSLD ; Specify fields w/in mult
|
---|
85 | . S DIQ(0)="IE",DIQ="LDDATA"
|
---|
86 | . D EN^DIQ1
|
---|
87 | . F LDCNT=1:1:4 D
|
---|
88 | . . S NODEDD=^DD(450.0757,LDCNT,0)
|
---|
89 | . . S INTERNAL=$G(LDDATA(450.0757,PRSLD,LDCNT,"I"))
|
---|
90 | . . I LDCNT'=3 S DESC=$G(LDDATA(450.0757,PRSLD,LDCNT,"E"))
|
---|
91 | . . I LDCNT=3 D
|
---|
92 | . . . S Y=INTERNAL,SUB454="CC"
|
---|
93 | . . . D OT^PRSDUTIL K SUB454
|
---|
94 | . . . S DESC=Y
|
---|
95 | . . W !,"LABOR DIST CODE-",PRSLD," ",$P(NODEDD,U,1)
|
---|
96 | . . W ?30,$S($P(NODEDD,U,5)["""$""":$J($FN(INTERNAL,",",2),14),$P(NODEDD,U,2)["NJ":$J(INTERNAL,14,2),$P(NODEDD,U,2)["D":$J(DESC,14),1:$J(INTERNAL,14))
|
---|
97 | . . I $P(NODEDD,U,2)'["D",INTERNAL'=DESC D DESC^PRSDW450
|
---|
98 | . . D CHECK
|
---|
99 | . . I PRTC W @IOF D HDR^PRSDSRS S PRTC=0
|
---|
100 | I $E(IOST,1)="C" D PRTC
|
---|
101 | Q
|
---|