| [613] | 1 | PRCPUVEN ;WISC/RFJ-add,update,delete procurement sources            ;06 Oct 91
 | 
|---|
 | 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 | ADDVEN(INVPT,ITEMDA,VENDOR,UNITREC,PKGMULT,CONVFACT) ;  add procurement source
 | 
|---|
 | 8 |  ;  vendor=vendorda;prc(440,
 | 
|---|
 | 9 |  ;  vendor will be added if its not already there.
 | 
|---|
 | 10 |  ;  data will be updated if not null.
 | 
|---|
 | 11 |  I '$D(^PRCP(445,INVPT,1,ITEMDA,0)) Q
 | 
|---|
 | 12 |  N %,DATA,X,Y
 | 
|---|
 | 13 |  S Y=$O(^PRCP(445,INVPT,1,ITEMDA,5,"B",VENDOR,0))
 | 
|---|
 | 14 |  I 'Y D
 | 
|---|
 | 15 |  .   N DA,DIC,D0,DD,DLAYGO,DINUM,X
 | 
|---|
 | 16 |  .   S:'$D(^PRCP(445,INVPT,1,ITEMDA,5,0)) ^(0)="^445.07IV^^"
 | 
|---|
 | 17 |  .   S DIC="^PRCP(445,"_INVPT_",1,"_ITEMDA_",5,",X=VENDOR,DA(1)=ITEMDA,DA(2)=INVPT,DIC(0)="L",DLAYGO=445
 | 
|---|
 | 18 |  .   D FILE^DICN
 | 
|---|
 | 19 |  I '$D(^PRCP(445,INVPT,1,ITEMDA,5,+Y,0)) Q
 | 
|---|
 | 20 |  L +^PRCP(445,INVPT,1,ITEMDA,5,+Y)
 | 
|---|
 | 21 |  S DATA=^PRCP(445,INVPT,1,ITEMDA,5,+Y,0)
 | 
|---|
 | 22 |  I UNITREC S $P(DATA,"^",2)=UNITREC
 | 
|---|
 | 23 |  I PKGMULT S $P(DATA,"^",3)=PKGMULT
 | 
|---|
 | 24 |  I CONVFACT S $P(DATA,"^",4)=CONVFACT
 | 
|---|
 | 25 |  S ^PRCP(445,INVPT,1,ITEMDA,5,+Y,0)=DATA
 | 
|---|
 | 26 |  L -^PRCP(445,INVPT,1,ITEMDA,5,+Y)
 | 
|---|
 | 27 |  Q
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 |  ;
 | 
|---|
 | 30 | DELVEN(INVPT,ITEMDA,VENDORDA) ;  delete procurement sources
 | 
|---|
 | 31 |  ;  vendorda=entryda for procurement source
 | 
|---|
 | 32 |  I '$D(^PRCP(445,INVPT,1,ITEMDA,5,VENDORDA,0)) Q
 | 
|---|
 | 33 |  N %,DA,DIC,DIK,X,Y
 | 
|---|
 | 34 |  S DIK="^PRCP(445,"_INVPT_",1,"_ITEMDA_",5,",DA=VENDORDA,DA(1)=ITEMDA,DA(2)=INVPT
 | 
|---|
 | 35 |  D ^DIK
 | 
|---|
 | 36 |  Q
 | 
|---|
 | 37 |  ;
 | 
|---|
 | 38 |  ;
 | 
|---|
 | 39 | GETVEN(INVPT,ITEMDA,VENDOR,CONVFACT) ;  get procurement source data
 | 
|---|
 | 40 |  ;  vendor=vendor;prcp(445 or vendor;prc(440
 | 
|---|
 | 41 |  ;  if 'conv factor, convfact=convfact passed
 | 
|---|
 | 42 |  ;  returns procsource^unitrec^pkgmult^conv^entryda
 | 
|---|
 | 43 |  S %=+$O(^PRCP(445,INVPT,1,ITEMDA,5,"B",VENDOR,0)),Y=$G(^PRCP(445,INVPT,1,ITEMDA,5,%,0))
 | 
|---|
 | 44 |  I CONVFACT S:'$P(Y,"^",4) $P(Y,"^",4)=CONVFACT
 | 
|---|
 | 45 |  I 'Y Q Y
 | 
|---|
 | 46 |  S $P(Y,"^",5)=%
 | 
|---|
 | 47 |  Q Y
 | 
|---|