1 | PRCPEIPS ;WISC/RFJ-procurement sources edit ;01 Dec 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 | SOURCES(INVPT,ITEMDA) ; check/update procurement sources invpt itemda
|
---|
8 | I '$D(^PRCP(445,+INVPT,1,+ITEMDA,0)) Q
|
---|
9 | ;
|
---|
10 | N %,DATA,DIC,MANSRCE,TYPE,UP,UR,VENDA,VENDATA,VENDOR,Y
|
---|
11 | S TYPE=$P($G(^PRCP(445,+INVPT,0)),"^",3)
|
---|
12 | S IOP="HOME" D ^%ZIS K IOP W @IOF
|
---|
13 | ;
|
---|
14 | ; add procurement sources which should be there
|
---|
15 | W !!?5,"...adding ",$S(TYPE="S":"inventory points",1:"vendors from item master file")," as procurement sources"
|
---|
16 | ; for warehouse and primaries
|
---|
17 | I TYPE'="S" D
|
---|
18 | . S DIC="^PRC(440,"
|
---|
19 | . S VENDA=0 F S VENDA=$O(^PRC(441,ITEMDA,2,VENDA)) Q:'VENDA I '$$GETVEN^PRCPUVEN(INVPT,ITEMDA,VENDA_";PRC(440,",1) S Y=VENDA D SCREEN^PRCPUMAN(INVPT,ITEMDA,0) I $T D
|
---|
20 | . . W !?15,$P($G(^PRC(440,VENDA,0)),"^")," added" D ADDVEN^PRCPUVEN(INVPT,ITEMDA,VENDA_";PRC(440,","","","")
|
---|
21 | . . I $Y>(IOSL-2) D R^PRCPUREP W @IOF
|
---|
22 | ; secondaries
|
---|
23 | I TYPE="S" D
|
---|
24 | . S DIC="^PRCP(445,"
|
---|
25 | . S VENDA=0 F S VENDA=$O(^PRCP(445,"AB",INVPT,VENDA)) Q:'VENDA I '$$GETVEN^PRCPUVEN(INVPT,ITEMDA,VENDA_";PRCP(445,",1),$P($G(^PRCP(445,VENDA,0)),"^",3)="P",$D(^(2,INVPT,0)),$D(^PRCP(445,VENDA,1,ITEMDA,0)) D
|
---|
26 | . . W !?15,$P(^PRCP(445,VENDA,0),"^")," added" D ADDVEN^PRCPUVEN(INVPT,ITEMDA,VENDA_";PRCP(445,","","","")
|
---|
27 | . . I $Y>(IOSL-2) D R^PRCPUREP W @IOF
|
---|
28 | I $Y>(IOSL-2) D R^PRCPUREP W @IOF
|
---|
29 | ;
|
---|
30 | ; check procurement sources
|
---|
31 | W !!?5,"...checking currently stored procurement sources"
|
---|
32 | S VENDA=0 F S VENDA=$O(^PRCP(445,INVPT,1,ITEMDA,5,VENDA)) Q:'VENDA S DATA=^(VENDA,0) I DATA'="" D
|
---|
33 | . S VENDOR=$$VENNAME^PRCPUX1($P(DATA,"^")),DIC=$S($P(DATA,"^")["PRCP(445":"^PRCP(445,",1:"^PRC(440,")
|
---|
34 | . I $Y>(IOSL-6) D R^PRCPUREP W @IOF
|
---|
35 | . W !?15,VENDOR S Y=+$P(DATA,"^") D SCREEN^PRCPUMAN(INVPT,ITEMDA,0)
|
---|
36 | . I '$T W " deleted" D DELVEN^PRCPUVEN(INVPT,ITEMDA,VENDA) Q
|
---|
37 | . ;
|
---|
38 | . ; update data
|
---|
39 | . ; secondaries
|
---|
40 | . I TYPE="S" D Q
|
---|
41 | . . S VENDATA=$G(^PRCP(445,+$P(DATA,"^"),1,ITEMDA,0)),UP=$$UNITVAL^PRCPUX1($P(VENDATA,"^",14),$P(VENDATA,"^",5)," per ")
|
---|
42 | . . S UR=$$UNITVAL^PRCPUX1($P(DATA,"^",3),$P(DATA,"^",2)," per ")
|
---|
43 | . . W !?25,"UNIT per PURCHASE: ",UP,!?25,"UNIT per RECEIPT: ",UR
|
---|
44 | . . I UP'=UR,UP'["?" S $P(DATA,"^",3)=$P(VENDATA,"^",14),$P(DATA,"^",2)=$P(VENDATA,"^",5) W !?25,"*** UNIT per RECEIPT changed to UNIT per PURCHASE ***"
|
---|
45 | . . I '$P(DATA,"^",4) S %=$P(^PRCP(445,INVPT,1,ITEMDA,0),"^",14) S:'% %=1 S $P(DATA,"^",4)=($P(DATA,"^",3)/%)\1 S:'$P(DATA,"^",4) $P(DATA,"^",4)=1
|
---|
46 | . . W !?25,"CONVERSION FACTOR: ",$P(DATA,"^",4)
|
---|
47 | . . S ^PRCP(445,INVPT,1,ITEMDA,5,VENDA,0)=DATA
|
---|
48 | . ;
|
---|
49 | . ; for primary and warehouse
|
---|
50 | . S VENDATA=$G(^PRC(441,ITEMDA,2,+$P(DATA,"^"),0)),UP=$$UNITVAL^PRCPUX1($P(VENDATA,"^",8),$P(VENDATA,"^",7)," per ")
|
---|
51 | . S UR=$$UNITVAL^PRCPUX1($P(DATA,"^",3),$P(DATA,"^",2)," per ")
|
---|
52 | . W ?54,"LAST COST: ",$J($P(VENDATA,"^",2),0,3),!?25,"UNIT per PURCHASE: ",UP,!?25,"UNIT per RECEIPT : ",UR
|
---|
53 | . I UP'=UR,UP'["?" S $P(DATA,"^",3)=$P(VENDATA,"^",8),$P(DATA,"^",2)=$P(VENDATA,"^",7) W !?25,"*** UNIT per RECEIPT changed to UNIT per PURCHASE ***"
|
---|
54 | . I '$P(DATA,"^",4) S %=$P($G(^PRCP(445,INVPT,1,ITEMDA,0)),"^",14) S:'% %=1 S $P(DATA,"^",4)=($P(DATA,"^",3)/%)\1 S:'$P(DATA,"^",4) $P(DATA,"^",4)=1
|
---|
55 | . W !?25,"CONVERSION FACTOR: ",$P(DATA,"^",4)
|
---|
56 | . S ^PRCP(445,INVPT,1,ITEMDA,5,VENDA,0)=DATA
|
---|
57 | I $Y>(IOSL-3) D R^PRCPUREP W @IOF
|
---|
58 | ;
|
---|
59 | ; check mandatory source
|
---|
60 | W !!?5,"...checking mandatory source in the inventory point"
|
---|
61 | S MANSRCE=+$$MANDSRCE^PRCPU441(ITEMDA)
|
---|
62 | I TYPE="W",MANSRCE'=$O(^PRC(440,"AC","S",0)) D
|
---|
63 | . W !,"ITEM IS NOT SET UP AS POSTED STOCK. THE MANDATORY SOURCE IN THE ITEM MASTER",!,"FILE DOES NOT EQUAL THE WAREHOUSE VENDOR."
|
---|
64 | . D SETMAN^PRCPEIPU(INVPT,ITEMDA,"")
|
---|
65 | I TYPE="P",MANSRCE D SETMAN^PRCPEIPU(INVPT,ITEMDA,MANSRCE_";PRC(440,")
|
---|
66 | Q
|
---|