| 1 | PSDORL ;BIR/JPW/LTL-CS Order Entry Listing and Cancel ; 19 Dec 94 | 
|---|
| 2 | ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97 | 
|---|
| 3 | LIST ;list if pending orders | 
|---|
| 4 | W !!,"Searching for pending orders..." | 
|---|
| 5 | S PSDOUT=0 D SORT G:PSDOUT END | 
|---|
| 6 | CANC ;ask to cancel orders | 
|---|
| 7 | K DA,DIR,DIRUT S DIR(0)="Y",DIR("A")="Do you wish to cancel any pending orders",DIR("?")="Answer YES to select order(s) to cancel, NO or ^ to continue this order." | 
|---|
| 8 | S DIR("B")="NO" D ^DIR I 'Y!($D(DIRUT)) D MSG G END | 
|---|
| 9 | D PRT | 
|---|
| 10 | ASK K DA,DIR,DIRUT | 
|---|
| 11 | W !,"You may cancel one order at a time.",! | 
|---|
| 12 | S DIR("A")="Please enter the order number you wish to cancel",DIR(0)="NO^1:"_OCNT,DIR("?")="Answer with the order number you wish to cancel or <RET> to continue with your order" | 
|---|
| 13 | D ^DIR I 'Y D MSG G END | 
|---|
| 14 | S KKO=+Y | 
|---|
| 15 | ORD ;update ord | 
|---|
| 16 | K DA,DIE,DR S DIE="^PSD(58.8,"_NAOU_",1,"_PSDR_",3,",DA=+$P($G(LOC(KKO)),"^",2),DA(1)=PSDR,DA(2)=NAOU,DR="10////9;19////@" D ^DIE K DA,DIE,DR | 
|---|
| 17 | S DA=+$P($G(LOC(KKO)),"^") | 
|---|
| 18 | K DIE,DR S DIE=58.85,DR="6////9" D ^DIE K DA,DIE,DR | 
|---|
| 19 | W $C(7),!!,"** The order you selected has been cancelled. **",! | 
|---|
| 20 | G LIST | 
|---|
| 21 | END K AA,DA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,JJ,KK,KKO,KK2,KK3,KK4,KK5,LL,LOC,NODEL,OCNT,PSDOUT,TOT,Y | 
|---|
| 22 | Q | 
|---|
| 23 | MSG W !!,"No orders cancelled.  Continue processing your order.",! | 
|---|
| 24 | Q | 
|---|
| 25 | SORT ;searches for orders | 
|---|
| 26 | K LL | 
|---|
| 27 | S (AA,TOT,OCNT)=0 F  S AA=$O(^PSD(58.85,"AC",AA)) Q:'AA!(AA>3)  S JJ=0 F  S JJ=$O(^PSD(58.85,"AC",AA,+NAOU,+PSDR,JJ)) Q:'JJ  S KK=0 F  S KK=$O(^PSD(58.85,"AC",AA,+NAOU,+PSDR,JJ,KK)) Q:'KK  D | 
|---|
| 28 | .Q:'$D(^PSD(58.85,KK,0))  S NODEL=^PSD(58.85,KK,0),TOT=TOT+$P(NODEL,"^",6),OCNT=OCNT+1 | 
|---|
| 29 | .I AA=1,'+$G(^PSD(58.85,KK,2)) S LL(KK)="" | 
|---|
| 30 | W !!,$S(OCNT:"Orders pending: "_OCNT_"  Quantity Ordered ("_NBKU_"): "_TOT,1:"No orders pending"),!! | 
|---|
| 31 | I 'OCNT S PSDOUT=1 Q | 
|---|
| 32 | I '$O(LL(0)) W $C(7),"All pending orders are currently being processed.  Please review the PENDING ",!,"CS ORDERS REPORT for more information.",! S PSDOUT=1 Q | 
|---|
| 33 | Q | 
|---|
| 34 | PRT ;displays list | 
|---|
| 35 | K LOC | 
|---|
| 36 | W !!,"Accessing pending orders for ",PSDRN,"...",!!,"The following orders may be cancelled:",! | 
|---|
| 37 | W !,?6,"DATE ORDERED",?25,"QUANTITY",?38,"ORDERED BY",! S (KK,OCNT)=0 | 
|---|
| 38 | F  S KK=$O(LL(KK)) Q:'KK  I $D(^PSD(58.85,KK,0)),'$D(^PSD(58.85,KK,2)) D | 
|---|
| 39 | .S NODEL=^PSD(58.85,KK,0) Q:$P(NODEL,"^",7)>1 | 
|---|
| 40 | .Q:+$P($G(NODEL),"^",8)  S KK2=+$P($G(NODEL),"^",5),KK3=+$P($G(NODEL),"^",6),(KK4,Y)=+$P($G(NODEL),"^",18) X ^DD("DD") S KK4=Y | 
|---|
| 41 | .S KK5=+$P($G(NODEL),"^",12),KK5=$S($P($G(^VA(200,KK5,0)),"^")]"":$P($G(^(0)),"^"),1:"UNKNOWN") | 
|---|
| 42 | .S OCNT=OCNT+1,LOC(OCNT)=KK_"^"_KK2_"^"_KK3_"^"_KK4_"^"_KK5 | 
|---|
| 43 | .W !,"(",OCNT,")",?5,KK4,?25,$J(KK3,8),?38,KK5 | 
|---|
| 44 | W ! | 
|---|
| 45 | Q | 
|---|