| 1 | RMPFEA1 ;DDC/KAW-APPROVE/DISAPPROVE ORDERS; [ 06/16/95   3:06 PM ] | 
|---|
| 2 | ;;2.0;REMOTE ORDER/ENTRY SYSTEM;;JUN 16, 1995 | 
|---|
| 3 | SEL ;;input:  RMPFS | 
|---|
| 4 | ;;output: RMPFX,RMPFM | 
|---|
| 5 | K RMPFX S RMPFM="I" S XX=$P(RMPFSYS,U,6) | 
|---|
| 6 | G SELE:'$D(RMPFS) | 
|---|
| 7 | SEL1 W !!,"Select an order number" I XX W ", <M>ultiple Approval" | 
|---|
| 8 | W " or <RETURN> to exit: " D READ G END:$D(RMPFOUT) | 
|---|
| 9 | SEL11 I $D(RMPFQUT) W !!,"Enter the number to the left of the order you wish to approve",!,"<RETURN> to continue." W:XX "  Enter an <M> to approve multiple orders." G SEL1 | 
|---|
| 10 | G SELE:Y="" I XX,"Mm"[Y S RMPFM="M" G SELE | 
|---|
| 11 | I '$D(RMPFS(Y)) S RMPFQUT="" G SEL11 | 
|---|
| 12 | SEL2 S RMPFX=RMPFS(Y) | 
|---|
| 13 | SELE K XX,Y Q | 
|---|
| 14 | MULTI ;;input:  RMPFM | 
|---|
| 15 | ;;output: | 
|---|
| 16 | G END:RMPFM'="M" | 
|---|
| 17 | W !!,"Approve <A>ll orders, by <O>rdering Official, <T>ype of Order or",!,"Numbers of specific orders separated by commas. O// " | 
|---|
| 18 | D READ G END:$D(RMPFOUT) | 
|---|
| 19 | MULTI1 I $D(RMPFQUT) D MSG G MULTI | 
|---|
| 20 | S:Y="" Y="O" I "AaOoTt"'[Y&(Y'?1N.E) S RMPFQUT="" G MULTI1 | 
|---|
| 21 | I Y?1N.E  K RMPFS1 S CT=0 D SUB G MULTI1:$D(RMPFQUT),EXIT | 
|---|
| 22 | S Y=$E(Y,1),OR=$S("Aa"[Y:"A","Oo"[Y:"O",1:"T") | 
|---|
| 23 | D ORD:OR="O",TYP:OR="T" G END:Y=-1 | 
|---|
| 24 | S (CT,RMPFX)=0 | 
|---|
| 25 | F IK=1:1 S RMPFX=$O(^RMPF(791810,"AC",2,RMPFX)) Q:'RMPFX  S S0=$G(^RMPF(791810,RMPFX,0)) I $P(S0,U,15)=$O(^RMPF(791810.5,"C",RMPFMENU,0)),$P(S0,U,3)=2 D SUB1 | 
|---|
| 26 | EXIT W !!,CT," Orders Added to the Batch." D CONT^RMPFEA | 
|---|
| 27 | END K JJ,KK,IK,OR,CT,Y,RMPFX,RMPFM,DI,I,DIE,DR,D0,DI,D,% Q | 
|---|
| 28 | SUB F KK=1:1 S JJ=$P(Y,",",KK) Q:JJ=""  D  Q:$D(RMPFQUT) | 
|---|
| 29 | .I '$D(RMPFS(JJ)) S RMPFQUT="" Q | 
|---|
| 30 | .S RMPFS1(RMPFS(JJ))="" | 
|---|
| 31 | S RMPFX=0 F  S RMPFX=$O(RMPFS1(RMPFX)) Q:'RMPFX  D | 
|---|
| 32 | .Q:'$D(^RMPF(791810,RMPFX,0))  S RMPFHAT="",X=$P(^(0),U,2) | 
|---|
| 33 | .I X,$D(^RMPF(791810.1,X,0)) S RMPFHAT=$P(^(0),U,2) | 
|---|
| 34 | .D SET^RMPFEA2 S CT=CT+1 | 
|---|
| 35 | Q | 
|---|
| 36 | SUB1 Q:'$D(^RMPF(791810,RMPFX,0))  S S0=^(0),X=$P(S0,U,2),RMPFHAT="" | 
|---|
| 37 | I X,$D(^RMPF(791810.1,X,0)) S RMPFHAT=$P(^(0),U,2) | 
|---|
| 38 | I OR="O" Q:$P(S0,U,8)'=RMPFAD | 
|---|
| 39 | I OR="T" Q:$P(S0,U,2)'=RMPFTYP | 
|---|
| 40 | D SET^RMPFEA2 S CT=CT+1 | 
|---|
| 41 | Q | 
|---|
| 42 | ORD S DIC=200,DIC(0)="AEQM" D ^DIC Q:Y=-1  S RMPFAD=+Y Q | 
|---|
| 43 | TYP S DIC=791810.1,DIC(0)="AEQM",DIC("S")="I '$P(^(0),U,7)" | 
|---|
| 44 | D ^DIC K DIC Q:Y=-1  S RMPFTYP=+Y Q | 
|---|
| 45 | READ K RMPFOUT,RMPFQUT | 
|---|
| 46 | R Y:DTIME I '$T W $C(7) R Y:5 G READ:Y="." S:'$T Y=U | 
|---|
| 47 | I Y?1"^".E S (RMPFOUT,Y)="" Q | 
|---|
| 48 | S:Y?1"?".E (RMPFQUT,Y)="" | 
|---|
| 49 | Q | 
|---|
| 50 | MSG W !!,"Enter an <A> to approve all pending orders" | 
|---|
| 51 | W !?6,"an <O> or <RETURN> to approve orders for one Ordering Official" | 
|---|
| 52 | W !?7,"a <T> to approve orders of one specific type" | 
|---|
| 53 | W !?6,"The numbers to the left of orders, separated by commas for specific orders" | 
|---|
| 54 | W !?6,"an <^> to exit." Q | 
|---|