[613] | 1 | PRCPUDPT ;WISC/RFJ-distribution point selection ;10 Sep 93
|
---|
| 2 | ;;5.1;IFCAP;;Oct 20, 2000
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | TO(INVPT) ; select the distr pt which invpt distributes stock TO
|
---|
| 8 | ; return da; 0 no item selected; ^ for ^ entered or timeout
|
---|
| 9 | I '$D(^PRCP(445,+INVPT,0)) Q ""
|
---|
| 10 | N %,C,DA,DIC,DISYS,DTOUT,DUOUT,I,PRCPPRIV,X,Y
|
---|
| 11 | S:'$D(^PRCP(445,INVPT,2,0)) ^(0)="^445.03PA^^"
|
---|
| 12 | S DIC="^PRCP(445,"_INVPT_",2,",DIC(0)="QEAM",DIC("W")="I $P($G(^PRCP(445,Y,0)),U,2)=""Y"" W ?60,""KEEP PERPETUAL INV""",DA=INVPT,PRCPPRIV=1
|
---|
| 13 | W ! D ^DIC
|
---|
| 14 | Q $S($G(DUOUT):"^",$G(DTOUT):"^",Y<1:0,1:+Y)
|
---|
| 15 | ;
|
---|
| 16 | ;
|
---|
| 17 | FROM(DISTRPT) ; select the inventory pt which distrpt receives stock FROM
|
---|
| 18 | ; return da; 0 no item selected; ^ for ^ entered or timeout
|
---|
| 19 | I '$D(^PRCP(445,+DISTRPT,0)) Q 0
|
---|
| 20 | N %,DIC,DTOUT,DUOUT,PRCPPRIV,TYPE,X,Y
|
---|
| 21 | S TYPE=$P(^PRCP(445,DISTRPT,0),"^",3)
|
---|
| 22 | S DIC="^PRCP(445,",DIC(0)="QEAM",DIC("S")="I $D(^PRCP(445,+Y,2,DISTRPT)),$P(^PRCP(445,+Y,0),U,3)="_$S(TYPE="P":"""W""",TYPE="S":"""P""",1:"""""")
|
---|
| 23 | S DIC("A")="Select "_$S(TYPE="P":"WAREHOUSE",TYPE="S":"PRIMARY",1:"")_" Inventory Distribution Point: ",PRCPPRIV=1
|
---|
| 24 | W ! D ^DIC
|
---|
| 25 | Q $S($G(DUOUT):"^",$G(DTOUT):"^",Y<1:0,1:+Y)
|
---|
| 26 | ;
|
---|
| 27 | ;
|
---|
| 28 | FROMCHEK(DISTRPT,SELECT) ; check to see if distrpt is stocked by none
|
---|
| 29 | ; or one inventory points
|
---|
| 30 | ; pass select=1 to ask for selection if stocked by more than one
|
---|
| 31 | ; return da if stocked by one, 0 otherwise
|
---|
| 32 | ; set variable prcpfone=1 if only stocked by one inventory pt
|
---|
| 33 | ; set variable prcpfnon=1 if not stocked by any inventory pts
|
---|
| 34 | K PRCPFONE,PRCPFNON
|
---|
| 35 | N %,DA,X
|
---|
| 36 | S X=0 F %=0:1 S X=$O(^PRCP(445,"AB",+DISTRPT,X)) Q:'X S DA=X
|
---|
| 37 | I '% S PRCPFNON=1 Q 0
|
---|
| 38 | I %=1 S PRCPFONE=1 Q DA
|
---|
| 39 | I 'SELECT Q 0
|
---|
| 40 | Q $$FROM(DISTRPT)
|
---|
| 41 | ;
|
---|
| 42 | ;
|
---|
| 43 | SPD(DISTRPT,SELECT) ; lookup and return only spd inventory point
|
---|
| 44 | ; distrpt=secondary invpt stocked by spd
|
---|
| 45 | ; select =ask for selection if set to 1
|
---|
| 46 | N SPD
|
---|
| 47 | S SPD=+$O(^PRCP(445,"ASPEC","S",0))
|
---|
| 48 | I '$D(^PRCP(445,SPD,2,+DISTRPT,0)) S SPD=""
|
---|
| 49 | I SPD="",SELECT Q $$FROMCHEK(DISTRPT,1)
|
---|
| 50 | I SPD="" Q 0
|
---|
| 51 | Q SPD
|
---|