| [613] | 1 | PRCHMHL1 ;WISC/RWS-TRANSMIT HLS TRANS TO MAILMAN (CONTINUED) ;1/26/98 1100 | 
|---|
|  | 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
|  | 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | LOOKUP F  S X=$Q(@X),SEG=@X,SEGTYP=$E(SEG,1,2) Q:SEGTYP=""  D:"AC-CU-BI-ST-LC-ML-RE"[SEGTYP @SEGTYP Q:SEG["$"  S A=$F(X,"PRCF"),B=$E(X,A-4,999) I $P(B,",",2)'=PRCDA S ERR="Information in transaction is incomplete." Q | 
|---|
|  | 6 | Q | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | TABLE ;FIELD NAME LOOKUP TABLE  ;FIELD # WITHIN SEGMENT,POINTER TO FIELD NAME; | 
|---|
|  | 9 | AC ;;9,578;11,580;12,581;13,582 | 
|---|
|  | 10 | D FORMAT Q | 
|---|
|  | 11 | CU ;;2,512.2;3,512.1;4,512.3;5,512.4;6,512.5;8,512.7;9,512.8;10,512.9 | 
|---|
|  | 12 | D FORMAT Q | 
|---|
|  | 13 | BI ;;2,513.1;3,513.2;4,513.3;5,513.4;6,513.5;8,513.7;9,513.8;10,513.9 | 
|---|
|  | 14 | D FORMAT Q | 
|---|
|  | 15 | ST ;;2,514.1;3,514.2;4,514.3;5,514.4;6,514.5;8,514.7;9,514.8;10,514.9 | 
|---|
|  | 16 | D FORMAT Q | 
|---|
|  | 17 | LC ;; | 
|---|
|  | 18 | S IFNO=$P(SEG,U,3),LCNT=$P(SEG,U,2),IFNO=$E(IFNO,1,3)_"-"_$E(IFNO,4,99) | 
|---|
|  | 19 | S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)="" | 
|---|
|  | 20 | S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)=" The source for this document is IFCAP REQ # "_IFNO | 
|---|
|  | 21 | I '$O(^PRC(442,"B",IFNO,0)) S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)=" ****  THIS REQUISITION WAS NOT FOUND IN THE FILE ****" | 
|---|
|  | 22 | Q | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | ML K RSNS D:$G(TITLE)<1 TITLE S TITLE=TITLE-1,LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)="" | 
|---|
|  | 25 | S LIN=LIN+1,LIN2=LIN,NSN=$P(SEG,U,6) S:NSN NSN=$E(NSN,1,4)_"-"_$E(NSN,5,6)_"-"_$E(NSN,7,9)_"-"_$E(NSN,10,20) | 
|---|
|  | 26 | S ^XMB(3.9,XMZ,2,LIN,0)=$J($P(SEG,U,3),4)_$J($P(SEG,U,9),3)_" "_$J($P(SEG,U,10),3)_"   ORIG    "_$J($P(SEG,U,8),7)_"    "_$J($P(SEG,U,7),3)_" "_$S(NSN:NSN,1:"") | 
|---|
|  | 27 | I $P(SEG,U,11) S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)="              RLSD"_$J($P(SEG,U,11)/100,14,2) | 
|---|
|  | 28 | I $P(SEG,U,12) S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)="              B/O "_$J($P(SEG,U,12)/100,14,2) | 
|---|
|  | 29 | I $P(SEG,U,15) S LIN=LIN+1,NSN=$P(SEG,U,15),NSN=$E(NSN,1,4)_"-"_$E(NSN,5,6)_"-"_$E(NSN,7,9)_"-"_$E(NSN,10,20) | 
|---|
|  | 30 | S ^XMB(3.9,XMZ,2,LIN,0)="              SUBS "_$J($P(SEG,U,17),4)_$J($P(SEG,U,16)/100,9,2)_"    "_$S(NSN:NSN,1:"") | 
|---|
|  | 31 | I $P(SEG,U,4)'=""!$P(SEG,U,5) S Z=$G(^XMB(3.9,XMZ,2,LIN2,0)),Z=Z_$E(BLANKS,$L(Z)+1,54)_"ACCNT CODE/SUB: "_$P(SEG,U,4)_"/"_$P(SEG,U,5),^(0)=Z,LIN2=LIN2+1 | 
|---|
|  | 32 | I $P(SEG,U,13) S JDN=$P(SEG,U,13) D JDN S Z=$G(^XMB(3.9,XMZ,2,LIN2,0)),Z=Z_$E(BLANKS,$L(Z)+1,54)_"EST DEL DATE: "_JDF,^(0)=Z,LIN2=LIN2+1 | 
|---|
|  | 33 | I $P(SEG,U,14) S JDN=$P(SEG,U,14) D JDN S Z=$G(^XMB(3.9,XMZ,2,LIN2,0)),Z=Z_$E(BLANKS,$L(Z)+1,54)_"PROMISD DATE: "_JDF,^(0)=Z,LIN2=LIN2+1 | 
|---|
|  | 34 | I $P(SEG,U,21)'="" S Z=$G(^XMB(3.9,XMZ,2,LIN2,0)),Z=Z_$E(BLANKS,$L(Z)+1,54)_"ORIG WHSE: "_$P(SEG,U,21),^(0)=Z,LIN2=LIN2+1 | 
|---|
|  | 35 | I $P(SEG,U,22)'="" S Z=$G(^XMB(3.9,XMZ,2,LIN2,0)),Z=Z_$E(BLANKS,$L(Z)+1,54)_"UNIT PRICE: "_$J($P(SEG,U,22)/10000,9,4),^(0)=Z,LIN2=LIN2+1 | 
|---|
|  | 36 | I $P(SEG,U,23)'="" S Z=$G(^XMB(3.9,XMZ,2,LIN2,0)),Z=Z_$E(BLANKS,$L(Z)+1,54)_"EXTND PRICE: "_$J($P(SEG,U,23)/100,9,2),^(0)=Z,LIN2=LIN2+1 | 
|---|
|  | 37 | S LIN=$S(LIN2>LIN:LIN2,1:LIN)+1 | 
|---|
|  | 38 | I $P(SEG,U,2)="C" S ^XMB(3.9,XMZ,2,LIN,0)="              CANCELLED                         "_$P(SEG,U,19),LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)=$$MSG^PRCHMHL2($P(SEG,U,18)) | 
|---|
|  | 39 | I $P(SEG,U,2)="G" S ^XMB(3.9,XMZ,2,LIN,0)="              CHANGED",LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)=$$MSG^PRCHMHL2($P(SEG,U,17)) | 
|---|
|  | 40 | I $P(SEG,U,2)="A" S ^XMB(3.9,XMZ,2,LIN,0)="              ALLOCATED" | 
|---|
|  | 41 | Q | 
|---|
|  | 42 | ; | 
|---|
|  | 43 | RE S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)=$$MSG^PRCHMHL2($P(SEG,U,3)) | 
|---|
|  | 44 | Q | 
|---|
|  | 45 | ; | 
|---|
|  | 46 | FORMAT ;FORMAT MESSAGE LINES | 
|---|
|  | 47 | S Z=$T(@SEGTYP),Z=$P(Z,";;",2,99) F J=1:1 Q:$P(Z,";",J)=""  D | 
|---|
|  | 48 | .S PAIR=$P(Z,";",J),FLDIN=$P(PAIR,",",1),FLDOUT=$P(PAIR,",",2) | 
|---|
|  | 49 | .S DATA=$P(SEG,U,FLDIN) Q:DATA=""  S NAME=$S(FLDOUT?.A:FLDOUT,$D(^DD(423,FLDOUT,0)):$P(^(0),U),1:FLDOUT) | 
|---|
|  | 50 | .S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)="  The new "_NAME_$E("                    ",$L(NAME),20)_" is "_DATA_".  " | 
|---|
|  | 51 | Q | 
|---|
|  | 52 | ; | 
|---|
|  | 53 | TITLE S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)="",TITLE=10 | 
|---|
|  | 54 | S LIN=LIN+1,^XMB(3.9,XMZ,2,LIN,0)="Line F/K Subs Stat RsnCode  Qty  SKU     NSN      Comments/Reason Codes  " | 
|---|
|  | 55 | Q | 
|---|
|  | 56 | ; | 
|---|
|  | 57 | JDN ; CHANGE JULIAN DATE (JDN) TO DA-MON-YEAR (JDF) | 
|---|
|  | 58 | S YR=$E(JDN,1,4),DA=$E(JDN,5,7) | 
|---|
|  | 59 | S $P(DAYS,U,2)=$S(YR#400=0:29,(YR#4=0&(YR#100'=0)):29,1:28) | 
|---|
|  | 60 | F MO=1:1 S DA=DA-$P(DAYS,U,MO) Q:DA'>0 | 
|---|
|  | 61 | S DA=DA+$P(DAYS,U,MO),JDF=DA_" "_$P(MONS,U,MO)_" "_YR | 
|---|
|  | 62 | Q | 
|---|
|  | 63 | ; | 
|---|
|  | 64 | ERROR S ZTDTH="1H" D REQ^%ZTLOAD | 
|---|
|  | 65 | Q | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | MLERR S ERR="MAINTENANCE LINE ERROR" | 
|---|
|  | 68 | Q | 
|---|