DBA Data[Home] [Help]

PACKAGE BODY: APPS.CLN_CH_EVENT_SUBSCRIPTION_PKG

Source


1 PACKAGE BODY CLN_CH_EVENT_SUBSCRIPTION_PKG AS
2 /* $Header: ECXCHETB.pls 120.0 2005/08/25 04:44:07 nparihar noship $ */
3    l_debug_level        NUMBER := to_number(nvl(fnd_profile.value('CLN_DEBUG_LEVEL'), '5'));
4 --  Package
5 --      CLN_CH_EVENT_SUBSCRIPTION_PKG
6 --
7 --  Purpose
8 --      Body of package CLN_CH_EVENT_SUBSCRIPTION_PKG. This package
9 --      is called to create or update collaboration based on events raised./updated by calling this package.
10 --
11 
12    -- Name
13    --    CONVERT_TO_DATE
14    -- Purpose
15    --    This is internal procedure to convert the string into a date
16    --
17  FUNCTION CONVERT_TO_DATE(
18         p_string                 VARCHAR2
19    ) RETURN DATE
20    IS
21       l_date                     DATE;
22    BEGIN
23       l_date := NULL;
24       BEGIN
25         l_date := to_date(p_string,'YYYY/MM/DD HH24:MI:SS');
26       EXCEPTION
27          WHEN OTHERS THEN
28               BEGIN
29                  l_date := to_date(p_string,'YYYY/MM/DD');
30               EXCEPTION
31                  WHEN OTHERS THEN
32                     l_date := NULL;
33               END;
34       END;
35       RETURN l_date;
36  END;
37 
38 
39    -- Name
40    --    GET_REFERENCE_ID
41    -- Purpose
42    --    This is internal procedure to get the reference id from ecx_oag_controlarea_tp_v,
43    --    if not passed by the user
44    --
45    -- Arguments
46    --
47    -- Notes
48    --    No specific notes.
49 
50  FUNCTION GET_REFERENCE_ID(
51         p_event                 IN OUT NOCOPY WF_EVENT_T
52    ) RETURN VARCHAR2
53    IS
54       l_evt_parameters               wf_parameter_list_t;
55       l_ref_id                          VARCHAR2(250);
56       l_context                         VARCHAR2(500);
57       l_wf_item_type                    VARCHAR2(250);
58       l_wf_item_key                     VARCHAR2(250);
59       l_ecx_msg_event                   wf_event_t;
60       l_from_system                     VARCHAR2(250);
61 
62    BEGIN
63       IF (l_Debug_Level <= 2) THEN
64               ecx_cln_debug_pub.Add('============ENTERING GET_REFERENCE_ID===============', 2);
65       END IF;
66 
67       l_evt_parameters           := p_event.getParameterList();
68       l_context                  := WF_EVENT.getValueForParameter('#CONTEXT',l_evt_parameters);
69       IF (l_context IS NULL) THEN
70           IF (l_Debug_Level <= 1) THEN
71                   ecx_cln_debug_pub.Add('context is null', 1);
72           END IF;
73 
74           RETURN NULL;
75       END IF;
76       l_wf_item_type             := rtrim(ltrim(SUBSTR(l_context, 1, INSTR(l_context, ':') - 1)));
77       IF (l_Debug_Level <= 1) THEN
78               ecx_cln_debug_pub.Add('Item type got as '||l_wf_item_type , 1);
79       END IF;
80 
81       l_wf_item_key              := rtrim(ltrim(SUBSTR(l_context, INSTR(l_context, ':') + 1)));
82       IF (l_Debug_Level <= 1) THEN
83               ecx_cln_debug_pub.Add('Item key  got as '||l_wf_item_key , 1);
84       END IF;
85 
86       l_ecx_msg_event            := wf_engine.GetItemAttrEvent(l_wf_item_type,l_wf_item_key,'ECX_EVENT_MESSAGE');
87       IF (l_Debug_Level <= 1) THEN
88               ecx_cln_debug_pub.Add('Event is obtained' , 1);
89       END IF;
90 
91 
92         if l_ecx_msg_event.from_agent is not null
93         then
94                 l_from_system := l_ecx_msg_event.from_agent.system;
95         else
96                 l_from_system := wf_event.local_system_name;
97         end if;
98 
99       IF (l_Debug_Level <= 1) THEN
100               ecx_cln_debug_pub.Add('System name : ' || l_from_system, 1);
101       END IF;
102 
103 
104       IF (l_Debug_Level <= 1) THEN
105               ecx_cln_debug_pub.Add('Event name : ' || l_ecx_msg_event.GetEventName , 1);
106               ecx_cln_debug_pub.Add('Event key : ' || l_ecx_msg_event.GetEventKey, 1);
107       END IF;
108 
109       l_ref_id                   := l_from_system|| ':'
110                                     || l_ecx_msg_event.GetEventName || ':'
111                                     || l_ecx_msg_event.GetEventKey;
112       IF (l_Debug_Level <= 1) THEN
113               ecx_cln_debug_pub.Add('Reference ID fetched as - ' || l_ref_id, 1);
114       END IF;
115 
116       IF( instr(l_ref_id,'::') > 0 ) THEN  -- If the reference id got is invalid then don't use it
117           IF (l_Debug_Level <= 1) THEN
118                   ecx_cln_debug_pub.Add('Reference ID seems Invalid, so setting it to null', 1);
119           END IF;
120 
121           l_ref_id := null;
122       END IF;
123       IF (l_Debug_Level <= 2) THEN
124               ecx_cln_debug_pub.Add('============EXITING GET_REFERENCE_ID===============', 2);
125       END IF;
126 
127       return l_ref_id;
128    EXCEPTION
129           WHEN OTHERS THEN
130                 IF (l_Debug_Level <= 2) THEN
131                         ecx_cln_debug_pub.Add('============EXITING GET_REFERENCE_ID===============', 2);
132                 END IF;
133 
134                 return NULL;
135    END;
136 
137    -- Name
138    --    CREATE_EVENT_SUB
139    -- Purpose
140    --    This is the public procedure which is used to get the parameters for the create
141    --    collaboration event.This procedure in turn calls CREATE_COLLABORATION API.
142    --
143    -- Arguments
144    --
145    -- Notes
146    --    No specific notes.
147 
148    FUNCTION CREATE_EVENT_SUB(
149         p_subscription_guid             IN RAW,
150         p_event                         IN OUT NOCOPY WF_EVENT_T
151    ) RETURN VARCHAR2
152    IS
153       l_cln_ch_parameters               wf_parameter_list_t;
154 
155       l_ref_id                          VARCHAR2(100);
156       l_xmlg_transaction_type           VARCHAR2(100);
157       l_xmlg_transaction_subtype        VARCHAR2(100);
158       l_xmlg_int_transaction_type       VARCHAR2(100);
159       l_xmlg_int_transaction_subtype    VARCHAR2(100);
160       l_xmlg_msg_id                     VARCHAR2(100);
161       l_xmlg_internal_control_number    VARCHAR2(100);
162       l_coll_type                       VARCHAR2(100);
163       l_doc_type                        VARCHAR2(100);
164 
165       l_xmlg_document_id                VARCHAR2(256);
166       l_error_msg                       VARCHAR2(255);
167       l_debug_mode                      VARCHAR2(255);
168       l_return_status                   VARCHAR2(255);
169       l_doc_no                          VARCHAR2(255);
170       l_partner_doc_no                  VARCHAR2(255);
171       l_sender_protocol                 VARCHAR2(240);
172       l_rosettanet_check_required       VARCHAR2(240);
173       l_xml_event_key                   VARCHAR2(240);
174       l_subscriber_list                 VARCHAR2(1000);
175       l_msg_data                        VARCHAR2(2000);
176       l_msg_text                        VARCHAR2(2000);
177 
178       l_resend_flag                     VARCHAR2(1);
179       l_doc_dir                         VARCHAR2(3);
180 
181       l_app_id                          VARCHAR2(10);
182       l_rel_no                          VARCHAR2(10);
183       l_doc_rev_no                      VARCHAR2(10);
184       l_tr_partner_type                 VARCHAR2(10);
185       l_coll_pt                         VARCHAR2(20);
186 
187       l_collaboration_standard          VARCHAR2(30);
188       l_doc_owner                       VARCHAR2(30);
189       l_owner_role                      VARCHAR2(30);
190       l_tr_partner_id                   VARCHAR2(30);
191       l_tr_partner_site                 VARCHAR2(30);
192       l_unique1                         VARCHAR2(30);
193       l_unique2                         VARCHAR2(30);
194       l_unique3                         VARCHAR2(30);
195       l_unique4                         VARCHAR2(30);
196       l_unique5                         VARCHAR2(30);
197 
198       l_attribute1                      VARCHAR2(150);
199       l_attribute2                      VARCHAR2(150);
200       l_attribute3                      VARCHAR2(150);
201       l_attribute4                      VARCHAR2(150);
202       l_attribute5                      VARCHAR2(150);
203       l_attribute6                      VARCHAR2(150);
204       l_attribute7                      VARCHAR2(150);
205       l_attribute8                      VARCHAR2(150);
206       l_attribute9                      VARCHAR2(150);
207       l_attribute10                     VARCHAR2(150);
208       l_attribute11                     VARCHAR2(150);
209       l_attribute12                     VARCHAR2(150);
210       l_attribute13                     VARCHAR2(150);
211       l_attribute14                     VARCHAR2(150);
212       l_attribute15                     VARCHAR2(150);
213 
214       l_error_code                      NUMBER;
215       l_org_id                          NUMBER;
216       l_resend_count                    NUMBER;
217       l_coll_id                         NUMBER;
218 
219       l_dattribute1                     DATE;
220       l_dattribute2                     DATE;
221       l_dattribute3                     DATE;
222       l_dattribute4                     DATE;
223       l_dattribute5                     DATE;
224       l_init_date                       DATE;
225       l_doc_creation_date               DATE;
226       l_doc_revision_date               DATE;
227 
228       l_rosettanet_check_required_b     BOOLEAN;
229 
230 
231    BEGIN
232       -- Sets the debug mode to be FILE
233       --l_debug_mode := ecx_cln_debug_pub.Set_Debug_Mode('FILE');
234 
235       IF (l_Debug_Level <= 2) THEN
236               ecx_cln_debug_pub.Add('==========ENTERING CLN_CREATE_EVENT_SUB===========', 2);
237       END IF;
238 
239       l_cln_ch_parameters           := p_event.getParameterList();
240 
241       IF (l_Debug_Level <= 1) THEN
242               ecx_cln_debug_pub.Add('----------- PARAMETERS OBTAINED ----------', 1);
243       END IF;
244 
245 
246       l_subscriber_list:= WF_EVENT.getValueForParameter('SUBSCRIBER_LIST',l_cln_ch_parameters);
247       IF (l_Debug_Level <= 1) THEN
248               ecx_cln_debug_pub.Add('Subscriber List                 ----'||l_subscriber_list, 1);
249       END IF;
250 
251       IF(l_subscriber_list is not null and instr(l_subscriber_list,'CLN') = 0) THEN
252               IF (l_Debug_Level <= 1) THEN
253                 ecx_cln_debug_pub.Add('Subscriber list is not null and CLN is not there in the list', 1);
254               END IF;
255               RETURN 'SUCCESS'; -- No need to consume this event
256            END IF;
257 
258 
259       l_xmlg_msg_id                 := WF_EVENT.getValueForParameter('XMLG_MESSAGE_ID',l_cln_ch_parameters);
260       l_xmlg_msg_id                 := replace(l_xmlg_msg_id,'.',''); -- There is an issue with Workflow
261       IF (l_Debug_Level <= 1) THEN
262               ecx_cln_debug_pub.Add('XMLG Message ID                 ----'||l_xmlg_msg_id, 1);
263       END IF;
264 
265 
266       l_xmlg_internal_control_number:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_CONTROL_NUMBER',l_cln_ch_parameters);
267       IF (l_Debug_Level <= 1) THEN
268               ecx_cln_debug_pub.Add('XMLG Internal Control Number    ----'||l_xmlg_internal_control_number, 1);
269       END IF;
270 
271 
272       l_xmlg_transaction_type       := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_TYPE',l_cln_ch_parameters);
273       IF (l_Debug_Level <= 1) THEN
274               ecx_cln_debug_pub.Add('XMLG Ext Transaction Type       ----'||l_xmlg_transaction_type, 1);
275       END IF;
276 
277 
278       l_xmlg_transaction_subtype    := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_SUBTYPE',l_cln_ch_parameters);
279       IF (l_Debug_Level <= 1) THEN
280               ecx_cln_debug_pub.Add('XMLG Ext Transaction Sub Type   ----'||l_xmlg_transaction_subtype, 1);
281       END IF;
282 
283 
284       l_xmlg_int_transaction_type   := WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_TYPE',l_cln_ch_parameters);
285       IF (l_Debug_Level <= 1) THEN
286               ecx_cln_debug_pub.Add('XMLG Int Transaction Type       ----'||l_xmlg_int_transaction_type, 1);
287       END IF;
288 
289 
290       l_xmlg_int_transaction_subtype:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_SUBTYPE',l_cln_ch_parameters);
291       IF (l_Debug_Level <= 1) THEN
292               ecx_cln_debug_pub.Add('XMLG Int Transaction Sub Type   ----'||l_xmlg_int_transaction_subtype, 1);
293       END IF;
294 
295 
296       l_xmlg_document_id            := WF_EVENT.getValueForParameter('XMLG_DOCUMENT_ID',l_cln_ch_parameters);
297       IF (l_Debug_Level <= 1) THEN
298               ecx_cln_debug_pub.Add('XMLG Document ID                ----'||l_xmlg_document_id, 1);
299       END IF;
300 
301 
302       l_doc_dir                     := WF_EVENT.getValueForParameter('DOCUMENT_DIRECTION',l_cln_ch_parameters);
303       IF (l_Debug_Level <= 1) THEN
304               ecx_cln_debug_pub.Add('Document Direction              ----'||l_doc_dir, 1);
305       END IF;
306 
307 
308       l_tr_partner_type             := WF_EVENT.getValueForParameter('TRADING_PARTNER_TYPE',l_cln_ch_parameters);
309       IF (l_Debug_Level <= 1) THEN
310               ecx_cln_debug_pub.Add('Trading Partner Type            ----'||l_tr_partner_type, 1);
311       END IF;
312 
313 
314       l_tr_partner_id               := WF_EVENT.getValueForParameter('TRADING_PARTNER_ID',l_cln_ch_parameters);
315       IF (l_Debug_Level <= 1) THEN
316               ecx_cln_debug_pub.Add('Trading Partner ID              ----'||l_tr_partner_id, 1);
317       END IF;
318 
319 
320       l_tr_partner_site             := WF_EVENT.getValueForParameter('TRADING_PARTNER_SITE',l_cln_ch_parameters);
321       IF (l_Debug_Level <= 1) THEN
322               ecx_cln_debug_pub.Add('Trading Partner Site            ----'||l_tr_partner_site, 1);
323       END IF;
324 
325 
326       l_sender_protocol             := WF_EVENT.getValueForParameter('SENDER_COMPONENT',l_cln_ch_parameters);
327       IF (l_Debug_Level <= 1) THEN
328               ecx_cln_debug_pub.Add('Sender Protocol                 ----'||l_sender_protocol, 1);
329       END IF;
330 
331 
332       l_ref_id                      := WF_EVENT.getValueForParameter('REFERENCE_ID',l_cln_ch_parameters);
333       IF (l_Debug_Level <= 1) THEN
334               ecx_cln_debug_pub.Add('Reference ID                    ----'||l_ref_id, 1);
335       END IF;
336 
337 
338       l_doc_no                      := WF_EVENT.getValueForParameter('DOCUMENT_NO',l_cln_ch_parameters);
339       IF (l_Debug_Level <= 1) THEN
340               ecx_cln_debug_pub.Add('Document Number                 ----'||l_doc_no, 1);
341       END IF;
342 
343 
344       l_org_id                      := To_Number(WF_EVENT.getValueForParameter('ORG_ID',l_cln_ch_parameters));
345       IF (l_Debug_Level <= 1) THEN
346               ecx_cln_debug_pub.Add('Org ID                          ----'||l_org_id, 1);
347       END IF;
348 
349 
350       l_rel_no                      := WF_EVENT.getValueForParameter('RELEASE_NO',l_cln_ch_parameters);
351       IF (l_Debug_Level <= 1) THEN
352               ecx_cln_debug_pub.Add('Release Number                  ----'||l_rel_no, 1);
353       END IF;
354 
355 
356       l_doc_rev_no                  := WF_EVENT.getValueForParameter('DOCUMENT_REVISION_NO',l_cln_ch_parameters);
357       IF (l_Debug_Level <= 1) THEN
358               ecx_cln_debug_pub.Add('Document Revision Number        ----'||l_doc_rev_no, 1);
359       END IF;
360 
361 
362       l_partner_doc_no              := WF_EVENT.getValueForParameter('PARTNER_DOCUMENT_NO',l_cln_ch_parameters);
363       IF (l_Debug_Level <= 1) THEN
364               ecx_cln_debug_pub.Add('Partner Document No             ----'||l_partner_doc_no, 1);
365       END IF;
366 
367 
368       l_resend_count                := To_Number(WF_EVENT.getValueForParameter('RESEND_COUNT',l_cln_ch_parameters));
369       IF (l_Debug_Level <= 1) THEN
370               ecx_cln_debug_pub.Add('Resend Count                    ----'||l_resend_count, 1);
371       END IF;
372 
373 
374       l_doc_creation_date           := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DOCUMENT_CREATION_DATE',l_cln_ch_parameters));
375       IF (l_Debug_Level <= 1) THEN
376               ecx_cln_debug_pub.Add('Document Creation Date          ----'||l_doc_creation_date, 1);
377       END IF;
378 
379 
380       l_doc_revision_date           := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DOCUMENT_REVISION_DATE',l_cln_ch_parameters));
381       IF (l_Debug_Level <= 1) THEN
382               ecx_cln_debug_pub.Add('Document Revision Date          ----'||l_doc_revision_date, 1);
383       END IF;
384 
385 
386       l_coll_pt                     := WF_EVENT.getValueForParameter('COLLABORATION_POINT',l_cln_ch_parameters);
387       IF (l_Debug_Level <= 1) THEN
388               ecx_cln_debug_pub.Add('Collaboration Point             ----'||l_coll_pt, 1);
389       END IF;
390 
391 
392       l_unique1                     := WF_EVENT.getValueForParameter('UNIQUE_ID1',l_cln_ch_parameters);
393       IF (l_Debug_Level <= 1) THEN
394               ecx_cln_debug_pub.Add('Unique ID1                      ----'||l_unique1, 1);
395       END IF;
396 
397 
398       l_unique2                     := WF_EVENT.getValueForParameter('UNIQUE_ID2',l_cln_ch_parameters);
399       IF (l_Debug_Level <= 1) THEN
400               ecx_cln_debug_pub.Add('Unique ID2                      ----'||l_unique2, 1);
401       END IF;
402 
403       l_unique3                     := WF_EVENT.getValueForParameter('UNIQUE_ID3',l_cln_ch_parameters);
404       IF (l_Debug_Level <= 1) THEN
405               ecx_cln_debug_pub.Add('Unique ID3                      ----'||l_unique3, 1);
406       END IF;
407 
408       l_unique4                     := WF_EVENT.getValueForParameter('UNIQUE_ID4',l_cln_ch_parameters);
409       IF (l_Debug_Level <= 1) THEN
410               ecx_cln_debug_pub.Add('Unique ID4                      ----'||l_unique4, 1);
411       END IF;
412 
413       l_unique5                     := WF_EVENT.getValueForParameter('UNIQUE_ID5',l_cln_ch_parameters);
414       IF (l_Debug_Level <= 1) THEN
415               ecx_cln_debug_pub.Add('Unique ID5                      ----'||l_unique5, 1);
416       END IF;
417 
418       l_rosettanet_check_required   := WF_EVENT.getValueForParameter('ROSETTANET_CHECK_REQUIRED',l_cln_ch_parameters);
419       IF (l_Debug_Level <= 1) THEN
420               ecx_cln_debug_pub.Add('Rosettanet Check Required       ----'||l_rosettanet_check_required, 1);
421       END IF;
422 
423       l_doc_owner                   := To_Number(WF_EVENT.getValueForParameter('DOCUMENT_OWNER',l_cln_ch_parameters));
424       IF (l_Debug_Level <= 1) THEN
425               ecx_cln_debug_pub.Add('Document Owner                  ----'||l_doc_owner, 1);
426       END IF;
427 
428       l_owner_role                  := WF_EVENT.getValueForParameter('OWNER_ROLE',l_cln_ch_parameters);
429       IF (l_Debug_Level <= 1) THEN
430               ecx_cln_debug_pub.Add('Owner Role                      ----'||l_owner_role, 1);
431       END IF;
432 
433       l_msg_text                    := WF_EVENT.getValueForParameter('MESSAGE_TEXT',l_cln_ch_parameters);
434       IF (l_Debug_Level <= 1) THEN
435               ecx_cln_debug_pub.Add('Message Text                    ----'||l_msg_text, 1);
436       END IF;
437 
438       l_collaboration_standard      := WF_EVENT.getValueForParameter('COLLABORATION_STANDARD',l_cln_ch_parameters);
439       IF (l_Debug_Level <= 1) THEN
440               ecx_cln_debug_pub.Add('Collaboration Standard           ----'||l_collaboration_standard, 1);
441       END IF;
442 
443       l_xml_event_key              := WF_EVENT.getValueForParameter('XML_EVENT_KEY',l_cln_ch_parameters);
444       IF (l_Debug_Level <= 1) THEN
445               ecx_cln_debug_pub.Add('XMLG Event Key                  ----'||l_xml_event_key, 1);
446       END IF;
447 
448       l_app_id              := WF_EVENT.getValueForParameter('APPLICATION_ID',l_cln_ch_parameters);
449       IF (l_Debug_Level <= 1) THEN
450               ecx_cln_debug_pub.Add('Application ID                  ----'||l_app_id, 1);
451       END IF;
452 
453       l_coll_type              := WF_EVENT.getValueForParameter('COLLABORATION_TYPE',l_cln_ch_parameters);
454       IF (l_Debug_Level <= 1) THEN
455               ecx_cln_debug_pub.Add('Collaboration Type              ----'||l_coll_type, 1);
456       END IF;
457 
458       l_doc_type              := WF_EVENT.getValueForParameter('DOCUMENT_TYPE',l_cln_ch_parameters);
459       IF (l_Debug_Level <= 1) THEN
460               ecx_cln_debug_pub.Add('Document Type                   ----'||l_doc_type, 1);
461       END IF;
462 
463       l_init_date              := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('COLLABORATION_INITIATION_DATE',l_cln_ch_parameters));
464       IF (l_Debug_Level <= 1) THEN
465               ecx_cln_debug_pub.Add('Initiation Date                 ----'||l_init_date, 1);
466       END IF;
467 
468       l_attribute1             := WF_EVENT.getValueForParameter('ATTRIBUTE1',l_cln_ch_parameters);
469       IF (l_Debug_Level <= 1) THEN
470               ecx_cln_debug_pub.Add('ATTRIBUTE1                      ----'||l_attribute1, 1);
471       END IF;
472 
473       l_attribute2             := WF_EVENT.getValueForParameter('ATTRIBUTE2',l_cln_ch_parameters);
474       IF (l_Debug_Level <= 1) THEN
475               ecx_cln_debug_pub.Add('ATTRIBUTE2                      ----'||l_attribute2, 1);
476       END IF;
477 
478       l_attribute3             := WF_EVENT.getValueForParameter('ATTRIBUTE3',l_cln_ch_parameters);
479       IF (l_Debug_Level <= 1) THEN
480               ecx_cln_debug_pub.Add('ATTRIBUTE3                      ----'||l_attribute3, 1);
481       END IF;
482 
483       l_attribute4             := WF_EVENT.getValueForParameter('ATTRIBUTE4',l_cln_ch_parameters);
484       IF (l_Debug_Level <= 1) THEN
485               ecx_cln_debug_pub.Add('ATTRIBUTE4                      ----'||l_attribute4, 1);
486       END IF;
487 
488       l_attribute5             := WF_EVENT.getValueForParameter('ATTRIBUTE5',l_cln_ch_parameters);
489       IF (l_Debug_Level <= 1) THEN
490               ecx_cln_debug_pub.Add('ATTRIBUTE5                      ----'||l_attribute5, 1);
491       END IF;
492 
493       l_attribute6             := WF_EVENT.getValueForParameter('ATTRIBUTE6',l_cln_ch_parameters);
494       IF (l_Debug_Level <= 1) THEN
495               ecx_cln_debug_pub.Add('ATTRIBUTE6                      ----'||l_attribute6, 1);
496       END IF;
497 
498       l_attribute7             := WF_EVENT.getValueForParameter('ATTRIBUTE7',l_cln_ch_parameters);
499       IF (l_Debug_Level <= 1) THEN
500               ecx_cln_debug_pub.Add('ATTRIBUTE7                      ----'||l_attribute7, 1);
501       END IF;
502 
503       l_attribute8             := WF_EVENT.getValueForParameter('ATTRIBUTE8',l_cln_ch_parameters);
504       IF (l_Debug_Level <= 1) THEN
505               ecx_cln_debug_pub.Add('ATTRIBUTE8                      ----'||l_attribute8, 1);
506       END IF;
507 
508       l_attribute9             := WF_EVENT.getValueForParameter('ATTRIBUTE9',l_cln_ch_parameters);
509       IF (l_Debug_Level <= 1) THEN
510               ecx_cln_debug_pub.Add('ATTRIBUTE9                      ----'||l_attribute9, 1);
511       END IF;
512 
513       l_attribute10            := WF_EVENT.getValueForParameter('ATTRIBUTE10',l_cln_ch_parameters);
514       IF (l_Debug_Level <= 1) THEN
515               ecx_cln_debug_pub.Add('ATTRIBUTE10                      ----'||l_attribute10, 1);
516       END IF;
517 
518       l_attribute11            := WF_EVENT.getValueForParameter('ATTRIBUTE11',l_cln_ch_parameters);
519       IF (l_Debug_Level <= 1) THEN
520               ecx_cln_debug_pub.Add('ATTRIBUTE11                      ----'||l_attribute11, 1);
521       END IF;
522 
523       l_attribute12            := WF_EVENT.getValueForParameter('ATTRIBUTE12',l_cln_ch_parameters);
524       IF (l_Debug_Level <= 1) THEN
525               ecx_cln_debug_pub.Add('ATTRIBUTE12                      ----'||l_attribute12, 1);
526       END IF;
527 
528       l_attribute13            := WF_EVENT.getValueForParameter('ATTRIBUTE13',l_cln_ch_parameters);
529       IF (l_Debug_Level <= 1) THEN
530               ecx_cln_debug_pub.Add('ATTRIBUTE13                      ----'||l_attribute13, 1);
531       END IF;
532 
533       l_attribute14            := WF_EVENT.getValueForParameter('ATTRIBUTE14',l_cln_ch_parameters);
534       IF (l_Debug_Level <= 1) THEN
535               ecx_cln_debug_pub.Add('ATTRIBUTE14                      ----'||l_attribute14, 1);
536       END IF;
537 
538       l_attribute15            := WF_EVENT.getValueForParameter('ATTRIBUTE15',l_cln_ch_parameters);
539       IF (l_Debug_Level <= 1) THEN
540               ecx_cln_debug_pub.Add('ATTRIBUTE15                      ----'||l_attribute15, 1);
541       END IF;
542 
543       l_dattribute1            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE1',l_cln_ch_parameters));
544       IF (l_Debug_Level <= 1) THEN
545               ecx_cln_debug_pub.Add('DATTRIBUTE1                      ----'||l_dattribute1, 1);
546       END IF;
547 
548       l_dattribute2            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE2',l_cln_ch_parameters));
549       IF (l_Debug_Level <= 1) THEN
550               ecx_cln_debug_pub.Add('DATTRIBUTE2                      ----'||l_dattribute2, 1);
551       END IF;
552 
553       l_dattribute3            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE3',l_cln_ch_parameters));
554       IF (l_Debug_Level <= 1) THEN
555               ecx_cln_debug_pub.Add('DATTRIBUTE3                      ----'||l_dattribute3, 1);
556       END IF;
557 
558       l_dattribute4            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE4',l_cln_ch_parameters));
559       IF (l_Debug_Level <= 1) THEN
560               ecx_cln_debug_pub.Add('DATTRIBUTE4                      ----'||l_dattribute4, 1);
561       END IF;
562 
563       l_dattribute5            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE5',l_cln_ch_parameters));
564       IF (l_Debug_Level <= 1) THEN
565               ecx_cln_debug_pub.Add('DATTRIBUTE5                      ----'||l_dattribute5, 1);
566       END IF;
567 
568       IF (l_Debug_Level <= 1) THEN
569               ecx_cln_debug_pub.Add('------------------------------------------', 1);
570       END IF;
571 
572 
573 
574       IF (l_resend_count > 0) THEN
575           l_resend_flag   :=     'Y';
576       ELSE
577           l_resend_flag   :=     'N';
578       END IF;
579 
580       IF ( UPPER(l_rosettanet_check_required) = 'FALSE') THEN
581           l_rosettanet_check_required_b := FALSE;
582       ELSE
583           l_rosettanet_check_required_b := TRUE;
584       END IF;
585 
586       IF (l_ref_id IS NULL ) THEN -- If reference ID is not passed by caller, get defualt XMLG OAG rf id and set it to global variable
587           CLN_CH_COLLABORATION_PKG.g_xmlg_oag_application_ref_id  :=  Get_Reference_id(p_event);
588       END IF;
589 
590       CLN_CH_COLLABORATION_PKG.CREATE_COLLABORATION(
591                x_return_status                  =>          l_return_status,
592                x_msg_data                       =>          l_msg_data,
593                p_app_id                         =>          l_app_id,
594                p_ref_id                         =>          l_ref_id,
595                p_org_id                         =>          l_org_id,
596                p_rel_no                         =>          l_rel_no,
597                p_doc_no                         =>          l_doc_no,
598                p_doc_rev_no                     =>          l_doc_rev_no,
599                p_xmlg_transaction_type          =>          l_xmlg_transaction_type,
600                p_xmlg_transaction_subtype       =>          l_xmlg_transaction_subtype,
601                p_xmlg_document_id               =>          l_xmlg_document_id,
602                p_partner_doc_no                 =>          l_partner_doc_no,
603                p_coll_type                      =>          l_coll_type,
604                p_tr_partner_type                =>          l_tr_partner_type,
605                p_tr_partner_id                  =>          l_tr_partner_id,
606                p_tr_partner_site                =>          l_tr_partner_site,
607                p_resend_flag                    =>          l_resend_flag,
608                p_resend_count                   =>          l_resend_count,
609                p_doc_owner                      =>          l_doc_owner,
610                p_init_date                      =>          l_init_date,
611                p_doc_creation_date              =>          l_doc_creation_date,
612                p_doc_revision_date              =>          l_doc_revision_date,
613                p_doc_type                       =>          l_doc_type,
614                p_doc_dir                        =>          l_doc_dir,
615                p_coll_pt                        =>          l_coll_pt,
616                p_xmlg_msg_id                    =>          l_xmlg_msg_id,
617                p_unique1                        =>          l_unique1,
618                p_unique2                        =>          l_unique2,
619                p_unique3                        =>          l_unique3,
620                p_unique4                        =>          l_unique4,
621                p_unique5                        =>          l_unique5,
622                p_sender_component               =>          l_sender_protocol,
623                p_rosettanet_check_required      =>          l_rosettanet_check_required_b,
624                x_coll_id                        =>          l_coll_id,
625                p_xmlg_internal_control_number   =>          l_xmlg_internal_control_number,
626                p_xmlg_int_transaction_type      =>          l_xmlg_int_transaction_type,
627                p_xmlg_int_transaction_subtype   =>          l_xmlg_int_transaction_subtype,
628                p_msg_text                       =>          l_msg_text,
629                p_xml_event_key                  =>          l_xml_event_key,
630                p_collaboration_standard         =>          l_collaboration_standard,
631                p_attribute1                     =>          l_attribute1,
632                p_attribute2                     =>          l_attribute2,
633                p_attribute3                     =>          l_attribute3,
634                p_attribute4                     =>          l_attribute4,
635                p_attribute5                     =>          l_attribute5,
636                p_attribute6                     =>          l_attribute6,
637                p_attribute7                     =>          l_attribute7,
638                p_attribute8                     =>          l_attribute8,
639                p_attribute9                     =>          l_attribute9,
640                p_attribute10                    =>          l_attribute10,
641                p_attribute11                    =>          l_attribute11,
642                p_attribute12                    =>          l_attribute12,
643                p_attribute13                    =>          l_attribute13,
644                p_attribute14                    =>          l_attribute14,
645                p_attribute15                    =>          l_attribute15,
646                p_dattribute1                    =>          l_dattribute1,
647                p_dattribute2                    =>          l_dattribute2,
648                p_dattribute3                    =>          l_dattribute3,
649                p_dattribute4                    =>          l_dattribute4,
650                p_dattribute5                    =>          l_dattribute5,
651                p_owner_role                     =>          l_owner_role  );
652 
653 
654 
655       IF (l_Debug_Level <= 1) THEN
656               ecx_cln_debug_pub.Add('COLLABORATION_ID got as  ----'||l_coll_id, 1);
657               ecx_cln_debug_pub.Add('RETURN_STATUS got as     ----'||l_return_status, 1);
658               ecx_cln_debug_pub.Add('MESSAGE_DATA got as      ----'||l_msg_data, 1);
659       END IF;
660 
661 
662 
663       IF ( l_return_status <> 'S') THEN
664            RAISE FND_API.G_EXC_ERROR;
665       END IF;
666 
667       IF (l_Debug_Level <= 2) THEN
668               ecx_cln_debug_pub.Add('============EXITING CLN_CREATE_EVENT_SUB============', 2);
669       END IF;
670 
671 
672       RETURN 'SUCCESS' ;
673 
674    EXCEPTION
675 
676       WHEN FND_API.G_EXC_ERROR THEN
677          l_error_code   :=SQLCODE;
678          l_error_msg    :=SQLERRM;
679          IF (l_Debug_Level <= 4) THEN
680                  ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg || ':' || l_msg_data, 3);
681                  ecx_cln_debug_pub.Add('============EXITING CLN_CREATE_EVENT_SUB============', 2);
682          END IF;
683 
684          RETURN 'SUCCESS';
685 
686       WHEN OTHERS THEN
687          l_error_code := SQLCODE;
688          l_error_msg := SQLERRM;
689          IF (l_Debug_Level <= 5) THEN
690                  ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg, 3);
691                  ecx_cln_debug_pub.Add('============EXITING CLN_CREATE_EVENT_SUB============', 2);
692          END IF;
693 
694          RETURN 'SUCCESS';
695 
696    END CREATE_EVENT_SUB;
697 
698 
699 
700    -- Name
701    --    UPDATE_EVENT_SUB
702    -- Purpose
703    --    This is the public procedure which is used to get the parameters for the update
704    --    collaboration event.This procedure in turn calls UPDATE_COLLABORATION API.
705    --
706    -- Arguments
707    --
708    -- Notes
709    --    No specific notes.
710 
711    FUNCTION UPDATE_EVENT_SUB(
712         p_subscription_guid             IN RAW,
713         p_event                         IN OUT NOCOPY WF_EVENT_T
714 
715    ) RETURN VARCHAR2
716    IS
717          l_cln_ch_parameters            wf_parameter_list_t;
718          l_error_code                   NUMBER;
719          l_coll_id                      NUMBER;
720          l_resend_count                 NUMBER;
721          l_dtl_coll_id                  NUMBER;
722          l_org_id                       NUMBER;
723 
724          l_resend_flag                  VARCHAR2(3);
725          l_doc_dir                      VARCHAR2(3);
726 
727          l_app_id                       VARCHAR2(10);
728          l_rel_no                       VARCHAR2(10);
729          l_disposition                  VARCHAR2(10);
730          l_tr_partner_type              VARCHAR2(10);
731          l_doc_rev_no                   VARCHAR2(10);
732          l_doc_status                   VARCHAR2(10);
733 
734          l_coll_pt                      VARCHAR2(20);
735 
736          l_doc_owner                    VARCHAR2(30);
737          l_owner_role                   VARCHAR2(30);
738          l_collaboration_standard       VARCHAR2(30);
739          l_tr_partner_id                VARCHAR2(30);
740          l_tr_partner_site              VARCHAR2(30);
741          l_unique1                      VARCHAR2(30);
742          l_unique2                      VARCHAR2(30);
743          l_unique3                      VARCHAR2(30);
744          l_unique4                      VARCHAR2(30);
745          l_unique5                      VARCHAR2(30);
746 
747          l_ref_id                       VARCHAR2(100);
748          l_xmlg_transaction_type        VARCHAR2(100);
749          l_xmlg_transaction_subtype     VARCHAR2(100);
750          l_xmlg_int_transaction_type    VARCHAR2(100);
751          l_xmlg_int_transaction_subtype VARCHAR2(100);
752          l_xmlg_msg_id                  VARCHAR2(100);
753          l_xmlg_internal_control_number VARCHAR2(100);
754          l_coll_status                  VARCHAR2(100);
755          l_doc_type                     VARCHAR2(100);
756 
757          l_attribute1                   VARCHAR2(150);
758          l_attribute2                   VARCHAR2(150);
759          l_attribute3                   VARCHAR2(150);
760          l_attribute4                   VARCHAR2(150);
761          l_attribute5                   VARCHAR2(150);
762          l_attribute6                   VARCHAR2(150);
763          l_attribute7                   VARCHAR2(150);
764          l_attribute8                   VARCHAR2(150);
765          l_attribute9                   VARCHAR2(150);
766          l_attribute10                  VARCHAR2(150);
767          l_attribute11                  VARCHAR2(150);
768          l_attribute12                  VARCHAR2(150);
769          l_attribute13                  VARCHAR2(150);
770          l_attribute14                  VARCHAR2(150);
771          l_attribute15                  VARCHAR2(150);
772 
773          l_xml_event_key                VARCHAR2(240);
774          l_sender_protocol              VARCHAR2(240);
775          l_rosettanet_check_required    VARCHAR2(240);
776 
777          l_partner_doc_no               VARCHAR2(255);
778          l_doc_no                       VARCHAR2(255);
779          l_org_ref                      VARCHAR2(255);
780          l_error_msg                    VARCHAR2(255);
781          l_debug_mode                   VARCHAR2(255);
782          l_return_status                VARCHAR2(255);
783          l_xmlg_document_id             VARCHAR2(256);
784 
785          l_subscriber_list              VARCHAR2(1000);
786          l_msg_text                     VARCHAR2(2000);
787          l_msg_data                     VARCHAR2(2000);
788 
789          l_doc_creation_date            DATE;
790          l_doc_revision_date            DATE;
791          l_dattribute1                  DATE;
792          l_dattribute2                  DATE;
793          l_dattribute3                  DATE;
794          l_dattribute4                  DATE;
795          l_dattribute5                  DATE;
796 
797 
798          l_rosettanet_check_required_b  BOOLEAN;
799 
800 
801    BEGIN
802          -- Sets the debug mode to be FILE
803       --l_debug_mode := ecx_cln_debug_pub.Set_Debug_Mode('FILE');
804 
805       IF (l_Debug_Level <= 2) THEN
806               ecx_cln_debug_pub.Add('============ENTERING CLN_UPDATE_EVENT_SUB============', 2);
807       END IF;
808 
809 
810       l_cln_ch_parameters                := p_event.getParameterList();
811 
812 
813 
814       IF (l_Debug_Level <= 1) THEN
815               ecx_cln_debug_pub.Add('----------- PARAMETERS OBTAINED ----------', 1);
816       END IF;
817 
818       l_subscriber_list:= WF_EVENT.getValueForParameter('SUBSCRIBER_LIST',l_cln_ch_parameters);
819       IF (l_Debug_Level <= 1) THEN
820               ecx_cln_debug_pub.Add('Subscriber List                 ----'||l_subscriber_list, 1);
821       END IF;
822 
823       IF(l_subscriber_list is not null and instr(l_subscriber_list,'CLN') = 0) THEN
824               IF (l_Debug_Level <= 1) THEN
825                 ecx_cln_debug_pub.Add('Subscriber list is not null and CLN is not there in the list', 1);
826               END IF;
827               RETURN 'SUCCESS'; -- No need to consume this event
828            END IF;
829 
830 
831       l_xmlg_msg_id                 := WF_EVENT.getValueForParameter('XMLG_MESSAGE_ID',l_cln_ch_parameters);
832       l_xmlg_msg_id                 := replace(l_xmlg_msg_id,'.',''); -- There is an issue with Workflow
833       IF (l_Debug_Level <= 1) THEN
834               ecx_cln_debug_pub.Add('XMLG Message ID                 ----'||l_xmlg_msg_id, 1);
835       END IF;
836 
837 
838       l_xmlg_internal_control_number:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_CONTROL_NUMBER',l_cln_ch_parameters);
839       IF (l_Debug_Level <= 1) THEN
840               ecx_cln_debug_pub.Add('XMLG Internal Control Number    ----'||l_xmlg_internal_control_number, 1);
841       END IF;
842 
843 
844       l_xmlg_transaction_type       := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_TYPE',l_cln_ch_parameters);
845       IF (l_Debug_Level <= 1) THEN
846               ecx_cln_debug_pub.Add('XMLG Ext Transaction Type       ----'||l_xmlg_transaction_type, 1);
847       END IF;
848 
849 
850       l_xmlg_transaction_subtype    := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_SUBTYPE',l_cln_ch_parameters);
851       IF (l_Debug_Level <= 1) THEN
852               ecx_cln_debug_pub.Add('XMLG Ext Transaction Sub Type   ----'||l_xmlg_transaction_subtype, 1);
853       END IF;
854 
855 
856       l_xmlg_int_transaction_type   := WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_TYPE',l_cln_ch_parameters);
857       IF (l_Debug_Level <= 1) THEN
858               ecx_cln_debug_pub.Add('XMLG Int Transaction Type       ----'||l_xmlg_int_transaction_type, 1);
859       END IF;
860 
861 
862       l_xmlg_int_transaction_subtype:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_SUBTYPE',l_cln_ch_parameters);
863       IF (l_Debug_Level <= 1) THEN
864               ecx_cln_debug_pub.Add('XMLG Int Transaction Sub Type   ----'||l_xmlg_int_transaction_subtype, 1);
865       END IF;
866 
867 
868       l_xmlg_document_id            := WF_EVENT.getValueForParameter('XMLG_DOCUMENT_ID',l_cln_ch_parameters);
869       IF (l_Debug_Level <= 1) THEN
870               ecx_cln_debug_pub.Add('XMLG Document ID                ----'||l_xmlg_document_id, 1);
871       END IF;
872 
873 
874       l_doc_dir                     := WF_EVENT.getValueForParameter('DOCUMENT_DIRECTION',l_cln_ch_parameters);
875       IF (l_Debug_Level <= 1) THEN
876               ecx_cln_debug_pub.Add('Document Direction              ----'||l_doc_dir, 1);
877       END IF;
878 
879 
880       l_tr_partner_type             := WF_EVENT.getValueForParameter('TRADING_PARTNER_TYPE',l_cln_ch_parameters);
881       IF (l_Debug_Level <= 1) THEN
882               ecx_cln_debug_pub.Add('Trading Partner Type            ----'||l_tr_partner_type, 1);
883       END IF;
884 
885 
886       l_tr_partner_id               := WF_EVENT.getValueForParameter('TRADING_PARTNER_ID',l_cln_ch_parameters);
887       IF (l_Debug_Level <= 1) THEN
888               ecx_cln_debug_pub.Add('Trading Partner ID              ----'||l_tr_partner_id, 1);
889       END IF;
890 
891 
892       l_tr_partner_site             := WF_EVENT.getValueForParameter('TRADING_PARTNER_SITE',l_cln_ch_parameters);
893       IF (l_Debug_Level <= 1) THEN
894               ecx_cln_debug_pub.Add('Trading Partner Site            ----'||l_tr_partner_site, 1);
895       END IF;
896 
897 
898       l_sender_protocol             := WF_EVENT.getValueForParameter('SENDER_COMPONENT',l_cln_ch_parameters);
899       IF (l_Debug_Level <= 1) THEN
900               ecx_cln_debug_pub.Add('Sender Protocol                 ----'||l_sender_protocol, 1);
901       END IF;
902 
903 
904       l_ref_id                      := WF_EVENT.getValueForParameter('REFERENCE_ID',l_cln_ch_parameters);
905       IF (l_Debug_Level <= 1) THEN
906               ecx_cln_debug_pub.Add('Reference ID                    ----'||l_ref_id, 1);
907       END IF;
908 
909 
910       l_doc_no                      := WF_EVENT.getValueForParameter('DOCUMENT_NO',l_cln_ch_parameters);
911       IF (l_Debug_Level <= 1) THEN
912               ecx_cln_debug_pub.Add('Document Number                 ----'||l_doc_no, 1);
913       END IF;
914 
915 
916       l_org_id                      := To_Number(WF_EVENT.getValueForParameter('ORG_ID',l_cln_ch_parameters));
917       IF (l_Debug_Level <= 1) THEN
918               ecx_cln_debug_pub.Add('Org ID                          ----'||l_org_id, 1);
919       END IF;
920 
921 
922       l_rel_no                      := WF_EVENT.getValueForParameter('RELEASE_NO',l_cln_ch_parameters);
923       IF (l_Debug_Level <= 1) THEN
924               ecx_cln_debug_pub.Add('Release Number                  ----'||l_rel_no, 1);
925       END IF;
926 
927 
928       l_doc_rev_no                  := WF_EVENT.getValueForParameter('DOCUMENT_REVISION_NO',l_cln_ch_parameters);
929       IF (l_Debug_Level <= 1) THEN
930               ecx_cln_debug_pub.Add('Document Revision Number        ----'||l_doc_rev_no, 1);
931       END IF;
932 
933 
934       l_partner_doc_no              := WF_EVENT.getValueForParameter('PARTNER_DOCUMENT_NO',l_cln_ch_parameters);
935       IF (l_Debug_Level <= 1) THEN
936               ecx_cln_debug_pub.Add('Partner Document No             ----'||l_partner_doc_no, 1);
937       END IF;
938 
939 
940       l_resend_count                := To_Number(WF_EVENT.getValueForParameter('RESEND_COUNT',l_cln_ch_parameters));
941       IF (l_Debug_Level <= 1) THEN
942               ecx_cln_debug_pub.Add('Resend Count                    ----'||l_resend_count, 1);
943       END IF;
944 
945 
946       l_doc_creation_date           := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DOCUMENT_CREATION_DATE',l_cln_ch_parameters));
947       IF (l_Debug_Level <= 1) THEN
948               ecx_cln_debug_pub.Add('Document Creation Date          ----'||l_doc_creation_date, 1);
949       END IF;
950 
951 
952       l_doc_revision_date           := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DOCUMENT_REVISION_DATE',l_cln_ch_parameters));
953       IF (l_Debug_Level <= 1) THEN
954               ecx_cln_debug_pub.Add('Document Revision Date          ----'||l_doc_revision_date, 1);
955       END IF;
956 
957 
958       l_coll_pt                     := WF_EVENT.getValueForParameter('COLLABORATION_POINT',l_cln_ch_parameters);
959       IF (l_Debug_Level <= 1) THEN
960               ecx_cln_debug_pub.Add('Collaboration Point             ----'||l_coll_pt, 1);
961       END IF;
962 
963 
964       l_unique1                     := WF_EVENT.getValueForParameter('UNIQUE_ID1',l_cln_ch_parameters);
965       IF (l_Debug_Level <= 1) THEN
966               ecx_cln_debug_pub.Add('Unique ID1                      ----'||l_unique1, 1);
967       END IF;
968 
969 
970       l_unique2                     := WF_EVENT.getValueForParameter('UNIQUE_ID2',l_cln_ch_parameters);
971       IF (l_Debug_Level <= 1) THEN
972               ecx_cln_debug_pub.Add('Unique ID2                      ----'||l_unique2, 1);
973       END IF;
974 
975 
976       l_unique3                     := WF_EVENT.getValueForParameter('UNIQUE_ID3',l_cln_ch_parameters);
977       IF (l_Debug_Level <= 1) THEN
978               ecx_cln_debug_pub.Add('Unique ID3                      ----'||l_unique3, 1);
979       END IF;
980 
981 
982       l_unique4                     := WF_EVENT.getValueForParameter('UNIQUE_ID4',l_cln_ch_parameters);
983       IF (l_Debug_Level <= 1) THEN
984               ecx_cln_debug_pub.Add('Unique ID4                      ----'||l_unique4, 1);
985       END IF;
986 
987 
988       l_unique5                     := WF_EVENT.getValueForParameter('UNIQUE_ID5',l_cln_ch_parameters);
989       IF (l_Debug_Level <= 1) THEN
990               ecx_cln_debug_pub.Add('Unique ID5                      ----'||l_unique5, 1);
991       END IF;
992 
993 
994       l_rosettanet_check_required   := WF_EVENT.getValueForParameter('ROSETTANET_CHECK_REQUIRED',l_cln_ch_parameters);
995       IF (l_Debug_Level <= 1) THEN
996               ecx_cln_debug_pub.Add('Rosettanet Check Required       ----'||l_rosettanet_check_required, 1);
997       END IF;
998 
999 
1000       l_doc_owner                   := To_Number(WF_EVENT.getValueForParameter('DOCUMENT_OWNER',l_cln_ch_parameters));
1001       IF (l_Debug_Level <= 1) THEN
1002               ecx_cln_debug_pub.Add('Document Owner                  ----'||l_doc_owner, 1);
1003       END IF;
1004 
1005       l_owner_role                  := WF_EVENT.getValueForParameter('OWNER_ROLE',l_cln_ch_parameters);
1006       IF (l_Debug_Level <= 1) THEN
1007               ecx_cln_debug_pub.Add('Owner Role                      ----'||l_owner_role, 1);
1008       END IF;
1009 
1010 
1011 
1012       l_coll_id                     := To_Number(WF_EVENT.getValueForParameter('COLLABORATION_ID',l_cln_ch_parameters));
1013       IF (l_Debug_Level <= 1) THEN
1014               ecx_cln_debug_pub.Add('Collaboration ID                ----'||l_coll_id, 1);
1015       END IF;
1016 
1017 
1018       l_disposition                 := WF_EVENT.getValueForParameter('DISPOSITION',l_cln_ch_parameters);
1019       IF (l_Debug_Level <= 1) THEN
1020               ecx_cln_debug_pub.Add('Disposition                     ----'||l_disposition, 1);
1021       END IF;
1022 
1023 
1024       l_org_ref                     := WF_EVENT.getValueForParameter('ORIGINATOR_REFERENCE',l_cln_ch_parameters);
1025       IF (l_Debug_Level <= 1) THEN
1026               ecx_cln_debug_pub.Add('Originator Reference            ----'||l_org_ref, 1);
1027       END IF;
1028 
1029 
1030       l_doc_status                  := WF_EVENT.getValueForParameter('DOCUMENT_STATUS',l_cln_ch_parameters);
1031       IF (l_Debug_Level <= 1) THEN
1032               ecx_cln_debug_pub.Add('Document Status                 ----'||l_doc_status, 1);
1033       END IF;
1034 
1035 
1036       l_msg_text                    := WF_EVENT.getValueForParameter('MESSAGE_TEXT',l_cln_ch_parameters);
1037       IF (l_Debug_Level <= 1) THEN
1038               ecx_cln_debug_pub.Add('Message Text                    ----'||l_msg_text, 1);
1039       END IF;
1040 
1041       l_collaboration_standard      := WF_EVENT.getValueForParameter('COLLABORATION_STANDARD',l_cln_ch_parameters);
1042       IF (l_Debug_Level <= 1) THEN
1043               ecx_cln_debug_pub.Add('Collaboration Standard           ----'||l_collaboration_standard, 1);
1044       END IF;
1045 
1046 
1047       l_xml_event_key              := WF_EVENT.getValueForParameter('XML_EVENT_KEY',l_cln_ch_parameters);
1048       IF (l_Debug_Level <= 1) THEN
1049               ecx_cln_debug_pub.Add('XMLG Event Key                  ----'||l_xml_event_key, 1);
1050       END IF;
1051 
1052 
1053       l_app_id              := WF_EVENT.getValueForParameter('APPLICATION_ID',l_cln_ch_parameters);
1054       IF (l_Debug_Level <= 1) THEN
1055               ecx_cln_debug_pub.Add('Application ID                  ----'||l_app_id, 1);
1056       END IF;
1057 
1058       l_coll_status              := WF_EVENT.getValueForParameter('COLLABORATION_STATUS',l_cln_ch_parameters);
1059       IF (l_Debug_Level <= 1) THEN
1060               ecx_cln_debug_pub.Add('Collaboration Status            ----'||l_coll_status, 1);
1061       END IF;
1062 
1063       l_doc_type              := WF_EVENT.getValueForParameter('DOCUMENT_TYPE',l_cln_ch_parameters);
1064       IF (l_Debug_Level <= 1) THEN
1065               ecx_cln_debug_pub.Add('Document Type                   ----'||l_doc_type, 1);
1066       END IF;
1067 
1068       l_attribute1             := WF_EVENT.getValueForParameter('ATTRIBUTE1',l_cln_ch_parameters);
1069       IF (l_Debug_Level <= 1) THEN
1070               ecx_cln_debug_pub.Add('ATTRIBUTE1                      ----'||l_attribute1, 1);
1071       END IF;
1072 
1073       l_attribute2             := WF_EVENT.getValueForParameter('ATTRIBUTE2',l_cln_ch_parameters);
1074       IF (l_Debug_Level <= 1) THEN
1075               ecx_cln_debug_pub.Add('ATTRIBUTE2                      ----'||l_attribute2, 1);
1076       END IF;
1077 
1078       l_attribute3             := WF_EVENT.getValueForParameter('ATTRIBUTE3',l_cln_ch_parameters);
1079       IF (l_Debug_Level <= 1) THEN
1080               ecx_cln_debug_pub.Add('ATTRIBUTE3                      ----'||l_attribute3, 1);
1081       END IF;
1082 
1083       l_attribute4             := WF_EVENT.getValueForParameter('ATTRIBUTE4',l_cln_ch_parameters);
1084       IF (l_Debug_Level <= 1) THEN
1085               ecx_cln_debug_pub.Add('ATTRIBUTE4                      ----'||l_attribute4, 1);
1086       END IF;
1087 
1088       l_attribute5             := WF_EVENT.getValueForParameter('ATTRIBUTE5',l_cln_ch_parameters);
1089       IF (l_Debug_Level <= 1) THEN
1090               ecx_cln_debug_pub.Add('ATTRIBUTE5                      ----'||l_attribute5, 1);
1091       END IF;
1092 
1093       l_attribute6             := WF_EVENT.getValueForParameter('ATTRIBUTE6',l_cln_ch_parameters);
1094       IF (l_Debug_Level <= 1) THEN
1095               ecx_cln_debug_pub.Add('ATTRIBUTE6                      ----'||l_attribute6, 1);
1096       END IF;
1097 
1098       l_attribute7             := WF_EVENT.getValueForParameter('ATTRIBUTE7',l_cln_ch_parameters);
1099       IF (l_Debug_Level <= 1) THEN
1100               ecx_cln_debug_pub.Add('ATTRIBUTE7                      ----'||l_attribute7, 1);
1101       END IF;
1102 
1103       l_attribute8             := WF_EVENT.getValueForParameter('ATTRIBUTE8',l_cln_ch_parameters);
1104       IF (l_Debug_Level <= 1) THEN
1105               ecx_cln_debug_pub.Add('ATTRIBUTE8                      ----'||l_attribute8, 1);
1106       END IF;
1107 
1108       l_attribute9             := WF_EVENT.getValueForParameter('ATTRIBUTE9',l_cln_ch_parameters);
1109       IF (l_Debug_Level <= 1) THEN
1110               ecx_cln_debug_pub.Add('ATTRIBUTE9                      ----'||l_attribute9, 1);
1111       END IF;
1112 
1113       l_attribute10            := WF_EVENT.getValueForParameter('ATTRIBUTE10',l_cln_ch_parameters);
1114       IF (l_Debug_Level <= 1) THEN
1115               ecx_cln_debug_pub.Add('ATTRIBUTE10                      ----'||l_attribute10, 1);
1116       END IF;
1117 
1118       l_attribute11            := WF_EVENT.getValueForParameter('ATTRIBUTE11',l_cln_ch_parameters);
1119       IF (l_Debug_Level <= 1) THEN
1120               ecx_cln_debug_pub.Add('ATTRIBUTE11                      ----'||l_attribute11, 1);
1121       END IF;
1122 
1123       l_attribute12            := WF_EVENT.getValueForParameter('ATTRIBUTE12',l_cln_ch_parameters);
1124       IF (l_Debug_Level <= 1) THEN
1125               ecx_cln_debug_pub.Add('ATTRIBUTE12                      ----'||l_attribute12, 1);
1126       END IF;
1127 
1128       l_attribute13            := WF_EVENT.getValueForParameter('ATTRIBUTE13',l_cln_ch_parameters);
1129       IF (l_Debug_Level <= 1) THEN
1130               ecx_cln_debug_pub.Add('ATTRIBUTE13                      ----'||l_attribute13, 1);
1131       END IF;
1132 
1133       l_attribute14            := WF_EVENT.getValueForParameter('ATTRIBUTE14',l_cln_ch_parameters);
1134       IF (l_Debug_Level <= 1) THEN
1135               ecx_cln_debug_pub.Add('ATTRIBUTE14                      ----'||l_attribute14, 1);
1136       END IF;
1137 
1138       l_attribute15            := WF_EVENT.getValueForParameter('ATTRIBUTE15',l_cln_ch_parameters);
1139       IF (l_Debug_Level <= 1) THEN
1140               ecx_cln_debug_pub.Add('ATTRIBUTE15                      ----'||l_attribute15, 1);
1141       END IF;
1142 
1143       l_dattribute1            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE1',l_cln_ch_parameters));
1144       IF (l_Debug_Level <= 1) THEN
1145               ecx_cln_debug_pub.Add('DATTRIBUTE1                      ----'||l_dattribute1, 1);
1146       END IF;
1147 
1148       l_dattribute2            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE2',l_cln_ch_parameters));
1149       IF (l_Debug_Level <= 1) THEN
1150               ecx_cln_debug_pub.Add('DATTRIBUTE2                      ----'||l_dattribute2, 1);
1151       END IF;
1152 
1153       l_dattribute3            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE3',l_cln_ch_parameters));
1154       IF (l_Debug_Level <= 1) THEN
1155               ecx_cln_debug_pub.Add('DATTRIBUTE3                      ----'||l_dattribute3, 1);
1156       END IF;
1157 
1158       l_dattribute4            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE4',l_cln_ch_parameters));
1159       IF (l_Debug_Level <= 1) THEN
1160               ecx_cln_debug_pub.Add('DATTRIBUTE4                      ----'||l_dattribute4, 1);
1161       END IF;
1162 
1163       l_dattribute5            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE5',l_cln_ch_parameters));
1164       IF (l_Debug_Level <= 1) THEN
1165               ecx_cln_debug_pub.Add('DATTRIBUTE5                      ----'||l_dattribute5, 1);
1166       END IF;
1167 
1168       IF (l_Debug_Level <= 1) THEN
1169               ecx_cln_debug_pub.Add('------------------------------------------', 1);
1170       END IF;
1171 
1172 
1173          IF ( UPPER(l_rosettanet_check_required) = 'FALSE') THEN
1174                   l_rosettanet_check_required_b := FALSE;
1175          ELSE
1176                   l_rosettanet_check_required_b := TRUE;
1177          END IF;
1178 
1179 
1180          IF ((l_resend_count > 0) AND ( l_resend_count IS NOT NULL )) THEN
1181                    l_resend_flag   :=     'Y';
1182          END IF;
1183 
1184 
1185       IF (l_ref_id IS NULL ) THEN -- If reference ID is not passed by caller, get defualt XMLG OAG rf id and set it to global variable
1186           CLN_CH_COLLABORATION_PKG.g_xmlg_oag_application_ref_id  :=  Get_Reference_id(p_event);
1187       END IF;
1188 
1189          CLN_CH_COLLABORATION_PKG.UPDATE_COLLABORATION(
1190              x_return_status                  => l_return_status,
1191              x_msg_data                       => l_msg_data,
1192              p_coll_id                        => l_coll_id,
1193              p_app_id                         => l_app_id,
1194              p_ref_id                         => l_ref_id,
1195              p_rel_no                         => l_rel_no,
1196              p_doc_no                         => l_doc_no,
1197              p_doc_rev_no                     => l_doc_rev_no,
1198              p_xmlg_transaction_type          => l_xmlg_transaction_type,
1199              p_xmlg_transaction_subtype       => l_xmlg_transaction_subtype,
1200              p_xmlg_document_id               => l_xmlg_document_id,
1201              p_resend_flag                    => l_resend_flag,
1202              p_resend_count                   => l_resend_count,
1203              p_disposition                    => l_disposition,
1204              p_coll_status                    => l_coll_status,
1205              p_doc_type                       => l_doc_type,
1206              p_doc_dir                        => l_doc_dir,
1207              p_coll_pt                        => l_coll_pt,
1208              p_org_ref                        => l_org_ref,
1209              p_doc_status                     => l_doc_status,
1210              p_notification_id                => NULL,
1211              p_msg_text                       => l_msg_text,
1212              p_bsr_verb                       => NULL,
1213              p_bsr_noun                       => NULL,
1214              p_bsr_rev                        => NULL,
1215              p_sdr_logical_id                 => NULL,
1216              p_sdr_component                  => NULL,
1217              p_sdr_task                       => NULL,
1218              p_sdr_refid                      => NULL,
1219              p_sdr_confirmation               => NULL,
1220              p_sdr_language                   => NULL,
1221              p_sdr_codepage                   => NULL,
1222              p_sdr_authid                     => NULL,
1223              p_sdr_datetime_qualifier         => NULL,
1224              p_sdr_datetime                   => NULL,
1225              p_sdr_timezone                   => NULL,
1226              p_attr1                          => NULL,
1227              p_attr2                          => NULL,
1228              p_attr3                          => NULL,
1229              p_attr4                          => NULL,
1230              p_attr5                          => NULL,
1231              p_attr6                          => NULL,
1232              p_attr7                          => NULL,
1233              p_attr8                          => NULL,
1234              p_attr9                          => NULL,
1235              p_attr10                         => NULL,
1236              p_attr11                         => NULL,
1237              p_attr12                         => NULL,
1238              p_attr13                         => NULL,
1239              p_attr14                         => NULL,
1240              p_attr15                         => NULL,
1241              p_xmlg_msg_id                    => l_xmlg_msg_id,
1242              p_unique1                        => l_unique1,
1243              p_unique2                        => l_unique2,
1244              p_unique3                        => l_unique3,
1245              p_unique4                        => l_unique4,
1246              p_unique5                        => l_unique5,
1247              p_tr_partner_type                => l_tr_partner_type,
1248              p_tr_partner_id                  => l_tr_partner_id,
1249              p_tr_partner_site                => l_tr_partner_site,
1250              p_sender_component               => l_sender_protocol,
1251              p_rosettanet_check_required      => l_rosettanet_check_required_b,
1252              x_dtl_coll_id                    => l_dtl_coll_id,
1253              p_xmlg_internal_control_number   => l_xmlg_internal_control_number,
1254              p_partner_doc_no                 => l_partner_doc_no,
1255              p_org_id                         => l_org_id,
1256              p_doc_creation_date              => l_doc_creation_date,
1257              p_doc_revision_date              => l_doc_revision_date,
1258              p_doc_owner                      => l_doc_owner,
1259              p_xmlg_int_transaction_type      => l_xmlg_int_transaction_type,
1260              p_xmlg_int_transaction_subtype   => l_xmlg_int_transaction_subtype,
1261              p_xml_event_key                  => l_xml_event_key,
1262              p_collaboration_standard         => l_collaboration_standard,
1263              p_attribute1                     => l_attribute1,
1264              p_attribute2                     => l_attribute2,
1265              p_attribute3                     => l_attribute3,
1266              p_attribute4                     => l_attribute4,
1267              p_attribute5                     => l_attribute5,
1268              p_attribute6                     => l_attribute6,
1269              p_attribute7                     => l_attribute7,
1270              p_attribute8                     => l_attribute8,
1271              p_attribute9                     => l_attribute9,
1272              p_attribute10                    => l_attribute10,
1273              p_attribute11                    => l_attribute11,
1274              p_attribute12                    => l_attribute12,
1275              p_attribute13                    => l_attribute13,
1276              p_attribute14                    => l_attribute14,
1277              p_attribute15                    => l_attribute15,
1278              p_dattribute1                    => l_dattribute1,
1279              p_dattribute2                    => l_dattribute2,
1280              p_dattribute3                    => l_dattribute3,
1281              p_dattribute4                    => l_dattribute4,
1282              p_dattribute5                    => l_dattribute5,
1283              p_owner_role                     => l_owner_role  );
1284 
1285 
1286          IF (l_Debug_Level <= 1) THEN
1287                  ecx_cln_debug_pub.Add('COLLABORATION_DETAIL_ID got as  ----'||l_dtl_coll_id, 1);
1288                  ecx_cln_debug_pub.Add('RETURN_STATUS got as     ----'||l_return_status, 1);
1289                  ecx_cln_debug_pub.Add('MESSAGE_DATA got as      ----'||l_msg_data, 1);
1290          END IF;
1291 
1292 
1293          IF ( l_return_status <> 'S') THEN
1294               RAISE FND_API.G_EXC_ERROR;
1295          END IF;
1296 
1297          IF (l_Debug_Level <= 2) THEN
1298                  ecx_cln_debug_pub.Add('============EXITING CLN_UPDATE_EVENT_SUB============', 2);
1299          END IF;
1300 
1301          RETURN 'SUCCESS'  ;
1302 
1303    EXCEPTION
1304          WHEN FND_API.G_EXC_ERROR THEN
1305                  l_error_code   :=SQLCODE;
1306                  l_error_msg    :=SQLERRM;
1307                  IF (l_Debug_Level <= 4) THEN
1308                          ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg, 3);
1309                          ecx_cln_debug_pub.Add('============EXITING CLN_UPDATE_EVENT_SUB============', 2);
1310                  END IF;
1311 
1312             RETURN 'SUCCESS';
1313 
1314          WHEN OTHERS THEN
1315             l_error_code := SQLCODE;
1316             l_error_msg := SQLERRM;
1317             IF (l_Debug_Level <= 5) THEN
1318                     ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg, 3);
1319                     ecx_cln_debug_pub.Add('============EXITING CLN_UPDATE_EVENT_SUB============', 2);
1320             END IF;
1321 
1322             RETURN 'SUCCESS';
1323 
1324    END UPDATE_EVENT_SUB;
1325 
1326 
1327    FUNCTION ADD_MESSAGES_EVENT_SUB(
1328         p_subscription_guid                     IN RAW,
1329         p_event                                 IN OUT NOCOPY WF_EVENT_T
1330 
1331    ) RETURN VARCHAR2
1332    IS
1333          l_cln_ch_parameters                    wf_parameter_list_t;
1334 
1335          l_error_code                           NUMBER;
1336          l_dtl_coll_id                          NUMBER;
1337          l_coll_id                              NUMBER;
1338 
1339          l_doc_dir                              VARCHAR2(3);
1340          l_app_id                               VARCHAR2(10);
1341          l_coll_pt                              VARCHAR2(20);
1342 
1343          l_ref1                                 VARCHAR2(30);
1344          l_ref2                                 VARCHAR2(30);
1345          l_ref3                                 VARCHAR2(30);
1346          l_ref4                                 VARCHAR2(30);
1347          l_ref5                                 VARCHAR2(30);
1348          l_unique1                              VARCHAR2(30);
1349          l_unique2                              VARCHAR2(30);
1350          l_unique3                              VARCHAR2(30);
1351          l_unique4                              VARCHAR2(30);
1352          l_unique5                              VARCHAR2(30);
1353 
1354          l_doc_type                             VARCHAR2(100);
1355          l_xmlg_msg_id                          VARCHAR2(100);
1356          l_ref_id                               VARCHAR2(100);
1357          l_xmlg_internal_control_number         VARCHAR2(100);
1358          l_xmlg_transaction_type                VARCHAR2(100);
1359          l_xmlg_transaction_subtype             VARCHAR2(100);
1360          l_xmlg_int_transaction_type            VARCHAR2(100);
1361          l_xmlg_int_transaction_subtype         VARCHAR2(100);
1362 
1363          l_xml_event_key                        VARCHAR2(240);
1364          l_error_msg                            VARCHAR2(255);
1365          l_debug_mode                           VARCHAR2(255);
1366          l_return_status                        VARCHAR2(255);
1367          l_xmlg_document_id                     VARCHAR2(256);
1368 
1369          l_subscriber_list                      VARCHAR2(1000);
1370 
1371          l_msg_data                             VARCHAR2(2000);
1372          l_msg_text                             VARCHAR2(2000);
1373 
1374    BEGIN
1375          -- Sets the debug mode to be FILE
1376          --l_debug_mode := ecx_cln_debug_pub.Set_Debug_Mode('FILE');
1377 
1378          IF (l_Debug_Level <= 2) THEN
1379                  ecx_cln_debug_pub.Add('============ENTERING ADD_MESSAGES_EVENT_SUB============', 2);
1380          END IF;
1381 
1382          l_cln_ch_parameters                := p_event.getParameterList();
1383 
1384          IF (l_Debug_Level <= 1) THEN
1385                  ecx_cln_debug_pub.Add('----------- PARAMETERS OBTAINED FROM EVENT ----------', 1);
1386          END IF;
1387 
1388          l_subscriber_list:= WF_EVENT.getValueForParameter('SUBSCRIBER_LIST',l_cln_ch_parameters);
1389          IF (l_Debug_Level <= 1) THEN
1390                  ecx_cln_debug_pub.Add('Subscriber List                 ----'||l_subscriber_list, 1);
1391          END IF;
1392 
1393          IF(l_subscriber_list is not null and instr(l_subscriber_list,'CLN') = 0) THEN
1394             IF (l_Debug_Level <= 1) THEN
1395               ecx_cln_debug_pub.Add('Subscriber list is not null and CLN is not there in the list', 1);
1396             END IF;
1397             RETURN 'SUCCESS'; -- No need to consume this event
1398          END IF;
1399 
1400 
1401 
1402          l_dtl_coll_id                      := To_Number(WF_EVENT.getValueForParameter('COLLABORATION_DETAIL_ID',l_cln_ch_parameters));
1403          IF (l_Debug_Level <= 1) THEN
1404                  ecx_cln_debug_pub.Add('Collaboration Detail ID         ----'||l_dtl_coll_id, 1);
1405          END IF;
1406 
1407 
1408          l_ref1                             := WF_EVENT.getValueForParameter('REFERENCE_ID1',l_cln_ch_parameters);
1409          IF (l_Debug_Level <= 1) THEN
1410                  ecx_cln_debug_pub.Add('Reference 1                     ----'||l_ref1, 1);
1411          END IF;
1412 
1413 
1414          l_ref2                             := WF_EVENT.getValueForParameter('REFERENCE_ID2',l_cln_ch_parameters);
1415          IF (l_Debug_Level <= 1) THEN
1416                  ecx_cln_debug_pub.Add('Reference 2                     ----'||l_ref2, 1);
1417          END IF;
1418 
1419 
1420          l_ref3                             := WF_EVENT.getValueForParameter('REFERENCE_ID3',l_cln_ch_parameters);
1421          IF (l_Debug_Level <= 1) THEN
1422                  ecx_cln_debug_pub.Add('Reference 3                     ----'||l_ref3, 1);
1423          END IF;
1424 
1425 
1426          l_ref4                             := WF_EVENT.getValueForParameter('REFERENCE_ID4',l_cln_ch_parameters);
1427          IF (l_Debug_Level <= 1) THEN
1428                  ecx_cln_debug_pub.Add('Reference 4                     ----'||l_ref4, 1);
1429          END IF;
1430 
1431 
1432          l_ref5                             := WF_EVENT.getValueForParameter('REFERENCE_ID5',l_cln_ch_parameters);
1433          IF (l_Debug_Level <= 1) THEN
1434                  ecx_cln_debug_pub.Add('Reference 5                     ----'||l_ref5, 1);
1435          END IF;
1436 
1437 
1438          l_msg_text                         := WF_EVENT.getValueForParameter('DETAIL_MESSAGE',l_cln_ch_parameters);
1439          IF (l_Debug_Level <= 1) THEN
1440                  ecx_cln_debug_pub.Add('Detail Message                  ----'||l_msg_text, 1);
1441          END IF;
1442 
1443 
1444          l_coll_id                          := To_Number(WF_EVENT.getValueForParameter('COLLABORATION_ID',l_cln_ch_parameters));
1445          IF (l_Debug_Level <= 1) THEN
1446                  ecx_cln_debug_pub.Add('Collaboration ID                ----'||l_coll_id, 1);
1447          END IF;
1448 
1449 
1450          l_doc_type                         := WF_EVENT.getValueForParameter('DOCUMENT_TYPE',l_cln_ch_parameters);
1451          IF (l_Debug_Level <= 1) THEN
1452                  ecx_cln_debug_pub.Add('Document Type                   ----'||l_doc_type, 1);
1453          END IF;
1454 
1455 
1456          l_doc_dir                          := WF_EVENT.getValueForParameter('DOCUMENT_DIRECTION',l_cln_ch_parameters);
1457          IF (l_Debug_Level <= 1) THEN
1458                  ecx_cln_debug_pub.Add('Document Direction              ----'||l_doc_dir, 1);
1459          END IF;
1460 
1461 
1462          l_coll_pt                          := WF_EVENT.getValueForParameter('COLLABORATION_POINT',l_cln_ch_parameters);
1463          IF (l_Debug_Level <= 1) THEN
1464                  ecx_cln_debug_pub.Add('Collaboration Point             ----'||l_coll_pt, 1);
1465          END IF;
1466 
1467 
1468          l_xmlg_internal_control_number     := WF_EVENT.getValueForParameter('XMLG_INTERNAL_CONTROL_NUMBER',l_cln_ch_parameters);
1469          IF (l_Debug_Level <= 1) THEN
1470                  ecx_cln_debug_pub.Add('Xmlg Internal Control Number    ----'||l_xmlg_internal_control_number, 1);
1471          END IF;
1472 
1473 
1474          l_xmlg_transaction_type            := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_TYPE',l_cln_ch_parameters);
1475          IF (l_Debug_Level <= 1) THEN
1476                  ecx_cln_debug_pub.Add('Xmlg Transaction Type           ----'||l_xmlg_transaction_type,1);
1477          END IF;
1478 
1479 
1480          l_xmlg_transaction_subtype         := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_SUBTYPE',l_cln_ch_parameters);
1481          IF (l_Debug_Level <= 1) THEN
1482                  ecx_cln_debug_pub.Add('Xmlg Transaction SubType        ----'||l_xmlg_transaction_subtype,1);
1483          END IF;
1484 
1485 
1486          l_xmlg_document_id                 := WF_EVENT.getValueForParameter('XMLG_DOCUMENT_ID',l_cln_ch_parameters);
1487          IF (l_Debug_Level <= 1) THEN
1488                  ecx_cln_debug_pub.Add('Xmlg Document ID                ----'||l_xmlg_document_id,1);
1489          END IF;
1490 
1491 
1492          l_xmlg_int_transaction_type        := WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_TYPE',l_cln_ch_parameters);
1493          IF (l_Debug_Level <= 1) THEN
1494                  ecx_cln_debug_pub.Add('Xmlg Int Transaction Type       ----'||l_xmlg_int_transaction_type, 1);
1495          END IF;
1496 
1497 
1498 
1499          l_xmlg_int_transaction_subtype     := WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_SUBTYPE',l_cln_ch_parameters);
1500          IF (l_Debug_Level <= 1) THEN
1501                  ecx_cln_debug_pub.Add('Xmlg Int Transaction Sub Type   ----'||l_xmlg_int_transaction_subtype, 1);
1502          END IF;
1503 
1504 
1505          l_xml_event_key                    := WF_EVENT.getValueForParameter('XML_EVENT_KEY',l_cln_ch_parameters);
1506          IF (l_Debug_Level <= 1) THEN
1507                  ecx_cln_debug_pub.Add('XMLG Event Key                  ----'||l_xml_event_key, 1);
1508          END IF;
1509 
1510 
1511       l_app_id              := WF_EVENT.getValueForParameter('APPLICATION_ID',l_cln_ch_parameters);
1512       IF (l_Debug_Level <= 1) THEN
1513               ecx_cln_debug_pub.Add('Application ID                  ----'||l_app_id, 1);
1514       END IF;
1515 
1516       l_xmlg_msg_id                 := WF_EVENT.getValueForParameter('XMLG_MESSAGE_ID',l_cln_ch_parameters);
1517       IF (l_Debug_Level <= 1) THEN
1518               ecx_cln_debug_pub.Add('XMLG Message ID                 ----'||l_xmlg_msg_id, 1);
1519       END IF;
1520 
1521       l_ref_id                      := WF_EVENT.getValueForParameter('REFERENCE_ID',l_cln_ch_parameters);
1522       IF (l_Debug_Level <= 1) THEN
1523               ecx_cln_debug_pub.Add('Reference ID                    ----'||l_ref_id, 1);
1524       END IF;
1525 
1526       l_unique1                     := WF_EVENT.getValueForParameter('UNIQUE_ID1',l_cln_ch_parameters);
1527       IF (l_Debug_Level <= 1) THEN
1528               ecx_cln_debug_pub.Add('Unique ID1                      ----'||l_unique1, 1);
1529       END IF;
1530 
1531 
1532       l_unique2                     := WF_EVENT.getValueForParameter('UNIQUE_ID2',l_cln_ch_parameters);
1533       IF (l_Debug_Level <= 1) THEN
1534               ecx_cln_debug_pub.Add('Unique ID2                      ----'||l_unique2, 1);
1535       END IF;
1536 
1537 
1538       l_unique3                     := WF_EVENT.getValueForParameter('UNIQUE_ID3',l_cln_ch_parameters);
1539       IF (l_Debug_Level <= 1) THEN
1540               ecx_cln_debug_pub.Add('Unique ID3                      ----'||l_unique3, 1);
1541       END IF;
1542 
1543 
1544       l_unique4                     := WF_EVENT.getValueForParameter('UNIQUE_ID4',l_cln_ch_parameters);
1545       IF (l_Debug_Level <= 1) THEN
1546               ecx_cln_debug_pub.Add('Unique ID4                      ----'||l_unique4, 1);
1547       END IF;
1548 
1549 
1550       l_unique5                     := WF_EVENT.getValueForParameter('UNIQUE_ID5',l_cln_ch_parameters);
1551       IF (l_Debug_Level <= 1) THEN
1552               ecx_cln_debug_pub.Add('Unique ID5                      ----'||l_unique5, 1);
1553       END IF;
1554 
1555 
1556          IF (l_Debug_Level <= 1) THEN
1557                  ecx_cln_debug_pub.Add('-----------------------------------------------------', 1);
1558          END IF;
1559 
1560 
1561          CLN_CH_COLLABORATION_PKG.ADD_COLLABORATION_MESSAGES(
1562              x_return_status                    => l_return_status,
1563              x_msg_data                         => l_msg_data,
1564              p_dtl_coll_id                      => l_dtl_coll_id,
1565              p_ref1                             => l_ref1,
1566              p_ref2                             => l_ref2,
1567              p_ref3                             => l_ref3,
1568              p_ref4                             => l_ref4,
1569              p_ref5                             => l_ref5,
1570              p_dtl_msg                          => l_msg_text,
1571              p_coll_id                          => l_coll_id,
1572              p_xmlg_transaction_type            => l_xmlg_transaction_type,
1573              p_xmlg_transaction_subtype         => l_xmlg_transaction_subtype,
1574              p_xmlg_document_id                 => l_xmlg_document_id,
1575              p_doc_type                         => l_doc_type,
1576              p_doc_direction                    => l_doc_dir,
1577              p_coll_point                       => l_coll_pt,
1578              p_xmlg_internal_control_number     => l_xmlg_internal_control_number,
1579              p_xmlg_int_transaction_type        => l_xmlg_int_transaction_type,
1580              p_xmlg_int_transaction_subtype     => l_xmlg_int_transaction_subtype,
1581              p_xml_event_key                    => l_xml_event_key,
1582              p_xmlg_msg_id                      => l_xmlg_msg_id,
1583              p_app_id                           => l_app_id,
1584              p_ref_id                           => l_ref_id,
1585              p_unique1                          => l_unique1,
1586              p_unique2                          => l_unique2,
1587              p_unique3                          => l_unique3,
1588              p_unique4                          => l_unique4,
1589              p_unique5                          => l_unique5
1590              );
1591 
1592 
1593          IF (l_Debug_Level <= 1) THEN
1594                  ecx_cln_debug_pub.Add('RETURN_STATUS got as     ----'||l_return_status, 1);
1595          END IF;
1596 
1597          IF (l_Debug_Level <= 1) THEN
1598                  ecx_cln_debug_pub.Add('MESSAGE_DATA got as      ----'||l_msg_data, 1);
1599          END IF;
1600 
1601 
1602          IF ( l_return_status <> 'S') THEN
1603               RAISE FND_API.G_EXC_ERROR;
1604          END IF;
1605 
1606          IF (l_Debug_Level <= 2) THEN
1607                  ecx_cln_debug_pub.Add('============EXITING ADD_MESSAGES_EVENT_SUB============', 2);
1608          END IF;
1609 
1610          RETURN 'SUCCESS'  ;
1611 
1612    EXCEPTION
1613          WHEN FND_API.G_EXC_ERROR THEN
1614                  IF (l_Debug_Level <= 1) THEN
1615                          ecx_cln_debug_pub.Add('Error:' || l_msg_data , 3);
1616                  END IF;
1617 
1618                  IF (l_Debug_Level <= 2) THEN
1619                          ecx_cln_debug_pub.Add('============EXITING ADD_MESSAGES_EVENT_SUB============', 2);
1620                  END IF;
1621 
1622             RETURN 'SUCCESS';
1623 
1624          WHEN OTHERS THEN
1625             l_error_code := SQLCODE;
1626             l_error_msg := SQLERRM;
1627             IF (l_Debug_Level <= 4) THEN
1628                     ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg, 3);
1629                     ecx_cln_debug_pub.Add('============EXITING CLN_UPDATE_EVENT_SUB============', 2);
1630             END IF;
1631 
1632             RETURN 'SUCCESS';
1633 
1634    END ADD_MESSAGES_EVENT_SUB;
1635 
1636 
1637    -- Name
1638    --    ADD_COLLABORATION_EVENT_SUB
1639    -- Purpose
1640    --    This is the public procedure which is used to get the parameters for the update/create
1641    --    collaboration event.This procedure in turn calls CREATE_COLLABORATION or UPDATE_COLLABORATION API .
1642    --    based on the parameters passed.
1643    -- Arguments
1644    --
1645    -- Notes
1646    --    No specific notes.
1647 
1648    FUNCTION ADD_COLLABORATION_EVENT_SUB(
1649         p_subscription_guid             IN RAW,
1650         p_event                         IN OUT NOCOPY WF_EVENT_T
1651 
1652    ) RETURN VARCHAR2
1653    IS
1654          l_cln_ch_parameters            wf_parameter_list_t;
1655 
1656          l_error_code                   NUMBER;
1657 
1658          l_error_msg                    VARCHAR2(255);
1659          l_debug_mode                   VARCHAR2(255);
1660          l_return_status                VARCHAR2(255);
1661 
1662          l_msg_data                     VARCHAR2(2000);
1663 
1664          l_coll_id                      NUMBER;
1665 
1666          l_ref_id                       VARCHAR2(100);
1667          l_rel_no                       VARCHAR2(10);
1668          l_doc_no                       VARCHAR2(255);
1669          l_doc_rev_no                   VARCHAR2(10);
1670          l_xmlg_transaction_type        VARCHAR2(100);
1671          l_xmlg_transaction_subtype     VARCHAR2(100);
1672          l_xmlg_int_transaction_type    VARCHAR2(100);
1673          l_xmlg_int_transaction_subtype VARCHAR2(100);
1674          l_xmlg_document_id             VARCHAR2(256);
1675          l_resend_flag                  VARCHAR2(3);
1676          l_resend_count                 NUMBER;
1677          l_disposition                  VARCHAR2(10);
1678          l_tr_partner_type              VARCHAR2(10);
1679          l_tr_partner_id                VARCHAR2(30);
1680          l_tr_partner_site              VARCHAR2(30);
1681          l_unique1                      VARCHAR2(30);
1682          l_unique2                      VARCHAR2(30);
1683          l_unique3                      VARCHAR2(30);
1684          l_unique4                      VARCHAR2(30);
1685          l_unique5                      VARCHAR2(30);
1686          l_sender_protocol              VARCHAR2(240);
1687          l_rosettanet_check_required    VARCHAR2(240);
1688          l_rosettanet_check_required_b  BOOLEAN;
1689          l_doc_dir                      VARCHAR2(3);
1690          l_coll_pt                      VARCHAR2(20);
1691          l_org_ref                      VARCHAR2(255);
1692          l_doc_status                   VARCHAR2(10);
1693          l_msg_text                     VARCHAR2(2000);
1694          l_xmlg_msg_id                  VARCHAR2(100);
1695          l_dtl_coll_id                  NUMBER;
1696          l_partner_doc_no               VARCHAR2(255);
1697          l_xmlg_internal_control_number VARCHAR2(100);
1698          l_org_id                       NUMBER;
1699          l_doc_creation_date            DATE;
1700          l_doc_revision_date            DATE;
1701          l_doc_owner                    VARCHAR2(30);
1702          l_owner_role                   VARCHAR2(30);
1703 
1704 
1705          l_xml_event_key                VARCHAR2(240);
1706          l_collaboration_standard       VARCHAR2(30);
1707          l_subscriber_list              VARCHAR2(1000);
1708 
1709          l_app_id                       VARCHAR2(10);
1710          l_coll_type                    VARCHAR2(100);
1711          l_doc_type                     VARCHAR2(100);
1712          l_coll_status                  VARCHAR2(100);
1713 
1714          l_attribute1                   VARCHAR2(150);
1715          l_attribute2                   VARCHAR2(150);
1716          l_attribute3                   VARCHAR2(150);
1717          l_attribute4                   VARCHAR2(150);
1718          l_attribute5                   VARCHAR2(150);
1719          l_attribute6                   VARCHAR2(150);
1720          l_attribute7                   VARCHAR2(150);
1721          l_attribute8                   VARCHAR2(150);
1722          l_attribute9                   VARCHAR2(150);
1723          l_attribute10                  VARCHAR2(150);
1724          l_attribute11                  VARCHAR2(150);
1725          l_attribute12                  VARCHAR2(150);
1726          l_attribute13                  VARCHAR2(150);
1727          l_attribute14                  VARCHAR2(150);
1728          l_attribute15                  VARCHAR2(150);
1729 
1730          l_init_date                    DATE;
1731          l_dattribute1                  DATE;
1732          l_dattribute2                  DATE;
1733          l_dattribute3                  DATE;
1734          l_dattribute4                  DATE;
1735          l_dattribute5                  DATE;
1736 
1737 
1738 
1739    BEGIN
1740          -- Sets the debug mode to be FILE
1741       --l_debug_mode := ecx_cln_debug_pub.Set_Debug_Mode('FILE');
1742 
1743       IF (l_Debug_Level <= 2) THEN
1744               ecx_cln_debug_pub.Add('============ENTERING ADD_COLLABORATION_EVENT_SUB============', 2);
1745       END IF;
1746 
1747       l_cln_ch_parameters                := p_event.getParameterList();
1748 
1749       IF (l_Debug_Level <= 1) THEN
1750               ecx_cln_debug_pub.Add('----------- PARAMETERS OBTAINED ----------', 1);
1751       END IF;
1752 
1753       l_subscriber_list:= WF_EVENT.getValueForParameter('SUBSCRIBER_LIST',l_cln_ch_parameters);
1754       IF (l_Debug_Level <= 1) THEN
1755               ecx_cln_debug_pub.Add('Subscriber List                 ----'||l_subscriber_list, 1);
1756       END IF;
1757 
1758       IF(l_subscriber_list is not null and instr(l_subscriber_list,'CLN') = 0) THEN
1759               IF (l_Debug_Level <= 1) THEN
1760                 ecx_cln_debug_pub.Add('Subscriber list is not null and CLN is not there in the list', 1);
1761               END IF;
1762               RETURN 'SUCCESS'; -- No need to consume this event
1763            END IF;
1764 
1765 
1766       l_xmlg_msg_id                 := WF_EVENT.getValueForParameter('XMLG_MESSAGE_ID',l_cln_ch_parameters);
1767       l_xmlg_msg_id                 := replace(l_xmlg_msg_id,'.',''); -- There is an issue with Workflow
1768       IF (l_Debug_Level <= 1) THEN
1769               ecx_cln_debug_pub.Add('XMLG Message ID                 ----'||l_xmlg_msg_id, 1);
1770       END IF;
1771 
1772 
1773       l_xmlg_internal_control_number:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_CONTROL_NUMBER',l_cln_ch_parameters);
1774       IF (l_Debug_Level <= 1) THEN
1775               ecx_cln_debug_pub.Add('XMLG Internal Control Number    ----'||l_xmlg_internal_control_number, 1);
1776       END IF;
1777 
1778 
1779       l_xmlg_transaction_type       := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_TYPE',l_cln_ch_parameters);
1780       IF (l_Debug_Level <= 1) THEN
1781               ecx_cln_debug_pub.Add('XMLG Ext Transaction Type       ----'||l_xmlg_transaction_type, 1);
1782       END IF;
1783 
1784 
1785       l_xmlg_transaction_subtype    := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_SUBTYPE',l_cln_ch_parameters);
1786       IF (l_Debug_Level <= 1) THEN
1787               ecx_cln_debug_pub.Add('XMLG Ext Transaction Sub Type   ----'||l_xmlg_transaction_subtype, 1);
1788       END IF;
1789 
1790 
1791       l_xmlg_int_transaction_type   := WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_TYPE',l_cln_ch_parameters);
1792       IF (l_Debug_Level <= 1) THEN
1793               ecx_cln_debug_pub.Add('XMLG Int Transaction Type       ----'||l_xmlg_int_transaction_type, 1);
1794       END IF;
1795 
1796 
1797       l_xmlg_int_transaction_subtype:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_SUBTYPE',l_cln_ch_parameters);
1798       IF (l_Debug_Level <= 1) THEN
1799               ecx_cln_debug_pub.Add('XMLG Int Transaction Sub Type   ----'||l_xmlg_int_transaction_subtype, 1);
1800       END IF;
1801 
1802 
1803       l_xmlg_document_id            := WF_EVENT.getValueForParameter('XMLG_DOCUMENT_ID',l_cln_ch_parameters);
1804       IF (l_Debug_Level <= 1) THEN
1805               ecx_cln_debug_pub.Add('XMLG Document ID                ----'||l_xmlg_document_id, 1);
1806       END IF;
1807 
1808 
1809       l_doc_dir                     := WF_EVENT.getValueForParameter('DOCUMENT_DIRECTION',l_cln_ch_parameters);
1810       IF (l_Debug_Level <= 1) THEN
1811               ecx_cln_debug_pub.Add('Document Direction              ----'||l_doc_dir, 1);
1812       END IF;
1813 
1814 
1815       l_tr_partner_type             := WF_EVENT.getValueForParameter('TRADING_PARTNER_TYPE',l_cln_ch_parameters);
1816       IF (l_Debug_Level <= 1) THEN
1817               ecx_cln_debug_pub.Add('Trading Partner Type            ----'||l_tr_partner_type, 1);
1818       END IF;
1819 
1820 
1821       l_tr_partner_id               := WF_EVENT.getValueForParameter('TRADING_PARTNER_ID',l_cln_ch_parameters);
1822       IF (l_Debug_Level <= 1) THEN
1823               ecx_cln_debug_pub.Add('Trading Partner ID              ----'||l_tr_partner_id, 1);
1824       END IF;
1825 
1826 
1827       l_tr_partner_site             := WF_EVENT.getValueForParameter('TRADING_PARTNER_SITE',l_cln_ch_parameters);
1828       IF (l_Debug_Level <= 1) THEN
1829               ecx_cln_debug_pub.Add('Trading Partner Site            ----'||l_tr_partner_site, 1);
1830       END IF;
1831 
1832 
1833       l_sender_protocol             := WF_EVENT.getValueForParameter('SENDER_COMPONENT',l_cln_ch_parameters);
1834       IF (l_Debug_Level <= 1) THEN
1835               ecx_cln_debug_pub.Add('Sender Protocol                 ----'||l_sender_protocol, 1);
1836       END IF;
1837 
1838 
1839       l_ref_id                      := WF_EVENT.getValueForParameter('REFERENCE_ID',l_cln_ch_parameters);
1840       IF (l_Debug_Level <= 1) THEN
1841               ecx_cln_debug_pub.Add('Reference ID                    ----'||l_ref_id, 1);
1842       END IF;
1843 
1844 
1845       l_doc_no                      := WF_EVENT.getValueForParameter('DOCUMENT_NO',l_cln_ch_parameters);
1846       IF (l_Debug_Level <= 1) THEN
1847               ecx_cln_debug_pub.Add('Document Number                 ----'||l_doc_no, 1);
1848       END IF;
1849 
1850 
1851       l_org_id                      := To_Number(WF_EVENT.getValueForParameter('ORG_ID',l_cln_ch_parameters));
1852       IF (l_Debug_Level <= 1) THEN
1853               ecx_cln_debug_pub.Add('Org ID                          ----'||l_org_id, 1);
1854       END IF;
1855 
1856 
1857       l_rel_no                      := WF_EVENT.getValueForParameter('RELEASE_NO',l_cln_ch_parameters);
1858       IF (l_Debug_Level <= 1) THEN
1859               ecx_cln_debug_pub.Add('Release Number                  ----'||l_rel_no, 1);
1860       END IF;
1861 
1862 
1863       l_doc_rev_no                  := WF_EVENT.getValueForParameter('DOCUMENT_REVISION_NO',l_cln_ch_parameters);
1864       IF (l_Debug_Level <= 1) THEN
1865               ecx_cln_debug_pub.Add('Document Revision Number        ----'||l_doc_rev_no, 1);
1866       END IF;
1867 
1868 
1869       l_partner_doc_no              := WF_EVENT.getValueForParameter('PARTNER_DOCUMENT_NO',l_cln_ch_parameters);
1870       IF (l_Debug_Level <= 1) THEN
1871               ecx_cln_debug_pub.Add('Partner Document No             ----'||l_partner_doc_no, 1);
1872       END IF;
1873 
1874 
1875       l_resend_count                := To_Number(WF_EVENT.getValueForParameter('RESEND_COUNT',l_cln_ch_parameters));
1876       IF (l_Debug_Level <= 1) THEN
1877               ecx_cln_debug_pub.Add('Resend Count                    ----'||l_resend_count, 1);
1878       END IF;
1879 
1880 
1881       l_doc_creation_date           := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DOCUMENT_CREATION_DATE',l_cln_ch_parameters));
1882       IF (l_Debug_Level <= 1) THEN
1883               ecx_cln_debug_pub.Add('Document Creation Date          ----'||l_doc_creation_date, 1);
1884       END IF;
1885 
1886 
1887       l_doc_revision_date           := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DOCUMENT_REVISION_DATE',l_cln_ch_parameters));
1888       IF (l_Debug_Level <= 1) THEN
1889               ecx_cln_debug_pub.Add('Document Revision Date          ----'||l_doc_revision_date, 1);
1890       END IF;
1891 
1892 
1893       l_coll_pt                     := WF_EVENT.getValueForParameter('COLLABORATION_POINT',l_cln_ch_parameters);
1894       IF (l_Debug_Level <= 1) THEN
1895               ecx_cln_debug_pub.Add('Collaboration Point             ----'||l_coll_pt, 1);
1896       END IF;
1897 
1898 
1899       l_unique1                     := WF_EVENT.getValueForParameter('UNIQUE_ID1',l_cln_ch_parameters);
1900       IF (l_Debug_Level <= 1) THEN
1901               ecx_cln_debug_pub.Add('Unique ID1                      ----'||l_unique1, 1);
1902       END IF;
1903 
1904 
1905       l_unique2                     := WF_EVENT.getValueForParameter('UNIQUE_ID2',l_cln_ch_parameters);
1906       IF (l_Debug_Level <= 1) THEN
1907               ecx_cln_debug_pub.Add('Unique ID2                      ----'||l_unique2, 1);
1908       END IF;
1909 
1910 
1911       l_unique3                     := WF_EVENT.getValueForParameter('UNIQUE_ID3',l_cln_ch_parameters);
1912       IF (l_Debug_Level <= 1) THEN
1913               ecx_cln_debug_pub.Add('Unique ID3                      ----'||l_unique3, 1);
1914       END IF;
1915 
1916 
1917       l_unique4                     := WF_EVENT.getValueForParameter('UNIQUE_ID4',l_cln_ch_parameters);
1918       IF (l_Debug_Level <= 1) THEN
1919               ecx_cln_debug_pub.Add('Unique ID4                      ----'||l_unique4, 1);
1920       END IF;
1921 
1922 
1923       l_unique5                     := WF_EVENT.getValueForParameter('UNIQUE_ID5',l_cln_ch_parameters);
1924       IF (l_Debug_Level <= 1) THEN
1925               ecx_cln_debug_pub.Add('Unique ID5                      ----'||l_unique5, 1);
1926       END IF;
1927 
1928 
1929       l_rosettanet_check_required   := WF_EVENT.getValueForParameter('ROSETTANET_CHECK_REQUIRED',l_cln_ch_parameters);
1930       IF (l_Debug_Level <= 1) THEN
1931               ecx_cln_debug_pub.Add('Rosettanet Check Required       ----'||l_rosettanet_check_required, 1);
1932       END IF;
1933 
1934 
1935       l_doc_owner                   := To_Number(WF_EVENT.getValueForParameter('DOCUMENT_OWNER',l_cln_ch_parameters));
1936       IF (l_Debug_Level <= 1) THEN
1937               ecx_cln_debug_pub.Add('Document Owner                  ----'||l_doc_owner, 1);
1938       END IF;
1939 
1940       l_owner_role                  := WF_EVENT.getValueForParameter('OWNER_ROLE',l_cln_ch_parameters);
1941       IF (l_Debug_Level <= 1) THEN
1942               ecx_cln_debug_pub.Add('Owner Role                      ----'||l_owner_role, 1);
1943       END IF;
1944 
1945 
1946       l_coll_id                     := To_Number(WF_EVENT.getValueForParameter('COLLABORATION_ID',l_cln_ch_parameters));
1947       IF (l_Debug_Level <= 1) THEN
1948               ecx_cln_debug_pub.Add('Collaboration ID                ----'||l_coll_id, 1);
1949       END IF;
1950 
1951 
1952       l_disposition                 := WF_EVENT.getValueForParameter('DISPOSITION',l_cln_ch_parameters);
1953       IF (l_Debug_Level <= 1) THEN
1954               ecx_cln_debug_pub.Add('Disposition                     ----'||l_disposition, 1);
1955       END IF;
1956 
1957 
1958       l_org_ref                     := WF_EVENT.getValueForParameter('ORIGINATOR_REFERENCE',l_cln_ch_parameters);
1959       IF (l_Debug_Level <= 1) THEN
1960               ecx_cln_debug_pub.Add('Originator Reference            ----'||l_org_ref, 1);
1961       END IF;
1962 
1963 
1964       l_doc_status                  := WF_EVENT.getValueForParameter('DOCUMENT_STATUS',l_cln_ch_parameters);
1965       IF (l_Debug_Level <= 1) THEN
1966               ecx_cln_debug_pub.Add('Document Status                 ----'||l_doc_status, 1);
1967       END IF;
1968 
1969 
1970       l_msg_text                    := WF_EVENT.getValueForParameter('MESSAGE_TEXT',l_cln_ch_parameters);
1971       IF (l_Debug_Level <= 1) THEN
1972               ecx_cln_debug_pub.Add('Message Text                    ----'||l_msg_text, 1);
1973       END IF;
1974 
1975       l_collaboration_standard      := WF_EVENT.getValueForParameter('COLLABORATION_STANDARD',l_cln_ch_parameters);
1976       IF (l_Debug_Level <= 1) THEN
1977               ecx_cln_debug_pub.Add('Collaboration Standard           ----'||l_collaboration_standard, 1);
1978       END IF;
1979 
1980 
1981       l_xml_event_key              := WF_EVENT.getValueForParameter('XML_EVENT_KEY',l_cln_ch_parameters);
1982       IF (l_Debug_Level <= 1) THEN
1983               ecx_cln_debug_pub.Add('XMLG Event Key                  ----'||l_xml_event_key, 1);
1984       END IF;
1985 
1986 
1987       l_app_id              := WF_EVENT.getValueForParameter('APPLICATION_ID',l_cln_ch_parameters);
1988       IF (l_Debug_Level <= 1) THEN
1989               ecx_cln_debug_pub.Add('Application ID                  ----'||l_app_id, 1);
1990       END IF;
1991 
1992       l_coll_type              := WF_EVENT.getValueForParameter('COLLABORATION_TYPE',l_cln_ch_parameters);
1993       IF (l_Debug_Level <= 1) THEN
1994               ecx_cln_debug_pub.Add('Collaboration Type              ----'||l_coll_type, 1);
1995       END IF;
1996 
1997       l_doc_type              := WF_EVENT.getValueForParameter('DOCUMENT_TYPE',l_cln_ch_parameters);
1998       IF (l_Debug_Level <= 1) THEN
1999               ecx_cln_debug_pub.Add('Document Type                   ----'||l_doc_type, 1);
2000       END IF;
2001 
2002       l_init_date              := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('COLLABORATION_INITIATION_DATE',l_cln_ch_parameters));
2003       IF (l_Debug_Level <= 1) THEN
2004               ecx_cln_debug_pub.Add('Initiation Date                 ----'||l_init_date, 1);
2005       END IF;
2006 
2007       l_coll_status              := WF_EVENT.getValueForParameter('COLLABORATION_STATUS',l_cln_ch_parameters);
2008       IF (l_Debug_Level <= 1) THEN
2009               ecx_cln_debug_pub.Add('Collaboration Status            ----'||l_coll_status, 1);
2010       END IF;
2011 
2012       l_attribute1             := WF_EVENT.getValueForParameter('ATTRIBUTE1',l_cln_ch_parameters);
2013       IF (l_Debug_Level <= 1) THEN
2014               ecx_cln_debug_pub.Add('ATTRIBUTE1                      ----'||l_attribute1, 1);
2015       END IF;
2016 
2017       l_attribute2             := WF_EVENT.getValueForParameter('ATTRIBUTE2',l_cln_ch_parameters);
2018       IF (l_Debug_Level <= 1) THEN
2019               ecx_cln_debug_pub.Add('ATTRIBUTE2                      ----'||l_attribute2, 1);
2020       END IF;
2021 
2022       l_attribute3             := WF_EVENT.getValueForParameter('ATTRIBUTE3',l_cln_ch_parameters);
2023       IF (l_Debug_Level <= 1) THEN
2024               ecx_cln_debug_pub.Add('ATTRIBUTE3                      ----'||l_attribute3, 1);
2025       END IF;
2026 
2027       l_attribute4             := WF_EVENT.getValueForParameter('ATTRIBUTE4',l_cln_ch_parameters);
2028       IF (l_Debug_Level <= 1) THEN
2029               ecx_cln_debug_pub.Add('ATTRIBUTE4                      ----'||l_attribute4, 1);
2030       END IF;
2031 
2032       l_attribute5             := WF_EVENT.getValueForParameter('ATTRIBUTE5',l_cln_ch_parameters);
2033       IF (l_Debug_Level <= 1) THEN
2034               ecx_cln_debug_pub.Add('ATTRIBUTE5                      ----'||l_attribute5, 1);
2035       END IF;
2036 
2037       l_attribute6             := WF_EVENT.getValueForParameter('ATTRIBUTE6',l_cln_ch_parameters);
2038       IF (l_Debug_Level <= 1) THEN
2039               ecx_cln_debug_pub.Add('ATTRIBUTE6                      ----'||l_attribute6, 1);
2040       END IF;
2041 
2042       l_attribute7             := WF_EVENT.getValueForParameter('ATTRIBUTE7',l_cln_ch_parameters);
2043       IF (l_Debug_Level <= 1) THEN
2044               ecx_cln_debug_pub.Add('ATTRIBUTE7                      ----'||l_attribute7, 1);
2045       END IF;
2046 
2047       l_attribute8             := WF_EVENT.getValueForParameter('ATTRIBUTE8',l_cln_ch_parameters);
2048       IF (l_Debug_Level <= 1) THEN
2049               ecx_cln_debug_pub.Add('ATTRIBUTE8                      ----'||l_attribute8, 1);
2050       END IF;
2051 
2052       l_attribute9             := WF_EVENT.getValueForParameter('ATTRIBUTE9',l_cln_ch_parameters);
2053       IF (l_Debug_Level <= 1) THEN
2054               ecx_cln_debug_pub.Add('ATTRIBUTE9                      ----'||l_attribute9, 1);
2055       END IF;
2056 
2057       l_attribute10            := WF_EVENT.getValueForParameter('ATTRIBUTE10',l_cln_ch_parameters);
2058       IF (l_Debug_Level <= 1) THEN
2059               ecx_cln_debug_pub.Add('ATTRIBUTE10                      ----'||l_attribute10, 1);
2060       END IF;
2061 
2062       l_attribute11            := WF_EVENT.getValueForParameter('ATTRIBUTE11',l_cln_ch_parameters);
2063       IF (l_Debug_Level <= 1) THEN
2064               ecx_cln_debug_pub.Add('ATTRIBUTE11                      ----'||l_attribute11, 1);
2065       END IF;
2066 
2067       l_attribute12            := WF_EVENT.getValueForParameter('ATTRIBUTE12',l_cln_ch_parameters);
2068       IF (l_Debug_Level <= 1) THEN
2069               ecx_cln_debug_pub.Add('ATTRIBUTE12                      ----'||l_attribute12, 1);
2070       END IF;
2071 
2072       l_attribute13            := WF_EVENT.getValueForParameter('ATTRIBUTE13',l_cln_ch_parameters);
2073       IF (l_Debug_Level <= 1) THEN
2074               ecx_cln_debug_pub.Add('ATTRIBUTE13                      ----'||l_attribute13, 1);
2075       END IF;
2076 
2077       l_attribute14            := WF_EVENT.getValueForParameter('ATTRIBUTE14',l_cln_ch_parameters);
2078       IF (l_Debug_Level <= 1) THEN
2079               ecx_cln_debug_pub.Add('ATTRIBUTE14                      ----'||l_attribute14, 1);
2080       END IF;
2081 
2082       l_attribute15            := WF_EVENT.getValueForParameter('ATTRIBUTE15',l_cln_ch_parameters);
2083       IF (l_Debug_Level <= 1) THEN
2084               ecx_cln_debug_pub.Add('ATTRIBUTE15                      ----'||l_attribute15, 1);
2085       END IF;
2086 
2087       l_dattribute1            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE1',l_cln_ch_parameters));
2088       IF (l_Debug_Level <= 1) THEN
2089               ecx_cln_debug_pub.Add('DATTRIBUTE1                      ----'||l_dattribute1, 1);
2090       END IF;
2091 
2092       l_dattribute2            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE2',l_cln_ch_parameters));
2093       IF (l_Debug_Level <= 1) THEN
2094               ecx_cln_debug_pub.Add('DATTRIBUTE2                      ----'||l_dattribute2, 1);
2095       END IF;
2096 
2097       l_dattribute3            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE3',l_cln_ch_parameters));
2098       IF (l_Debug_Level <= 1) THEN
2099               ecx_cln_debug_pub.Add('DATTRIBUTE3                      ----'||l_dattribute3, 1);
2100       END IF;
2101 
2102       l_dattribute4            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE4',l_cln_ch_parameters));
2103       IF (l_Debug_Level <= 1) THEN
2104               ecx_cln_debug_pub.Add('DATTRIBUTE4                      ----'||l_dattribute4, 1);
2105       END IF;
2106 
2107       l_dattribute5            := CONVERT_TO_DATE(WF_EVENT.getValueForParameter('DATTRIBUTE5',l_cln_ch_parameters));
2108       IF (l_Debug_Level <= 1) THEN
2109               ecx_cln_debug_pub.Add('DATTRIBUTE5                      ----'||l_dattribute5, 1);
2110       END IF;
2111 
2112 
2113 
2114       IF (l_Debug_Level <= 1) THEN
2115               ecx_cln_debug_pub.Add('------------------------------------------', 1);
2116       END IF;
2117 
2118 
2119 
2120       IF ( UPPER(l_rosettanet_check_required) = 'FALSE') THEN
2121            l_rosettanet_check_required_b := FALSE;
2122       ELSE
2123            l_rosettanet_check_required_b := TRUE;
2124       END IF;
2125 
2126 
2127       IF ((l_resend_count > 0) AND ( l_resend_count IS NOT NULL )) THEN
2128            l_resend_flag   :=     'Y';
2129       END IF;
2130 
2131       IF (l_ref_id IS NULL ) THEN -- If reference ID is not passed by caller, get defualt XMLG OAG rf id and set it to global variable
2132           CLN_CH_COLLABORATION_PKG.g_xmlg_oag_application_ref_id  :=  Get_Reference_id(p_event);
2133       END IF;
2134 
2135 
2136       CLN_CH_COLLABORATION_PKG.ADD_COLLABORATION(
2137              x_return_status                  => l_return_status,
2138              x_msg_data                       => l_msg_data,
2139              p_coll_id                        => l_coll_id,
2140              p_app_id                         => l_app_id,
2141              p_ref_id                         => l_ref_id,
2142              p_rel_no                         => l_rel_no,
2143              p_doc_no                         => l_doc_no,
2144              p_doc_rev_no                     => l_doc_rev_no,
2145              p_xmlg_transaction_type          => l_xmlg_transaction_type,
2146              p_xmlg_transaction_subtype       => l_xmlg_transaction_subtype,
2147              p_xmlg_document_id               => l_xmlg_document_id,
2148              p_resend_flag                    => l_resend_flag,
2149              p_resend_count                   => l_resend_count,
2150              p_disposition                    => l_disposition,
2151              p_coll_status                    => l_coll_status,
2152              p_coll_type                      => l_coll_type,
2153              p_doc_type                       => l_doc_type,
2154              p_doc_dir                        => l_doc_dir,
2155              p_coll_pt                        => l_coll_pt,
2156              p_org_ref                        => l_org_ref,
2157              p_doc_status                     => l_doc_status,
2158              p_notification_id                => NULL,
2159              p_msg_text                       => l_msg_text,
2160              p_attr1                          => NULL,
2161              p_attr2                          => NULL,
2162              p_attr3                          => NULL,
2163              p_attr4                          => NULL,
2164              p_attr5                          => NULL,
2165              p_attr6                          => NULL,
2166              p_attr7                          => NULL,
2167              p_attr8                          => NULL,
2168              p_attr9                          => NULL,
2169              p_attr10                         => NULL,
2170              p_attr11                         => NULL,
2171              p_attr12                         => NULL,
2172              p_attr13                         => NULL,
2173              p_attr14                         => NULL,
2174              p_attr15                         => NULL,
2175              p_xmlg_msg_id                    => l_xmlg_msg_id,
2176              p_unique1                        => l_unique1,
2177              p_unique2                        => l_unique2,
2178              p_unique3                        => l_unique3,
2179              p_unique4                        => l_unique4,
2180              p_unique5                        => l_unique5,
2181              p_tr_partner_type                => l_tr_partner_type,
2182              p_tr_partner_id                  => l_tr_partner_id,
2183              p_tr_partner_site                => l_tr_partner_site,
2184              p_sender_component               => l_sender_protocol,
2185              p_rosettanet_check_required      => l_rosettanet_check_required_b,
2186              x_dtl_coll_id                    => l_dtl_coll_id,
2187              p_xmlg_internal_control_number   => l_xmlg_internal_control_number,
2188              p_partner_doc_no                 => l_partner_doc_no,
2189              p_org_id                         => l_org_id,
2190              p_init_date                      => l_init_date,
2191              p_doc_creation_date              => l_doc_creation_date,
2192              p_doc_revision_date              => l_doc_revision_date,
2193              p_doc_owner                      => l_doc_owner,
2194              p_xmlg_int_transaction_type      => l_xmlg_int_transaction_type,
2195              p_xmlg_int_transaction_subtype   => l_xmlg_int_transaction_subtype,
2196              p_xml_event_key                  => l_xml_event_key,
2197              p_collaboration_standard         => l_collaboration_standard,
2198              p_attribute1                     => l_attribute1,
2199              p_attribute2                     => l_attribute2,
2200              p_attribute3                     => l_attribute3,
2201              p_attribute4                     => l_attribute4,
2202              p_attribute5                     => l_attribute5,
2203              p_attribute6                     => l_attribute6,
2204              p_attribute7                     => l_attribute7,
2205              p_attribute8                     => l_attribute8,
2206              p_attribute9                     => l_attribute9,
2207              p_attribute10                    => l_attribute10,
2208              p_attribute11                    => l_attribute11,
2209              p_attribute12                    => l_attribute12,
2210              p_attribute13                    => l_attribute13,
2211              p_attribute14                    => l_attribute14,
2212              p_attribute15                    => l_attribute15,
2213              p_dattribute1                    => l_dattribute1,
2214              p_dattribute2                    => l_dattribute2,
2215              p_dattribute3                    => l_dattribute3,
2216              p_dattribute4                    => l_dattribute4,
2217              p_dattribute5                    => l_dattribute5,
2218              p_owner_role                     => l_owner_role  );
2219 
2220 
2221 
2222          IF (l_Debug_Level <= 1) THEN
2223                  ecx_cln_debug_pub.Add('COLLABORATION_DETAIL_ID got as  ----'||l_dtl_coll_id, 1);
2224                  ecx_cln_debug_pub.Add('RETURN_STATUS got as            ----'||l_return_status, 1);
2225                  ecx_cln_debug_pub.Add('MESSAGE_DATA got as             ----'||l_msg_data, 1);
2226          END IF;
2227 
2228 
2229          IF ( l_return_status <> 'S') THEN
2230               RAISE FND_API.G_EXC_ERROR;
2231          END IF;
2232 
2233          IF (l_Debug_Level <= 2) THEN
2234                  ecx_cln_debug_pub.Add('============EXITING ADD_COLLABORATION_EVENT_SUB============', 2);
2235          END IF;
2236 
2237          RETURN 'SUCCESS'  ;
2238 
2239    EXCEPTION
2240          WHEN FND_API.G_EXC_ERROR THEN
2241                  l_error_code   :=SQLCODE;
2242                  l_error_msg    :=SQLERRM;
2243                  IF (l_Debug_Level <= 4) THEN
2244                          ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg, 3);
2245                          ecx_cln_debug_pub.Add('============EXITING ADD_COLLABORATION_EVENT_SUB============', 2);
2246                  END IF;
2247 
2248             RETURN 'SUCCESS';
2249 
2250          WHEN OTHERS THEN
2251             l_error_code := SQLCODE;
2252             l_error_msg := SQLERRM;
2253             IF (l_Debug_Level <= 5) THEN
2254                     ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg, 3);
2255                     ecx_cln_debug_pub.Add('============EXITING ADD_COLLABORATION_EVENT_SUB============', 2);
2256             END IF;
2257 
2258             RETURN 'SUCCESS';
2259 
2260    END ADD_COLLABORATION_EVENT_SUB;
2261 
2262 
2263 
2264 
2265 
2266    -- Name
2267    --    NOTIFICATION_EVENT_SUB
2268    -- Purpose
2269    --    This is the public procedure which is used to raise the notification
2270    --    event.This procedure in turn calls CLN_NP_PROCESSOR_PKG.PROCESS_NOTIF_ACTIONS_EVT API.
2271    --
2272    -- Arguments
2273    --
2274    -- Notes
2275    --    No specific notes.
2276 
2277    FUNCTION NOTIFICATION_EVENT_SUB(
2278         p_subscription_guid             IN RAW,
2279         p_event                         IN OUT NOCOPY WF_EVENT_T
2280    ) RETURN VARCHAR2
2281    IS
2282       l_cln_ch_parameters               wf_parameter_list_t;
2283       l_subscriber_list                 VARCHAR2(1000);
2284       l_debug_mode                      VARCHAR2(255);
2285 
2286       -- key parameters finding the Collaboration ID
2287       l_coll_id                         NUMBER;
2288 
2289       l_xmlg_internal_control_number    VARCHAR2(100);
2290 
2291       l_xmlg_msg_id                     VARCHAR2(100);
2292 
2293       l_ref_id                          VARCHAR2(100);
2294 
2295       l_xmlg_transaction_type           VARCHAR2(100);
2296       l_xmlg_transaction_subtype        VARCHAR2(100);
2297       l_xmlg_int_transaction_type       VARCHAR2(100);
2298       l_xmlg_int_transaction_subtype    VARCHAR2(100);
2299       l_xmlg_document_id                VARCHAR2(256);
2300       l_doc_dir                         VARCHAR2(3);
2301       l_tr_partner_id                   VARCHAR2(30);
2302       l_tr_partner_type                 VARCHAR2(10);
2303       l_tr_partner_site                 VARCHAR2(30);
2304 
2305       l_application_id                  VARCHAR2(10);
2306 
2307       l_unique1                         VARCHAR2(30);
2308       l_unique2                         VARCHAR2(30);
2309       l_unique3                         VARCHAR2(30);
2310       l_unique4                         VARCHAR2(30);
2311       l_unique5                         VARCHAR2(30);
2312 
2313       -- extra parameters required for notification module
2314       l_notification_code               VARCHAR2(30);
2315       l_notification_desc               VARCHAR2(1000);
2316       l_notification_status             VARCHAR2(30);
2317 
2318       l_collaboration_pt                VARCHAR2(20);
2319       l_collaboration_std               VARCHAR2(30);
2320       l_collaboration_type              VARCHAR2(30);
2321 
2322       -- extra attributes for batch mode
2323       l_attribute_name			VARCHAR2(150);
2324       l_attribute_value			VARCHAR2(150);
2325       l_batch_mode			VARCHAR2(2);
2326       l_notif_receiver_role		VARCHAR2(100);
2327 
2328       l_return_status                   VARCHAR2(255);
2329       l_return_msg                      VARCHAR2(1000);
2330 
2331       l_error_code                      NUMBER;
2332       l_error_msg                       VARCHAR2(255);
2333 
2334    BEGIN
2335       -- Sets the debug mode to be FILE
2336       --l_debug_mode := ecx_cln_debug_pub.Set_Debug_Mode('FILE');
2337 
2338       IF (l_Debug_Level <= 2) THEN
2339               ecx_cln_debug_pub.Add('==========ENTERING NOTIFICATION_EVENT_SUB===========', 2);
2340       END IF;
2341 
2342       l_cln_ch_parameters           := p_event.getParameterList();
2343 
2344       IF (l_Debug_Level <= 1) THEN
2345               ecx_cln_debug_pub.Add('----------- PARAMETERS OBTAINED ----------', 1);
2346       END IF;
2347 
2348 
2349       l_subscriber_list:= WF_EVENT.getValueForParameter('SUBSCRIBER_LIST',l_cln_ch_parameters);
2350       IF (l_Debug_Level <= 1) THEN
2351               ecx_cln_debug_pub.Add('Subscriber List                 ----'||l_subscriber_list, 1);
2352       END IF;
2353 
2354       IF(l_subscriber_list is not null and instr(l_subscriber_list,'CLN') = 0) THEN
2355               IF (l_Debug_Level <= 1) THEN
2356                 ecx_cln_debug_pub.Add('Subscriber list is not null and CLN is not there in the list', 1);
2357               END IF;
2358               RETURN 'SUCCESS'; -- No need to consume this event
2359       END IF;
2360 
2361 
2362       l_xmlg_msg_id                 := WF_EVENT.getValueForParameter('XMLG_MESSAGE_ID',l_cln_ch_parameters);
2363       l_xmlg_msg_id                 := replace(l_xmlg_msg_id,'.',''); -- There is an issue with Workflow
2364       IF (l_Debug_Level <= 1) THEN
2365               ecx_cln_debug_pub.Add('XMLG Message ID                 ----'||l_xmlg_msg_id, 1);
2366       END IF;
2367 
2368 
2369       l_xmlg_internal_control_number:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_CONTROL_NUMBER',l_cln_ch_parameters);
2370       IF (l_Debug_Level <= 1) THEN
2371               ecx_cln_debug_pub.Add('XMLG Internal Control Number    ----'||l_xmlg_internal_control_number, 1);
2372       END IF;
2373 
2374 
2375       l_xmlg_transaction_type       := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_TYPE',l_cln_ch_parameters);
2376       IF (l_Debug_Level <= 1) THEN
2377               ecx_cln_debug_pub.Add('XMLG Ext Transaction Type       ----'||l_xmlg_transaction_type, 1);
2378       END IF;
2379 
2380 
2381       l_xmlg_transaction_subtype    := WF_EVENT.getValueForParameter('XMLG_TRANSACTION_SUBTYPE',l_cln_ch_parameters);
2382       IF (l_Debug_Level <= 1) THEN
2383               ecx_cln_debug_pub.Add('XMLG Ext Transaction Sub Type   ----'||l_xmlg_transaction_subtype, 1);
2384       END IF;
2385 
2386 
2387       l_xmlg_int_transaction_type   := WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_TYPE',l_cln_ch_parameters);
2388       IF (l_Debug_Level <= 1) THEN
2389               ecx_cln_debug_pub.Add('XMLG Int Transaction Type       ----'||l_xmlg_int_transaction_type, 1);
2390       END IF;
2391 
2392 
2393       l_xmlg_int_transaction_subtype:= WF_EVENT.getValueForParameter('XMLG_INTERNAL_TXN_SUBTYPE',l_cln_ch_parameters);
2394       IF (l_Debug_Level <= 1) THEN
2395               ecx_cln_debug_pub.Add('XMLG Int Transaction Sub Type   ----'||l_xmlg_int_transaction_subtype, 1);
2396       END IF;
2397 
2398 
2399       l_xmlg_document_id            := WF_EVENT.getValueForParameter('XMLG_DOCUMENT_ID',l_cln_ch_parameters);
2400       IF (l_Debug_Level <= 1) THEN
2401               ecx_cln_debug_pub.Add('XMLG Document ID                ----'||l_xmlg_document_id, 1);
2402       END IF;
2403 
2404 
2405       l_doc_dir                     := WF_EVENT.getValueForParameter('DOCUMENT_DIRECTION',l_cln_ch_parameters);
2406       IF (l_Debug_Level <= 1) THEN
2407               ecx_cln_debug_pub.Add('Document Direction              ----'||l_doc_dir, 1);
2408       END IF;
2409 
2410 
2411       l_tr_partner_type             := WF_EVENT.getValueForParameter('TRADING_PARTNER_TYPE',l_cln_ch_parameters);
2412       IF (l_Debug_Level <= 1) THEN
2413               ecx_cln_debug_pub.Add('Trading Partner Type            ----'||l_tr_partner_type, 1);
2414       END IF;
2415 
2416 
2417       l_tr_partner_id               := WF_EVENT.getValueForParameter('TRADING_PARTNER_ID',l_cln_ch_parameters);
2418       IF (l_Debug_Level <= 1) THEN
2419               ecx_cln_debug_pub.Add('Trading Partner ID              ----'||l_tr_partner_id, 1);
2420       END IF;
2421 
2422 
2423       l_tr_partner_site             := WF_EVENT.getValueForParameter('TRADING_PARTNER_SITE',l_cln_ch_parameters);
2424       IF (l_Debug_Level <= 1) THEN
2425               ecx_cln_debug_pub.Add('Trading Partner Site            ----'||l_tr_partner_site, 1);
2426       END IF;
2427 
2428 
2429       l_coll_id                      := To_Number(WF_EVENT.getValueForParameter('COLLABORATION_ID',l_cln_ch_parameters));
2430       IF (l_Debug_Level <= 1) THEN
2431               ecx_cln_debug_pub.Add('Collaboration ID                ----'||l_coll_id, 1);
2432       END IF;
2433 
2434 
2435 
2436       l_collaboration_pt            := WF_EVENT.getValueForParameter('COLLABORATION_POINT',l_cln_ch_parameters);
2437       IF (l_Debug_Level <= 1) THEN
2438               ecx_cln_debug_pub.Add('Collaboration Point             ----'||l_collaboration_pt, 1);
2439       END IF;
2440 
2441 
2442       l_unique1                     := WF_EVENT.getValueForParameter('UNIQUE_ID1',l_cln_ch_parameters);
2443       IF (l_Debug_Level <= 1) THEN
2444               ecx_cln_debug_pub.Add('Unique ID1                      ----'||l_unique1, 1);
2445       END IF;
2446 
2447 
2448       l_unique2                     := WF_EVENT.getValueForParameter('UNIQUE_ID2',l_cln_ch_parameters);
2449       IF (l_Debug_Level <= 1) THEN
2450               ecx_cln_debug_pub.Add('Unique ID2                      ----'||l_unique2, 1);
2451       END IF;
2452 
2453       l_unique3                     := WF_EVENT.getValueForParameter('UNIQUE_ID3',l_cln_ch_parameters);
2454       IF (l_Debug_Level <= 1) THEN
2455               ecx_cln_debug_pub.Add('Unique ID3                      ----'||l_unique3, 1);
2456       END IF;
2457 
2458       l_unique4                     := WF_EVENT.getValueForParameter('UNIQUE_ID4',l_cln_ch_parameters);
2459       IF (l_Debug_Level <= 1) THEN
2460               ecx_cln_debug_pub.Add('Unique ID4                      ----'||l_unique4, 1);
2461       END IF;
2462 
2463       l_unique5                     := WF_EVENT.getValueForParameter('UNIQUE_ID5',l_cln_ch_parameters);
2464       IF (l_Debug_Level <= 1) THEN
2465               ecx_cln_debug_pub.Add('Unique ID5                      ----'||l_unique5, 1);
2466       END IF;
2467 
2468       l_application_id               := WF_EVENT.getValueForParameter('APPLICATION_ID',l_cln_ch_parameters);
2469       IF (l_Debug_Level <= 1) THEN
2470               ecx_cln_debug_pub.Add('Application ID                  ----'||l_application_id, 1);
2471       END IF;
2472 
2473       l_notification_code           := WF_EVENT.getValueForParameter('NOTIFICATION_CODE',l_cln_ch_parameters);
2474       IF (l_Debug_Level <= 1) THEN
2475               ecx_cln_debug_pub.Add('NOTIFICATION_CODE               ----'||l_notification_code, 1);
2476       END IF;
2477 
2478       l_notification_desc           := WF_EVENT.getValueForParameter('NOTIFICATION_DESC',l_cln_ch_parameters);
2479       IF (l_Debug_Level <= 1) THEN
2480               ecx_cln_debug_pub.Add('NOTIFICATION_DESC               ----'||l_notification_desc, 1);
2481       END IF;
2482 
2483       l_notification_status         := WF_EVENT.getValueForParameter('NOTIFICATION_STATUS',l_cln_ch_parameters);
2484       IF (l_Debug_Level <= 1) THEN
2485               ecx_cln_debug_pub.Add('NOTIFICATION_STATUS             ----'||l_notification_status, 1);
2486       END IF;
2487 
2488 ---------- For Batch Mode  -----------
2489 
2490       l_attribute_name         := WF_EVENT.getValueForParameter('ATTRIBUTE_NAME',l_cln_ch_parameters);
2491       IF (l_Debug_Level <= 1) THEN
2492               ecx_cln_debug_pub.Add('ATTRIBUTE_NAME                  ----'||l_attribute_name, 1);
2493       END IF;
2494 
2495       l_attribute_value         := WF_EVENT.getValueForParameter('ATTRIBUTE_VALUE',l_cln_ch_parameters);
2496       IF (l_Debug_Level <= 1) THEN
2497               ecx_cln_debug_pub.Add('ATTRIBUTE_VALUE                 ----'||l_attribute_value, 1);
2498       END IF;
2499 
2500       l_batch_mode         := WF_EVENT.getValueForParameter('BATCH_MODE_REQD',l_cln_ch_parameters);
2501       IF (l_Debug_Level <= 1) THEN
2502               ecx_cln_debug_pub.Add('BATCH_MODE_REQD                 ----'||l_batch_mode, 1);
2503       END IF;
2504 
2505       l_notif_receiver_role         := WF_EVENT.getValueForParameter('NOTIFICATION_RECEIVER_ROLE',l_cln_ch_parameters);
2506       IF (l_Debug_Level <= 1) THEN
2507               ecx_cln_debug_pub.Add('NOTIFICATION_RECEIVER_ROLE      ----'||l_notif_receiver_role, 1);
2508       END IF;
2509 
2510       l_collaboration_std         := WF_EVENT.getValueForParameter('COLLABORATION_STANDARD',l_cln_ch_parameters);
2511       IF (l_Debug_Level <= 1) THEN
2512               ecx_cln_debug_pub.Add('COLLABORATION_STANDARD          ----'||l_collaboration_std, 1);
2513       END IF;
2514 
2515       l_collaboration_type         := WF_EVENT.getValueForParameter('COLLABORATION_TYPE',l_cln_ch_parameters);
2516       IF (l_Debug_Level <= 1) THEN
2517               ecx_cln_debug_pub.Add('COLLABORATION_TYPE              ----'||l_collaboration_type, 1);
2518       END IF;
2519 
2520       SELECT UPPER(l_batch_mode) INTO l_batch_mode FROM DUAL ;
2521 
2522       IF (l_batch_mode = 'Y') THEN
2523 
2524       		IF (l_Debug_Level <= 1) THEN
2525         	      ecx_cln_debug_pub.Add('Calling CLN_NP_PROCESSOR_PKG.PROCESS_NOTIF_ACTIONS_BATCH_EVT', 1);
2526       		END IF;
2527 
2528 
2529       		CLN_NP_PROCESSOR_PKG.PROCESS_NOTIF_BATCH_EVT(
2530       	          x_return_status                        => l_return_status,
2531       	          x_msg_data                             => l_return_msg,
2532 		  p_attribute_name			 => l_attribute_name,
2533 		  p_attribute_value			 => l_attribute_value,
2534 		  p_notification_receiver		 => l_notif_receiver_role,
2535 		  p_application_id                       => l_application_id,
2536 		  p_collaboration_std  		         => l_collaboration_std,
2537 		  p_collaboration_type  		 => l_collaboration_type,
2538 	  	  p_collaboration_point  		 => l_collaboration_pt,
2539       	          p_notification_code                    => l_notification_code,
2540       	          p_notification_msg                     => l_notification_desc,
2541       	          p_notification_status                  => l_notification_status );
2542 
2543       		IF (l_Debug_Level <= 1) THEN
2544       		        ecx_cln_debug_pub.Add('RETURN_STATUS got as     ----'||l_return_status, 1);
2545       		        ecx_cln_debug_pub.Add('MESSAGE_DATA got as      ----'||l_return_msg, 1);
2546       		END IF;
2547 
2548 
2549       		IF ( l_return_status <> 'S') THEN
2550       		     RAISE FND_API.G_EXC_ERROR;
2551       		END IF;
2552 
2553       		IF (l_Debug_Level <= 2) THEN
2554       		        ecx_cln_debug_pub.Add('============EXITING NOTIFICATION_EVENT_SUB============', 2);
2555       		END IF;
2556 
2557       		RETURN 'SUCCESS' ;
2558       	END IF;
2559 -------------
2560 
2561       IF (l_Debug_Level <= 1) THEN
2562               ecx_cln_debug_pub.Add('Calling CLN_NP_PROCESSOR_PKG.PROCESS_NOTIF_ACTIONS_EVT', 1);
2563       END IF;
2564 
2565 
2566       CLN_NP_PROCESSOR_PKG.PROCESS_NOTIF_ACTIONS_EVT(
2567                 x_return_status                        => l_return_status,
2568                 x_msg_data                             => l_return_msg,
2569                 p_coll_id                              => l_coll_id,
2570                 p_xmlg_transaction_type                => l_xmlg_transaction_type,
2571                 p_xmlg_transaction_subtype             => l_xmlg_transaction_subtype,
2572                 p_xmlg_int_transaction_type            => l_xmlg_int_transaction_type,
2573                 p_xmlg_int_transaction_subtype         => l_xmlg_int_transaction_subtype,
2574                 p_xmlg_document_id                     => l_xmlg_document_id,
2575                 p_doc_dir                              => l_doc_dir,
2576                 p_tr_partner_type                      => l_tr_partner_type,
2577                 p_tr_partner_id                        => l_tr_partner_id,
2578                 p_tr_partner_site                      => l_tr_partner_site,
2579                 p_xmlg_msg_id                          => l_xmlg_msg_id,
2580                 p_application_id                       => l_application_id,
2581                 p_unique1                              => l_unique1,
2582                 p_unique2                              => l_unique2,
2583                 p_unique3                              => l_unique3,
2584                 p_unique4                              => l_unique4,
2585                 p_unique5                              => l_unique5,
2586                 p_xmlg_internal_control_number         => l_xmlg_internal_control_number,
2587                 p_collaboration_pt                     => l_collaboration_pt,
2588                 p_notification_code                    => l_notification_code,
2589                 p_notification_desc                    => l_notification_desc,
2590                 p_notification_status                  => l_notification_status,
2591                 p_notification_event                   => p_event );
2592 
2593       IF (l_Debug_Level <= 1) THEN
2594               ecx_cln_debug_pub.Add('RETURN_STATUS got as     ----'||l_return_status, 1);
2595               ecx_cln_debug_pub.Add('MESSAGE_DATA got as      ----'||l_return_msg, 1);
2596       END IF;
2597 
2598 
2599       IF ( l_return_status <> 'S') THEN
2600            RAISE FND_API.G_EXC_ERROR;
2601       END IF;
2602 
2603       IF (l_Debug_Level <= 2) THEN
2604               ecx_cln_debug_pub.Add('============EXITING NOTIFICATION_EVENT_SUB============', 2);
2605       END IF;
2606 
2607       RETURN 'SUCCESS' ;
2608 
2609    EXCEPTION
2610 
2611       WHEN FND_API.G_EXC_ERROR THEN
2612          l_error_code   :=SQLCODE;
2613          l_error_msg    :=SQLERRM;
2614 
2615          IF (l_Debug_Level <= 4) THEN
2616                  ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg || ':' || l_return_msg, 3);
2617                  ecx_cln_debug_pub.Add('============EXITING NOTIFICATION_EVENT_SUB============', 2);
2618          END IF;
2619 
2620          RETURN 'SUCCESS';
2621 
2622       WHEN OTHERS THEN
2623          l_error_code := SQLCODE;
2624          l_error_msg := SQLERRM;
2625          IF (l_Debug_Level <= 5) THEN
2626                  ecx_cln_debug_pub.Add('Error:' || l_error_code || ':' || l_error_msg, 3);
2627                  ecx_cln_debug_pub.Add('============EXITING NOTIFICATION_EVENT_SUB============', 2);
2628          END IF;
2629 
2630          RETURN 'SUCCESS';
2631 
2632    END NOTIFICATION_EVENT_SUB;
2633 
2634 
2635 END CLN_CH_EVENT_SUBSCRIPTION_PKG;