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