DBA Data[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