1 | PRCNSERP ;SSI/ALA-Service Priority Report ;[ 02/04/97 6:44 PM ]
|
---|
2 | ;;1.0;PRCN;**3,7**;Sep 13, 1996
|
---|
3 | EN ; Begin report by selecting a service
|
---|
4 | S DIR(0)="SM^O:Select One Service;A:Select All Services",DIR("A")="Select Print Type "
|
---|
5 | D ^DIR K DIR S VTI=$TR(X,"ao","AO") I VTI["^" G EXIT
|
---|
6 | I VTI="O" D SRV G EXIT:$G(SRV)=""
|
---|
7 | S $P(LIN,"-",80)="",PG=0
|
---|
8 | S %ZIS="MQ" D ^%ZIS G EXIT:POP>0
|
---|
9 | I $D(IO("Q")) D G EXIT
|
---|
10 | . S ZTRTN="BEG^PRCNSERP",ZTDESC="Service Priority Report"
|
---|
11 | . S ZTSAVE("VTI")="",ZTSAVE("LIN")="",ZTSAVE("PG")="",ZTSAVE("SRVNM")=""
|
---|
12 | . I $G(SRV)'="" S ZTSAVE("SRV")=""
|
---|
13 | . D ^%ZTLOAD,HOME^%ZIS K IO("Q"),ZTSK,%ZTLOAD,ZTREQ
|
---|
14 | I $E(IOST)="P" U IO
|
---|
15 | BEG I VTI="O" S PRI="",TOTAL=0 D HDR G PRI
|
---|
16 | S SRV=""
|
---|
17 | ALL S SRV=$O(^PRCN(413,"P",SRV)) I SRV="" D CONT G EXIT
|
---|
18 | S PRI="",TOTAL=0,SRVNM=$P(^DIC(49,SRV,0),U) D Q:$G(PRCNC)'=""
|
---|
19 | . I $E(IOST)'="P",PG>0 D Q:$G(PRCNC)'=""
|
---|
20 | . . R !,"Press RETURN to continue or '^' to quit. ",PRCNC:DTIME S:'$T PRCNC=U
|
---|
21 | . . K:PRCNC'?1"^".E PRCNC
|
---|
22 | . D HDR
|
---|
23 | PRI S PRI=$O(^PRCN(413,"P",SRV,PRI))
|
---|
24 | I PRI="" G ALL:VTI'="O" I VTI="O" D CONT G EXIT
|
---|
25 | S TRN=""
|
---|
26 | TRN S TRN=$O(^PRCN(413,"P",SRV,PRI,TRN)) G PRI:TRN=""
|
---|
27 | S PRCNDAT0=$G(^PRCN(413,TRN,0)) I PRCNDAT0="" K ^PRCN(413,"P",SRV,PRI,TRN) G TRN
|
---|
28 | S PRCNL=$P(PRCNDAT0,U,9),PRCNLDD=$P(^DD(413,8,0),U,3)
|
---|
29 | S PRCNF="" F LL=1:1 Q:$P(PRCNLDD,";",LL)="" I $P(PRCNLDD,";",LL)[PRCNL_":" S PRCNF=$P($P(PRCNLDD,";",LL),":",2) Q
|
---|
30 | I $G(PRCNC)'="" D EXIT Q
|
---|
31 | W !,$P(PRCNDAT0,U),?20,PRI,?40,$E(PRCNF,1,8)
|
---|
32 | S NL=NL+1 D CHKPG G EXIT:$G(PRCNC)'=""
|
---|
33 | S RQ=0 F S RQ=$O(^PRCN(413,TRN,1,RQ)) Q:RQ'>0 D
|
---|
34 | . S PRCNIT0=^PRCN(413,TRN,1,RQ,0),COST=$P(PRCNIT0,U,4),QTY=$P(PRCNIT0,U,5)
|
---|
35 | . S SBTOT=COST*QTY,TOTAL=TOTAL+SBTOT
|
---|
36 | . S PRCNL=$P(PRCNDAT0,U,9),PRCNLDD=$P(^DD(413.015,8,0),U,3)
|
---|
37 | . S PRCNF="" F LL=1:1 Q:$P(PRCNLDD,";",LL)="" I $P(PRCNLDD,";",LL)[PRCNL_":" S PRCNF=$P($P(PRCNLDD,";",LL),":",2) Q
|
---|
38 | . D ITD
|
---|
39 | G TRN
|
---|
40 | SRV S DIC(0)="AEQZ",DIC="^DIC(49," D ^DIC Q:+Y<0
|
---|
41 | S SRV=+Y,SRVNM=$P(Y,U,2) K DIC,Y
|
---|
42 | Q
|
---|
43 | CONT Q:$G(PRCNC)
|
---|
44 | I $G(TOTAL)'="" W !,?72,$E(LIN,1,7),!,?70,$J(TOTAL,9,2) D CHKPG
|
---|
45 | I $G(TOTAL)=""!($G(TOTAL)=0) W !,?35,"*** NO RECORDS TO PRINT *** "
|
---|
46 | I $E(IOST)="P" W @IOF
|
---|
47 | EXIT K SRV,SRVNM,PRI,VTI,PRCNF,PRCNIT0,PRCNL,PRCNLDD,QTY,RQ,RDQ,SBTOT,TOTAL
|
---|
48 | K LIN,LL,NL,PG,PI,PRCNDAT0,RQD,COST,QTY,TRN,TXT,X,DN,C,PRCNC,I,Y,Z
|
---|
49 | K DIW,DIWF,DIWI,DIWL,DIWR,DIWT,DIWTC,DIWX
|
---|
50 | D ^%ZISC
|
---|
51 | Q
|
---|
52 | CHKPG ; If printing to screen & it is full, clear screen, if printing to
|
---|
53 | ; a printer take appropriate action
|
---|
54 | Q:$G(PRCNC)'=""
|
---|
55 | Q:IOSL>(NL+6)
|
---|
56 | I $E(IOST)="C" W !,"Press RETURN to continue or '^' to quit. " R PRCNC:DTIME S:'$T PRCNC=U K:PRCNC'?1"^".E PRCNC Q:$G(PRCNC)'=""
|
---|
57 | D HDR
|
---|
58 | Q
|
---|
59 | HDR ; Print a header for the report
|
---|
60 | U IO S PG=PG+1,$P(TXT," ",40)="" W @IOF
|
---|
61 | W !,"REQUESTS BY SERVICE PRIORITY"
|
---|
62 | W $J("",IOM-$L(TXT)\2) S X="N",%DT="T" D ^%DT
|
---|
63 | W $$FMTE^XLFDT(Y,"1P")_" PAGE: "_PG,!
|
---|
64 | W !,"TRANSACTION #",?20,"PRIORITY",?40,"TYPE",?54,"COST",?62,"QUANTITY",?73,"TOTAL"
|
---|
65 | W !,?39,"PARENT SYSTEM",!,?5,"ITEM DESCRIPTION",?39,"/ COMPONENT"
|
---|
66 | W !,?40,"JUSTIFICATION",!,LIN,!
|
---|
67 | W !,"SERVICE: ",SRVNM,!
|
---|
68 | S NL=10
|
---|
69 | Q
|
---|
70 | ITD ; Get item description and format
|
---|
71 | K ^UTILITY($J,"W") S DIWR=27,DIWL=1,DIWF=""
|
---|
72 | S RQD=0 F S RQD=$O(^PRCN(413,TRN,1,RQ,1,RQD)) Q:RQD'>0 S X=^PRCN(413,TRN,1,RQ,1,RQD,0) D ^DIWP
|
---|
73 | I $G(^UTILITY($J,"W",DIWL))="" Q
|
---|
74 | F PI=1:1:^UTILITY($J,"W",DIWL) S NL=NL+1 D CHKPG Q:$G(PRCNC)'="" W !,?5,^UTILITY($J,"W",DIWL,PI,0) I PI=1 D
|
---|
75 | . W ?38,$E(PRCNF,1,12),?54,$J(COST,6,2),?62,$J(QTY,4,0),?73,$J(SBTOT,6,2)
|
---|
76 | Q
|
---|