| 1 | PRCHAMYD ;WISC/DJM/DXH - BULLETINS AND UPDATING FILE 441 ; 2/10/00 9:27am | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | OTHER ;NOW TO UPDATE OTHER FILES WITH THE NEW P.O. INFORMATION. | 
|---|
| 6 | ; | 
|---|
| 7 | N AUTH,TEST,PONO,VIP,XMB,XMDUZ,USR,XMY,IMF,IMFA,IMF1,IMF2 | 
|---|
| 8 | N OK,TITEM,EE,LL,LOOP,MGR,IP,XMTEXT,PRCPXMY | 
|---|
| 9 | S IMF=0 | 
|---|
| 10 | F  S IMF=$O(^PRC(442,PRCHPO,6,PRCHAM,3,"AC",21,1.5,IMF)) Q:IMF=""  D | 
|---|
| 11 | . S IMF1=$P($G(^PRC(442,PRCHPO,6,PRCHAM,3,IMF,0)),U,4) | 
|---|
| 12 | . S IMF2=$P($G(^PRC(442,PRCHPO,2,IMF1,0)),U,5) | 
|---|
| 13 | . ; | 
|---|
| 14 | . ;              OK, HERE IS THE ITEM MASTER FILE ENTRY FOR THIS | 
|---|
| 15 | . ;              ADDED ITEM.  NOW UPDATE ALL THE FIELDS IN THE IMF | 
|---|
| 16 | . ;              ENTRY FOR THIS ITEM THAT FIELD 1.5 BRINGS OVER. | 
|---|
| 17 | . ; | 
|---|
| 18 | . D EN3^PRCHCRD3 | 
|---|
| 19 | . Q | 
|---|
| 20 | K TITEM | 
|---|
| 21 | S IMF=0 | 
|---|
| 22 | F  S IMF=$O(^PRC(442,PRCHPO,6,PRCHAM,3,"AC",23,IMF)) Q:IMF=""  D | 
|---|
| 23 | . S IMFA=0 | 
|---|
| 24 | . F  S IMFA=$O(^PRC(442,PRCHPO,6,PRCHAM,3,"AC",23,IMF,IMFA)) Q:IMFA=""  D | 
|---|
| 25 | . . S IMF1=$P($G(^PRC(442,PRCHPO,6,PRCHAM,3,IMFA,0)),U,4) | 
|---|
| 26 | . . Q:$G(TITEM(IMF1))=1 | 
|---|
| 27 | . . S TITEM(IMF1)=1 | 
|---|
| 28 | . . Q:+$P($G(^PRC(442,PRCHPO,2,IMF1,0)),U,5)=0 | 
|---|
| 29 | . . ; | 
|---|
| 30 | . . ;            NOW, THIS IS AN ITEM THAT HAS BEEN EDITED. | 
|---|
| 31 | . . ;            THE ITEM HASN'T BEEN UPDATED YET AND IT HAS | 
|---|
| 32 | . . ;            AN ITEM MASTER FILE POINTER.  LETS UPDATE | 
|---|
| 33 | . . ;            FILE 441 FOR THE ITEM MASTER FILE ENTRY | 
|---|
| 34 | . . ;            FOUND IN THIS ITEM. | 
|---|
| 35 | . . ; | 
|---|
| 36 | . . D EN3^PRCHCRD3 | 
|---|
| 37 | . . Q | 
|---|
| 38 | . Q | 
|---|
| 39 | ; | 
|---|
| 40 | ; | 
|---|
| 41 | LOOKUP ; SEARCH THROUGH FILE 442, NODE 13 FOR 2237s | 
|---|
| 42 | ; | 
|---|
| 43 | ; IS THERE ANY 2237s ENTERED FOR THIS P.O. | 
|---|
| 44 | ; | 
|---|
| 45 | S LOOP=$G(^PRC(442,PRCHPO,13,0)) | 
|---|
| 46 | Q:LOOP="" | 
|---|
| 47 | ; | 
|---|
| 48 | ; NOW FIND OUT IF THERE IS AN INVENTORY POINT IN ANY 2237s | 
|---|
| 49 | ; | 
|---|
| 50 | S VIP=0 | 
|---|
| 51 | S LOOP=0 | 
|---|
| 52 | F  S LOOP=$O(^PRC(442,PRCHPO,13,LOOP)) Q:LOOP'>0  D | 
|---|
| 53 | .  S IP=$P($G(^PRC(442,PRCHPO,13,LOOP,0)),U,11) | 
|---|
| 54 | .  Q:IP="" | 
|---|
| 55 | .  Q:$$CHECK^PRCPCUT1(IP,1) | 
|---|
| 56 | .  S VIP=1 | 
|---|
| 57 | .  D GETUSER^PRCPXTRM(IP) | 
|---|
| 58 | .  Q:$D(PRCPXMY)=0 | 
|---|
| 59 | .  S MGR="" | 
|---|
| 60 | .  S USR=0 | 
|---|
| 61 | .  F  S USR=$O(PRCPXMY(USR)) Q:USR'>0  S:PRCPXMY(USR)=1 XMY(USR)="",MGR=1 | 
|---|
| 62 | .  ; | 
|---|
| 63 | .  ; FOUND CONTROL POINT MANAGER/S NOW STOP SEARCHING | 
|---|
| 64 | .  ; | 
|---|
| 65 | .  Q:MGR=1 | 
|---|
| 66 | .  ; | 
|---|
| 67 | .  ; LETS SEND TO ALL USERS IN CONTROL POINT THAT CAN USE | 
|---|
| 68 | .  ; INVENTORY POINT | 
|---|
| 69 | .  ; | 
|---|
| 70 | .  S USR=0 | 
|---|
| 71 | .  F  S USR=$O(PRCPXMY(USR)) Q:USR'>0  S XMY(USR)="" | 
|---|
| 72 | .  Q | 
|---|
| 73 | ; IF THERE IS A VALID INVENTORY POINT UPDATE ITS DUEINS | 
|---|
| 74 | ; | 
|---|
| 75 | I VIP=1 D | 
|---|
| 76 | .  S DA=PRCHPO | 
|---|
| 77 | .  D UPDATE^PRCPWIU | 
|---|
| 78 | .  Q | 
|---|
| 79 | ; | 
|---|
| 80 | ; SEE IF THERE ARE ANY USERS LISTED | 
|---|
| 81 | ; | 
|---|
| 82 | Q:$O(XMY(0))="" | 
|---|
| 83 | ; | 
|---|
| 84 | ; NOW LETS SET UP THE DISPLAY | 
|---|
| 85 | ; | 
|---|
| 86 | K ^TMP($J,"AMD"),LINE | 
|---|
| 87 | ; | 
|---|
| 88 | ; THIS CALL SETS UP THE DISPLAYED TEXT FOR ANY KIND OF AMENDMENT | 
|---|
| 89 | ; | 
|---|
| 90 | D START^PRCHAMY1(PRCHPO,PRCHAM) | 
|---|
| 91 | ; | 
|---|
| 92 | ; NOW COMBINE TEXT FROM BULLETIN AND TEXT FROM START^PRCHAMY1 | 
|---|
| 93 | ; | 
|---|
| 94 | S PONO=$P($G(^PRC(442,PRCHPO,0)),U,1) | 
|---|
| 95 | S ^TMP($J,"AMD",1,0)="" | 
|---|
| 96 | S XMTEXT="^TMP($J,""AMD"",1," | 
|---|
| 97 | S XMB(1)=PONO | 
|---|
| 98 | S:$G(IP)>0 XMB(2)=$P(^PRCP(445,IP,0),U) | 
|---|
| 99 | S XMB="PRC_IFCAP_CHANGE" | 
|---|
| 100 | S XMDUZ="IFCAP AMENDMENT CHANGE" | 
|---|
| 101 | W !  ;SPACE FOLLOWING MESSAGE FROM LAST MESSAGE | 
|---|
| 102 | D EN^XMB | 
|---|
| 103 | K ^TMP($J,"AMD"),LINE | 
|---|
| 104 | Q | 
|---|