| 1 | PRCOESE1 ;WISC/DJM-IFCAP EDI POA SERVER INTERFACE, CONT. ; [8/31/98 2:03pm] | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | MSG ; ENTER MAILMAN MESSAGE INFORMING WHOMEVER ABOUT PROBLEMS WITH | 
|---|
| 5 | ; INCOMMING 'POA' TRANSACTION. | 
|---|
| 6 | ; | 
|---|
| 7 | N BB,II,L | 
|---|
| 8 | S XMSUB="IFCAP 'POA' for Purchase Order "_$G(CC) | 
|---|
| 9 | S XMDUZ="IFCAP 'POA' SERVER" | 
|---|
| 10 | F I=1:1:5 D XMZ^XMA2 Q:XMZ>0 | 
|---|
| 11 | I I=5,XMZ<1 Q  ;MIGHT NEED TO REDO 'GET^XMA2' IF I=5 AND THERE IS NO XMZ. | 
|---|
| 12 | I $G(ERR("SEG"))]"" S ^XMB(3.9,XMZ,2,1,0)="The "_A_" segment is not found in the POA transaction.",^XMB(3.9,XMZ,2,2,0)="Contact the EDI HELP DESK in Austin about this transaction.",L=3 G SEND | 
|---|
| 13 | I $G(ERR("STATION"))]"" S ^XMB(3.9,XMZ,2,1,0)="The "_STATION_" site listed in the POA transaction can not be found",^XMB(3.9,XMZ,2,2,0)="in the IFCAP ADMIN ACTIVITY SITE PARAMETER file.",L=3 G SEND | 
|---|
| 14 | I $G(ERR("RECORD"))]"" S ^XMB(3.9,XMZ,2,1,0)="Record "_CC_", "_$C(34)_"PHA"_$C(34)_", "_VENDOR_" was not found in file 443.75.",L=2 G SEND | 
|---|
| 15 | I $G(ERR("VENDOR"))]"" S ^XMB(3.9,XMZ,2,1,0)="Record "_CC_" does not have a VENDOR ID number.",L=2 G SEND | 
|---|
| 16 | S M1="" | 
|---|
| 17 | S L=1 | 
|---|
| 18 | F  S M1=$O(ERR(CC,M1)) Q:M1=""  I ERR(CC,M1)]"" D | 
|---|
| 19 | . I M1=0,$P(ERR(CC,M1),U)]"" S ^XMB(3.9,XMZ,2,L,0)="Purchase Order Acknowledgment "_CC_" was not found in the PO file.",L=L+1 | 
|---|
| 20 | . I M1>0,$P(ERR(CC,M1),U,2,99)]"" F II=2:1:13 S BB=$P(ERR(CC,M1),U,II) I BB]"" D | 
|---|
| 21 | . . I II=2 S ^XMB(3.9,XMZ,2,L,0)="Item "_M1_" was not found in PO "_CC_".",L=L+1 Q | 
|---|
| 22 | . . I II=3 S ^XMB(3.9,XMZ,2,L,0)="The Vendor Stock Number wasn't found in item "_M1_".",L=L+1 Q | 
|---|
| 23 | . . I II=5 S ^XMB(3.9,XMZ,2,L,0)="There is no quantity listed for item "_M1_".",L=L+1 Q | 
|---|
| 24 | . . I II=6 S ^XMB(3.9,XMZ,2,L,0)="There is no Unit of Purchase listed for item "_M1_".",L=L+1 Q | 
|---|
| 25 | . . I II=7 S ^XMB(3.9,XMZ,2,L,0)="There is no Unit Cost listed for item "_M1_".",L=L+1 Q | 
|---|
| 26 | . . I II=9 S ^XMB(3.9,XMZ,2,L,0)="The Vendor Stock Number from the POA doesn't match the one from item "_M1_".",L=L+1 Q | 
|---|
| 27 | . . I II=10 S ^XMB(3.9,XMZ,2,L,0)="The Quantity listed in the POA doesn't match the one listed in item "_M1_".",L=L+1 Q | 
|---|
| 28 | . . I II=11 S ^XMB(3.9,XMZ,2,L,0)="The Unit of Purchase listed in the POA doesn't match the one in item "_M1_".",L=L+1 Q | 
|---|
| 29 | . . I II=12 S ^XMB(3.9,XMZ,2,L,0)="The Unit Cost listed in the POA doesn't match the one in item "_M1_".",L=L+1 Q | 
|---|
| 30 | . . I II=13 S ^XMB(3.9,XMZ,2,L,0)="The POA for PO "_CC_" is missing a line item number.",L=L+1 Q | 
|---|
| 31 | . . Q | 
|---|
| 32 | . Q | 
|---|
| 33 | Q:L=1 | 
|---|
| 34 | ; | 
|---|
| 35 | SEND ; COME HERE TO SEND THE MAILMAN MESSAGE BUILT UP IN 'MSG' ABOVE. | 
|---|
| 36 | S L=L-1 | 
|---|
| 37 | S ^XMB(3.9,XMZ,2,0)="^3.9A^"_L_"^"_L_"^"_DT | 
|---|
| 38 | S XMDUN="IFCAP 'POA' PROBLEM" | 
|---|
| 39 | S X="G.EDP" | 
|---|
| 40 | D WHO^XMA21 | 
|---|
| 41 | S:'$L($O(XMY(""))) XMY(.5)="" | 
|---|
| 42 | S:$G(PPM)]"" XMY(PPM)="" | 
|---|
| 43 | D ENT1^XMD | 
|---|
| 44 | K XMY | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | BUL ; THIS BULLETIN WILL NOTIFY THAT A 'POA' TRANSACTION HAS ARRIVED | 
|---|
| 48 | ; FROM AUSTIN. | 
|---|
| 49 | N XMDUZ,XMB,DATE,X,Y,XMB,%,%DT | 
|---|
| 50 | S XMDUZ="POA Server Interface" | 
|---|
| 51 | S XMB="PRCOEDI ACKNOWLEDGE" | 
|---|
| 52 | D NOW^%DTC | 
|---|
| 53 | S Y=% | 
|---|
| 54 | S %DT="S" | 
|---|
| 55 | D DD^%DT | 
|---|
| 56 | S XMB(3)=$P(Y,"@") | 
|---|
| 57 | S XMB(4)=$P(Y,"@",2) | 
|---|
| 58 | S XMB(5)=CC | 
|---|
| 59 | S DATE=$P(LINE,U,5) | 
|---|
| 60 | S X1=$E(DATE,1,4)-1700_"0101" | 
|---|
| 61 | S X2=+$E(DATE,5,7)-1 | 
|---|
| 62 | D C^%DTC | 
|---|
| 63 | S Y=X_"."_$P(LINE,U,6) | 
|---|
| 64 | D DD^%DT | 
|---|
| 65 | S XMB(1)=Y | 
|---|
| 66 | S XMB(2)=$P(LINE,U,3) | 
|---|
| 67 | S XMY(PPM)="" | 
|---|
| 68 | D ^XMB | 
|---|
| 69 | Q | 
|---|
| 70 | ; | 
|---|
| 71 | DATE(DATE) ; THIS EXTRINSIC FUNCTION WILL RETURN THE DATE IN YYYYJJJ FORMAT | 
|---|
| 72 | ; WHERE YYYY IS 4 DIGIT YEAR AND JJJ IS THE DAY OF THE YEAR. | 
|---|
| 73 | ; | 
|---|
| 74 | ;  THE INPUT PARAMETER, DATE, IS THE DATE TO CONVERT ENTERED IN | 
|---|
| 75 | ;  VA FILEMAN FORMAT WITHOUT ANY TIME.  THE DATE MUST CONTAIN | 
|---|
| 76 | ;  YEAR, MONTH AND DAY. | 
|---|
| 77 | ; | 
|---|
| 78 | N X,%Y | 
|---|
| 79 | S X1=DATE | 
|---|
| 80 | S X2=$E(DATE,1,3)_"0101" | 
|---|
| 81 | D ^%DTC | 
|---|
| 82 | S X=X+1 | 
|---|
| 83 | S X="000"_X | 
|---|
| 84 | S X=$E(X,$L(X)-2,99) | 
|---|
| 85 | Q $E(DATE,1,3)+1700_X | 
|---|
| 86 | ; | 
|---|
| 87 | TEXT(ENTRY,M1,CC) ; HOW TO RETRIEVE TEXT OF ERROR LISTINGS AND INCLUDE IN | 
|---|
| 88 | ; THEM THE | 
|---|
| 89 | ; 'LINE ITEM NUMBER' ALONG WITH THE 'PURCHASE ORDER NUMBER' AS | 
|---|
| 90 | ; NEEDED. | 
|---|
| 91 | ; | 
|---|
| 92 | ; Call this entry as an EXTRINSIC FUNCTION call. | 
|---|
| 93 | ;    S AA=$$TEXT^PRCOESE1(ENTRY,M1,CC) | 
|---|
| 94 | ; | 
|---|
| 95 | ; On completion of function call AA will contain the text in PRCOER. | 
|---|
| 96 | ; | 
|---|
| 97 | ;    INPUT PARAMETERS              WHAT THEY MEAN | 
|---|
| 98 | ;       ENTRY            THE '^' SEPARATED PIECE THAT HAS A '*' | 
|---|
| 99 | ;                        FROM THE ERR(CC,B) ARRAY CREATED IN | 
|---|
| 100 | ;                        PRCOESE. | 
|---|
| 101 | ;        M1              THE 'B' FROM THE ARRAY.  THE 'LINE | 
|---|
| 102 | ;                        ITEM NUMBER' OF THE PO RECORD FROM THE | 
|---|
| 103 | ;                        'POA' TRANSACTION BEING ENTERED. | 
|---|
| 104 | ;        CC              THE 'PURCHASE ORDER NUMBER' FROM THE 'POA' | 
|---|
| 105 | ;                        TRANSACTION BEING ENTERED. | 
|---|
| 106 | ; | 
|---|
| 107 | ;    OUTPUT PARAMETER              WHAT IT MEANS | 
|---|
| 108 | ;       PRCOER           THIS IS THE TEXT FROM 'LINES' WITH 'M1' | 
|---|
| 109 | ;                        AND 'CC' REPLACED WITH THEIR VALUES. | 
|---|
| 110 | ; | 
|---|
| 111 | N PRCOER | 
|---|
| 112 | ; | 
|---|
| 113 | ; POINT TO THE CORRECT LOCATION FOR THE LINE WANTED. | 
|---|
| 114 | ; | 
|---|
| 115 | S PRCOER="" | 
|---|
| 116 | I ENTRY="" Q PRCOER | 
|---|
| 117 | ; | 
|---|
| 118 | ; GET THE TEXT WITHIN THE LINE. | 
|---|
| 119 | ; | 
|---|
| 120 | S PRCOER=$P($T(LINES+ENTRY),";;",2) | 
|---|
| 121 | ; | 
|---|
| 122 | ; NOW LETS RESOLVE ALL VARIAVLES WITHIN THE LINE TO ITS ACTUAL TEXT. | 
|---|
| 123 | ; START AFTER THE SECOND QUOTATION MARK (") AND REPLACE ALL VARIABLES | 
|---|
| 124 | ; WITH THE VALUE (TEXT) OF THE VARIABLE. | 
|---|
| 125 | ; | 
|---|
| 126 | I PRCOER["_M1_" S PRCOER=$P(PRCOER,"_M1_")_M1_$P(PRCOER,"_M1_",2) | 
|---|
| 127 | I PRCOER["_CC_" S PRCOER=$P(PRCOER,"_CC_")_CC_$P(PRCOER,"_CC_",2) | 
|---|
| 128 | Q PRCOER | 
|---|
| 129 | ; | 
|---|
| 130 | LINES ;Error messages | 
|---|
| 131 | ;; | 
|---|
| 132 | ;;Item _M1_ was not found in PO _CC_. | 
|---|
| 133 | ;;The Vendor Stock Number wasn't found in item _M1_. | 
|---|
| 134 | ;; | 
|---|
| 135 | ;;There is no quantity listed for item _M1_. | 
|---|
| 136 | ;;There is no Unit of Purchase listed for item _M1_. | 
|---|
| 137 | ;;There is no Unit Cost listed for item _M1_. | 
|---|
| 138 | ;; | 
|---|
| 139 | ;;The Vendor Stock Number from the POA doesn't match the one from item _M1_. | 
|---|
| 140 | ;;The Quantity listed in the POA doesn't match the one listed in item _M1_. | 
|---|
| 141 | ;;The Unit of Purchase listed in the POA doesn't match the one in item _M1_. | 
|---|
| 142 | ;;The Unit Cost listed in the POA doesn't match the one in item _M1_. | 
|---|
| 143 | ;;The POA for PO _CC_ is missing a line item number. | 
|---|