| 1 | PRCPAGSS ;WISC/RFJ-scheduled autogen secondary order build         ;01 Dec 92 | 
|---|
| 2 | V ;;5.1;IFCAP;**1**;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ; entry point for supply station secondaries | 
|---|
| 7 | SSS N PRCPSCHE | 
|---|
| 8 | S PRCPSCHE=1 | 
|---|
| 9 | D BUILD | 
|---|
| 10 | Q | 
|---|
| 11 | ; | 
|---|
| 12 | ; entry point for non-supply station secondaries | 
|---|
| 13 | NSS N PRCPSCHE | 
|---|
| 14 | S PRCPSCHE=2 | 
|---|
| 15 | D BUILD | 
|---|
| 16 | Q | 
|---|
| 17 | ; | 
|---|
| 18 | BUILD L +^TMP("PRCPSCHE",PRCPSCHE):0 I $T=0 QUIT  ; process already running | 
|---|
| 19 | N PRCP,PRCPDP,PRCPFONE,PRCPFNON,PRCPIP,PRCPSS,PRCPXMY | 
|---|
| 20 | N ITEM,XMB,XMDUZ,XMTEXT,XMY | 
|---|
| 21 | K ^TMP($J,"PRCPAGSS") | 
|---|
| 22 | S PRCPIP=0 | 
|---|
| 23 | I +$O(^PRCP(445,0))'>0 G QUIT | 
|---|
| 24 | F  S PRCPIP=$O(^PRCP(445,PRCPIP)) G BACKORD:+PRCPIP'>0  D | 
|---|
| 25 | . I '$D(^PRCP(445,PRCPIP,0)) QUIT | 
|---|
| 26 | . I $P($G(^PRCP(445,PRCPIP,0)),"^",3)'="S" QUIT | 
|---|
| 27 | . I $P($G(^PRCP(445,PRCPIP,0)),"^",1)["***INACTIVE_" QUIT | 
|---|
| 28 | . S PRCPSS=$P($G(^PRCP(445,PRCPIP,5)),"^",1) | 
|---|
| 29 | . I PRCPSS]"",PRCPSCHE'=1 QUIT | 
|---|
| 30 | . I PRCPSS']"",PRCPSCHE'=2 QUIT | 
|---|
| 31 | . S PRCPDP=$$FROMCHEK^PRCPUDPT(PRCPIP,0) | 
|---|
| 32 | . I $G(PRCPFNON)!'$G(PRCPFONE) QUIT  ; secondary must have only 1 supplier | 
|---|
| 33 | . S PRCP("I")=PRCPIP | 
|---|
| 34 | . K ^TMP($J,"PRCPAG") | 
|---|
| 35 | . S ^TMP($J,"PRCPAG","V",PRCPDP)=$$INVNAME^PRCPUX1(PRCPDP) | 
|---|
| 36 | . D START^PRCPAGS1 | 
|---|
| 37 | . I $P(PRCPSCHE,"^",2)']"" QUIT  ; successfully processed | 
|---|
| 38 | . I $P(PRCPSCHE,"^",2)'=4 D BLDLIST ; No order numbers left or FileMan can't generate record or nothing to be ordered | 
|---|
| 39 | . I $P(PRCPSCHE,"^",2)=4 S ^TMP($J,"PRCPAGSS",PRCPIP)="" ; IP in use | 
|---|
| 40 | . S PRCPSCHE=+PRCPSCHE ; remove error codes if set | 
|---|
| 41 | . QUIT | 
|---|
| 42 | ; | 
|---|
| 43 | ; process any IP's that were in use, if possible | 
|---|
| 44 | BACKORD S PRCPIP=0 | 
|---|
| 45 | I $O(^TMP($J,"PRCPAGSS",0))']"" G QUIT | 
|---|
| 46 | F  S PRCPIP=$O(^TMP($J,"PRCPAGSS",PRCPIP)) G QUIT:+PRCPIP'>0 D | 
|---|
| 47 | . I '$D(^PRCP(445,PRCPIP,0)) QUIT | 
|---|
| 48 | . S PRCPSS=$P($G(^PRCP(445,PRCPIP,5)),"^",1) | 
|---|
| 49 | . I PRCPSS]"",PRCPSCHE'=1 QUIT | 
|---|
| 50 | . I PRCPSS']"",PRCPSCHE'=2 QUIT | 
|---|
| 51 | . S PRCPDP=$$FROMCHEK^PRCPUDPT(PRCPIP,0) | 
|---|
| 52 | . I $G(PRCPFNON)!'$G(PRCPFONE) QUIT  ; secondary must have only 1 supplier | 
|---|
| 53 | . S PRCP("I")=PRCPIP | 
|---|
| 54 | . K ^TMP($J,"PRCPAG") | 
|---|
| 55 | . S ^TMP($J,"PRCPAG","V",PRCPDP)=$$INVNAME^PRCPUX1(PRCPDP) | 
|---|
| 56 | . D START^PRCPAGS1 | 
|---|
| 57 | . I $P(PRCPSCHE,"^",2)']"" QUIT  ; successfully processed | 
|---|
| 58 | . D BLDLIST | 
|---|
| 59 | . S PRCPSCHE=+PRCPSCHE ; remove error codes if set | 
|---|
| 60 | . QUIT | 
|---|
| 61 | ; | 
|---|
| 62 | BLDLIST D GETUSER^PRCPXTRM(PRCPIP) Q:'$O(PRCPXMY(""))  ; inventory point users | 
|---|
| 63 | S ITEM=0 | 
|---|
| 64 | ; restrict to managers | 
|---|
| 65 | F  S ITEM=$O(PRCPXMY(ITEM)) Q:ITEM'>0  I PRCPXMY(ITEM)=1 S XMY(ITEM)="" | 
|---|
| 66 | K ^TMP($J,"PRCPAGSSM") | 
|---|
| 67 | I $P(PRCPSCHE,"^",2)=1 S ^TMP($J,"PRCPAGSSM",1,1,0)="There are no available order numbers.  Please delete or post orders." | 
|---|
| 68 | I $P(PRCPSCHE,"^",2)=2 S ^TMP($J,"PRCPAGSSM",1,1,0)="The system was unable to add a new order." | 
|---|
| 69 | I $P(PRCPSCHE,"^",2)=3 S ^TMP($J,"PRCPAGSSM",1,1,0)="No items needed to be ordered." | 
|---|
| 70 | I $P(PRCPSCHE,"^",2)=4 S ^TMP($J,"PRCPAGSSM",1,1,0)="The inventory point was in use." | 
|---|
| 71 | S ^TMP($J,"PRCPAGSSM",1,0)=1 | 
|---|
| 72 | SEND S XMTEXT="^TMP($J,""PRCPAGSSM"",1," | 
|---|
| 73 | S XMB="PRCP_ORDER_NOT_GENERATED" | 
|---|
| 74 | S XMB(1)=$$INVNAME^PRCPUX1(PRCPIP) | 
|---|
| 75 | S XMDUZ="SCHEDULED ORDER BUILDER" | 
|---|
| 76 | D EN^XMB | 
|---|
| 77 | Q | 
|---|
| 78 | ; | 
|---|
| 79 | QUIT L -^TMP("PRCPSCHE",PRCPSCHE) | 
|---|
| 80 | K ^TMP($J,"PRCPAG"),^TMP($J,"PRCPAGSSM") | 
|---|
| 81 | QUIT | 
|---|