[Home] [Help]
PACKAGE BODY: APPS.M4U_WLQ_GENERATE
Source
1 PACKAGE BODY m4u_wlq_generate AS
2 /* $Header: m4uwlqgb.pls 120.1 2005/06/09 01:50:58 appldev $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'm4u_wlq_generate';
5 l_debug_level NUMBER;
6
7 -- Name
8 -- raise_wlq_event
9 -- Purpose
10 -- This procedure is called from a concurrent program.
11 -- The the event 'oracle.apps.m4u.worklistquery' is raised with the supplied event parameters
12 -- The sequence m4u_wlqid_sequence is used to obtain unique event key.
13 -- Arguments
14 -- x_err_buf => API param for concurrent program calls
15 -- x_retcode => API param for concurrent program calls
16 -- p_wlq_type => The type of notifications from Worklist to be queried
17 -- p_wlq_status => The status of notifications to be queried
18 -- Notes
19 -- Status is expected to be UnREAD to avoid duplicate processing of notifications.
20 PROCEDURE raise_wlq_event(
21 x_errbuf OUT NOCOPY VARCHAR2,
22 x_retcode OUT NOCOPY NUMBER,
23 p_wlq_type IN VARCHAR2,
24 p_wlq_status IN VARCHAR2
25 )
26 IS
27 l_event_key VARCHAR2(50);
28 l_event_parameters wf_parameter_list_t;
29 l_error_code VARCHAR2(50);
30 l_error_msg VARCHAR2(50);
31
32 l_wlq_type VARCHAR2(50);
33 l_wlq_status VARCHAR2(50);
34 BEGIN
35
36 IF (l_debug_Level <= 2) THEN
37 cln_debug_pub.Add('M4U:----- Entering RAISE_WLQ_EVENT ------- ',2);
38 END IF;
39
40 -- Parameters received
41 IF (l_Debug_Level <= 1) THEN
42 cln_debug_pub.Add('== PARAMETERS RECEIVED FROM CONCURRENT PROGRAM== ',1);
43 cln_debug_pub.Add('p_wlq_tye - '||p_wlq_type ,1);
44 cln_debug_pub.Add('p_wlq_status - '||p_wlq_status,1);
45 cln_debug_pub.Add('=====================================',1);
46 END IF;
47
48 IF (p_wlq_type = 'Batch Notification')THEN
49 l_wlq_type := 'BatchNotification';
50 ELSIF (p_wlq_type = 'Catalogue Item Confirmation')THEN
51 l_wlq_type := 'CATALOGUE_ITEM_CONFIRMATION';
52 ELSIF (p_wlq_type = 'Request for Catalogue Item Notification')THEN
53 l_wlq_type :='REQUEST_FOR_NOTIFICATION';
54 END IF;
55
56 IF (p_wlq_status = 'All')THEN
57 l_wlq_status := 'ALL';
58 ELSIF (p_wlq_status = 'Unread')THEN
59 l_wlq_status := 'UNREAD' ;
60 END IF;
61
62 IF (l_Debug_Level <= 1) THEN
63 cln_debug_pub.Add('== PARAMETERS DEFAULTED == ',1);
64 cln_debug_pub.Add('l_wlq_tye - '||l_wlq_type ,1);
65 cln_debug_pub.Add('l_wlq_status - '||l_wlq_status,1);
66 cln_debug_pub.Add('=====================================',1);
67 END IF;
68
69 -- obtain a unique event-id
70 SELECT m4u_wlqid_s.NEXTVAL
71 INTO l_event_key
72 FROM dual;
73
74 l_event_key := 'M4U_WLQ_' || l_event_key;
75
76 -- pass Concurrent program parameters as event parameters, to be used in outboud xml generation map.
77
78 l_event_parameters := wf_parameter_list_t();
79
80 wf_event.AddParameterToList(
81 p_name => 'ECX_PARAMETER1',
82 p_value => l_event_key,
83 p_parameterlist => l_event_parameters );
84
85 wf_event.AddParameterToList(
86 p_name => 'ECX_PARAMETER2',
87 p_value => l_wlq_status,
88 p_parameterlist => l_event_parameters );
89
90 wf_event.AddParameterToList(
91 p_name => 'ECX_PARAMETER3',
92 p_value => l_wlq_type,
93 p_parameterlist => l_event_parameters );
94
95 wf_event.AddParameterToList(
96 p_name => 'ECX_TRANSACTION_TYPE',
97 p_value => 'M4U',
98 p_parameterlist => l_event_parameters );
99 IF (l_Debug_Level <= 1) THEN
100 cln_debug_pub.Add('ECX_TRANSACTION_TYPE - M4U',1);
101 END IF;
102
103 wf_event.AddParameterToList(
104 p_name => 'ECX_TRANSACTION_SUBTYPE',
105 p_value => 'WLQ',
106 p_parameterlist => l_event_parameters );
107 IF (l_Debug_Level <= 1) THEN
108 cln_debug_pub.Add('ECX_TRANSACTION_SUBTYPE - GBREGQRY',1);
109 END IF;
110
111 wf_event.AddParameterToList(
112 p_name => 'ECX_DOCUMENT_ID',
113 p_value => l_event_key,
114 p_parameterlist => l_event_parameters );
115 IF (l_Debug_Level <= 1) THEN
116 cln_debug_pub.Add('ECX_DOCUMENT_ID - '||l_event_key,1);
117 END IF;
118
119 wf_event.AddParameterToList(
120 p_name => 'ECX_EVENT_KEY',
121 p_value => l_event_key,
122 p_parameterlist => l_event_parameters );
123 IF (l_Debug_Level <= 1) THEN
124 cln_debug_pub.Add('ECX_EVENT_KEY - '||l_event_key,1);
125 END IF;
126
127 wf_event.AddParameterToList(
128 p_name => 'M4U_CLN_COLL_TYPE',
129 p_value => 'M4U_WLQ',
130 p_parameterlist => l_event_parameters );
131 IF (l_Debug_Level <= 1) THEN
132 cln_debug_pub.Add('M4U_CLN_COLL_TYPE - '||l_event_key,1);
133 END IF;
134
135
136 wf_event.AddParameterToList(
137 p_name => 'M4U_DOC_NO',
138 p_value => l_event_key,
139 p_parameterlist => l_event_parameters );
140 IF (l_Debug_Level <= 1) THEN
141 cln_debug_pub.Add('M4U_DOC_NO - '||l_event_key,1);
142 END IF;
143
144 wf_event.AddParameterToList(
145 p_name => 'M4U_CLN_DOC_TYPE',
146 p_value => 'M4U_WLQ',
147 p_parameterlist => l_event_parameters );
148 IF (l_Debug_Level <= 1) THEN
149 cln_debug_pub.Add('M4U_CLN_DOC_TYPE - M4U_WLQ',1);
150 END IF;
151
152
153 wf_event.AddParameterToList(
154 p_name => 'ATTRIBUTE1',
155 p_value => m4u_ucc_utils.g_host_gln,
156 p_parameterlist => l_event_parameters );
157 IF (l_Debug_Level <= 1) THEN
158 cln_debug_pub.Add('ATTRIBUTE1 - '||m4u_ucc_utils.g_host_gln,1);
159 END IF;
160
161
162 wf_event.AddParameterToList(
163 p_name => 'ATTRIBUTE5',
164 p_value => m4u_ucc_utils.g_supp_gln,
165 p_parameterlist => l_event_parameters );
166 IF (l_Debug_Level <= 1) THEN
167 cln_debug_pub.Add('ATTRIBUTE5 - '||m4u_ucc_utils.g_supp_gln,1);
168 END IF;
169
170
171 wf_event.AddParameterToList(
172 p_name => 'ATTRIBUTE12',
173 p_value => l_event_key,
174 p_parameterlist => l_event_parameters );
175 IF (l_Debug_Level <= 1) THEN
176 cln_debug_pub.Add('ATTRIBUTE12 - '||l_event_key,1);
177 END IF;
178
179
180 -- set event parameters, end
181
182 IF (l_Debug_Level <= 1) THEN
183 cln_debug_pub.Add('== Raising Event oracle.apps.m4u.outboundwf.generate == ',1);
184 cln_debug_pub.Add('p_event_key - '||l_event_key ,1);
185 END IF;
186
187
188 -- raise event to trigger outbound wlq generation WF
189 wf_event.raise(
190 p_event_name => 'oracle.apps.m4u.outboundwf.generate',
191 p_event_key => l_event_key,
192 p_parameters => l_event_parameters
193 );
194
195
196 -- return with success
197 x_errbuf := 'Successful';
198 x_retcode := 0;
199
200 IF (l_Debug_Level <= 2) THEN
201 cln_debug_pub.Add('M4U:------- Exiting RAISE_WLQ_EVENT - Normal --------- ',2);
202 END IF;
203
204
205 -- Exception Handling
206 EXCEPTION
207 WHEN OTHERS THEN
208 l_error_code :=SQLCODE;
209 l_error_msg :=SQLERRM;
210 x_retcode :=2 ;
211 x_errbuf :='Unexpected Error in raise Query-Worklist event - '||l_error_code||' : '||l_error_msg;
212 IF (l_Debug_Level <= 5) THEN
213 cln_debug_pub.Add(x_errbuf,5);
214 END IF;
215 IF (l_Debug_Level <= 2) THEN
216 cln_debug_pub.Add('------- Exiting RAISE_WLQ_EVENT - Exception --------- ',2);
217 END IF;
218 END;
219
220 BEGIN
221 l_debug_level := to_number(nvl(fnd_profile.value('CLN_DEBUG_LEVEL'), '5'));
222 END m4u_wlq_generate;