| [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
|
|---|