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