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