[Home] [Help]
PACKAGE BODY: APPS.XNP_TIMER_STANDARD
Source
1 PACKAGE BODY XNP_TIMER_STANDARD AS
2 /* $Header: XNPTSTAB.pls 120.2 2006/02/13 07:58:05 dputhiye ship $ */
3
4 PROCEDURE FIRE
5 (p_order_id NUMBER DEFAULT NULL
6 ,p_workitem_instance_id NUMBER DEFAULT NULL
7 ,p_fa_instance_id NUMBER DEFAULT NULL
8 ,p_timer_code VARCHAR2
9 ,p_callback_ref_id VARCHAR2
10 ,x_error_code OUT NOCOPY NUMBER
11 ,x_error_message OUT NOCOPY VARCHAR2
12 )
13 IS
14 l_message_id NUMBER := 0;
15
16 l_msg_text VARCHAR2(32767) ;
17
18 l_cursor NUMBER := 0;
19 l_proc_call VARCHAR2(32767) := NULL;
20 l_num_rows NUMBER := 0;
21
22 l_sender_name varchar2(200) := null;
23 l_recipient_list varchar2(200) := null;
24 l_version varchar2(200) := null;
25 l_pkg_name VARCHAR2(200) := null;
26 BEGIN
27 x_error_code := 0;
28
29
30 -- Construct the dynamic SQL
31
32 --
33 -- The following line was added to fix bug 1650369
34 -- By Anping Wang
35 -- 02/20/2001
36
37 l_pkg_name := XNP_MESSAGE.g_pkg_prefix || p_timer_code || XNP_MESSAGE.g_pkg_suffix;
38 l_PROC_CALL :=
39 'BEGIN
40 '||l_pkg_name||'.fire(' ||
41 ':l_message_id' ||
42 ',:l_msg_text' ||
43 ',:x_error_code' ||
44 ',:x_error_message' ||
45 ',:p_sender_name' ||
46 ',:p_recipient_list' ||
47 ',:p_version' ||
48 ',:p_reference_id' ||
49 ',:p_opp_reference_id' ||
50 ',:p_ORDER_ID' ||
51 ',:p_WORKITEM_INSTANCE_ID' ||
52 ',:p_FA_INSTANCE_ID' ||
53 ');
54 END;';
55 BEGIN
56
57 EXECUTE IMMEDIATE l_proc_call USING
58 OUT l_message_id
59 ,OUT l_msg_text
60 ,OUT x_error_code
61 ,OUT x_error_message
62 ,l_sender_name
63 ,l_recipient_list
64 ,l_version
65 ,p_callback_ref_id
66 ,p_callback_ref_id
67 ,p_order_id
68 ,p_workitem_instance_id
69 ,p_fa_instance_id;
70
71 EXCEPTION
72 WHEN OTHERS THEN
73 -- Grab the error message and error no.
74 x_error_code := SQLCODE;
75
76 fnd_message.set_name('XNP','STD_ERROR');
77 fnd_message.set_token('ERROR_LOCN'
78 ,'XNP_TIMER_STANDARD.FIRE');
79 fnd_message.set_token('ERROR_TEXT',SQLERRM);
80 x_error_message := fnd_message.get;
81 END;
82
83
84 END FIRE;
85
86 PROCEDURE START_RELATED_TIMERS
87 (p_message_code VARCHAR2
88 ,p_ORDER_ID NUMBER DEFAULT NULL
89 ,p_workitem_instance_id NUMBER DEFAULT NULL
90 ,p_fa_instance_id NUMBER DEFAULT NULL
91 ,p_CALLBACK_REF_ID VARCHAR2
92 ,x_error_code OUT NOCOPY NUMBER
93 ,x_error_message OUT NOCOPY VARCHAR2
94 )
95 IS
96 l_message_id NUMBER := 0;
97 l_callback_reference VARCHAR2(1024) := NULL;
98 l_CURSOR NUMBER := 0;
99 l_PROC_CALL VARCHAR2(2000) := NULL;
100 l_NUM_ROWS NUMBER := 0;
101
102 BEGIN
103 x_error_message := NULL;
104 x_error_code := 0;
105
106 xnp_timer_core.start_related_timers(
107 p_message_code => p_message_code
108 ,p_reference_id => p_CALLBACK_REF_ID
109 ,x_error_code => x_error_code
110 ,x_error_message => x_error_message
111 ,p_order_id => p_order_id
112 ,p_wi_instance_id => p_workitem_instance_id
113 ,p_fa_instance_id => p_fa_instance_id
114 );
115
116 EXCEPTION
117 WHEN OTHERS THEN
118 -- Grab the error message and error no.
119 x_error_code := SQLCODE;
120
121 fnd_message.set_name('XNP','STD_ERROR');
122 fnd_message.set_token('ERROR_LOCN'
123 ,'XNP_TIMER_STANDARD.START_RELATED_TIMERS');
124 fnd_message.set_token('ERROR_TEXT',SQLERRM);
125 x_error_message := fnd_message.get;
126
127 END START_RELATED_TIMERS;
128
129 PROCEDURE GET_TIMER_STATUS
130 (
131 p_reference_id IN VARCHAR2
132 ,p_timer_message_code IN VARCHAR2
133 ,x_timer_id OUT NOCOPY NUMBER
134 ,x_status OUT NOCOPY VARCHAR2
135 ,x_error_code OUT NOCOPY NUMBER
136 ,x_error_message OUT NOCOPY VARCHAR2
137 )
138 IS
139 l_callback_reference VARCHAR2(1024) := NULL;
140
141 BEGIN
142 x_error_message := NULL;
143 x_error_code := 0;
144
145 xnp_timer_core.get_timer_status(
146 p_reference_id => p_reference_id
147 ,p_timer_message_code => p_timer_message_code
148 ,x_timer_id => x_timer_id
149 ,x_status => x_status
150 ,x_error_code => x_error_code
151 ,x_error_message => x_error_message
152 );
153
154 EXCEPTION
155 WHEN OTHERS THEN
156 -- Grab the error message and error no.
157 x_error_code := SQLCODE;
158
159 fnd_message.set_name('XNP','STD_ERROR');
160 fnd_message.set_token('ERROR_LOCN'
161 ,'XNP_TIMER_STANDARD.GET_TIMER_STATUS');
162 fnd_message.set_token('ERROR_TEXT',SQLERRM);
163 x_error_message := fnd_message.get;
164
165 END GET_TIMER_STATUS;
166
167 PROCEDURE RESTART_ALL
168 (
169 p_reference_id IN VARCHAR2
170 ,x_error_code OUT NOCOPY NUMBER
171 ,x_error_message OUT NOCOPY VARCHAR2
172 )
173 IS
174
175 BEGIN
176 x_error_message := NULL;
177 x_error_code := 0;
178
179 xnp_timer_core.restart_all(
180 p_reference_id => p_reference_id
181 ,x_error_code => x_error_code
182 ,x_error_message => x_error_message
183 );
184
185 EXCEPTION
186 WHEN OTHERS THEN
187 -- Grab the error message and error no.
188 x_error_code := SQLCODE;
189
190 fnd_message.set_name('XNP','STD_ERROR');
191 fnd_message.set_token('ERROR_LOCN'
192 ,'XNP_TIMER_STANDARD.RESTART_ALL');
193 fnd_message.set_token('ERROR_TEXT',SQLERRM);
194 x_error_message := fnd_message.get;
195
196 END RESTART_ALL;
197
198 PROCEDURE RECALCULATE_ALL
199 (
200 p_reference_id IN VARCHAR2
201 ,x_error_code OUT NOCOPY NUMBER
202 ,x_error_message OUT NOCOPY VARCHAR2
203 )
204 IS
205
206 BEGIN
207 x_error_message := NULL;
208 x_error_code := 0;
209
210 xnp_timer_core.recalculate_all(
211 p_reference_id => p_reference_id
212 ,x_error_code => x_error_code
213 ,x_error_message => x_error_message
214 );
215
216 EXCEPTION
217 WHEN OTHERS THEN
218 -- Grab the error message and error no.
219 x_error_code := SQLCODE;
220
221 fnd_message.set_name('XNP','STD_ERROR');
222 fnd_message.set_token('ERROR_LOCN'
223 ,'XNP_TIMER_STANDARD.RECALCULATE_ALL');
224 fnd_message.set_token('ERROR_TEXT',SQLERRM);
225 x_error_message := fnd_message.get;
226
227 END RECALCULATE_ALL;
228
229 PROCEDURE REMOVE
230 (
231 p_reference_id IN VARCHAR2
232 ,p_timer_message_code IN VARCHAR2
233 ,x_error_code OUT NOCOPY NUMBER
234 ,x_error_message OUT NOCOPY VARCHAR2
235 )
236 IS
237
238 BEGIN
239 x_error_message := NULL;
240 x_error_code := 0;
241
242 xnp_timer_core.remove_timer(
243 p_reference_id => p_reference_id
244 ,p_timer_message_code => p_timer_message_code
245 ,x_error_code => x_error_code
246 ,x_error_message => x_error_message
247 );
248
249 EXCEPTION
250 WHEN OTHERS THEN
251 -- Grab the error message and error no.
252 x_error_code := SQLCODE;
253
254 fnd_message.set_name('XNP','STD_ERROR');
255 fnd_message.set_token('ERROR_LOCN'
256 ,'XNP_TIMER_STANDARD.REMEOVE');
257 fnd_message.set_token('ERROR_TEXT',SQLERRM);
258 x_error_message := fnd_message.get;
259
260 END REMOVE;
261
262 PROCEDURE DEREGISTER
263 (
264 p_order_id NUMBER
265 ,x_error_code OUT NOCOPY NUMBER
266 ,x_error_message OUT NOCOPY VARCHAR2
267 )
268 IS
269
270 BEGIN
271 x_error_message := NULL;
272 x_error_code := 0;
273
274 xnp_timer_core.deregister(
275 p_order_id => p_order_id
276 ,x_error_code => x_error_code
277 ,x_error_message => x_error_message
278 );
279
280 EXCEPTION
281 WHEN OTHERS THEN
282 -- Grab the error message and error no.
283 x_error_code := SQLCODE;
284
285 fnd_message.set_name('XNP','STD_ERROR');
286 fnd_message.set_token('ERROR_LOCN'
287 ,'XNP_TIMER_STANDARD.DEREGISTER');
288 fnd_message.set_token('ERROR_TEXT',SQLERRM);
289 x_error_message := fnd_message.get;
290
291 END DEREGISTER;
292
293 PROCEDURE DEREGISTER_FOR_WORKITEM
294 (
295 p_workitem_instance_id IN NUMBER
296 ,x_error_code OUT NOCOPY NUMBER
297 ,x_error_message OUT NOCOPY VARCHAR2
298 )
299 IS
300
301 BEGIN
302 x_error_message := NULL;
303 x_error_code := 0;
304
305 xnp_timer_core.deregister_for_workitem(
306 p_workitem_instance_id => p_workitem_instance_id
307 ,x_error_code => x_error_code
308 ,x_error_message => x_error_message
309 );
310
311 EXCEPTION
312 WHEN OTHERS THEN
313 -- Grab the error message and error no.
314 x_error_code := SQLCODE;
315
316 fnd_message.set_name('XNP','STD_ERROR');
317 fnd_message.set_token('ERROR_LOCN'
318 ,'XNP_TIMER_STANDARD.DEREGISTER');
319 fnd_message.set_token('ERROR_TEXT',SQLERRM);
320 x_error_message := fnd_message.get;
321
322 END DEREGISTER_FOR_WORKITEM;
323
324 --------------------------------------------------------------------------------
325 ----- API Name : Get Jeopardy Flag
326 ----- Type : Public
327 ----- Purpose : Retrieve the jeopardy flag given the order id
328 ----- Parameters : p_order_id
329 ----- x_flag
330 ----- x_error_code
331 ----- x_error_message
332 -----------------------------------------------------------------------------------
333 PROCEDURE GET_JEOPARDY_FLAG
334 (
335 p_order_id IN NUMBER
336 ,x_flag OUT NOCOPY VARCHAR2
337 ,x_error_code OUT NOCOPY NUMBER
338 ,x_error_message OUT NOCOPY VARCHAR2
339 )
340 IS
341 BEGIN
342
343 x_error_message := NULL;
344 x_error_code := 0;
345
346 xnp_timer_core.get_jeopardy_flag(
347 p_order_id => p_order_id
348 ,x_flag => x_flag
349 ,x_error_code => x_error_code
350 ,x_error_message => x_error_message
351 );
352
353 EXCEPTION
354 WHEN OTHERS THEN
355 -- Grab the error message and error no.
356 x_error_code := SQLCODE;
357
358 fnd_message.set_name('XNP','STD_ERROR');
359 fnd_message.set_token('ERROR_LOCN'
360 ,'XNP_TIMER_STANDARD.GET_JEOPARDY_FLAG');
361 fnd_message.set_token('ERROR_TEXT',SQLERRM);
362 x_error_message := fnd_message.get;
363
364 END GET_JEOPARDY_FLAG;
365
366 END XNP_TIMER_STANDARD;