[Home] [Help]
PACKAGE BODY: APPS.OKC_EXP_DATE_ASMBLR_PVT
Source
1 PACKAGE BODY OKC_EXP_DATE_ASMBLR_PVT AS
2 /* $Header: OKCREDAB.pls 120.2 2010/05/28 07:08:36 cgopinee ship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 g_package varchar2(33) := ' OKC_EXP_DATE_ASMBLR_PVT.';
7
8 PROCEDURE exp_date_assemble(
9 p_api_version IN NUMBER,
10 p_init_msg_list IN VARCHAR2 ,
11 x_return_status OUT NOCOPY VARCHAR2,
12 x_msg_count OUT NOCOPY NUMBER,
13 x_msg_data OUT NOCOPY VARCHAR2,
14 p_cnh_id IN okc_condition_headers_b.id%TYPE,
15 p_dnz_chr_id IN okc_condition_headers_b.dnz_chr_id%TYPE ,
16 p_cnh_variance IN okc_condition_headers_b.cnh_variance%TYPE,
17 p_before_after IN okc_condition_headers_b.before_after%TYPE,
18 p_last_rundate IN okc_condition_headers_b.last_rundate%TYPE) IS
19
20
21 l_api_name CONSTANT VARCHAR2(30) := 'exp_date_assemble';
22 l_api_version CONSTANT NUMBER := 1.0;
23 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
24 k NUMBER;
25 l_last_rundate DATE;
26 l_variance okc_condition_headers_b.cnh_variance%TYPE;
27 --l_corrid_rec okc_aq_pub.corrid_rec_typ;
28 l_msg_tbl okc_aq_pub.msg_tab_typ;
29 l_element_name okc_action_attributes_b.element_name%TYPE;
30 l_element_value VARCHAR2(100);
31 l_acn_id NUMBER;
32
33 --Get all the contracts that are expiring from the last rundate
34 --of the date assembler concurrent program for a given condition
35 --Modified the where clause toavoid the FTS on OKC_K_HEADERS_B
36
37 CURSOR k1_csr(p_chr_id IN NUMBER, p_variance IN NUMBER, p_last_rundate IN DATE)
38 IS
39 SELECT /*+ leading(khr) use_nl(khr cls) */ khr.id k_id, -- Bug 5012601 Added hint to avoid FTS
40 khr.contract_number k_number,
41 khr.contract_number_modifier k_nbr_mod,
42 khr.end_date k_expire_date,
43 cls.cls_code k_class,
44 khr.scs_code k_subclass,
45 khr.estimated_amount k_estimated_amount,
46 khr.sts_code,
47 khr.authoring_org_id
48 FROM okc_k_headers_b khr,
49 okc_subclasses_b cls
50 WHERE (khr.id = p_chr_id OR p_chr_id IS NULL)
51 AND khr.scs_code = cls.code
52 AND khr.end_date BETWEEN (p_variance + trunc(p_last_rundate) + 1)
53 AND (trunc(sysdate) + p_variance + 0.99999)
54 ORDER BY k_number;
55
56 k1_rec k1_csr%ROWTYPE;
57
58 CURSOR elements_csr IS
59 SELECT aae.element_name
60 FROM okc_actions_v acn,okc_action_attributes_v aae
61 WHERE acn.id = aae.acn_id
62 AND acn.correlation = 'KEXPIRE';
63
64 elements_rec elements_csr%ROWTYPE;
65
66 --
67 l_proc varchar2(72) := g_package||'exp_date_assemble';
68 l_hook_filter VARCHAR2(1) := 'Y'; --cgopinee bugfix for bug9166537.
69 --
70
71 BEGIN
72
73
74 IF (l_debug = 'Y') THEN
75 okc_debug.Set_Indentation(l_proc);
76 okc_debug.Log('10: Entering ',2);
77 END IF;
78
79 IF (l_debug = 'Y') THEN
80 okc_debug.Log('50: ***** In parameters **** ',2);
81 okc_debug.Log('50: p_api_version : '||p_api_version ,2);
82 okc_debug.Log('50: p_cnh_id : '||p_cnh_id ,2);
83 okc_debug.Log('50: p_dnz_chr_id : '||p_dnz_chr_id ,2);
84 okc_debug.Log('50: p_cnh_variance : '||p_cnh_variance ,2);
85 okc_debug.Log('50: p_before_after : '||p_before_after ,2);
86 okc_debug.Log('50: p_last_rundate : '||p_last_rundate ,2);
87 END IF;
88
89 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Last Rundate (dd/mm/yyyy:hh24:mi:ss) :'||to_char(p_last_rundate,'dd/mm/yyyy:hh24:mi:ss'));
90 FND_FILE.PUT_LINE(FND_FILE.LOG, 'End_Date Range (dd/mm/yyyy:hh24:mi:ss) :'||to_char((p_cnh_variance + trunc(p_last_rundate) + 1),'dd/mm/yyyy:hh24:mi:ss') || ' and ' || to_char((trunc(sysdate) + p_cnh_variance + 0.99999),'dd/mm/yyyy:hh24:mi:ss' ));
91 -- call start_activity to create savepoint, check comptability
92 -- and initialize message list
93 l_return_status := OKC_API.START_ACTIVITY(l_api_name
94 ,p_init_msg_list
95 ,'_PROCESS'
96 ,x_return_status
97 );
98 -- check if activity started successfully
99 IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
100 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
101 ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
102 RAISE OKC_API.G_EXCEPTION_ERROR;
103 END IF;
104
105 --Get the correlation
106 /* SELECT acn.correlation INTO l_corrid_rec FROM okc_actions_v acn
107 WHERE acn.correlation = 'KEXPIRE';*/
108
109 --Get the action id
110 SELECT acn.id INTO l_acn_id FROM okc_actions_b acn
111 WHERE acn.correlation = 'KEXPIRE';
112
113 --Check if the variance is positive or negative
114 IF p_before_after = 'A' THEN
115 l_variance := p_cnh_variance * -1;
116 ELSIF p_before_after = 'B' THEN
117 l_variance := p_cnh_variance;
118 END IF;
119
120 l_last_rundate := p_last_rundate;
121
122 --get contract details
123 FOR k1_rec in k1_csr(p_chr_id => p_dnz_chr_id,
124 p_variance => l_variance,
125 p_last_rundate => l_last_rundate) LOOP
126 k := 0;
127 --added by cgopinee for bug9166537
128 l_hook_filter := oks_code_hook.date_asmblr_fn
129 (k1_rec.k_id,
130 k1_rec.k_number,
131 k1_rec.k_nbr_mod,
132 k1_rec.k_expire_date,
133 k1_rec.k_class,
134 k1_rec.k_subclass,
135 k1_rec.k_estimated_amount,
136 k1_rec.sts_code,
137 k1_rec.authoring_org_id);
138
139 IF l_hook_filter='Y' THEN
140
141 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Contract picked for Renewal :'||substr(k1_rec.k_number,1,200));
142 --Initialize the table
143 l_msg_tbl := okc_aq_pvt.msg_tab_typ();
144 FOR elements_rec IN elements_csr LOOP
145
146
147 -- Bug#4172674 increment counter K inside the loop
148 --Build the elements table
149 IF elements_rec.element_name = 'K_ID' THEN
150 l_msg_tbl.extend;
151 k := k + 1;
152 l_msg_tbl(k).element_name := elements_rec.element_name;
153 l_msg_tbl(k).element_value := k1_rec.k_id;
154 ELSIF elements_rec.element_name = 'K_NUMBER' THEN
155 l_msg_tbl.extend;
156 k := k + 1;
157 l_msg_tbl(k).element_name := elements_rec.element_name;
158 l_msg_tbl(k).element_value := k1_rec.k_number;
159 ELSIF elements_rec.element_name = 'K_NBR_MOD' THEN
160 l_msg_tbl.extend;
161 k := k + 1;
162 l_msg_tbl(k).element_name := elements_rec.element_name;
163 l_msg_tbl(k).element_value := k1_rec.k_nbr_mod;
164 ELSIF elements_rec.element_name = 'K_EXPIRE_DATE' THEN
165 l_msg_tbl.extend;
166 k := k + 1;
167 l_msg_tbl(k).element_name := elements_rec.element_name;
168 l_msg_tbl(k).element_value := to_char(k1_rec.k_expire_date, 'DD-MON-YY');
169 ELSIF elements_rec.element_name = 'K_CLASS' THEN
170 l_msg_tbl.extend;
171 k := k + 1;
172 l_msg_tbl(k).element_name := elements_rec.element_name;
173 l_msg_tbl(k).element_value := k1_rec.k_class;
174 ELSIF elements_rec.element_name = 'K_SUBCLASS' THEN
175 l_msg_tbl.extend;
176 k := k + 1;
177 l_msg_tbl(k).element_name := elements_rec.element_name;
178 l_msg_tbl(k).element_value := k1_rec.k_subclass;
179 ELSIF elements_rec.element_name = 'CNH_ID' THEN
180 l_msg_tbl.extend;
181 k := k + 1;
182 l_msg_tbl(k).element_name := elements_rec.element_name;
183 l_msg_tbl(k).element_value := p_cnh_id;
184 ELSIF elements_rec.element_name = 'ESTIMATED_AMOUNT' THEN
185 l_msg_tbl.extend;
186 k := k + 1;
187 l_msg_tbl(k).element_name := elements_rec.element_name;
188 l_msg_tbl(k).element_value := k1_rec.k_estimated_amount;
189 ELSIF elements_rec.element_name = 'K_STATUS_CODE' THEN
190 l_msg_tbl.extend;
191 k := k + 1;
192 l_msg_tbl(k).element_name := elements_rec.element_name;
193 l_msg_tbl(k).element_value := k1_rec.sts_code;
194 ELSIF elements_rec.element_name = 'ORG_ID' THEN
195 l_msg_tbl.extend;
196 k := k + 1;
197 l_msg_tbl(k).element_name := elements_rec.element_name;
198 l_msg_tbl(k).element_value := k1_rec.authoring_org_id;
199 END IF;
200 END LOOP;
201 -- call OKC_AQ_PVT.send_messages to generate the XML string and put it
202 -- on the queue
203 /* OKC_AQ_PUB.send_message(p_api_version =>1.0
204 ,p_init_msg_list => 'F'
205 ,x_msg_count => x_msg_count
206 ,x_msg_data => x_msg_data
207 ,x_return_status => l_return_status
208 ,p_corrid_rec => l_corrid_rec
209 ,p_msg_tab => l_msg_tbl
210 ,p_queue_name => okc_aq_pvt.g_event_queue_name); */
211 /* Bug#3800031 superceeds Bug#2111951
212 Above call to enque message is commented to process date based events sychronously.
213 A direct call to date condition evaluator is made to evaluate date based events.
214 */
215 OKC_CONDITION_EVAL_PUB.evaluate_date_condition (
216 p_api_version => 1.0,
217 p_init_msg_list => p_init_msg_list,
218 x_return_status =>l_return_status,
219 x_msg_count =>x_msg_count,
220 x_msg_data =>x_msg_data,
221 p_cnh_id =>p_cnh_id ,
222 p_msg_tab =>l_msg_tbl
223 );
224 IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
225 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
226 ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
227 RAISE OKC_API.G_EXCEPTION_ERROR;
228 --ELSIF l_return_status = OKC_API.G_RET_STS_SUCCESS THEN
229 --commit;
230 END IF;
231
232 FND_MESSAGE.SET_NAME('OKC','OKC_EDA_CONTRACTS');
233 -- FND_MESSAGE.SET_TOKEN('NUMBER',k1_rec.k_number);
234 FND_MESSAGE.SET_TOKEN('NUMBER',k1_rec.k_number||': '||k1_rec.k_nbr_mod||': Ending '|| to_char(k1_rec.k_expire_date,'DD-MM-YYYY:hh24:mi:ss'));
235 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
236 END IF; -- l_hook_filter if
237 END LOOP; -- end of k1_csr
238 COMMIT;
239 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
240
241
242 IF (l_debug = 'Y') THEN
243 okc_debug.Log('1000: Leaving ',2);
244 okc_debug.Reset_Indentation;
245 END IF;
246
247 EXCEPTION
248 WHEN OKC_API.G_EXCEPTION_ERROR THEN
249 x_return_status := OKC_API.HANDLE_EXCEPTIONS
250 (l_api_name,
251 G_PKG_NAME,
252 'OKC_API.G_RET_STS_ERROR',
253 x_msg_count,
254 x_msg_data,
255 '_PROCESS');
256 IF (l_debug = 'Y') THEN
257 okc_debug.Log('2000: Leaving ',2);
258 okc_debug.Reset_Indentation;
259 END IF;
260 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
261 x_return_status := OKC_API.HANDLE_EXCEPTIONS
262 (l_api_name,
263 G_PKG_NAME,
264 'OKC_API.G_RET_STS_UNEXP_ERROR',
265 x_msg_count,
266 x_msg_data,
267 '_PROCESS');
268 IF (l_debug = 'Y') THEN
269 okc_debug.Log('3000: Leaving ',2);
270 okc_debug.Reset_Indentation;
271 END IF;
272 WHEN OTHERS THEN
273 x_return_status := OKC_API.HANDLE_EXCEPTIONS
274 (l_api_name,
275 G_PKG_NAME,
276 'OTHERS',
277 x_msg_count,
278 x_msg_data,
279 '_PROCESS');
280 IF (l_debug = 'Y') THEN
281 okc_debug.Log('4000: Leaving ',2);
282 okc_debug.Reset_Indentation;
283 END IF;
284 END exp_date_assemble;
285
286
287 PROCEDURE exp_lines_date_assemble(
288 p_api_version IN NUMBER,
289 p_init_msg_list IN VARCHAR2 ,
290 x_return_status OUT NOCOPY VARCHAR2,
291 x_msg_count OUT NOCOPY NUMBER,
292 x_msg_data OUT NOCOPY VARCHAR2,
293 p_cnh_id IN okc_condition_headers_b.id%TYPE,
294 p_dnz_chr_id IN okc_condition_headers_b.dnz_chr_id%TYPE ,
295 p_cnh_variance IN okc_condition_headers_b.cnh_variance%TYPE,
296 p_before_after IN okc_condition_headers_b.before_after%TYPE,
297 p_last_rundate IN okc_condition_headers_b.last_rundate%TYPE) IS
298
299
300 -- l_api_name CONSTANT VARCHAR2(30) := 'exp_lines_date_assemble';
301 l_api_name CONSTANT VARCHAR2(30) := 'exp_ln_date_ass';
302 l_api_version CONSTANT NUMBER := 1.0;
303 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
304 k NUMBER;
305 l_last_rundate DATE;
306 l_variance okc_condition_headers_b.cnh_variance%TYPE;
307 --l_corrid_rec okc_aq_pub.corrid_rec_typ;
308 l_msg_tbl okc_aq_pub.msg_tab_typ;
309 l_element_name okc_action_attributes_b.element_name%TYPE;
310 l_element_value VARCHAR2(100);
311 l_acn_id NUMBER;
312
313 --Get all the contract LINES that are expiring from the last rundate
314 --of the date assembler concurrent program for a given condition
315
316 CURSOR k1_csr(p_chr_id IN NUMBER, p_variance IN NUMBER, p_last_rundate IN DATE)
317 IS
318 SELECT /*+ leading(kln) use_nl(kln khr cls sts) */ khr.id k_id, -- Bug 5012601 Added hint to avoid FTS
319 khr.contract_number k_number,
320 khr.contract_number_modifier k_nbr_mod,
321 khr.end_date k_expire_date,
322 cls.cls_code k_class,
323 khr.scs_code k_subclass,
324 khr.estimated_amount k_estimated_amount,
325 khr.sts_code,
326 khr.authoring_org_id
327 FROM okc_k_headers_b khr,
328 okc_subclasses_b cls,
329 okc_statuses_b sts ,
330 okc_k_lines_b kln
331 WHERE
332 (khr.id = p_chr_id OR p_chr_id IS NULL)
333 AND khr.scs_code = cls.code
334 AND khr.sts_code = sts.code
335 AND sts.ste_code IN ('ACTIVE', 'SIGNED')
336 AND kln.sts_code = sts.code
337 AND kln.dnz_chr_id = khr.id
338 AND kln.end_date BETWEEN (p_variance + trunc(p_last_rundate) + 1)
339 AND (trunc(sysdate) + p_variance + 0.99999)
340 ORDER BY k_number;
341
342 k1_rec k1_csr%ROWTYPE;
343
344
345 CURSOR elements_csr IS
346 SELECT aae.element_name
347 FROM okc_actions_v acn,okc_action_attributes_v aae
348 WHERE acn.id = aae.acn_id
349 AND acn.correlation = 'KLEXPIRE';
350
351 elements_rec elements_csr%ROWTYPE;
352
353 --
354 l_proc varchar2(72) := g_package||'exp_lines_date_assemble';
355 --
356
357 BEGIN
358
359 IF (l_debug = 'Y') THEN
360 okc_debug.Set_Indentation(l_proc);
361 okc_debug.Log('10: Entering ',2);
362 END IF;
363
364 IF (l_debug = 'Y') THEN
365 okc_debug.Log('100: ***** In parameters **** ',2);
366 okc_debug.Log('100: p_api_version : '||p_api_version ,2);
367 okc_debug.Log('100: p_cnh_id : '||p_cnh_id ,2);
368 okc_debug.Log('100: p_dnz_chr_id : '||p_dnz_chr_id ,2);
369 okc_debug.Log('100: p_cnh_variance : '||p_cnh_variance ,2);
370 okc_debug.Log('100: p_before_after : '||p_before_after ,2);
371 okc_debug.Log('100: p_last_rundate : '||p_last_rundate ,2);
372 END IF;
373
374 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Last Rundate (dd/mm/yyyy:hh24:mi:ss) :'||to_char(p_last_rundate,'dd/mm/yyyy:hh24:mi:ss'));
375 FND_FILE.PUT_LINE(FND_FILE.LOG, 'End_Date Range (dd/mm/yyyy:hh24:mi:ss) :'||to_char((p_cnh_variance + trunc(p_last_rundate) + 1),'dd/mm/yyyy:hh24:mi:ss') || ' and ' || to_char((trunc(sysdate) + p_cnh_variance + 0.99999),'dd/mm/yyyy:hh24:mi:ss' ));
376
377
378 -- call start_activity to create savepoint, check comptability
379 -- and initialize message list
380 l_return_status := OKC_API.START_ACTIVITY(l_api_name
381 ,p_init_msg_list
382 ,'_PROCESS'
383 ,x_return_status
384 );
385 IF (l_debug = 'Y') THEN
386 okc_debug.Log('110: l_return_status : '||l_return_status ,2);
387 END IF;
388
389 -- check if activity started successfully
390 IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
391 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
392 ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
393 RAISE OKC_API.G_EXCEPTION_ERROR;
394 END IF;
395
396 --Get the correlation
397 /*SELECT acn.correlation INTO l_corrid_rec FROM okc_actions_v acn
398 WHERE acn.correlation = 'KLEXPIRE';*/
399 --Get the action id
400 SELECT acn.id INTO l_acn_id FROM okc_actions_b acn
401 WHERE acn.correlation = 'KLEXPIRE';
402
403 IF (l_debug = 'Y') THEN
404 okc_debug.Log('120: After fetching into l_corrid_rec ',2);
405 END IF;
406
407 --Check if the variance is positive or negative
408 IF p_before_after = 'A' THEN
409 l_variance := p_cnh_variance * -1;
410 ELSIF p_before_after = 'B' THEN
411 l_variance := p_cnh_variance;
412 END IF;
413
414 l_last_rundate := p_last_rundate;
415
416
417 --get contract details for K lines to be extended
418 FOR k1_rec in k1_csr(p_chr_id => p_dnz_chr_id,
419 p_variance => l_variance,
420 p_last_rundate => l_last_rundate) LOOP
421 k := 0;
422 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Contract picked for Renewal :'||substr(k1_rec.k_number,1,200));
423
424 --Initialize the table
425 l_msg_tbl := okc_aq_pvt.msg_tab_typ();
426 FOR elements_rec IN elements_csr LOOP
427
428
429
430 -- Bug#4172674 increment counter K inside the loop
431 --Build the elements table
432 IF elements_rec.element_name = 'K_ID' THEN
433 k := k + 1;
434 l_msg_tbl.extend;
435 l_msg_tbl(k).element_name := elements_rec.element_name;
436 l_msg_tbl(k).element_value := k1_rec.k_id;
437 ELSIF elements_rec.element_name = 'K_NUMBER' THEN
438 k := k + 1;
439 l_msg_tbl.extend;
440 l_msg_tbl(k).element_name := elements_rec.element_name;
441 l_msg_tbl(k).element_value := k1_rec.k_number;
442 ELSIF elements_rec.element_name = 'K_NBR_MOD' THEN
443 k := k + 1;
444 l_msg_tbl.extend;
445 l_msg_tbl(k).element_name := elements_rec.element_name;
446 l_msg_tbl(k).element_value := k1_rec.k_nbr_mod;
447 ELSIF elements_rec.element_name = 'K_EXPIRE_DATE' THEN
448 k := k + 1;
449 l_msg_tbl.extend;
450 l_msg_tbl(k).element_name := elements_rec.element_name;
451 l_msg_tbl(k).element_value := to_char(k1_rec.k_expire_date, 'DD-MON-YY');
452 ELSIF elements_rec.element_name = 'K_CLASS' THEN
453 k := k + 1;
454 l_msg_tbl.extend;
455 l_msg_tbl(k).element_name := elements_rec.element_name;
456 l_msg_tbl(k).element_value := k1_rec.k_class;
457 ELSIF elements_rec.element_name = 'K_SUBCLASS' THEN
458 k := k + 1;
459 l_msg_tbl.extend;
460 l_msg_tbl(k).element_name := elements_rec.element_name;
461 l_msg_tbl(k).element_value := k1_rec.k_subclass;
462 ELSIF elements_rec.element_name = 'CNH_ID' THEN
463 k := k + 1;
464 l_msg_tbl.extend;
465 l_msg_tbl(k).element_name := elements_rec.element_name;
466 l_msg_tbl(k).element_value := p_cnh_id;
467 ELSIF elements_rec.element_name = 'ESTIMATED_AMOUNT' THEN
468 k := k + 1;
469 l_msg_tbl.extend;
470 l_msg_tbl(k).element_name := elements_rec.element_name;
471 l_msg_tbl(k).element_value := k1_rec.k_estimated_amount;
472 ELSIF elements_rec.element_name = 'K_STATUS_CODE' THEN
473 k := k + 1;
474 l_msg_tbl.extend;
475 l_msg_tbl(k).element_name := elements_rec.element_name;
476 l_msg_tbl(k).element_value := k1_rec.sts_code;
477 ELSIF elements_rec.element_name = 'ORG_ID' THEN
478 k := k + 1;
479 l_msg_tbl.extend;
480 l_msg_tbl(k).element_name := elements_rec.element_name;
481 l_msg_tbl(k).element_value := k1_rec.authoring_org_id;
482 END IF;
483 END LOOP; -- built the element table for K
484
485 IF (l_debug = 'Y') THEN
486 okc_debug.Log('140: Calling OKC_AQ_PUB.send_message ',2);
487 END IF;
488
489 -- call OKC_AQ_PVT.send_messages to generate the XML string and put it
490 -- on the queue
491 /* OKC_AQ_PUB.send_message(p_api_version =>'1.0'
492 ,p_init_msg_list => 'F'
493 ,x_msg_count => x_msg_count
494 ,x_msg_data => x_msg_data
495 ,x_return_status => l_return_status
496 ,p_corrid_rec => l_corrid_rec
497 ,p_msg_tab => l_msg_tbl
498 ,p_queue_name => okc_aq_pvt.g_event_queue_name);
499 */
500 /* Bug#2111951 Above call to enque message is commented to process date based events
501 sychronously. A direct call to condition evaluator is made to evaluate date bas
502 ed events.*/
503
504 /* Bug#3800031 superceeds Bug#2111951
505 Above call to enque message is commented to process date based events sychronously.
506 A direct call to date condition evaluator is made to evaluate date based events.
507 */
508 OKC_CONDITION_EVAL_PUB.evaluate_date_condition (
509 p_api_version => 1.0,
510 p_init_msg_list => p_init_msg_list,
511 x_return_status =>l_return_status,
512 x_msg_count =>x_msg_count,
513 x_msg_data =>x_msg_data,
514 p_cnh_id =>p_cnh_id ,
515 p_msg_tab =>l_msg_tbl
516 );
517
518 IF (l_debug = 'Y') THEN
519 okc_debug.Log('150: Called OKC_AQ_PUB.send_message ',2);
520 okc_debug.Log('160: l_return_status : '||l_return_status,2);
521 END IF;
522
523 IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
524 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
525 ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
526 RAISE OKC_API.G_EXCEPTION_ERROR;
527 END IF;
528
529 FND_MESSAGE.SET_NAME('OKC','OKC_EDA_CONTRACTS');
530 FND_MESSAGE.SET_TOKEN('NUMBER',k1_rec.k_number||': '||k1_rec.k_nbr_mod||':Ending '|| to_char(k1_rec.k_expire_date,'DD-MM-YYYY:hh24:mi:ss'));
531 FND_MESSAGE.SET_TOKEN('NUMBER',k1_rec.k_number);
532 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
533
534 IF (l_debug = 'Y') THEN
535 okc_debug.Log('170: going to next k ',2);
536 END IF;
537
538 END LOOP; -- for each K
539
540 COMMIT;
541
542 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
543
544 IF (l_debug = 'Y') THEN
545 okc_debug.Log('1000: Leaving ',2);
546 okc_debug.Reset_Indentation;
547 END IF;
548
549 EXCEPTION
550 WHEN OKC_API.G_EXCEPTION_ERROR THEN
551 IF (l_debug = 'Y') THEN
552 okc_debug.Log('2000: Leaving ',2);
553 okc_debug.Reset_Indentation;
554 END IF;
555 x_return_status := OKC_API.HANDLE_EXCEPTIONS
556 (l_api_name,
557 G_PKG_NAME,
558 'OKC_API.G_RET_STS_ERROR',
559 x_msg_count,
560 x_msg_data,
561 '_PROCESS');
562 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
563 IF (l_debug = 'Y') THEN
564 okc_debug.Log('3000: Leaving ',2);
565 okc_debug.Reset_Indentation;
566 END IF;
567 x_return_status := OKC_API.HANDLE_EXCEPTIONS
568 (l_api_name,
569 G_PKG_NAME,
570 'OKC_API.G_RET_STS_UNEXP_ERROR',
571 x_msg_count,
572 x_msg_data,
573 '_PROCESS');
574 WHEN OTHERS THEN
575 IF (l_debug = 'Y') THEN
576 okc_debug.Log('4000: Leaving ',2);
577 okc_debug.Reset_Indentation;
578 END IF;
579 x_return_status := OKC_API.HANDLE_EXCEPTIONS
580 (l_api_name,
581 G_PKG_NAME,
582 'OTHERS',
583 x_msg_count,
584 x_msg_data,
585 '_PROCESS');
586 END exp_lines_date_assemble;
587
588 END OKC_EXP_DATE_ASMBLR_PVT;