[Home] [Help]
PACKAGE BODY: APPS.CLN_RESEND
Source
1 PACKAGE BODY CLN_RESEND AS
2 /* $Header: ECXRSNDB.pls 120.0 2006/06/05 07:20:24 susaha noship $ */
3 l_debug_level NUMBER;
4
5 -- Name
6 -- RESEND_DOC
7 -- Purpose
8 -- This procedure is called when resend button is clicked in the Collaboration HIstory
9 -- Forms.The main purpose is to resend the document from XML gateway.
10 -- Arguments
11 --
12 -- Notes
13 -- No specific notes.
14 PROCEDURE RESEND_DOC(
15 p_collaboration_id IN NUMBER )
16 IS
17 l_error_code NUMBER;
18 l_resend_count NUMBER;
19 l_dtl_coll_id NUMBER;
20 l_coll_dtl_id NUMBER;
21 l_return_status VARCHAR2(255);
22 l_error_msg VARCHAR2(255);
23 l_msg_data VARCHAR2(255);
24 l_debug_mode VARCHAR2(255);
25 l_xmlg_transaction_type VARCHAR2(100);
26 l_xmlg_transaction_subtype VARCHAR2(100);
27 l_xmlg_doc_id VARCHAR2(255);
28 l_xmlg_msgid VARCHAR2(255);
29 l_trading_partner VARCHAR2(30);
30 l_trading_partner_type VARCHAR2(10);
31 l_trading_partner_site VARCHAR2(30);
32 l_collaboration_doc_type VARCHAR2(100);
33 l_xml_event_key VARCHAR2(255);
34 NO_OUT_BOUND_DOCUMENT EXCEPTION;
35 BEGIN
36 -- Sets the debug mode to be FILE
37 --l_debug_mode :=cln_debug_pub.Set_Debug_Mode('FILE');
38 IF (l_Debug_Level <= 2) THEN
39 cln_debug_pub.Add('------ Entering RESEND_DOC API --------- ',2);
40 END IF;
41 IF (l_Debug_Level <= 1) THEN
42 cln_debug_pub.Add('Collaboration ID received -'||p_collaboration_id,1);
43 END IF;
44 -- Initialize API return status to success
45 l_msg_data := 'Requested Document successfully sent';
46 IF (l_Debug_Level <= 1) THEN
47 cln_debug_pub.Add('Before Sql Query - cln_coll_hist_hdr',1);
48 END IF;
49 BEGIN
50 SELECT resend_count
51 INTO l_resend_count
52 FROM cln_coll_hist_hdr
53 WHERE collaboration_id = p_collaboration_id;
54 IF (l_Debug_Level <= 1) THEN
55 cln_debug_pub.Add('After Sql Query - cln_coll_hist_hdr',1);
56 cln_debug_pub.Add('Resend Count -'||l_resend_count,1);
57 cln_debug_pub.Add('Before Sql Query - cln_coll_hist_dtl',1);
58 END IF;
59 EXCEPTION
60 WHEN OTHERS THEN
61 l_error_code :=SQLCODE;
62 l_error_msg :=SQLERRM;
63 l_msg_data :=l_error_code||' : '||l_error_msg;
64 -- Notifiy Administrator about the error
65 IF (l_Debug_Level <= 5) THEN
66 cln_debug_pub.Add(l_msg_data,6);
67 cln_debug_pub.Add('-------- Exiting RESEND_DOC API ------------- ',2);
68 RAISE NO_OUT_BOUND_DOCUMENT;
69 END IF;
70 RETURN;
71 END;
72 BEGIN
73 -- query modified by Rahul on 21Nov;2002.
74 SELECT COLLABORATION_DOCUMENT_TYPE, XMLG_MSG_ID, collaboration_dtl_id,
75 XMLG_TRANSACTION_TYPE, XMLG_TRANSACTION_SUBTYPE, XMLG_DOCUMENT_ID, XML_EVENT_KEY
76 INTO l_collaboration_doc_type,l_xmlg_msgid, l_coll_dtl_id,
77 l_xmlg_transaction_type, l_xmlg_transaction_subtype, l_xmlg_doc_id, l_xml_event_key
78 FROM CLN_COLL_HIST_DTL
79 WHERE
80 collaboration_dtl_id = (SELECT MAX(collaboration_dtl_id) FROM CLN_COLL_HIST_DTL
81 WHERE DOCUMENT_DIRECTION = 'OUT'
82 AND (XMLG_MSG_ID IS NOT NULL
83 OR (DOCUMENT_DIRECTION IS NOT NULL AND
84 XMLG_TRANSACTION_TYPE IS NOT NULL AND
85 XMLG_TRANSACTION_SUBTYPE IS NOT NULL AND
86 XMLG_DOCUMENT_ID IS NOT NULL)
87 )
88 AND COLLABORATION_ID = p_collaboration_id
89 AND COLLABORATION_DOCUMENT_TYPE <> 'CONFIRM_BOD');
90 EXCEPTION
91 WHEN OTHERS THEN
92 l_error_code :=SQLCODE;
93 l_error_msg :=SQLERRM;
94 l_msg_data :=l_error_code||' : '||l_error_msg;
95 -- Notifiy Administrator about the error
96 IF (l_Debug_Level <= 5) THEN
97 cln_debug_pub.Add(l_msg_data,6);
98 cln_debug_pub.Add('-------- Exiting RESEND_DOC API ------------- ',2);
99 RAISE NO_OUT_BOUND_DOCUMENT;
100 END IF;
101 RETURN;
102 END;
103 IF (l_Debug_Level <= 1) THEN
104 cln_debug_pub.Add('After Sql Query - cln_coll_hist_dtl',1);
105 cln_debug_pub.Add('--------- Parameters Obtained ----------------',1);
106 cln_debug_pub.Add('XMLG TRANSACTION TYPE -'||l_xmlg_transaction_type,1);
107 cln_debug_pub.Add('XMLG TRANSACTION SUB TYPE -'||l_xmlg_transaction_subtype,1);
108 cln_debug_pub.Add('XMLG DOCUMENT ID -'||l_xmlg_doc_id,1);
109 cln_debug_pub.Add('XMLG EVENT KEY -'||l_xml_event_key,1);
110 cln_debug_pub.Add('MSG ID -'||l_xmlg_msgid,1);
111 cln_debug_pub.Add('Collaboration Dtl ID -'||l_coll_dtl_id,1);
112 cln_debug_pub.Add('----------------------------------------------',1);
113 END IF;
114 IF l_xmlg_msgid IS NULL THEN
115 IF (l_Debug_Level <= 1) THEN
116 cln_debug_pub.Add('About to query xml message id ',2);
117 END IF;
118 BEGIN
119 SELECT MSGID
120 INTO l_xmlg_msgid
121 FROM ECX_DOCLOGS dlogs
122 WHERE dlogs.TRANSACTION_TYPE = l_xmlg_transaction_type AND
123 dlogs.TRANSACTION_SUBTYPE = l_xmlg_transaction_subtype AND
124 dlogs.DIRECTION = 'OUT' AND
125 dlogs.DOCUMENT_NUMBER = l_xmlg_doc_id AND
126 (event_key is null OR l_xml_event_key is null OR event_key = l_xml_event_key);
127 EXCEPTION
128 WHEN OTHERS THEN
129 l_error_code :=SQLCODE;
130 l_error_msg :=SQLERRM;
131 l_msg_data :=l_error_code||' : '||l_error_msg;
132 IF (l_Debug_Level <= 5) THEN
133 cln_debug_pub.Add(l_msg_data,6);
134 cln_debug_pub.Add('-------- Exiting RESEND_DOC API ------------- ',2);
135 RAISE NO_OUT_BOUND_DOCUMENT;
136 END IF;
137 RETURN;
138 END;
139 END IF;
140 IF (l_Debug_Level <= 1) THEN
141 cln_debug_pub.Add('About to call ECX_DOCUMENT.RESEND',2);
142 END IF;
143 BEGIN
144 ECX_DOCUMENT.RESEND(l_xmlg_msgid, l_error_code, l_error_msg);
145 EXCEPTION
146 WHEN OTHERS THEN
147 l_error_code :=SQLCODE;
148 l_error_msg :=SQLERRM;
149 l_msg_data :=l_error_code||' : '||l_error_msg;
150 -- Notifiy Administrator about the error
151 IF (l_Debug_Level <= 5) THEN
152 cln_debug_pub.Add(l_msg_data,6);
153 cln_debug_pub.Add('-------- Exiting RESEND_DOC API ------------- ',2);
154 RAISE NO_OUT_BOUND_DOCUMENT;
155 END IF;
156 RETURN;
157 END;
158 IF (l_Debug_Level <= 1) THEN
159 cln_debug_pub.Add('Error Code returned by ECX_DOCUMENT.RESEND -'||l_error_code,1);
160 cln_debug_pub.Add('Error Msg returned by ECX_DOCUMENT.RESEND -'||l_error_msg,1);
161 END IF;
162 IF (l_error_code = 0) THEN
163 l_resend_count := nvl(l_resend_count,0)+1;
164 IF (l_Debug_Level <= 1) THEN
165 cln_debug_pub.Add('----- Before calling Update Collaboration -------',1);
166 END IF;
167 CLN_CH_COLLABORATION_PKG.UPDATE_COLLABORATION(
168 x_return_status => l_return_status,
169 x_msg_data => l_msg_data,
170 p_coll_id => p_collaboration_id,
171 p_app_id => NULL,
172 p_ref_id => NULL,
173 p_rel_no => NULL,
174 p_doc_no => NULL,
175 p_doc_rev_no => NULL,
176 p_xmlg_transaction_type => NULL,
177 p_xmlg_transaction_subtype => NULL,
178 p_xmlg_document_id => NULL,
179 p_resend_flag => 'Y',
180 p_resend_count => l_resend_count,
181 p_disposition => NULL,
182 p_coll_status => 'RESENT',
183 p_doc_type => l_collaboration_doc_type,
184 p_doc_dir => NULL,
185 p_coll_pt => NULL,
186 p_org_ref => NULL,
187 p_doc_status => 'SUCCESS',
188 p_notification_id => NULL,
189 p_msg_text => 'CLN_CH_RESEND_MSG',
190 p_bsr_verb => NULL,
191 p_bsr_noun => NULL,
192 p_bsr_rev => NULL,
193 p_sdr_logical_id => NULL,
194 p_sdr_component => NULL,
195 p_sdr_task => NULL,
196 p_sdr_refid => NULL,
197 p_sdr_confirmation => NULL,
198 p_sdr_language => NULL,
199 p_sdr_codepage => NULL,
200 p_sdr_authid => NULL,
201 p_sdr_datetime_qualifier => NULL,
202 p_sdr_datetime => NULL,
203 p_sdr_timezone => NULL,
204 p_attr1 => NULL,
205 p_attr2 => NULL,
206 p_attr3 => NULL,
207 p_attr4 => NULL,
208 p_attr5 => NULL,
209 p_attr6 => NULL,
210 p_attr7 => NULL,
211 p_attr8 => NULL,
212 p_attr9 => NULL,
213 p_attr10 => NULL,
214 p_attr11 => NULL,
215 p_attr12 => NULL,
216 p_attr13 => NULL,
217 p_attr14 => NULL,
218 p_attr15 => NULL,
219 p_xmlg_msg_id => l_xmlg_msgid ,
220 p_unique1 => NULL,
221 p_unique2 => NULL,
222 p_unique3 => NULL,
223 p_unique4 => NULL,
224 p_unique5 => NULL,
225 p_tr_partner_type => NULL,
226 p_tr_partner_id => NULL,
227 p_tr_partner_site => NULL,
228 p_sender_component => NULL,
229 p_rosettanet_check_required => NULL,
230 x_dtl_coll_id => l_dtl_coll_id
231 );
232 IF (l_Debug_Level <= 1) THEN
233 cln_debug_pub.Add('COLLABORATION_DETAIL_ID got as ----'||l_dtl_coll_id, 1);
234 cln_debug_pub.Add('RETURN_STATUS got as ----'||l_return_status, 1);
235 cln_debug_pub.Add('MESSAGE_DATA got as ----'||l_msg_data, 1);
236 END IF;
237 END IF;
238 IF (l_Debug_Level <= 1) THEN
239 cln_debug_pub.Add(l_msg_data,1);
240 END IF;
241 IF (l_Debug_Level <= 2) THEN
242 cln_debug_pub.Add('-------- Exiting RESEND_DOC API ------------- ',2);
243 END IF;
244 -- Exception Handling
245 EXCEPTION
246 WHEN FND_API.G_EXC_ERROR THEN
247 l_error_code :=SQLCODE;
248 l_error_msg :=SQLERRM;
249 l_msg_data :=l_error_code||' : '||l_error_msg;
250 IF (l_Debug_Level <= 5) THEN
251 cln_debug_pub.Add(l_msg_data,4);
252 cln_debug_pub.Add('-------- Exiting RESEND_DOC API ------------- ',2);
253 END IF;
254 RAISE FND_API.G_EXC_ERROR ;
255 END RESEND_DOC;
256
257
258 BEGIN
259 l_debug_level := to_number(nvl(fnd_profile.value('CLN_DEBUG_LEVEL'), '5'));
260
261 END CLN_RESEND;
262