[613] | 1 | PRCPECPS ;WISC/RFJ-copy items from secondary to secondary;1/4/99 1440
|
---|
| 2 | V ;;5.1;IFCAP;**1**;Oct 20, 2000
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | D ^PRCPUSEL Q:'$G(PRCP("I"))
|
---|
| 5 | ;
|
---|
| 6 | I PRCP("DPTYPE")'="P" D Q
|
---|
| 7 | . W !,"THIS OPTION SHOULD ONLY BE USED BY A PRIMARY INVENTORY POINT."
|
---|
| 8 | ;
|
---|
| 9 | N A,D0,DA,DATA,DELETE,DI,DIC,DIE,DQ,DR,EACHONE,ITEMCNT,ITEMDA
|
---|
| 10 | N LASTONE,NUMBER,PIECE,PRCPINFR,PRCPINTO,PRCPFLVL,PRCPNL,PRCPSENT,VENDOR,X,Y,PRCPXX
|
---|
| 11 | ;
|
---|
| 12 | ASKFROM ; ask inventory point to copy from
|
---|
| 13 | K X S X(1)="Select the SECONDARY inventory point to copy FROM."
|
---|
| 14 | W ! D DISPLAY^PRCPUX2(1,40,.X)
|
---|
| 15 | S PRCPINFR=$$TO^PRCPUDPT(PRCP("I")) I 'PRCPINFR Q
|
---|
| 16 | S ITEMCNT=+$P($G(^PRCP(445,PRCPINFR,1,0)),"^",4) I 'ITEMCNT D G ASKFROM
|
---|
| 17 | . K X S X(1)="ERROR: THERE ARE NO ITEMS STORED IN THE INVENTORY POINT TO COPY."
|
---|
| 18 | . D DISPLAY^PRCPUX2(5,75,.X)
|
---|
| 19 | ;
|
---|
| 20 | W !?5,"Number of items currently stored: ",ITEMCNT
|
---|
| 21 | ;
|
---|
| 22 | ;
|
---|
| 23 | ASKTO ; ask inventory point to copy to
|
---|
| 24 | K X S X(1)="Select the SECONDARY inventory point to copy TO."
|
---|
| 25 | W ! D DISPLAY^PRCPUX2(1,40,.X)
|
---|
| 26 | S PRCPINTO=$$TO^PRCPUDPT(PRCP("I")) I 'PRCPINTO Q
|
---|
| 27 | ;
|
---|
| 28 | I PRCPINFR=PRCPINTO D G ASKTO
|
---|
| 29 | . K X
|
---|
| 30 | . S X(1)="ERROR: YOU CANNOT COPY ITEMS INTO THE SAME INVENTORY POINT."
|
---|
| 31 | . D DISPLAY^PRCPUX2(5,75,.X)
|
---|
| 32 | ;
|
---|
| 33 | I $P($G(^PRCP(445,PRCPINTO,0)),"^",2)="Y" D G ASKTO
|
---|
| 34 | . K X S X(1)="ERROR: THE SECONDARY INVENTORY POINT BEING COPIED TO CANNOT BE KEEPING A PERPETUAL INVENTORY."
|
---|
| 35 | . D DISPLAY^PRCPUX2(5,75,.X)
|
---|
| 36 | ;
|
---|
| 37 | I '$D(^PRCP(445,PRCPINTO,4,DUZ)) D G ASKTO
|
---|
| 38 | . K X S X(1)="ERROR: YOU ARE NOT AN AUTHORIZED USER FOR THIS INVENTORY POINT."
|
---|
| 39 | . D DISPLAY^PRCPUX2(5,75,.X)
|
---|
| 40 | ;
|
---|
| 41 | L +^PRCP(445,PRCPINTO,1):5 I '$T D SHOWWHO^PRCPULOC(445,PRCPINTO_"-1",0) Q
|
---|
| 42 | D ADD^PRCPULOC(445,PRCPINTO_"-1",0,"Item copying")
|
---|
| 43 | S ITEMCNT=+$P($G(^PRCP(445,PRCPINTO,1,0)),"^",4)
|
---|
| 44 | W !?5,"Number of items currently stored: ",ITEMCNT
|
---|
| 45 | S DELETE=0
|
---|
| 46 | I ITEMCNT D I 'DELETE G EXIT
|
---|
| 47 | . I $$ORDCHK^PRCPUITM(0,PRCPINTO,"RCE","") D S DELETE=2 QUIT
|
---|
| 48 | . . W !,$$INVNAME^PRCPUX1(PRCPINTO)," has outstanding orders. You may overwrite"
|
---|
| 49 | . . W !,"but cannot delete items already stored here."
|
---|
| 50 | . I DELETE=2 QUIT
|
---|
| 51 | . S XP="Since there are already items stored in the secondary inventory point you",XP(1)="are copying TO, do you want to delete ALL items before making the copy"
|
---|
| 52 | . S XH="Enter YES to remove ALL items from "_$$INVNAME^PRCPUX1(PRCPINTO)_".",XH(1)="Enter NO to OVERWRITE items currently stored in the inventory point.",XH(2)="Enter ^ to exit."
|
---|
| 53 | . W ! S DELETE=$$YN^PRCPUYN(2)
|
---|
| 54 | ;
|
---|
| 55 | ;
|
---|
| 56 | S PRCPFLVL=0
|
---|
| 57 | S XP="Do you want to copy the stock levels and reorder points"
|
---|
| 58 | S XH="Enter YES to copy the normal stock level, emergency stock level, standard"
|
---|
| 59 | S XH(1)="reorder point, and optional reorder point."
|
---|
| 60 | W ! I $$YN^PRCPUYN(2)=1 S PRCPFLVL=1
|
---|
| 61 | ;
|
---|
| 62 | K X S X(1)="Copying from: "_$$INVNAME^PRCPUX1(PRCPINFR)_" to: "_$$INVNAME^PRCPUX1(PRCPINTO)
|
---|
| 63 | W !! D DISPLAY^PRCPUX2(5,75,.X)
|
---|
| 64 | S XP="Are you sure you want to copy the items"
|
---|
| 65 | S XH="Enter YES to start copying the items, NO or ^ to exit."
|
---|
| 66 | I $$YN^PRCPUYN(2)'=1 G EXIT
|
---|
| 67 | ;
|
---|
| 68 | I $G(DELETE)=1 D
|
---|
| 69 | . W !!,"Deleting Items. . . ."
|
---|
| 70 | . ; S EACHONE=$$INPERCNT^PRCPUX2(ITEMCNT,"*",PRCP("RV1"),PRCP("RV0"))
|
---|
| 71 | . S ITEMDA=0
|
---|
| 72 | . F NUMBER=1:1 S ITEMDA=$O(^PRCP(445,PRCPINTO,1,ITEMDA)) Q:'ITEMDA D
|
---|
| 73 | . . D DELITEM^PRCPUITM(PRCPINTO,ITEMDA)
|
---|
| 74 | . . ; S LASTONE=$$SHPERCNT^PRCPUX2(NUMBER,EACHONE,"*",PRCP("RV1"),PRCP("RV0"))
|
---|
| 75 | . ; D QPERCNT^PRCPUX2(+$G(LASTONE),"*",PRCP("RV1"),PRCP("RV0"))
|
---|
| 76 | . W !,"Deletions complete",!
|
---|
| 77 | ;
|
---|
| 78 | W !!!,"Copying Items. . . ."
|
---|
| 79 | ; S EACHONE=$$INPERCNT^PRCPUX2(+$P($G(^PRCP(445,PRCPINFR,1,0)),"^",4),"*",PRCP("RV1"),PRCP("RV0"))
|
---|
| 80 | I '$D(^PRCP(445,PRCPINTO,1,0)) S ^(0)="^445.01IP^^"
|
---|
| 81 | S ITEMDA=0
|
---|
| 82 | F NUMBER=1:1 S ITEMDA=$O(^PRCP(445,PRCPINFR,1,ITEMDA)) Q:'ITEMDA S DATA=$G(^(ITEMDA,0)) I DATA'="" D
|
---|
| 83 | . ; S LASTONE=$$SHPERCNT^PRCPUX2(NUMBER,EACHONE,"*",PRCP("RV1"),PRCP("RV0"))
|
---|
| 84 | . I '$D(^PRCP(445,PRCPINTO,1,ITEMDA,0)) D ADDITEM(PRCPINTO,ITEMDA)
|
---|
| 85 | . I '$D(^PRCP(445,PRCPINTO,1,ITEMDA,0)) Q
|
---|
| 86 | . I $G(PRCPFLVL)>0 S PRCPNL=+$P(^PRCP(445,PRCPINTO,1,ITEMDA,0),"^",9)
|
---|
| 87 | . S DR="" F PIECE=5,14,15 I $P(DATA,"^",PIECE)'="" S DR=DR_$S(PIECE=5:4,PIECE=14:4.5,PIECE=15:4.7,1:PIECE)_"////"_$P(DATA,"^",PIECE)_";"
|
---|
| 88 | . I $G(PRCPFLVL)>0 F PIECE=4,9,10,11 I $P(DATA,"^",PIECE)'="" S DR=DR_$S(PIECE=4:10.3,1:PIECE)_"////"_$P(DATA,"^",PIECE)_";"
|
---|
| 89 | . I $P($G(^PRCP(445,PRCPINFR,1,ITEMDA,6)),"^")'="" S PRCPXX=$P(^(6),"^"),DR=DR_".7////^S X=PRCPXX"
|
---|
| 90 | . S (DIC,DIE)="^PRCP(445,"_PRCPINTO_",1,"
|
---|
| 91 | . S DA(1)=PRCPINTO,DA=ITEMDA
|
---|
| 92 | . D ^DIE
|
---|
| 93 | . S VENDOR=$$GETVEN^PRCPUVEN(PRCPINFR,ITEMDA,PRCP("I")_";PRCP(445,","")
|
---|
| 94 | . D ADDVEN^PRCPUVEN(PRCPINTO,ITEMDA,PRCP("I")_";PRCP(445,",$P(VENDOR,"^",2),$P(VENDOR,"^",3),$P(VENDOR,"^",4))
|
---|
| 95 | . I $P(DATA,"^",12)'="" D
|
---|
| 96 | . . S $P(^PRCP(445,PRCPINTO,1,ITEMDA,0),"^",12)=$P(DATA,"^",12)
|
---|
| 97 | . . S ^PRCP(445,PRCPINTO,1,"AC",$P(DATA,"^",12),ITEMDA)=""
|
---|
| 98 | . S PRCPSENT=0
|
---|
| 99 | . I $G(PRCPFLVL)>0,PRCPNL=0,$P(DATA,"^",9)>0 D
|
---|
| 100 | . . D BLDSEG^PRCPHLFM(1,ITEMDA,PRCPINTO) ; send transaction to supply station
|
---|
| 101 | . . S PRCPSENT=1
|
---|
| 102 | . I 'PRCPSENT,$P(^PRCP(445,PRCPINTO,1,ITEMDA,0),"^",9)>0 D BLDSEG^PRCPHLFM(3,ITEMDA,PRCPINTO) ; send item info to supply station
|
---|
| 103 | ; D QPERCNT^PRCPUX2(+$G(LASTONE),"*",PRCP("RV1"),PRCP("RV0"))
|
---|
| 104 | ;
|
---|
| 105 | W !!,"Copy Completed !"
|
---|
| 106 | EXIT D CLEAR^PRCPULOC(445,PRCPINTO_"-1",0)
|
---|
| 107 | L -^PRCP(445,PRCPINTO,1)
|
---|
| 108 | Q
|
---|
| 109 | ;
|
---|
| 110 | ;
|
---|
| 111 | ADDITEM(INVPT,ITEMDA) ; automatically adds item to inventory point
|
---|
| 112 | N DD,D0,DIC,DLAYGO,DA,DINUM,X,Y
|
---|
| 113 | S DIC="^PRCP(445,"_INVPT_",1,"
|
---|
| 114 | S DIC(0)="L",DLAYGO=445
|
---|
| 115 | S DA(1)=INVPT
|
---|
| 116 | S (X,DINUM)=ITEMDA
|
---|
| 117 | D FILE^DICN
|
---|
| 118 | Q
|
---|