| [613] | 1 | RMPFEA2 ;DDC/KAW-APPROVE ORDERS [ 06/20/97  10:39 AM ] | 
|---|
|  | 2 | ;;2.0;REMOTE ORDER/ENTRY SYSTEM;**3**;MAY 30, 1995 | 
|---|
|  | 3 | APPROV ;; input: RMPFX,RMPFHAT | 
|---|
|  | 4 | ;;output: None | 
|---|
|  | 5 | S X=$P(^RMPF(791810,RMPFX,0),U,3) G END:'X | 
|---|
|  | 6 | S FX="PS" D | 
|---|
|  | 7 | .I RMPFHAT="I"!(RMPFHAT="X") S FX=FX_"F" Q | 
|---|
|  | 8 | .D ARRAY^RMPFDT2 S XX=0 | 
|---|
|  | 9 | .F  S XX=$O(RMPFO(XX)) Q:'XX  I $D(^RMPF(791810,RMPFX,101,XX,0)),$P(^(0),U,19)["A",$P(^(0),U,20) S FX=FX_"F" Q | 
|---|
|  | 10 | G END:'$D(^RMPF(791810.2,X,0)) S ST=$P(^(0),U,2) G END:FX'[ST | 
|---|
|  | 11 | I RMPFHAT="I" S X=$P(^RMPF(791810,RMPFX,0),U,3) D  G END:$D(X),APP | 
|---|
|  | 12 | .I $P($G(^RMPF(791810.2,X,0)),U,5)'="E"&($P(^(0),U,2)'="C") Q | 
|---|
|  | 13 | .D ARRAY^RMPFDT2 S X=0 | 
|---|
|  | 14 | .F  S X=$O(RMPFO(X)) Q:'X  I $P($G(^RMPF(791810,RMPFX,101,X,0)),U,20) Q | 
|---|
|  | 15 | .I X K X | 
|---|
|  | 16 | AP S X=$P(RMPFSYS,U,7) S:X="" X="S" G APP:X="N" | 
|---|
|  | 17 | I RMPFMENU=10,X="A" G APP | 
|---|
|  | 18 | I X="A",$D(^RMPF(791813,RMPFSTAN,101,DUZ,0)),$P(^(0),U,3) G APP | 
|---|
|  | 19 | I '$D(^XUSEC("RMPF SUPERVISOR",DUZ)) Q | 
|---|
|  | 20 | APPROV1 S X=$P(^RMPF(791810,RMPFX,0),U,3) G END:'X | 
|---|
|  | 21 | G END:'$D(^RMPF(791810.2,X,0)) S ST=$P(^(0),U,2) G END:"PSF"'[ST | 
|---|
|  | 22 | D ARRAY^RMPFDT2 K ED | 
|---|
|  | 23 | I X="S" D  G END:'$D(ED),APP | 
|---|
|  | 24 | .S O=0 | 
|---|
|  | 25 | .F  S O=$O(RMPFO(O)) Q:'O  I $P(^RMPF(791810,RMPFX,101,O,0),U,20) S ED="" Q | 
|---|
|  | 26 | I RMPFHAT'="U" S Y=0 F  S Y=$O(RMPFO(Y)) Q:'Y  I $D(^RMPF(791810,RMPFX,101,Y,0)),$P(^(0),U,19)="C",$P(^(0),U,20) G APP | 
|---|
|  | 27 | Q:"BPSF"'[ST | 
|---|
|  | 28 | APP W !!,"APPROVE this order? YES// " D READ Q:$D(RMPFOUT) | 
|---|
|  | 29 | APP1 I $D(RMPFQUT) W !!,"Enter <Y> to approve the order and place it in a batch or <N> to continue." G APP | 
|---|
|  | 30 | S:Y="" Y="Y" S Y=$E(Y,1) I "YyNn"'[Y S RMPFQUT="" G APP1 | 
|---|
|  | 31 | G END:"Nn"[Y | 
|---|
|  | 32 | SET ;; input: RMPFX,RMPFHAT | 
|---|
|  | 33 | ;;output: None | 
|---|
|  | 34 | S FL=0 I RMPFHAT="Y"!(RMPFHAT="K") D BATCH G SETX | 
|---|
|  | 35 | D ARRAY^RMPFDT2 S FY=0 | 
|---|
|  | 36 | ST1 S FY=$O(RMPFO(FY)) G SETX:'FY | 
|---|
|  | 37 | G ST1:'$D(^RMPF(791810,RMPFX,101,FY,0)) S S0=^(0) | 
|---|
|  | 38 | S X=$P(S0,U,18),Y=$P(S0,U,20) G ST1:'Y | 
|---|
|  | 39 | G ST1:X="" S X=$P($G(^RMPF(791810.2,X,0)),U,2) | 
|---|
|  | 40 | I X="C",$P(^RMPF(791810,RMPFX,101,FY,0),U,20),$P(^(0),U,19)["A" G ST2 | 
|---|
|  | 41 | G ST1:"PSNAF"'[X | 
|---|
|  | 42 | I X="A",Y G ST2 | 
|---|
|  | 43 | I X="S",'$P($G(^RMPF(791810,RMPFX,101,FY,90)),U,9),$P(^(0),U,19)'["A" G ST1 | 
|---|
|  | 44 | I X="S",$P(S0,U,19)["I" G ST1:$P(S0,U,2)="",ST1:$P(S0,U,5)="",ST1:$P(S0,U,8)="" | 
|---|
|  | 45 | ST2 S FL=1 D SET1 G ST1 | 
|---|
|  | 46 | SETX I 'FL G SETE:RMPFHAT'="K"&(RMPFHAT'="Y") | 
|---|
|  | 47 | S %DT="T",X="NOW" D ^%DT S DIE="^RMPF(791810,",DA=RMPFX | 
|---|
|  | 48 | S DR=".03///APPROVED;.06////"_Y_";.1////"_DUZ_";.11////"_Y D ^DIE | 
|---|
|  | 49 | S RMPFCAT=$P($G(^RMPF(791810,RMPFX,10)),U,5) | 
|---|
|  | 50 | I RMPFCAT'="","PE"[RMPFCAT D EMER^RMPFEA3 | 
|---|
|  | 51 | D FORM:RMPFHAT="S" | 
|---|
|  | 52 | I RMPFHAT="I" D ARRAY^RMPFDT2 S X=0 F  S X=$O(RMPFO(X)) Q:'X  I $D(^RMPF(791810,RMPFX,101,X,0)),$P(^(0),U,19)["I" D FORM Q | 
|---|
|  | 53 | SETE K FL,RMPFBT,RMPFCAT,X,Y,S0,%DT,D,D0,DA,DI,DIC,DIE,DQ,DR,FY,RMPFO Q | 
|---|
|  | 54 | SET1 ;;Set to approved and place in a batch when line item known | 
|---|
|  | 55 | ;; input: FY,PT,RMPFX | 
|---|
|  | 56 | ;;output: RMPFBT | 
|---|
|  | 57 | S DIE="^RMPF(791810,"_RMPFX_",101,",DA(1)=RMPFX,DA=FY | 
|---|
|  | 58 | S X="NOW",%DT="T" D ^%DT | 
|---|
|  | 59 | S X=$S($P(^RMPF(791810,RMPFX,101,FY,0),U,15)'="C":"APPROVED",1:"CANCELED") | 
|---|
|  | 60 | S DR=".18///"_X_";.17////"_Y_";.2////0" D ^DIE | 
|---|
|  | 61 | K DIE,DI,DR,D0,D,%,%DT,DISYS,DQ,I,L | 
|---|
|  | 62 | BATCH ;;Find open batch | 
|---|
|  | 63 | S RMPFBT=0,MN=$O(^RMPF(791810.5,"C",RMPFMENU,0)) | 
|---|
|  | 64 | F I=1:1 S RMPFBT=$O(^RMPF(791812,"C",1,RMPFBT)) Q:'RMPFBT  S S1=$G(^RMPF(791812,RMPFBT,0)) I $P(S1,U,8)=RMPFSTAP S X=$P(S1,U,9) S:X="" X=0 I X=MN Q | 
|---|
|  | 65 | G TRANS:RMPFBT S X="NOW",%DT="T" D ^%DT S X=Y | 
|---|
|  | 66 | F I=1:1 Q:'$D(^RMPF(791812,"B",X))  S X=X+.00001 | 
|---|
|  | 67 | S DIC="^RMPF(791812,",DIC(0)="L",DLAYGO=791812 | 
|---|
|  | 68 | S DIC("DR")=".02////1;.08////"_RMPFSTAP_";.09////"_$O(^RMPF(791810.5,"C",RMPFMENU,0)) | 
|---|
|  | 69 | K DD,DO D FILE^DICN K DIC | 
|---|
|  | 70 | I Y=-1 W !!,$C(7),"*** UNABLE TO ADD A NEW BATCH - CONTACT IRMS ***" G END | 
|---|
|  | 71 | S RMPFBT=+Y I $P(RMPFSYS,U,3)="A" D ^RMPFEA3 | 
|---|
|  | 72 | TRANS ;;Add order to a batch | 
|---|
|  | 73 | S:'$D(^RMPF(791812,RMPFBT,101,0)) ^RMPF(791812,RMPFBT,101,0)="^791812.0101PA^^" L ^RMPF(791812,RMPFBT) | 
|---|
|  | 74 | G BATCHE:'$D(^RMPF(791810,RMPFX,0)) | 
|---|
|  | 75 | S PT=$O(^RMPF(791812,RMPFBT,101,"B",RMPFX,0)) | 
|---|
|  | 76 | I PT,$D(^RMPF(791812,RMPFBT,101,PT,0)),$P(^(0),U,2) D  G BATCHE | 
|---|
|  | 77 | .S $P(^(0),U,2,4)="",$P(^RMPF(791810,RMPFX,10),U,2)="" | 
|---|
|  | 78 | .S X=$P(^RMPF(791812,RMPFBT,0),U,4),X=X+1,$P(^(0),U,4)=X | 
|---|
|  | 79 | I PT,$D(^RMPF(791812,RMPFBT,101,PT,0)) G BATCHE | 
|---|
|  | 80 | S X=RMPFX,DIC="^RMPF(791812,"_RMPFBT_",101,",DA(1)=RMPFBT,DIC(0)="L" | 
|---|
|  | 81 | S DLAYGO=791812 K DD,DO D ^DICN | 
|---|
|  | 82 | I Y=-1 W !!,$C(7),"*** NOT ADDED - CONTACT IRMS ***" G BATCHE | 
|---|
|  | 83 | COUNT S X=$P(^RMPF(791812,RMPFBT,0),U,4),X=X+1,$P(^(0),U,4)=X | 
|---|
|  | 84 | W !!?20,"*** ADDED TO TRANSMISSION BATCH *** " H 1 | 
|---|
|  | 85 | S DIE="^RMPF(791810,",DA=RMPFX,DR=".12////"_RMPFBT D ^DIE | 
|---|
|  | 86 | BATCHE L  K DIC,DA,DLAYGO,PT,X,Y,S1,I,%,DIE,D0,DQ,D,DI,DR,%DT,%X,%Y Q | 
|---|
|  | 87 | END K ED,MN,X,FX,RMPFBT,FY,O,S,Y,XX Q | 
|---|
|  | 88 | K RMPFLIS,RMPFLISD,RMPFSD,RMPFY,S0,S3 Q | 
|---|
|  | 89 | FORM W !!,"Print Form 10-2477a? NO// " D READ Q:$D(RMPFOUT) | 
|---|
|  | 90 | FORM1 I $D(RMPFQUT) W !!,"Enter a <Y> to print a 2477a, <N> or <RETURN> to exit." G FORM | 
|---|
|  | 91 | S:Y="" Y="N" S Y=$E(Y,1) I "YyNn"'[Y S RMPFQUT="" G FORM1 | 
|---|
|  | 92 | I "Yy"[Y S RMPFRTN="^RMPFQP3" D QUE^RMPFQP | 
|---|
|  | 93 | Q | 
|---|
|  | 94 | READ K RMPFOUT,RMPFQUT | 
|---|
|  | 95 | R Y:DTIME I '$T W $C(7) R Y:5 G READ:Y="." S:'$T Y=U | 
|---|
|  | 96 | I Y?1"^".E S (RMPFOUT,Y)="" Q | 
|---|
|  | 97 | S:Y?1"?".E (RMPFQUT,Y)="" | 
|---|
|  | 98 | Q | 
|---|