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.
|
---|