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