1 | PRCPRCAT ;WISC/RFJ/DL-order form ; 1/28/98 1000
|
---|
2 | V ;;5.1;IFCAP;**1**;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | D ^PRCPUSEL Q:'$G(PRCP("I"))
|
---|
5 | N PRCPBLNK,PRCPDATE,PRCPEND,PRCPINFR,PRCPINPT,PRCPFLAG,PRCPFONE,PRCPFNON,PRCPSSIT,X,Y,Z
|
---|
6 | K X S X(1)="The Order Form prints the current or selected inventory point's items sorted by main storage location and description. Blanks for daily ordering may be included."
|
---|
7 | D DISPLAY^PRCPUX2(40,79,.X)
|
---|
8 | ;
|
---|
9 | I PRCP("DPTYPE")="S" S PRCPINPT=PRCP("I") G MONTHYR
|
---|
10 | ;
|
---|
11 | K X S X(1)="Select a Distribution Point or press the <return> key to select the current inventory point."
|
---|
12 | D DISPLAY^PRCPUX2(2,40,.X)
|
---|
13 | S PRCPINPT=$$TO^PRCPUDPT(PRCP("I")) Q:PRCPINPT["^"
|
---|
14 | I 'PRCPINPT S PRCPINPT=PRCP("I")
|
---|
15 | ;
|
---|
16 | ; jump to here if a secondary
|
---|
17 | MONTHYR W ! K X S X(1)="Select the month-year of the order form for "_$$INVNAME^PRCPUX1(PRCPINPT)_"."
|
---|
18 | D DISPLAY^PRCPUX2(2,40,.X)
|
---|
19 | S %DT("A")="Print Catalog/Order Form for DATE: "
|
---|
20 | S %DT("B")="TODAY",%DT="AEX" D ^%DT K %DT Q:Y<0
|
---|
21 | S PRCPEND=$P("31^28^31^30^31^30^31^31^30^31^30^31","^",+$E(Y,4,5))
|
---|
22 | I PRCPEND=28 S Z=$E(Y,1,3)+1700,PRCPEND=$S(Z#400=0:29,(Z#4=0&(Z#100'=0)):29,1:28)
|
---|
23 | S Y=$E(Y,1,5)_"00" D DD^%DT S PRCPDATE=Y
|
---|
24 | ;
|
---|
25 | D Q:$G(PRCPFLAG) G BLANKS:$P($G(^PRCP(445,PRCPINPT,0)),"^",3)="S"
|
---|
26 | . S PRCPSSIT=1
|
---|
27 | . S XP="Print only items with a non-zero normal level"
|
---|
28 | . S XH="Enter YES to print only items whose normal level is not zero in "_$$INVNAME^PRCPUX1(PRCPINPT)_"."
|
---|
29 | . S XH(1)="Enter NO to print all items in "_$$INVNAME^PRCPUX1(PRCPINPT)_"."
|
---|
30 | . S XH(2)="Enter ^ to exit."
|
---|
31 | . W ! S %=$$YN^PRCPUYN(1) I %<1 S PRCPFLAG=1 Q
|
---|
32 | . I %=2 K PRCPSSIT
|
---|
33 | ;
|
---|
34 | S PRCPINFR=$$FROMCHEK^PRCPUDPT(PRCPINPT,0)
|
---|
35 | I PRCPINFR D Q:$G(PRCPFLAG)
|
---|
36 | . S XP="Print only the items stocked by "_$$INVNAME^PRCPUX1(PRCPINFR)
|
---|
37 | . S XH="Enter YES to only print the items stocked by "_$$INVNAME^PRCPUX1(PRCPINFR)_"."
|
---|
38 | . S XH(1)="Enter NO to print all items in "_$$INVNAME^PRCPUX1(PRCPINPT)_"."
|
---|
39 | . S XH(2)="Enter ^ to exit."
|
---|
40 | . W ! S %=$$YN^PRCPUYN(1) I %<1 S PRCPFLAG=1 Q
|
---|
41 | . I %=2 K PRCPINFR
|
---|
42 | ;
|
---|
43 | BLANKS S PRCPBLNK=1
|
---|
44 | I "SP"[(PRCP("DPTYPE")) D
|
---|
45 | . S XP="Include blanks on printout"
|
---|
46 | . S XH="Enter YES to print blanks on the order form."
|
---|
47 | . S XH(1)="Enter NO to print just the items and related information."
|
---|
48 | . S XH(2)="Enter ^ to exit."
|
---|
49 | . W ! S %=$$YN^PRCPUYN(1) I %<1 S PRCPFLAG=1 Q
|
---|
50 | . I %=2 K PRCPBLNK
|
---|
51 | ;
|
---|
52 | S %ZIS="Q" D ^%ZIS Q:POP I $D(IO("Q")) D D ^%ZTLOAD K IO("Q"),ZTSK Q
|
---|
53 | . S ZTDESC="Order Form",ZTRTN="DQ^PRCPRCAT"
|
---|
54 | . S ZTSAVE("PRCP*")="",ZTSAVE("ZTREQ")="@"
|
---|
55 | W !!,"<*> please wait <*>"
|
---|
56 | ;
|
---|
57 | ; queue comes here
|
---|
58 | DQ N %I,DAY,DAY1,DESCR,ITEMCOST,ITEMDA,ITEMDATA,MAINLOC,NOW,PAGE,PRCPFLAG,PRCPINNM,SCREEN,WHSESRCE,X,Y
|
---|
59 | K ^TMP($J,"PRCPRCAT")
|
---|
60 | S ITEMDA=0 F S ITEMDA=$O(^PRCP(445,PRCPINPT,1,ITEMDA)) Q:'ITEMDA D
|
---|
61 | . I $G(PRCPINFR),'$D(^PRCP(445,PRCPINFR,1,ITEMDA,0)) Q
|
---|
62 | . I '$D(^PRCP(445,PRCPINPT,1,ITEMDA,0)) Q
|
---|
63 | . I $G(PRCPSSIT),$P(^PRCP(445,PRCPINPT,1,ITEMDA,0),"^",9)'>0 Q
|
---|
64 | . S MAINLOC=$$STORAGE^PRCPESTO(PRCPINPT,ITEMDA)
|
---|
65 | . S DESCR=$$DESCR^PRCPUX1(PRCPINPT,ITEMDA) S:DESCR="" DESCR=" "
|
---|
66 | . S ^TMP($J,"PRCPRCAT",MAINLOC,$E(DESCR,1,20),ITEMDA)=""
|
---|
67 | ;
|
---|
68 | ; setup order form format
|
---|
69 | S DAY="" F %=1:1:PRCPEND S DAY=DAY_"| "_$J(%,2)
|
---|
70 | I IOM<81 S DAY1="|"_$P(DAY,"15|",2),DAY=$P(DAY,"15|")_"15"
|
---|
71 | ;
|
---|
72 | S WHSESRCE=+$O(^PRC(440,"AC","W",0))
|
---|
73 | S PRCPINNM=$$INVNAME^PRCPUX1(PRCPINPT)
|
---|
74 | D NOW^%DTC S Y=% D DD^%DT S NOW=Y,SCREEN=$$SCRPAUSE^PRCPUREP,PAGE=1 U IO D H
|
---|
75 | S MAINLOC="" F S MAINLOC=$O(^TMP($J,"PRCPRCAT",MAINLOC)) Q:MAINLOC=""!($G(PRCPFLAG)) D
|
---|
76 | . I $G(ZTQUEUED),$$S^%ZTLOAD S PRCPFLAG=1 W !?10,"<<< TASKMANAGER JOB TERMINATED BY USER >>>" Q
|
---|
77 | . I $Y>(IOSL-7) D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG) D H
|
---|
78 | . W !!?5,"MAIN STORAGE LOCATION: ",$S(MAINLOC=" ":"<< NONE >>",1:MAINLOC)
|
---|
79 | . I '$G(PRCPBLNK) W !
|
---|
80 | . S DESCR="" F S DESCR=$O(^TMP($J,"PRCPRCAT",MAINLOC,DESCR)) Q:DESCR=""!($G(PRCPFLAG)) S ITEMDA=0 F S ITEMDA=$O(^TMP($J,"PRCPRCAT",MAINLOC,DESCR,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG)) D
|
---|
81 | . . I $Y>(IOSL-8) D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG) D H
|
---|
82 | . . S ITEMDATA=$G(^PRCP(445,PRCPINPT,1,ITEMDA,0))
|
---|
83 | . . S ITEMCOST=$P(ITEMDATA,"^",22) I $P(ITEMDATA,"^",15)>ITEMCOST S ITEMCOST=$P(ITEMDATA,"^",15)
|
---|
84 | . . I $G(PRCPBLNK) W !!
|
---|
85 | . . W $E($$DESCR^PRCPUX1(PRCPINPT,ITEMDA),1,28),?29,ITEMDA,?35,$TR($$NSN^PRCPUX1(ITEMDA),"-"),?50,$J($$UNIT^PRCPUX1(PRCPINPT,ITEMDA,"/"),8),$J($P(ITEMDATA,"^",10),6),$J($P(ITEMDATA,"^",9),6),$J(ITEMCOST,9,2),!
|
---|
86 | . . I $$MANDSRCE^PRCPU441(ITEMDA)=WHSESRCE W "*"
|
---|
87 | . . I $G(PRCPBLNK) D
|
---|
88 | . . . W ?2,"DAY: ",DAY,"|",!?2,"QTY: ",$TR(DAY,"1234567890"," "),"|"
|
---|
89 | . . . I $D(DAY1) W !?2,"DAY: ",DAY1,"|",!?2,"QTY: ",$TR(DAY1,"1234567890"," "),"|"
|
---|
90 | I '$G(PRCPFLAG) D END^PRCPUREP
|
---|
91 | K ^TMP($J,"PRCPRCAT") D ^%ZISC Q
|
---|
92 | ;
|
---|
93 | ;
|
---|
94 | H S %=NOW_" PAGE "_PAGE,PAGE=PAGE+1 I PAGE'=2!(SCREEN) W @IOF
|
---|
95 | W $C(13),"ORDER FORM FOR: ",PRCPINNM,?(IOM-$L(%)),%
|
---|
96 | W !?5,"FOR THE MONTH-YEAR: ",PRCPDATE
|
---|
97 | W ?58,$J("STAND",6),$J("NORM",6),$J("UNIT",10),!,"DESCRIPTION",?29,"MI#",?35,"NSN",?50,$J("UNIT/IS",8),$J("REOPT",6),$J("STLVL",6),$J("COST",10)
|
---|
98 | S %="",$P(%,"-",IOM+1)="" W !,%
|
---|
99 | Q
|
---|