DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_CNR_PVT

Source


1 PACKAGE BODY Okl_Cnr_Pvt AS
2 /* $Header: OKLSCNRB.pls 120.5 2007/08/08 12:44:37 arajagop noship $ */
3   ---------------------------------------------------------------------------
4   -- PROCEDURE validate_id
5   ---------------------------------------------------------------------------
6   PROCEDURE validate_id (p_cnrv_rec IN cnrv_rec_type,
7   								x_return_status OUT NOCOPY VARCHAR2) IS
8 
9   BEGIN
10     x_return_status := Okl_Api.G_RET_STS_SUCCESS;
11 	--Check for Null
12     IF p_cnrv_rec.id = Okl_Api.G_MISS_NUM OR
13        p_cnrv_rec.id IS NULL
14     THEN
15 
16       x_return_status := Okl_Api.G_RET_STS_ERROR;
17   	  --set error message in message stack
18 	  Okl_Api.SET_MESSAGE(p_app_name     => G_APP_NAME,
19         	              p_msg_name     =>  G_REQUIRED_VALUE,
20           				  p_token1       => G_COL_NAME_TOKEN,
21 						  p_token1_value => 'id');
22       RAISE G_EXCEPTION_HALT_VALIDATION;
23 
24 	END IF;
25   END validate_id;
26 
27   ---------------------------------------------------------------------------
28   -- PROCEDURE validate_org_id
29   ---------------------------------------------------------------------------
30 
31   PROCEDURE validate_org_id (p_cnrv_rec IN cnrv_rec_type,
32                 x_return_status OUT NOCOPY VARCHAR2) IS
33   BEGIN
34       x_return_status := Okl_Api.G_RET_STS_SUCCESS;
35 
36     x_return_status := Okl_Util.check_org_id(p_cnrv_rec.org_id);
37 
38   END validate_org_id;
39 
40 
41   ---------------------------------------------------------------------------
42   -- PROCEDURE validate_object_version_number
43   ---------------------------------------------------------------------------
44   PROCEDURE validate_object_version_number (p_cnrv_rec IN cnrv_rec_type,
45   								x_return_status OUT NOCOPY VARCHAR2) IS
46 
47   BEGIN
48     x_return_status := Okl_Api.G_RET_STS_SUCCESS;
49 	--Check for Null
50     IF p_cnrv_rec.object_version_number = Okl_Api.G_MISS_NUM OR
51        p_cnrv_rec.object_version_number IS NULL
52     THEN
53 
54       x_return_status := Okl_Api.G_RET_STS_ERROR;
55   	  --set error message in message stack
56 	  Okl_Api.SET_MESSAGE(p_app_name     => G_APP_NAME,
57         	              p_msg_name     =>  G_REQUIRED_VALUE,
58           				  p_token1       => G_COL_NAME_TOKEN,
59 						  p_token1_value => 'object_version_number');
60       RAISE G_EXCEPTION_HALT_VALIDATION;
61 
62 	END IF;
63   END validate_object_version_number;
64 
65   ---------------------------------------------------------------------------
66   -- PROCEDURE validate_date_consolidated
67   ---------------------------------------------------------------------------
68   PROCEDURE validate_date_consolidated (p_cnrv_rec IN cnrv_rec_type,
69   								x_return_status OUT NOCOPY VARCHAR2) IS
70 
71   BEGIN
72     x_return_status := Okl_Api.G_RET_STS_SUCCESS;
73 	--Check for Null
74     IF p_cnrv_rec.date_consolidated = Okl_Api.G_MISS_DATE OR
75        p_cnrv_rec.date_consolidated IS NULL
76     THEN
77 
78       x_return_status := Okl_Api.G_RET_STS_ERROR;
79   	  --set error message in message stack
80 	  Okl_Api.SET_MESSAGE(p_app_name     => G_APP_NAME,
81         	              p_msg_name     =>  G_REQUIRED_VALUE,
82           				  p_token1       => G_COL_NAME_TOKEN,
83 						  p_token1_value => 'date_consolidated');
84       RAISE G_EXCEPTION_HALT_VALIDATION;
85 
86 	END IF;
87   END validate_date_consolidated;
88 
89   ---------------------------------------------------------------------------
90   -- PROCEDURE     validate_currency_code
91   ---------------------------------------------------------------------------
92   PROCEDURE     validate_currency_code(p_cnrv_rec IN cnrv_rec_type,
93   									x_return_status OUT NOCOPY VARCHAR2) IS
94    l_dummy_var VARCHAR2(1) := '0';
95 
96    CURSOR l_currency_code_csr IS
97     SELECT '1'
98 	FROM FND_CURRENCIES_VL
99 	WHERE currency_code = p_cnrv_rec.currency_code;
100 
101 
102   BEGIN
103   	   x_return_status := Okl_Api.G_RET_STS_SUCCESS;
104 	--Check for Null
105     IF p_cnrv_rec.currency_code = Okl_Api.G_MISS_CHAR OR
106        p_cnrv_rec.currency_code IS NULL
107     THEN
108 
109       x_return_status := Okl_Api.G_RET_STS_ERROR;
110   	  --set error message in message stack
111 	  Okl_Api.SET_MESSAGE(p_app_name     => G_APP_NAME,
112         	              p_msg_name     =>  G_REQUIRED_VALUE,
113           				  p_token1       => G_COL_NAME_TOKEN,
114 						  p_token1_value => 'currency_code');
115       RAISE G_EXCEPTION_HALT_VALIDATION;
116 
117 	END IF;
118 
119 
120 	   IF (p_cnrv_rec.currency_code IS NOT NULL) THEN
121 	   	  OPEN l_currency_code_csr;
122 		  FETCH l_currency_code_csr INTO l_dummy_var;
123 		  CLOSE l_currency_code_csr;
124 
125 		  IF (l_dummy_var <> '1') THEN
126 		  	 x_return_status := Okl_Api.G_RET_STS_ERROR;
127 			 Okl_Api.SET_MESSAGE(p_app_name			=> G_APP_NAME,
128 			 					 p_msg_name			=> G_NO_PARENT_RECORD,
129 								 p_token1			=> G_COL_NAME_TOKEN,
130 								 p_token1_value		=> 'CURRENCY_CODE_FOR',
131 								 p_token2			=> G_CHILD_TABLE_TOKEN,
132 								 p_token2_value		=> G_VIEW,
133 								 p_token3			=> G_PARENT_TABLE_TOKEN,
134 								 p_token3_value		=> 'OKL_CNSLD_AR_HDRS_V'	);
135 
136 			 RAISE G_EXCEPTION_HALT_VALIDATION;
137 		  END IF;
138 	   END IF;
139 
140   END validate_currency_code;
141 
142  -- for LE Uptake project 08-11-2006
143  ---------------------------------------------------------------------------
144   -- PROCEDURE validate_legal_entity_id
145  ---------------------------------------------------------------------------
146   PROCEDURE validate_legal_entity_id (p_cnrv_rec IN cnrv_rec_type,
147 			x_return_status OUT NOCOPY VARCHAR2) IS
148    l_exists                NUMBER(1);
149    item_not_found_error    EXCEPTION;
150   BEGIN
151 	x_return_status := Okl_Api.G_RET_STS_SUCCESS;
152 	IF (p_cnrv_rec.legal_entity_id IS NOT NULL) THEN
153 		l_exists := OKL_LEGAL_ENTITY_UTIL.check_le_id_exists(p_cnrv_rec.legal_entity_id);
154 	   IF(l_exists<>1) THEN
155              Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'LEGAL_ENTITY_ID');
156 	     RAISE item_not_found_error;
157            END IF;
158 	END IF;
159 EXCEPTION
160 WHEN item_not_found_error THEN
161       x_return_status := Okc_Api.G_RET_STS_ERROR;
162 
163 WHEN OTHERS THEN
164 -- store SQL error message on message stack for caller
165 Okc_Api.SET_MESSAGE(p_app_name      => g_app_name
166                    ,p_msg_name      => g_unexpected_error
167                    ,p_token1        => g_sqlcode_token
168                    ,p_token1_value  =>SQLCODE
169                    ,p_token2        => g_sqlerrm_token
170                    ,p_token2_value  =>SQLERRM);
171 
172 -- notify caller of an UNEXPECTED error
173        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
174  END validate_legal_entity_id;
175 
176  -- for LE Uptake project 08-11-2006
177 
178  /*** view undefined *****
179   ---------------------------------------------------------------------------
180   -- PROCEDURE     validate_ibt_id
181   ---------------------------------------------------------------------------
182   PROCEDURE     validate_ibt_id(p_cnrv_rec IN cnrv_rec_type,
183   									x_return_status OUT NOCOPY VARCHAR2) IS
184    l_dummy_var VARCHAR2(1) := '0';
185 
186    CURSOR l_ibt_id_csr IS
187     SELECT '1'
188 	FROM OKX_BILL_TOS_V
189 	WHERE id = p_cnrv_rec.ibt_id;
190 
191 
192   BEGIN
193   	   x_return_status := Okl_api.G_RET_STS_SUCCESS;
194 
195 	--Check for Null
196     IF p_cnrv_rec.ibt_id = Okl_api.G_MISS_NUM OR
197        p_cnrv_rec.ibt_id IS NULL
198     THEN
199 
200       x_return_status := Okl_api.G_RET_STS_ERROR;
201   	  --set error message in message stack
202 	  Okl_api.SET_MESSAGE(p_app_name     => G_APP_NAME,
203         	              p_msg_name     =>  G_REQUIRED_VALUE,
204           				  p_token1       => G_COL_NAME_TOKEN,
205 						  p_token1_value => 'ibt_id');
206       RAISE G_EXCEPTION_HALT_VALIDATION;
207 
208 	END IF;
209 
210 	   IF (p_cnrv_rec.ibt_id IS NOT NULL) THEN
211 	   	  OPEN l_ibt_id_csr;
212 		  FETCH l_ibt_id_csr INTO l_dummy_var;
213 		  CLOSE l_ibt_id_csr;
214 
215 		  IF (l_dummy_var <> '1') THEN
216 		  	 x_return_status := Okl_api.G_RET_STS_ERROR;
217 			 Okl_api.SET_MESSAGE(p_app_name			=> G_APP_NAME,
218 			 					 p_msg_name			=> G_NO_PARENT_RECORD,
219 								 p_token1			=> G_COL_NAME_TOKEN,
220 								 p_token1_value		=> 'IBT_ID_FOR',
221 								 p_token2			=> G_CHILD_TABLE_TOKEN,
222 								 p_token2_value		=> G_VIEW,
223 								 p_token3			=> G_PARENT_TABLE_TOKEN,
224 								 p_token3_value		=> 'OKL_CNSLD_AR_HDRS_V'	);
225 
226 			 RAISE G_EXCEPTION_HALT_VALIDATION;
227 		  END IF;
228 	   END IF;
229 
230   END validate_ibt_id;
231  *********** View Undefined ***********/
232 
233  /******** View undefined ******
234   ---------------------------------------------------------------------------
235   -- PROCEDURE     validate_ixx_id
236   ---------------------------------------------------------------------------
237   PROCEDURE     validate_ixx_id(p_cnrv_rec IN cnrv_rec_type,
238   									x_return_status OUT NOCOPY VARCHAR2) IS
239    l_dummy_var VARCHAR2(1) := '0';
240 
241    CURSOR l_ixx_id_csr IS
242     SELECT '1'
243 	FROM OKX_CSTR_ACCTS_V
244 	WHERE id = p_cnrv_rec.ixx_id;
245 
246 
247   BEGIN
248  	x_return_status := Okl_api.G_RET_STS_SUCCESS;
249 
250 	--Check for Null
251     IF p_cnrv_rec.ixx_id = Okl_api.G_MISS_NUM OR
252        p_cnrv_rec.ixx_id IS NULL
253     THEN
254 
255       x_return_status := Okl_api.G_RET_STS_ERROR;
256   	  --set error message in message stack
257 	  Okl_api.SET_MESSAGE(p_app_name     => G_APP_NAME,
258         	              p_msg_name     =>  G_REQUIRED_VALUE,
259           				  p_token1       => G_COL_NAME_TOKEN,
260 						  p_token1_value => 'ixx_id');
261       RAISE G_EXCEPTION_HALT_VALIDATION;
262 
263 	END IF;
264 
265 	   IF (p_cnrv_rec.ixx_id IS NOT NULL) THEN
266 	   	  OPEN l_ixx_id_csr;
267 		  FETCH l_ixx_id_csr INTO l_dummy_var;
268 		  CLOSE l_ixx_id_csr;
269 
270 		  IF (l_dummy_var <> '1') THEN
271 		  	 x_return_status := Okl_api.G_RET_STS_ERROR;
272 			 Okl_api.SET_MESSAGE(p_app_name			=> G_APP_NAME,
273 			 					 p_msg_name			=> G_NO_PARENT_RECORD,
274 								 p_token1			=> G_COL_NAME_TOKEN,
275 								 p_token1_value		=> 'IXX_ID_FOR',
276 								 p_token2			=> G_CHILD_TABLE_TOKEN,
277 								 p_token2_value		=> G_VIEW,
278 								 p_token3			=> G_PARENT_TABLE_TOKEN,
279 								 p_token3_value		=> 'OKL_CNSLD_AR_HDRS_V'	);
280 
281 			 RAISE G_EXCEPTION_HALT_VALIDATION;
282 		  END IF;
283 	   END IF;
284 
285   END validate_ixx_id;
286  *********** View Undefined ***********/
287  /******* View undefined *****
288   ---------------------------------------------------------------------------
289   -- PROCEDURE     validate_irm_id
290   ---------------------------------------------------------------------------
291   PROCEDURE     validate_irm_id(p_cnrv_rec IN cnrv_rec_type,
292   									x_return_status OUT NOCOPY VARCHAR2) IS
293    l_dummy_var VARCHAR2(1) := '0';
294 
295    CURSOR l_irm_id_csr IS
296     SELECT '1'
297 	FROM OKX_RECEIPT_METHODS_V
298 	WHERE id = p_cnrv_rec.irm_id;
299 
300 
301   BEGIN
302   	   x_return_status := Okl_api.G_RET_STS_SUCCESS;
303 
304 	--Check for Null
305     IF p_cnrv_rec.irm_id = Okl_api.G_MISS_NUM OR
306        p_cnrv_rec.irm_id IS NULL
307     THEN
308 
309       x_return_status := Okl_api.G_RET_STS_ERROR;
310   	  --set error message in message stack
311 	  Okl_api.SET_MESSAGE(p_app_name     => G_APP_NAME,
312         	              p_msg_name     =>  G_REQUIRED_VALUE,
313           				  p_token1       => G_COL_NAME_TOKEN,
314 						  p_token1_value => 'irm_id');
315       RAISE G_EXCEPTION_HALT_VALIDATION;
316 
317 	END IF;
318 
319 
320 
321 	   IF (p_cnrv_rec.irm_id IS NOT NULL) THEN
322 	   	  OPEN l_irm_id_csr;
323 		  FETCH l_irm_id_csr INTO l_dummy_var;
324 		  CLOSE l_irm_id_csr;
325 
326 		  IF (l_dummy_var <> '1') THEN
327 		  	 x_return_status := Okl_api.G_RET_STS_ERROR;
328 			 Okl_api.SET_MESSAGE(p_app_name			=> G_APP_NAME,
329 			 					 p_msg_name			=> G_NO_PARENT_RECORD,
330 								 p_token1			=> G_COL_NAME_TOKEN,
331 								 p_token1_value		=> 'IRM_ID_FOR',
332 								 p_token2			=> G_CHILD_TABLE_TOKEN,
333 								 p_token2_value		=> G_VIEW,
334 								 p_token3			=> G_PARENT_TABLE_TOKEN,
335 								 p_token3_value		=> 'OKL_CNSLD_AR_HDRS_V'	);
336 
337 			 RAISE G_EXCEPTION_HALT_VALIDATION;
338 		  END IF;
339 	   END IF;
340 
341   END validate_irm_id;
342    *********** View Undefined ***********/
343 
344   ---------------------------------------------------------------------------
345   -- PROCEDURE     validate_inf_id
346   ---------------------------------------------------------------------------
347   PROCEDURE     validate_inf_id(p_cnrv_rec IN cnrv_rec_type,
348   									x_return_status OUT NOCOPY VARCHAR2) IS
349    l_dummy_var VARCHAR2(1) := '0';
350 
351    CURSOR l_inf_id_csr IS
352     SELECT '1'
353 	FROM OKL_INVOICE_FORMATS_V
354 	WHERE id = p_cnrv_rec.inf_id;
355 
356 
357   BEGIN
358   	   x_return_status := Okl_Api.G_RET_STS_SUCCESS;
359 
360 	   IF (p_cnrv_rec.inf_id IS NOT NULL) THEN
361 	   	  OPEN l_inf_id_csr;
362 		  FETCH l_inf_id_csr INTO l_dummy_var;
363 		  CLOSE l_inf_id_csr;
364 
365 		  IF (l_dummy_var <> '1') THEN
366 		  	 x_return_status := Okl_Api.G_RET_STS_ERROR;
367 			 Okl_Api.SET_MESSAGE(p_app_name			=> G_APP_NAME,
368 			 					 p_msg_name			=> G_NO_PARENT_RECORD,
369 								 p_token1			=> G_COL_NAME_TOKEN,
370 								 p_token1_value		=> 'INF_ID_FOR',
371 								 p_token2			=> G_CHILD_TABLE_TOKEN,
372 								 p_token2_value		=> G_VIEW,
373 								 p_token3			=> G_PARENT_TABLE_TOKEN,
374 								 p_token3_value		=> 'OKL_CNSLD_AR_HDRS_V'	);
375 
376 			 RAISE G_EXCEPTION_HALT_VALIDATION;
377 		  END IF;
378 	   END IF;
379 
380   END validate_inf_id;
381 
382   ---------------------------------------------------------------------------
383   -- FUNCTION get_seq_id
384   ---------------------------------------------------------------------------
385   FUNCTION get_seq_id RETURN NUMBER IS
386   BEGIN
387     RETURN(Okc_P_Util.raw_to_number(sys_guid()));
388   END get_seq_id;
389 
390   ---------------------------------------------------------------------------
391   -- PROCEDURE qc
392   ---------------------------------------------------------------------------
393   PROCEDURE qc IS
394   BEGIN
395     NULL;
396   END qc;
397 
398   ---------------------------------------------------------------------------
399   -- PROCEDURE change_version
400   ---------------------------------------------------------------------------
401   PROCEDURE change_version IS
402   BEGIN
403     NULL;
404   END change_version;
405 
406   ---------------------------------------------------------------------------
407   -- PROCEDURE api_copy
408   ---------------------------------------------------------------------------
409   PROCEDURE api_copy IS
410   BEGIN
411     NULL;
412   END api_copy;
413 
414   ---------------------------------------------------------------------------
415   -- PROCEDURE add_language
416   ---------------------------------------------------------------------------
417   PROCEDURE add_language IS
418   BEGIN
419     DELETE FROM OKL_CNSLD_AR_HDRS_TL T
420      WHERE NOT EXISTS (
421         SELECT NULL
425 
422           FROM OKL_CNSLD_AR_HDRS_ALL_B B     --fixed bug 3321017 by kmotepal
423          WHERE B.ID = T.ID
424         );
426     UPDATE OKL_CNSLD_AR_HDRS_TL T SET (
427         PRIVATE_LABEL_LOGO_URL) = (SELECT
428                                   B.PRIVATE_LABEL_LOGO_URL
429                                 FROM OKL_CNSLD_AR_HDRS_TL B
430                                WHERE B.ID = T.ID
431                                  AND B.LANGUAGE = T.SOURCE_LANG)
432       WHERE (
433               T.ID,
434               T.LANGUAGE)
435           IN (SELECT
436                   SUBT.ID,
437                   SUBT.LANGUAGE
438                 FROM OKL_CNSLD_AR_HDRS_TL SUBB, OKL_CNSLD_AR_HDRS_TL SUBT
439                WHERE SUBB.ID = SUBT.ID
440                  AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
441                  AND (SUBB.PRIVATE_LABEL_LOGO_URL <> SUBT.PRIVATE_LABEL_LOGO_URL
442                       OR (SUBB.PRIVATE_LABEL_LOGO_URL IS NULL AND SUBT.PRIVATE_LABEL_LOGO_URL IS NOT NULL)
443                       OR (SUBB.PRIVATE_LABEL_LOGO_URL IS NOT NULL AND SUBT.PRIVATE_LABEL_LOGO_URL IS NULL)
444               ));
445 
446     INSERT INTO OKL_CNSLD_AR_HDRS_TL (
447         ID,
448         LANGUAGE,
449         SOURCE_LANG,
450         SFWT_FLAG,
451         PRIVATE_LABEL_LOGO_URL,
452         CREATED_BY,
453         CREATION_DATE,
454         LAST_UPDATED_BY,
455         LAST_UPDATE_DATE,
456         LAST_UPDATE_LOGIN)
457       SELECT
458             B.ID,
459             L.LANGUAGE_CODE,
460             B.SOURCE_LANG,
461             B.SFWT_FLAG,
462             B.PRIVATE_LABEL_LOGO_URL,
463             B.CREATED_BY,
464             B.CREATION_DATE,
465             B.LAST_UPDATED_BY,
466             B.LAST_UPDATE_DATE,
467             B.LAST_UPDATE_LOGIN
468         FROM OKL_CNSLD_AR_HDRS_TL B, FND_LANGUAGES L
469        WHERE L.INSTALLED_FLAG IN ('I', 'B')
470          AND B.LANGUAGE = USERENV('LANG')
471          AND NOT EXISTS(
472                     SELECT NULL
473                       FROM OKL_CNSLD_AR_HDRS_TL T
474                      WHERE T.ID = B.ID
475                        AND T.LANGUAGE = L.LANGUAGE_CODE
476                     );
477 
478   END add_language;
479 
480   ---------------------------------------------------------------------------
481   -- FUNCTION get_rec for: OKL_CNSLD_AR_HDRS_B
482   ---------------------------------------------------------------------------
483   FUNCTION get_rec (
484     p_cnr_rec                      IN cnr_rec_type,
485     x_no_data_found                OUT NOCOPY BOOLEAN
486   ) RETURN cnr_rec_type IS
487     CURSOR okl_cnsld_ar_hdrs_b_pk_csr (p_id                 IN NUMBER) IS
488     SELECT
489             ID,
490             CONSOLIDATED_INVOICE_NUMBER,
491             TRX_STATUS_CODE,
492             CURRENCY_CODE,
493             SET_OF_BOOKS_ID,
494             IBT_ID,
495             IXX_ID,
496             IRM_ID,
497             INF_ID,
498             AMOUNT,
499             DATE_CONSOLIDATED,
500             INVOICE_PULL_YN,
501             OBJECT_VERSION_NUMBER,
502             REQUEST_ID,
503             PROGRAM_APPLICATION_ID,
504             PROGRAM_ID,
505             PROGRAM_UPDATE_DATE,
506             ORG_ID,
507 			DUE_DATE,
508             ATTRIBUTE_CATEGORY,
509             ATTRIBUTE1,
510             ATTRIBUTE2,
511             ATTRIBUTE3,
512             ATTRIBUTE4,
513             ATTRIBUTE5,
514             ATTRIBUTE6,
515             ATTRIBUTE7,
516             ATTRIBUTE8,
517             ATTRIBUTE9,
518             ATTRIBUTE10,
519             ATTRIBUTE11,
520             ATTRIBUTE12,
521             ATTRIBUTE13,
522             ATTRIBUTE14,
523             ATTRIBUTE15,
524             CREATED_BY,
525             CREATION_DATE,
526             LAST_UPDATED_BY,
527             LAST_UPDATE_DATE,
528             LAST_UPDATE_LOGIN,
529 	    LEGAL_ENTITY_ID -- for LE Uptake project 08-11-2006
530       FROM Okl_Cnsld_Ar_Hdrs_B
531      WHERE okl_cnsld_ar_hdrs_b.id = p_id;
532     l_okl_cnsld_ar_hdrs_b_pk       okl_cnsld_ar_hdrs_b_pk_csr%ROWTYPE;
533     l_cnr_rec                      cnr_rec_type;
534   BEGIN
535     x_no_data_found := TRUE;
536     -- Get current database values
537     OPEN okl_cnsld_ar_hdrs_b_pk_csr (p_cnr_rec.id);
538     FETCH okl_cnsld_ar_hdrs_b_pk_csr INTO
539               l_cnr_rec.ID,
540               l_cnr_rec.CONSOLIDATED_INVOICE_NUMBER,
541               l_cnr_rec.TRX_STATUS_CODE,
542               l_cnr_rec.CURRENCY_CODE,
543               l_cnr_rec.SET_OF_BOOKS_ID,
544               l_cnr_rec.IBT_ID,
545               l_cnr_rec.IXX_ID,
546               l_cnr_rec.IRM_ID,
547               l_cnr_rec.INF_ID,
548               l_cnr_rec.AMOUNT,
549               l_cnr_rec.DATE_CONSOLIDATED,
550               l_cnr_rec.INVOICE_PULL_YN,
551               l_cnr_rec.OBJECT_VERSION_NUMBER,
552               l_cnr_rec.REQUEST_ID,
553               l_cnr_rec.PROGRAM_APPLICATION_ID,
554               l_cnr_rec.PROGRAM_ID,
555               l_cnr_rec.PROGRAM_UPDATE_DATE,
556               l_cnr_rec.ORG_ID,
557               l_cnr_rec.DUE_DATE,
558               l_cnr_rec.ATTRIBUTE_CATEGORY,
562               l_cnr_rec.ATTRIBUTE4,
559               l_cnr_rec.ATTRIBUTE1,
560               l_cnr_rec.ATTRIBUTE2,
561               l_cnr_rec.ATTRIBUTE3,
563               l_cnr_rec.ATTRIBUTE5,
564               l_cnr_rec.ATTRIBUTE6,
565               l_cnr_rec.ATTRIBUTE7,
566               l_cnr_rec.ATTRIBUTE8,
567               l_cnr_rec.ATTRIBUTE9,
568               l_cnr_rec.ATTRIBUTE10,
569               l_cnr_rec.ATTRIBUTE11,
570               l_cnr_rec.ATTRIBUTE12,
571               l_cnr_rec.ATTRIBUTE13,
572               l_cnr_rec.ATTRIBUTE14,
573               l_cnr_rec.ATTRIBUTE15,
574               l_cnr_rec.CREATED_BY,
575               l_cnr_rec.CREATION_DATE,
576               l_cnr_rec.LAST_UPDATED_BY,
577               l_cnr_rec.LAST_UPDATE_DATE,
578               l_cnr_rec.LAST_UPDATE_LOGIN,
579 	      l_cnr_rec.LEGAL_ENTITY_ID; -- for LE Uptake project 08-11-2006
580     x_no_data_found := okl_cnsld_ar_hdrs_b_pk_csr%NOTFOUND;
581     CLOSE okl_cnsld_ar_hdrs_b_pk_csr;
582     RETURN(l_cnr_rec);
583   END get_rec;
584 
585   FUNCTION get_rec (
586     p_cnr_rec                      IN cnr_rec_type
587   ) RETURN cnr_rec_type IS
588     l_row_notfound                 BOOLEAN := TRUE;
589   BEGIN
590     RETURN(get_rec(p_cnr_rec, l_row_notfound));
591   END get_rec;
592   ---------------------------------------------------------------------------
593   -- FUNCTION get_rec for: OKL_CNSLD_AR_HDRS_TL
594   ---------------------------------------------------------------------------
595   FUNCTION get_rec (
596     p_okl_cnsld_ar_hdrs_tl_rec     IN okl_cnsld_ar_hdrs_tl_rec_type,
597     x_no_data_found                OUT NOCOPY BOOLEAN
598   ) RETURN okl_cnsld_ar_hdrs_tl_rec_type IS
599     CURSOR okl_cnsld_ar_hdrs_tl_pk_csr (p_id                 IN NUMBER,
600                                         p_language           IN VARCHAR2) IS
601     SELECT
602             ID,
603             LANGUAGE,
604             SOURCE_LANG,
605             SFWT_FLAG,
606             PRIVATE_LABEL_LOGO_URL,
607             CREATED_BY,
608             CREATION_DATE,
609             LAST_UPDATED_BY,
610             LAST_UPDATE_DATE,
611             LAST_UPDATE_LOGIN
612       FROM Okl_Cnsld_Ar_Hdrs_Tl
613      WHERE okl_cnsld_ar_hdrs_tl.id = p_id
614        AND okl_cnsld_ar_hdrs_tl.LANGUAGE = p_language;
615     l_okl_cnsld_ar_hdrs_tl_pk      okl_cnsld_ar_hdrs_tl_pk_csr%ROWTYPE;
616     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type;
617   BEGIN
618     x_no_data_found := TRUE;
619     -- Get current database values
620     OPEN okl_cnsld_ar_hdrs_tl_pk_csr (p_okl_cnsld_ar_hdrs_tl_rec.id,
621                                       p_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE);
622     FETCH okl_cnsld_ar_hdrs_tl_pk_csr INTO
623               l_okl_cnsld_ar_hdrs_tl_rec.ID,
624               l_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE,
625               l_okl_cnsld_ar_hdrs_tl_rec.SOURCE_LANG,
626               l_okl_cnsld_ar_hdrs_tl_rec.SFWT_FLAG,
627               l_okl_cnsld_ar_hdrs_tl_rec.PRIVATE_LABEL_LOGO_URL,
628               l_okl_cnsld_ar_hdrs_tl_rec.CREATED_BY,
629               l_okl_cnsld_ar_hdrs_tl_rec.CREATION_DATE,
630               l_okl_cnsld_ar_hdrs_tl_rec.LAST_UPDATED_BY,
631               l_okl_cnsld_ar_hdrs_tl_rec.LAST_UPDATE_DATE,
632               l_okl_cnsld_ar_hdrs_tl_rec.LAST_UPDATE_LOGIN;
633     x_no_data_found := okl_cnsld_ar_hdrs_tl_pk_csr%NOTFOUND;
634     CLOSE okl_cnsld_ar_hdrs_tl_pk_csr;
635     RETURN(l_okl_cnsld_ar_hdrs_tl_rec);
636   END get_rec;
637 
638   FUNCTION get_rec (
639     p_okl_cnsld_ar_hdrs_tl_rec     IN okl_cnsld_ar_hdrs_tl_rec_type
640   ) RETURN okl_cnsld_ar_hdrs_tl_rec_type IS
641     l_row_notfound                 BOOLEAN := TRUE;
642   BEGIN
643     RETURN(get_rec(p_okl_cnsld_ar_hdrs_tl_rec, l_row_notfound));
644   END get_rec;
645   ---------------------------------------------------------------------------
646   -- FUNCTION get_rec for: OKL_CNSLD_AR_HDRS_V
647   ---------------------------------------------------------------------------
648   FUNCTION get_rec (
649     p_cnrv_rec                     IN cnrv_rec_type,
650     x_no_data_found                OUT NOCOPY BOOLEAN
651   ) RETURN cnrv_rec_type IS
652     CURSOR okl_cnrv_pk_csr (p_id                 IN NUMBER) IS
653     SELECT
654             ID,
655             OBJECT_VERSION_NUMBER,
656             SFWT_FLAG,
657             IBT_ID,
658             IXX_ID,
659             CURRENCY_CODE,
660             IRM_ID,
661             INF_ID,
662             SET_OF_BOOKS_ID,
663             CONSOLIDATED_INVOICE_NUMBER,
664             TRX_STATUS_CODE,
665             INVOICE_PULL_YN,
666             DATE_CONSOLIDATED,
667             PRIVATE_LABEL_LOGO_URL,
668             AMOUNT,
669 			DUE_DATE,
670             ATTRIBUTE_CATEGORY,
671             ATTRIBUTE1,
672             ATTRIBUTE2,
673             ATTRIBUTE3,
674             ATTRIBUTE4,
675             ATTRIBUTE5,
676             ATTRIBUTE6,
677             ATTRIBUTE7,
678             ATTRIBUTE8,
679             ATTRIBUTE9,
680             ATTRIBUTE10,
681             ATTRIBUTE11,
682             ATTRIBUTE12,
683             ATTRIBUTE13,
684             ATTRIBUTE14,
685             ATTRIBUTE15,
686             REQUEST_ID,
690             ORG_ID,
687             PROGRAM_APPLICATION_ID,
688             PROGRAM_ID,
689             PROGRAM_UPDATE_DATE,
691             CREATED_BY,
692             CREATION_DATE,
693             LAST_UPDATED_BY,
694             LAST_UPDATE_DATE,
695             LAST_UPDATE_LOGIN,
696 	    LEGAL_ENTITY_ID -- for LE Uptake project 08-11-2006
697       FROM Okl_Cnsld_Ar_Hdrs_V
698      WHERE okl_cnsld_ar_hdrs_v.id = p_id;
699     l_okl_cnrv_pk                  okl_cnrv_pk_csr%ROWTYPE;
700     l_cnrv_rec                     cnrv_rec_type;
701   BEGIN
702     x_no_data_found := TRUE;
703     -- Get current database values
704     OPEN okl_cnrv_pk_csr (p_cnrv_rec.id);
705     FETCH okl_cnrv_pk_csr INTO
706               l_cnrv_rec.ID,
707               l_cnrv_rec.OBJECT_VERSION_NUMBER,
708               l_cnrv_rec.SFWT_FLAG,
709               l_cnrv_rec.IBT_ID,
710               l_cnrv_rec.IXX_ID,
711               l_cnrv_rec.CURRENCY_CODE,
712               l_cnrv_rec.IRM_ID,
713               l_cnrv_rec.INF_ID,
714               l_cnrv_rec.SET_OF_BOOKS_ID,
715               l_cnrv_rec.CONSOLIDATED_INVOICE_NUMBER,
716               l_cnrv_rec.TRX_STATUS_CODE,
717               l_cnrv_rec.INVOICE_PULL_YN,
718               l_cnrv_rec.DATE_CONSOLIDATED,
719               l_cnrv_rec.PRIVATE_LABEL_LOGO_URL,
720               l_cnrv_rec.AMOUNT,
721               l_cnrv_rec.DUE_DATE,
722               l_cnrv_rec.ATTRIBUTE_CATEGORY,
723               l_cnrv_rec.ATTRIBUTE1,
724               l_cnrv_rec.ATTRIBUTE2,
725               l_cnrv_rec.ATTRIBUTE3,
726               l_cnrv_rec.ATTRIBUTE4,
727               l_cnrv_rec.ATTRIBUTE5,
728               l_cnrv_rec.ATTRIBUTE6,
729               l_cnrv_rec.ATTRIBUTE7,
730               l_cnrv_rec.ATTRIBUTE8,
731               l_cnrv_rec.ATTRIBUTE9,
732               l_cnrv_rec.ATTRIBUTE10,
733               l_cnrv_rec.ATTRIBUTE11,
734               l_cnrv_rec.ATTRIBUTE12,
735               l_cnrv_rec.ATTRIBUTE13,
736               l_cnrv_rec.ATTRIBUTE14,
737               l_cnrv_rec.ATTRIBUTE15,
738               l_cnrv_rec.REQUEST_ID,
739               l_cnrv_rec.PROGRAM_APPLICATION_ID,
740               l_cnrv_rec.PROGRAM_ID,
741               l_cnrv_rec.PROGRAM_UPDATE_DATE,
742               l_cnrv_rec.ORG_ID,
743               l_cnrv_rec.CREATED_BY,
744               l_cnrv_rec.CREATION_DATE,
745               l_cnrv_rec.LAST_UPDATED_BY,
746               l_cnrv_rec.LAST_UPDATE_DATE,
747               l_cnrv_rec.LAST_UPDATE_LOGIN,
748 	      l_cnrv_rec.LEGAL_ENTITY_ID; -- for LE Uptake project 08-11-2006
749     x_no_data_found := okl_cnrv_pk_csr%NOTFOUND;
750     CLOSE okl_cnrv_pk_csr;
751     RETURN(l_cnrv_rec);
752   END get_rec;
753 
754   FUNCTION get_rec (
755     p_cnrv_rec                     IN cnrv_rec_type
756   ) RETURN cnrv_rec_type IS
757     l_row_notfound                 BOOLEAN := TRUE;
758   BEGIN
759     RETURN(get_rec(p_cnrv_rec, l_row_notfound));
760   END get_rec;
761 
762   ---------------------------------------------------------
763   -- FUNCTION null_out_defaults for: OKL_CNSLD_AR_HDRS_V --
764   ---------------------------------------------------------
765   FUNCTION null_out_defaults (
766     p_cnrv_rec	IN cnrv_rec_type
767   ) RETURN cnrv_rec_type IS
768     l_cnrv_rec	cnrv_rec_type := p_cnrv_rec;
769   BEGIN
770     IF (l_cnrv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
771       l_cnrv_rec.object_version_number := NULL;
772     END IF;
773     IF (l_cnrv_rec.sfwt_flag = Okc_Api.G_MISS_CHAR) THEN
774       l_cnrv_rec.sfwt_flag := NULL;
775     END IF;
776     IF (l_cnrv_rec.ibt_id = Okc_Api.G_MISS_NUM) THEN
777       l_cnrv_rec.ibt_id := NULL;
778     END IF;
779     IF (l_cnrv_rec.ixx_id = Okc_Api.G_MISS_NUM) THEN
780       l_cnrv_rec.ixx_id := NULL;
781     END IF;
782     IF (l_cnrv_rec.currency_code = Okc_Api.G_MISS_CHAR) THEN
783       l_cnrv_rec.currency_code := NULL;
784     END IF;
785     IF (l_cnrv_rec.irm_id = Okc_Api.G_MISS_NUM) THEN
786       l_cnrv_rec.irm_id := NULL;
787     END IF;
788     IF (l_cnrv_rec.inf_id = Okc_Api.G_MISS_NUM) THEN
789       l_cnrv_rec.inf_id := NULL;
790     END IF;
791     IF (l_cnrv_rec.set_of_books_id = Okc_Api.G_MISS_NUM) THEN
792       l_cnrv_rec.set_of_books_id := NULL;
793     END IF;
794     IF (l_cnrv_rec.consolidated_invoice_number = Okc_Api.G_MISS_CHAR) THEN
795       l_cnrv_rec.consolidated_invoice_number := NULL;
796     END IF;
797     IF (l_cnrv_rec.trx_status_code = Okc_Api.G_MISS_CHAR) THEN
798       l_cnrv_rec.trx_status_code := NULL;
799     END IF;
800     IF (l_cnrv_rec.invoice_pull_yn = Okc_Api.G_MISS_CHAR) THEN
801       l_cnrv_rec.invoice_pull_yn := NULL;
802     END IF;
803     IF (l_cnrv_rec.date_consolidated = Okc_Api.G_MISS_DATE) THEN
804       l_cnrv_rec.date_consolidated := NULL;
805     END IF;
806     IF (l_cnrv_rec.private_label_logo_url = Okc_Api.G_MISS_CHAR) THEN
807       l_cnrv_rec.private_label_logo_url := NULL;
808     END IF;
809     IF (l_cnrv_rec.amount = Okc_Api.G_MISS_NUM) THEN
810       l_cnrv_rec.amount := NULL;
811     END IF;
812     IF (l_cnrv_rec.due_date = Okc_Api.G_MISS_DATE) THEN
813       l_cnrv_rec.due_date := NULL;
814     END IF;
815     IF (l_cnrv_rec.attribute_category = Okc_Api.G_MISS_CHAR) THEN
819       l_cnrv_rec.attribute1 := NULL;
816       l_cnrv_rec.attribute_category := NULL;
817     END IF;
818     IF (l_cnrv_rec.attribute1 = Okc_Api.G_MISS_CHAR) THEN
820     END IF;
821     IF (l_cnrv_rec.attribute2 = Okc_Api.G_MISS_CHAR) THEN
822       l_cnrv_rec.attribute2 := NULL;
823     END IF;
824     IF (l_cnrv_rec.attribute3 = Okc_Api.G_MISS_CHAR) THEN
825       l_cnrv_rec.attribute3 := NULL;
826     END IF;
827     IF (l_cnrv_rec.attribute4 = Okc_Api.G_MISS_CHAR) THEN
828       l_cnrv_rec.attribute4 := NULL;
829     END IF;
830     IF (l_cnrv_rec.attribute5 = Okc_Api.G_MISS_CHAR) THEN
831       l_cnrv_rec.attribute5 := NULL;
832     END IF;
833     IF (l_cnrv_rec.attribute6 = Okc_Api.G_MISS_CHAR) THEN
834       l_cnrv_rec.attribute6 := NULL;
835     END IF;
836     IF (l_cnrv_rec.attribute7 = Okc_Api.G_MISS_CHAR) THEN
837       l_cnrv_rec.attribute7 := NULL;
838     END IF;
839     IF (l_cnrv_rec.attribute8 = Okc_Api.G_MISS_CHAR) THEN
840       l_cnrv_rec.attribute8 := NULL;
841     END IF;
842     IF (l_cnrv_rec.attribute9 = Okc_Api.G_MISS_CHAR) THEN
843       l_cnrv_rec.attribute9 := NULL;
844     END IF;
845     IF (l_cnrv_rec.attribute10 = Okc_Api.G_MISS_CHAR) THEN
846       l_cnrv_rec.attribute10 := NULL;
847     END IF;
848     IF (l_cnrv_rec.attribute11 = Okc_Api.G_MISS_CHAR) THEN
849       l_cnrv_rec.attribute11 := NULL;
850     END IF;
851     IF (l_cnrv_rec.attribute12 = Okc_Api.G_MISS_CHAR) THEN
852       l_cnrv_rec.attribute12 := NULL;
853     END IF;
854     IF (l_cnrv_rec.attribute13 = Okc_Api.G_MISS_CHAR) THEN
855       l_cnrv_rec.attribute13 := NULL;
856     END IF;
857     IF (l_cnrv_rec.attribute14 = Okc_Api.G_MISS_CHAR) THEN
858       l_cnrv_rec.attribute14 := NULL;
859     END IF;
860     IF (l_cnrv_rec.attribute15 = Okc_Api.G_MISS_CHAR) THEN
861       l_cnrv_rec.attribute15 := NULL;
862     END IF;
863     IF (l_cnrv_rec.request_id = Okc_Api.G_MISS_NUM) THEN
864       l_cnrv_rec.request_id := NULL;
865     END IF;
866     IF (l_cnrv_rec.program_application_id = Okc_Api.G_MISS_NUM) THEN
867       l_cnrv_rec.program_application_id := NULL;
868     END IF;
869     IF (l_cnrv_rec.program_id = Okc_Api.G_MISS_NUM) THEN
870       l_cnrv_rec.program_id := NULL;
871     END IF;
872     IF (l_cnrv_rec.program_update_date = Okc_Api.G_MISS_DATE) THEN
873       l_cnrv_rec.program_update_date := NULL;
874     END IF;
875     IF (l_cnrv_rec.org_id = Okc_Api.G_MISS_NUM) THEN
876       l_cnrv_rec.org_id := NULL;
877     END IF;
878     IF (l_cnrv_rec.created_by = Okc_Api.G_MISS_NUM) THEN
879       l_cnrv_rec.created_by := NULL;
880     END IF;
881     IF (l_cnrv_rec.creation_date = Okc_Api.G_MISS_DATE) THEN
882       l_cnrv_rec.creation_date := NULL;
883     END IF;
884     IF (l_cnrv_rec.last_updated_by = Okc_Api.G_MISS_NUM) THEN
885       l_cnrv_rec.last_updated_by := NULL;
886     END IF;
887     IF (l_cnrv_rec.last_update_date = Okc_Api.G_MISS_DATE) THEN
888       l_cnrv_rec.last_update_date := NULL;
889     END IF;
890     IF (l_cnrv_rec.last_update_login = Okc_Api.G_MISS_NUM) THEN
891       l_cnrv_rec.last_update_login := NULL;
892     END IF;
893     -- for LE Uptake project 08-11-2006
894     IF (l_cnrv_rec.legal_entity_id = Okc_Api.G_MISS_NUM) THEN
895       l_cnrv_rec.legal_entity_id := NULL;
896     END IF;
897     -- for LE Uptake project 08-11-2006
898     RETURN(l_cnrv_rec);
899   END null_out_defaults;
900   ---------------------------------------------------------------------------
901   -- PROCEDURE Validate_Attributes
902   ---------------------------------------------------------------------------
903   -------------------------------------------------
904   -- Validate_Attributes for:OKL_CNSLD_AR_HDRS_V --
905   -------------------------------------------------
906   FUNCTION Validate_Attributes (
907     p_cnrv_rec IN  cnrv_rec_type
908   ) RETURN VARCHAR2 IS
909     l_return_status	VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
910 	-- Added 04/19/2001 -- Sunil Mathew
911     x_return_status	VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
912   BEGIN
913 	-- Added 04/19/2001 -- Sunil Mathew
914     validate_currency_code(p_cnrv_rec, x_return_status);
915     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
916       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
917         l_return_status := x_return_status;
918         RAISE G_EXCEPTION_HALT_VALIDATION;
919       ELSE
920         l_return_status := x_return_status;   -- record that there was an error
921       END IF;
922     END IF;
923 -- for LE Uptake project 08-11-2006
924 IF ( p_cnrv_rec.legal_entity_id = Okl_Api.G_MISS_NUM OR p_cnrv_rec.legal_entity_id IS NULL)
925 THEN
926    RAISE G_EXCEPTION_HALT_VALIDATION;
927 ELSE
928     validate_legal_entity_id(p_cnrv_rec, x_return_status);
929     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
930       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
931         l_return_status := x_return_status;
932         RAISE G_EXCEPTION_HALT_VALIDATION;
933       ELSE
934         l_return_status := x_return_status;   -- record that there was an error
935       END IF;
936     END IF;
937 END IF;
938 -- for LE Uptake project 08-11-2006
939 --    validate_isob_id(p_cnrv_rec, x_return_status);
940     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
941       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
945         l_return_status := x_return_status;   -- record that there was an error
942         l_return_status := x_return_status;
943         RAISE G_EXCEPTION_HALT_VALIDATION;
944       ELSE
946       END IF;
947     END IF;
948 
949 --    validate_ibt_id(p_cnrv_rec, x_return_status);
950     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
951       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
952         l_return_status := x_return_status;
953         RAISE G_EXCEPTION_HALT_VALIDATION;
954       ELSE
955         l_return_status := x_return_status;   -- record that there was an error
956       END IF;
957     END IF;
958 
959 --    validate_ixx_id(p_cnrv_rec, x_return_status);
960     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
961       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
962         l_return_status := x_return_status;
963         RAISE G_EXCEPTION_HALT_VALIDATION;
964       ELSE
965         l_return_status := x_return_status;   -- record that there was an error
966       END IF;
967     END IF;
968 
969 --    validate_irm_id(p_cnrv_rec, x_return_status);
970     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
971       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
972         l_return_status := x_return_status;
973         RAISE G_EXCEPTION_HALT_VALIDATION;
974       ELSE
975         l_return_status := x_return_status;   -- record that there was an error
976       END IF;
977     END IF;
978 
979     validate_inf_id(p_cnrv_rec, x_return_status);
980     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
981       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
982         l_return_status := x_return_status;
983         RAISE G_EXCEPTION_HALT_VALIDATION;
984       ELSE
985         l_return_status := x_return_status;   -- record that there was an error
986       END IF;
987     END IF;
988 
989     validate_org_id(p_cnrv_rec, x_return_status);
990     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
991       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
992         l_return_status := x_return_status;
993         RAISE G_EXCEPTION_HALT_VALIDATION;
994       ELSE
995         l_return_status := x_return_status;   -- record that there was an error
996       END IF;
997     END IF;
998 
999 	-- End Addition 04/19/2001 -- Sunil Mathew
1000 
1001     IF p_cnrv_rec.id = Okc_Api.G_MISS_NUM OR
1002        p_cnrv_rec.id IS NULL
1003     THEN
1004       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
1005       l_return_status := Okc_Api.G_RET_STS_ERROR;
1006     ELSIF p_cnrv_rec.object_version_number = Okc_Api.G_MISS_NUM OR
1007           p_cnrv_rec.object_version_number IS NULL
1008     THEN
1009       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
1010       l_return_status := Okc_Api.G_RET_STS_ERROR;
1011     ELSIF p_cnrv_rec.ibt_id = Okc_Api.G_MISS_NUM OR
1012           p_cnrv_rec.ibt_id IS NULL
1013     THEN
1014       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'ibt_id');
1015       l_return_status := Okc_Api.G_RET_STS_ERROR;
1016     ELSIF p_cnrv_rec.ixx_id = Okc_Api.G_MISS_NUM OR
1017           p_cnrv_rec.ixx_id IS NULL
1018     THEN
1019       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'ixx_id');
1020       l_return_status := Okc_Api.G_RET_STS_ERROR;
1021     ELSIF p_cnrv_rec.currency_code = Okc_Api.G_MISS_CHAR OR
1022           p_cnrv_rec.currency_code IS NULL
1023     THEN
1024       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'currency_code');
1025       l_return_status := Okc_Api.G_RET_STS_ERROR;
1026     ELSIF p_cnrv_rec.irm_id = Okc_Api.G_MISS_NUM OR
1027           p_cnrv_rec.irm_id IS NULL
1028     THEN
1029           NULL;
1030     ELSIF p_cnrv_rec.set_of_books_id = Okc_Api.G_MISS_NUM OR
1031           p_cnrv_rec.set_of_books_id IS NULL
1032     THEN
1033       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'set_of_books_id');
1034       l_return_status := Okc_Api.G_RET_STS_ERROR;
1035     ELSIF p_cnrv_rec.trx_status_code = Okc_Api.G_MISS_CHAR OR
1036           p_cnrv_rec.trx_status_code IS NULL
1037     THEN
1038       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'trx_status_code');
1039       l_return_status := Okc_Api.G_RET_STS_ERROR;
1040     ELSIF p_cnrv_rec.date_consolidated = Okc_Api.G_MISS_DATE OR
1041           p_cnrv_rec.date_consolidated IS NULL
1042     THEN
1043       Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'date_consolidated');
1044       l_return_status := Okc_Api.G_RET_STS_ERROR;
1045     END IF;
1046     RETURN(l_return_status);
1047   END Validate_Attributes;
1048 
1049   ---------------------------------------------------------------------------
1050   -- PROCEDURE Validate_Record
1051   ---------------------------------------------------------------------------
1052   ---------------------------------------------
1053   -- Validate_Record for:OKL_CNSLD_AR_HDRS_V --
1054   ---------------------------------------------
1055   FUNCTION Validate_Record (
1056     p_cnrv_rec IN cnrv_rec_type
1057   ) RETURN VARCHAR2 IS
1058     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1059   BEGIN
1060     RETURN (l_return_status);
1061   END Validate_Record;
1062 
1066   PROCEDURE migrate (
1063   ---------------------------------------------------------------------------
1064   -- PROCEDURE Migrate
1065   ---------------------------------------------------------------------------
1067     p_from	IN cnrv_rec_type,
1068     p_to	OUT NOCOPY cnr_rec_type
1069   ) IS
1070   BEGIN
1071     p_to.id := p_from.id;
1072     p_to.consolidated_invoice_number := p_from.consolidated_invoice_number;
1073     p_to.trx_status_code := p_from.trx_status_code;
1074     p_to.currency_code := p_from.currency_code;
1075     p_to.set_of_books_id := p_from.set_of_books_id;
1076     p_to.ibt_id := p_from.ibt_id;
1077     p_to.ixx_id := p_from.ixx_id;
1078     p_to.irm_id := p_from.irm_id;
1079     p_to.inf_id := p_from.inf_id;
1080     p_to.amount := p_from.amount;
1081     p_to.date_consolidated := p_from.date_consolidated;
1082     p_to.invoice_pull_yn := p_from.invoice_pull_yn;
1083     p_to.object_version_number := p_from.object_version_number;
1084     p_to.request_id := p_from.request_id;
1085     p_to.program_application_id := p_from.program_application_id;
1086     p_to.program_id := p_from.program_id;
1087     p_to.program_update_date := p_from.program_update_date;
1088     p_to.org_id := p_from.org_id;
1089     p_to.due_date := p_from.due_date;
1090     p_to.attribute_category := p_from.attribute_category;
1091     p_to.attribute1 := p_from.attribute1;
1092     p_to.attribute2 := p_from.attribute2;
1093     p_to.attribute3 := p_from.attribute3;
1094     p_to.attribute4 := p_from.attribute4;
1095     p_to.attribute5 := p_from.attribute5;
1096     p_to.attribute6 := p_from.attribute6;
1097     p_to.attribute7 := p_from.attribute7;
1098     p_to.attribute8 := p_from.attribute8;
1099     p_to.attribute9 := p_from.attribute9;
1100     p_to.attribute10 := p_from.attribute10;
1101     p_to.attribute11 := p_from.attribute11;
1102     p_to.attribute12 := p_from.attribute12;
1103     p_to.attribute13 := p_from.attribute13;
1104     p_to.attribute14 := p_from.attribute14;
1105     p_to.attribute15 := p_from.attribute15;
1106     p_to.created_by := p_from.created_by;
1107     p_to.creation_date := p_from.creation_date;
1108     p_to.last_updated_by := p_from.last_updated_by;
1109     p_to.last_update_date := p_from.last_update_date;
1110     p_to.last_update_login := p_from.last_update_login;
1111     p_to.legal_entity_id   := p_from.legal_entity_id; -- for LE Uptake project 08-11-2006
1112   END migrate;
1113   PROCEDURE migrate (
1114     p_from	IN cnr_rec_type,
1115     p_to	OUT NOCOPY cnrv_rec_type
1116   ) IS
1117   BEGIN
1118     p_to.id := p_from.id;
1119     p_to.consolidated_invoice_number := p_from.consolidated_invoice_number;
1120     p_to.trx_status_code := p_from.trx_status_code;
1121     p_to.currency_code := p_from.currency_code;
1122     p_to.set_of_books_id := p_from.set_of_books_id;
1123     p_to.ibt_id := p_from.ibt_id;
1124     p_to.ixx_id := p_from.ixx_id;
1125     p_to.irm_id := p_from.irm_id;
1126     p_to.inf_id := p_from.inf_id;
1127     p_to.amount := p_from.amount;
1128     p_to.date_consolidated := p_from.date_consolidated;
1129     p_to.invoice_pull_yn := p_from.invoice_pull_yn;
1130     p_to.object_version_number := p_from.object_version_number;
1131     p_to.request_id := p_from.request_id;
1132     p_to.program_application_id := p_from.program_application_id;
1133     p_to.program_id := p_from.program_id;
1134     p_to.program_update_date := p_from.program_update_date;
1135     p_to.org_id := p_from.org_id;
1136     p_to.due_date := p_from.due_date;
1137     p_to.attribute_category := p_from.attribute_category;
1138     p_to.attribute1 := p_from.attribute1;
1139     p_to.attribute2 := p_from.attribute2;
1140     p_to.attribute3 := p_from.attribute3;
1141     p_to.attribute4 := p_from.attribute4;
1142     p_to.attribute5 := p_from.attribute5;
1143     p_to.attribute6 := p_from.attribute6;
1144     p_to.attribute7 := p_from.attribute7;
1145     p_to.attribute8 := p_from.attribute8;
1146     p_to.attribute9 := p_from.attribute9;
1147     p_to.attribute10 := p_from.attribute10;
1148     p_to.attribute11 := p_from.attribute11;
1149     p_to.attribute12 := p_from.attribute12;
1150     p_to.attribute13 := p_from.attribute13;
1151     p_to.attribute14 := p_from.attribute14;
1152     p_to.attribute15 := p_from.attribute15;
1153     p_to.created_by := p_from.created_by;
1154     p_to.creation_date := p_from.creation_date;
1155     p_to.last_updated_by := p_from.last_updated_by;
1156     p_to.last_update_date := p_from.last_update_date;
1157     p_to.last_update_login := p_from.last_update_login;
1158     p_to.legal_entity_id := p_from.legal_entity_id; -- for LE Uptake project 08-11-2006
1159   END migrate;
1160   PROCEDURE migrate (
1161     p_from	IN cnrv_rec_type,
1162     p_to	OUT NOCOPY okl_cnsld_ar_hdrs_tl_rec_type
1163   ) IS
1164   BEGIN
1165     p_to.id := p_from.id;
1166     p_to.sfwt_flag := p_from.sfwt_flag;
1167     p_to.private_label_logo_url := p_from.private_label_logo_url;
1168     p_to.created_by := p_from.created_by;
1169     p_to.creation_date := p_from.creation_date;
1170     p_to.last_updated_by := p_from.last_updated_by;
1171     p_to.last_update_date := p_from.last_update_date;
1172     p_to.last_update_login := p_from.last_update_login;
1173   END migrate;
1174   PROCEDURE migrate (
1175     p_from	IN okl_cnsld_ar_hdrs_tl_rec_type,
1176     p_to	OUT NOCOPY cnrv_rec_type
1177   ) IS
1178   BEGIN
1179     p_to.id := p_from.id;
1180     p_to.sfwt_flag := p_from.sfwt_flag;
1184     p_to.last_updated_by := p_from.last_updated_by;
1181     p_to.private_label_logo_url := p_from.private_label_logo_url;
1182     p_to.created_by := p_from.created_by;
1183     p_to.creation_date := p_from.creation_date;
1185     p_to.last_update_date := p_from.last_update_date;
1186     p_to.last_update_login := p_from.last_update_login;
1187   END migrate;
1188 
1189   ---------------------------------------------------------------------------
1190   -- PROCEDURE validate_row
1191   ---------------------------------------------------------------------------
1192   ------------------------------------------
1193   -- validate_row for:OKL_CNSLD_AR_HDRS_V --
1194   ------------------------------------------
1195   PROCEDURE validate_row(
1196     p_api_version                  IN NUMBER,
1197     p_init_msg_list                IN VARCHAR2,
1198     x_return_status                OUT NOCOPY VARCHAR2,
1199     x_msg_count                    OUT NOCOPY NUMBER,
1200     x_msg_data                     OUT NOCOPY VARCHAR2,
1201     p_cnrv_rec                     IN cnrv_rec_type) IS
1202 
1203     l_api_version                 CONSTANT NUMBER := 1;
1204     l_api_name                     CONSTANT VARCHAR2(30) := 'V_validate_row';
1205     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1206     l_cnrv_rec                     cnrv_rec_type := p_cnrv_rec;
1207     l_cnr_rec                      cnr_rec_type;
1208     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type;
1209   BEGIN
1210     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1211                                               G_PKG_NAME,
1212                                               p_init_msg_list,
1213                                               l_api_version,
1214                                               p_api_version,
1215                                               '_PVT',
1216                                               x_return_status);
1217     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1218       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1219     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1220       RAISE Okc_Api.G_EXCEPTION_ERROR;
1221     END IF;
1222     --- Validate all non-missing attributes (Item Level Validation)
1223     l_return_status := Validate_Attributes(l_cnrv_rec);
1224     --- If any errors happen abort API
1225     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1226       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1227     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1228       RAISE Okc_Api.G_EXCEPTION_ERROR;
1229     END IF;
1230     l_return_status := Validate_Record(l_cnrv_rec);
1231     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1232       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1233     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1234       RAISE Okc_Api.G_EXCEPTION_ERROR;
1235     END IF;
1236     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1237   EXCEPTION
1238     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1239       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1240       (
1241         l_api_name,
1242         G_PKG_NAME,
1243         'OKC_API.G_RET_STS_ERROR',
1244         x_msg_count,
1245         x_msg_data,
1246         '_PVT'
1247       );
1248     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1249       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1250       (
1251         l_api_name,
1252         G_PKG_NAME,
1253         'OKC_API.G_RET_STS_UNEXP_ERROR',
1254         x_msg_count,
1255         x_msg_data,
1256         '_PVT'
1257       );
1258     WHEN OTHERS THEN
1259       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1260       (
1261         l_api_name,
1262         G_PKG_NAME,
1263         'OTHERS',
1264         x_msg_count,
1265         x_msg_data,
1266         '_PVT'
1267       );
1268   END validate_row;
1269   ------------------------------------------
1270   -- PL/SQL TBL validate_row for:CNRV_TBL --
1271   ------------------------------------------
1272   PROCEDURE validate_row(
1273     p_api_version                  IN NUMBER,
1274     p_init_msg_list                IN VARCHAR2,
1275     x_return_status                OUT NOCOPY VARCHAR2,
1276     x_msg_count                    OUT NOCOPY NUMBER,
1277     x_msg_data                     OUT NOCOPY VARCHAR2,
1278     p_cnrv_tbl                     IN cnrv_tbl_type) IS
1279 
1280     l_api_version                 CONSTANT NUMBER := 1;
1281     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1282     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1283     i                              NUMBER := 0;
1284   BEGIN
1285     Okc_Api.init_msg_list(p_init_msg_list);
1286     -- Make sure PL/SQL table has records in it before passing
1287     IF (p_cnrv_tbl.COUNT > 0) THEN
1288       i := p_cnrv_tbl.FIRST;
1289       LOOP
1290         validate_row (
1291           p_api_version                  => p_api_version,
1292           p_init_msg_list                => Okc_Api.G_FALSE,
1293           x_return_status                => x_return_status,
1294           x_msg_count                    => x_msg_count,
1295           x_msg_data                     => x_msg_data,
1296           p_cnrv_rec                     => p_cnrv_tbl(i));
1297         EXIT WHEN (i = p_cnrv_tbl.LAST);
1298         i := p_cnrv_tbl.NEXT(i);
1299       END LOOP;
1303       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1300     END IF;
1301   EXCEPTION
1302     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1304       (
1305         l_api_name,
1306         G_PKG_NAME,
1307         'OKC_API.G_RET_STS_ERROR',
1308         x_msg_count,
1309         x_msg_data,
1310         '_PVT'
1311       );
1312     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1313       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1314       (
1315         l_api_name,
1316         G_PKG_NAME,
1317         'OKC_API.G_RET_STS_UNEXP_ERROR',
1318         x_msg_count,
1319         x_msg_data,
1320         '_PVT'
1321       );
1322     WHEN OTHERS THEN
1323       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1324       (
1325         l_api_name,
1326         G_PKG_NAME,
1327         'OTHERS',
1328         x_msg_count,
1329         x_msg_data,
1330         '_PVT'
1331       );
1332   END validate_row;
1333 
1334   ---------------------------------------------------------------------------
1335   -- PROCEDURE insert_row
1336   ---------------------------------------------------------------------------
1337   ----------------------------------------
1338   -- insert_row for:OKL_CNSLD_AR_HDRS_B --
1339   ----------------------------------------
1340   PROCEDURE insert_row(
1341     p_init_msg_list                IN VARCHAR2,
1342     x_return_status                OUT NOCOPY VARCHAR2,
1343     x_msg_count                    OUT NOCOPY NUMBER,
1344     x_msg_data                     OUT NOCOPY VARCHAR2,
1345     p_cnr_rec                      IN cnr_rec_type,
1346     x_cnr_rec                      OUT NOCOPY cnr_rec_type) IS
1347 
1348     l_api_version                 CONSTANT NUMBER := 1;
1349     l_api_name                     CONSTANT VARCHAR2(30) := 'B_insert_row';
1350     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1351     l_cnr_rec                      cnr_rec_type := p_cnr_rec;
1352     l_def_cnr_rec                  cnr_rec_type;
1353     --------------------------------------------
1354     -- Set_Attributes for:OKL_CNSLD_AR_HDRS_B --
1355     --------------------------------------------
1356     FUNCTION Set_Attributes (
1357       p_cnr_rec IN  cnr_rec_type,
1358       x_cnr_rec OUT NOCOPY cnr_rec_type
1359     ) RETURN VARCHAR2 IS
1360       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1361     BEGIN
1362       x_cnr_rec := p_cnr_rec;
1363       RETURN(l_return_status);
1364     END Set_Attributes;
1365   BEGIN
1366     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1367                                               p_init_msg_list,
1368                                               '_PVT',
1369                                               x_return_status);
1370     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1371       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1372     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1373       RAISE Okc_Api.G_EXCEPTION_ERROR;
1374     END IF;
1375     --- Setting item attributes
1376     l_return_status := Set_Attributes(
1377       p_cnr_rec,                         -- IN
1378       l_cnr_rec);                        -- OUT
1379     --- If any errors happen abort API
1380     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1381       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1382     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1383       RAISE Okc_Api.G_EXCEPTION_ERROR;
1384     END IF;
1385     INSERT INTO OKL_CNSLD_AR_HDRS_B(
1386         id,
1387         consolidated_invoice_number,
1388         trx_status_code,
1389         currency_code,
1390         set_of_books_id,
1391         ibt_id,
1392         ixx_id,
1393         irm_id,
1394         inf_id,
1395         amount,
1396         date_consolidated,
1397         invoice_pull_yn,
1398         object_version_number,
1399         request_id,
1400         program_application_id,
1401         program_id,
1402         program_update_date,
1403         org_id,
1404 		due_date,
1405         attribute_category,
1406         attribute1,
1407         attribute2,
1408         attribute3,
1409         attribute4,
1410         attribute5,
1411         attribute6,
1412         attribute7,
1413         attribute8,
1414         attribute9,
1415         attribute10,
1416         attribute11,
1417         attribute12,
1418         attribute13,
1419         attribute14,
1420         attribute15,
1421         created_by,
1422         creation_date,
1423         last_updated_by,
1424         last_update_date,
1425         last_update_login,
1426         legal_entity_id) -- for LE Uptake project 08-11-2006
1427       VALUES (
1428         l_cnr_rec.id,
1429         l_cnr_rec.consolidated_invoice_number,
1430         l_cnr_rec.trx_status_code,
1431         l_cnr_rec.currency_code,
1432         l_cnr_rec.set_of_books_id,
1433         l_cnr_rec.ibt_id,
1434         l_cnr_rec.ixx_id,
1435         l_cnr_rec.irm_id,
1436         l_cnr_rec.inf_id,
1437         l_cnr_rec.amount,
1438         l_cnr_rec.date_consolidated,
1439         l_cnr_rec.invoice_pull_yn,
1440         l_cnr_rec.object_version_number,
1441         l_cnr_rec.request_id,
1442         l_cnr_rec.program_application_id,
1443         l_cnr_rec.program_id,
1447         l_cnr_rec.attribute_category,
1444         l_cnr_rec.program_update_date,
1445         l_cnr_rec.org_id,
1446         l_cnr_rec.due_date,
1448         l_cnr_rec.attribute1,
1449         l_cnr_rec.attribute2,
1450         l_cnr_rec.attribute3,
1451         l_cnr_rec.attribute4,
1452         l_cnr_rec.attribute5,
1453         l_cnr_rec.attribute6,
1454         l_cnr_rec.attribute7,
1455         l_cnr_rec.attribute8,
1456         l_cnr_rec.attribute9,
1457         l_cnr_rec.attribute10,
1458         l_cnr_rec.attribute11,
1459         l_cnr_rec.attribute12,
1460         l_cnr_rec.attribute13,
1461         l_cnr_rec.attribute14,
1462         l_cnr_rec.attribute15,
1463         l_cnr_rec.created_by,
1464         l_cnr_rec.creation_date,
1465         l_cnr_rec.last_updated_by,
1466         l_cnr_rec.last_update_date,
1467         l_cnr_rec.last_update_login,
1468         l_cnr_rec.legal_entity_id); -- for LE Uptake project 08-11-2006
1469     -- Set OUT values
1470     x_cnr_rec := l_cnr_rec;
1471     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1472   EXCEPTION
1473     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1474       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1475       (
1476         l_api_name,
1477         G_PKG_NAME,
1478         'OKC_API.G_RET_STS_ERROR',
1479         x_msg_count,
1480         x_msg_data,
1481         '_PVT'
1482       );
1483     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1484       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1485       (
1486         l_api_name,
1487         G_PKG_NAME,
1488         'OKC_API.G_RET_STS_UNEXP_ERROR',
1489         x_msg_count,
1490         x_msg_data,
1491         '_PVT'
1492       );
1493     WHEN OTHERS THEN
1494       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1495       (
1496         l_api_name,
1497         G_PKG_NAME,
1498         'OTHERS',
1499         x_msg_count,
1500         x_msg_data,
1501         '_PVT'
1502       );
1503   END insert_row;
1504   -----------------------------------------
1505   -- insert_row for:OKL_CNSLD_AR_HDRS_TL --
1506   -----------------------------------------
1507   PROCEDURE insert_row(
1508     p_init_msg_list                IN VARCHAR2,
1509     x_return_status                OUT NOCOPY VARCHAR2,
1510     x_msg_count                    OUT NOCOPY NUMBER,
1511     x_msg_data                     OUT NOCOPY VARCHAR2,
1512     p_okl_cnsld_ar_hdrs_tl_rec     IN okl_cnsld_ar_hdrs_tl_rec_type,
1513     x_okl_cnsld_ar_hdrs_tl_rec     OUT NOCOPY okl_cnsld_ar_hdrs_tl_rec_type) IS
1514 
1515     l_api_version                 CONSTANT NUMBER := 1;
1516     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_insert_row';
1517     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1518     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type := p_okl_cnsld_ar_hdrs_tl_rec;
1519     ldefoklcnsldarhdrstlrec        okl_cnsld_ar_hdrs_tl_rec_type;
1520     CURSOR get_languages IS
1521       SELECT *
1522         FROM FND_LANGUAGES
1523        WHERE INSTALLED_FLAG IN ('I', 'B');
1524     ---------------------------------------------
1525     -- Set_Attributes for:OKL_CNSLD_AR_HDRS_TL --
1526     ---------------------------------------------
1527     FUNCTION Set_Attributes (
1528       p_okl_cnsld_ar_hdrs_tl_rec IN  okl_cnsld_ar_hdrs_tl_rec_type,
1529       x_okl_cnsld_ar_hdrs_tl_rec OUT NOCOPY okl_cnsld_ar_hdrs_tl_rec_type
1530     ) RETURN VARCHAR2 IS
1531       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1532     BEGIN
1533       x_okl_cnsld_ar_hdrs_tl_rec := p_okl_cnsld_ar_hdrs_tl_rec;
1534       x_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE := USERENV('LANG');
1535       x_okl_cnsld_ar_hdrs_tl_rec.SOURCE_LANG := USERENV('LANG');
1536       RETURN(l_return_status);
1537     END Set_Attributes;
1538   BEGIN
1539     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1540                                               p_init_msg_list,
1541                                               '_PVT',
1542                                               x_return_status);
1543     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1544       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1545     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1546       RAISE Okc_Api.G_EXCEPTION_ERROR;
1547     END IF;
1548     --- Setting item attributes
1549     l_return_status := Set_Attributes(
1550       p_okl_cnsld_ar_hdrs_tl_rec,        -- IN
1551       l_okl_cnsld_ar_hdrs_tl_rec);       -- OUT
1552     --- If any errors happen abort API
1553     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1554       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1555     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1556       RAISE Okc_Api.G_EXCEPTION_ERROR;
1557     END IF;
1558     FOR l_lang_rec IN get_languages LOOP
1559       l_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE := l_lang_rec.language_code;
1560       INSERT INTO OKL_CNSLD_AR_HDRS_TL(
1561           id,
1562           LANGUAGE,
1563           source_lang,
1564           sfwt_flag,
1565           private_label_logo_url,
1566           created_by,
1567           creation_date,
1568           last_updated_by,
1569           last_update_date,
1570           last_update_login)
1571         VALUES (
1572           l_okl_cnsld_ar_hdrs_tl_rec.id,
1573           l_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE,
1577           l_okl_cnsld_ar_hdrs_tl_rec.created_by,
1574           l_okl_cnsld_ar_hdrs_tl_rec.source_lang,
1575           l_okl_cnsld_ar_hdrs_tl_rec.sfwt_flag,
1576           l_okl_cnsld_ar_hdrs_tl_rec.private_label_logo_url,
1578           l_okl_cnsld_ar_hdrs_tl_rec.creation_date,
1579           l_okl_cnsld_ar_hdrs_tl_rec.last_updated_by,
1580           l_okl_cnsld_ar_hdrs_tl_rec.last_update_date,
1581           l_okl_cnsld_ar_hdrs_tl_rec.last_update_login);
1582     END LOOP;
1583     -- Set OUT values
1584     x_okl_cnsld_ar_hdrs_tl_rec := l_okl_cnsld_ar_hdrs_tl_rec;
1585     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1586   EXCEPTION
1587     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1588       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1589       (
1590         l_api_name,
1591         G_PKG_NAME,
1592         'OKC_API.G_RET_STS_ERROR',
1593         x_msg_count,
1594         x_msg_data,
1595         '_PVT'
1596       );
1597     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1598       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1599       (
1600         l_api_name,
1601         G_PKG_NAME,
1602         'OKC_API.G_RET_STS_UNEXP_ERROR',
1603         x_msg_count,
1604         x_msg_data,
1605         '_PVT'
1606       );
1607     WHEN OTHERS THEN
1608       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1609       (
1610         l_api_name,
1611         G_PKG_NAME,
1612         'OTHERS',
1613         x_msg_count,
1614         x_msg_data,
1615         '_PVT'
1616       );
1617   END insert_row;
1618   ----------------------------------------
1619   -- insert_row for:OKL_CNSLD_AR_HDRS_V --
1620   ----------------------------------------
1621   PROCEDURE insert_row(
1622     p_api_version                  IN NUMBER,
1623     p_init_msg_list                IN VARCHAR2,
1624     x_return_status                OUT NOCOPY VARCHAR2,
1625     x_msg_count                    OUT NOCOPY NUMBER,
1626     x_msg_data                     OUT NOCOPY VARCHAR2,
1627     p_cnrv_rec                     IN cnrv_rec_type,
1628     x_cnrv_rec                     OUT NOCOPY cnrv_rec_type) IS
1629 
1630     l_api_version                 CONSTANT NUMBER := 1;
1631     l_api_name                     CONSTANT VARCHAR2(30) := 'V_insert_row';
1632     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1633     l_cnrv_rec                     cnrv_rec_type;
1634     l_def_cnrv_rec                 cnrv_rec_type;
1635     l_cnr_rec                      cnr_rec_type;
1636     lx_cnr_rec                     cnr_rec_type;
1637     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type;
1638     lx_okl_cnsld_ar_hdrs_tl_rec    okl_cnsld_ar_hdrs_tl_rec_type;
1639     -------------------------------
1640     -- FUNCTION fill_who_columns --
1641     -------------------------------
1642     FUNCTION fill_who_columns (
1643       p_cnrv_rec	IN cnrv_rec_type
1644     ) RETURN cnrv_rec_type IS
1645       l_cnrv_rec	cnrv_rec_type := p_cnrv_rec;
1646     BEGIN
1647       l_cnrv_rec.CREATION_DATE := SYSDATE;
1648       l_cnrv_rec.CREATED_BY := Fnd_Global.USER_ID;
1649       l_cnrv_rec.LAST_UPDATE_DATE := SYSDATE;
1650       l_cnrv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
1651       l_cnrv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1652       RETURN(l_cnrv_rec);
1653     END fill_who_columns;
1654     --------------------------------------------
1655     -- Set_Attributes for:OKL_CNSLD_AR_HDRS_V --
1656     --------------------------------------------
1657     FUNCTION Set_Attributes (
1658       p_cnrv_rec IN  cnrv_rec_type,
1659       x_cnrv_rec OUT NOCOPY cnrv_rec_type
1660     ) RETURN VARCHAR2 IS
1661       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1662     BEGIN
1663       x_cnrv_rec := p_cnrv_rec;
1664       x_cnrv_rec.OBJECT_VERSION_NUMBER := 1;
1665       x_cnrv_rec.SFWT_FLAG := 'N';
1666 
1667 	IF (x_cnrv_rec.request_id IS NULL OR x_cnrv_rec.request_id = Okl_Api.G_MISS_NUM) THEN
1668 	  SELECT
1669 	  		DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
1670 	  		DECODE(Fnd_Global.PROG_APPL_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
1671 	  		DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
1672 	  		DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE)
1673 	  INTO
1674 	  	   x_cnrv_rec.request_id,
1675 	  	   x_cnrv_rec.program_application_id,
1676 	  	   x_cnrv_rec.program_id,
1677 	  	   x_cnrv_rec.program_update_date
1678 	  FROM dual;
1679 	END IF;
1680 
1681       RETURN(l_return_status);
1682     END Set_Attributes;
1683   BEGIN
1684     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1685                                               G_PKG_NAME,
1686                                               p_init_msg_list,
1687                                               l_api_version,
1688                                               p_api_version,
1689                                               '_PVT',
1690                                               x_return_status);
1691     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1692       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1693     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1694       RAISE Okc_Api.G_EXCEPTION_ERROR;
1695     END IF;
1696     l_cnrv_rec := null_out_defaults(p_cnrv_rec);
1697     -- Set primary key value
1698     l_cnrv_rec.ID := get_seq_id;
1699     --- Setting item attributes
1703     --- If any errors happen abort API
1700     l_return_status := Set_Attributes(
1701       l_cnrv_rec,                        -- IN
1702       l_def_cnrv_rec);                   -- OUT
1704     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1705       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1706     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1707       RAISE Okc_Api.G_EXCEPTION_ERROR;
1708     END IF;
1709     l_def_cnrv_rec := fill_who_columns(l_def_cnrv_rec);
1710     --- Validate all non-missing attributes (Item Level Validation)
1711     l_return_status := Validate_Attributes(l_def_cnrv_rec);
1712     --- If any errors happen abort API
1713     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1714       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1715     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1716       RAISE Okc_Api.G_EXCEPTION_ERROR;
1717     END IF;
1718     l_return_status := Validate_Record(l_def_cnrv_rec);
1719     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1720       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1721     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1722       RAISE Okc_Api.G_EXCEPTION_ERROR;
1723     END IF;
1724     --------------------------------------
1725     -- Move VIEW record to "Child" records
1726     --------------------------------------
1727     migrate(l_def_cnrv_rec, l_cnr_rec);
1728     migrate(l_def_cnrv_rec, l_okl_cnsld_ar_hdrs_tl_rec);
1729     --------------------------------------------
1730     -- Call the INSERT_ROW for each child record
1731     --------------------------------------------
1732     insert_row(
1733       p_init_msg_list,
1734       x_return_status,
1735       x_msg_count,
1736       x_msg_data,
1737       l_cnr_rec,
1738       lx_cnr_rec
1739     );
1740     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1741       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1742     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1743       RAISE Okc_Api.G_EXCEPTION_ERROR;
1744     END IF;
1745     migrate(lx_cnr_rec, l_def_cnrv_rec);
1746     insert_row(
1747       p_init_msg_list,
1748       x_return_status,
1749       x_msg_count,
1750       x_msg_data,
1751       l_okl_cnsld_ar_hdrs_tl_rec,
1752       lx_okl_cnsld_ar_hdrs_tl_rec
1753     );
1754     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1755       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1756     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1757       RAISE Okc_Api.G_EXCEPTION_ERROR;
1758     END IF;
1759     migrate(lx_okl_cnsld_ar_hdrs_tl_rec, l_def_cnrv_rec);
1760     -- Set OUT values
1761     x_cnrv_rec := l_def_cnrv_rec;
1762     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1763   EXCEPTION
1764     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1765       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1766       (
1767         l_api_name,
1768         G_PKG_NAME,
1769         'OKC_API.G_RET_STS_ERROR',
1770         x_msg_count,
1771         x_msg_data,
1772         '_PVT'
1773       );
1774     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1775       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1776       (
1777         l_api_name,
1778         G_PKG_NAME,
1779         'OKC_API.G_RET_STS_UNEXP_ERROR',
1780         x_msg_count,
1781         x_msg_data,
1782         '_PVT'
1783       );
1784     WHEN OTHERS THEN
1785       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1786       (
1787         l_api_name,
1788         G_PKG_NAME,
1789         'OTHERS',
1790         x_msg_count,
1791         x_msg_data,
1792         '_PVT'
1793       );
1794   END insert_row;
1795   ----------------------------------------
1796   -- PL/SQL TBL insert_row for:CNRV_TBL --
1797   ----------------------------------------
1798   PROCEDURE insert_row(
1799     p_api_version                  IN NUMBER,
1800     p_init_msg_list                IN VARCHAR2,
1801     x_return_status                OUT NOCOPY VARCHAR2,
1802     x_msg_count                    OUT NOCOPY NUMBER,
1803     x_msg_data                     OUT NOCOPY VARCHAR2,
1804     p_cnrv_tbl                     IN cnrv_tbl_type,
1805     x_cnrv_tbl                     OUT NOCOPY cnrv_tbl_type) IS
1806 
1807     l_api_version                 CONSTANT NUMBER := 1;
1808     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1809     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1810     i                              NUMBER := 0;
1811   BEGIN
1812     Okc_Api.init_msg_list(p_init_msg_list);
1813     -- Make sure PL/SQL table has records in it before passing
1814     IF (p_cnrv_tbl.COUNT > 0) THEN
1815       i := p_cnrv_tbl.FIRST;
1816       LOOP
1817         insert_row (
1818           p_api_version                  => p_api_version,
1819           p_init_msg_list                => Okc_Api.G_FALSE,
1820           x_return_status                => x_return_status,
1821           x_msg_count                    => x_msg_count,
1822           x_msg_data                     => x_msg_data,
1823           p_cnrv_rec                     => p_cnrv_tbl(i),
1824           x_cnrv_rec                     => x_cnrv_tbl(i));
1825         EXIT WHEN (i = p_cnrv_tbl.LAST);
1826         i := p_cnrv_tbl.NEXT(i);
1827       END LOOP;
1828     END IF;
1829   EXCEPTION
1830     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1834         G_PKG_NAME,
1831       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1832       (
1833         l_api_name,
1835         'OKC_API.G_RET_STS_ERROR',
1836         x_msg_count,
1837         x_msg_data,
1838         '_PVT'
1839       );
1840     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1841       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1842       (
1843         l_api_name,
1844         G_PKG_NAME,
1845         'OKC_API.G_RET_STS_UNEXP_ERROR',
1846         x_msg_count,
1847         x_msg_data,
1848         '_PVT'
1849       );
1850     WHEN OTHERS THEN
1851       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1852       (
1853         l_api_name,
1854         G_PKG_NAME,
1855         'OTHERS',
1856         x_msg_count,
1857         x_msg_data,
1858         '_PVT'
1859       );
1860   END insert_row;
1861 
1862   ---------------------------------------------------------------------------
1863   -- PROCEDURE lock_row
1864   ---------------------------------------------------------------------------
1865   --------------------------------------
1866   -- lock_row for:OKL_CNSLD_AR_HDRS_B --
1867   --------------------------------------
1868   PROCEDURE lock_row(
1869     p_init_msg_list                IN VARCHAR2,
1870     x_return_status                OUT NOCOPY VARCHAR2,
1871     x_msg_count                    OUT NOCOPY NUMBER,
1872     x_msg_data                     OUT NOCOPY VARCHAR2,
1873     p_cnr_rec                      IN cnr_rec_type) IS
1874 
1875     E_Resource_Busy               EXCEPTION;
1876     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1877     CURSOR lock_csr (p_cnr_rec IN cnr_rec_type) IS
1878     SELECT OBJECT_VERSION_NUMBER
1879       FROM OKL_CNSLD_AR_HDRS_B
1880      WHERE ID = p_cnr_rec.id
1881        AND OBJECT_VERSION_NUMBER = p_cnr_rec.object_version_number
1882     FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1883 
1884     CURSOR  lchk_csr (p_cnr_rec IN cnr_rec_type) IS
1885     SELECT OBJECT_VERSION_NUMBER
1886       FROM OKL_CNSLD_AR_HDRS_B
1887     WHERE ID = p_cnr_rec.id;
1888     l_api_version                 CONSTANT NUMBER := 1;
1889     l_api_name                     CONSTANT VARCHAR2(30) := 'B_lock_row';
1890     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1891     l_object_version_number       OKL_CNSLD_AR_HDRS_B.OBJECT_VERSION_NUMBER%TYPE;
1892     lc_object_version_number      OKL_CNSLD_AR_HDRS_B.OBJECT_VERSION_NUMBER%TYPE;
1893     l_row_notfound                BOOLEAN := FALSE;
1894     lc_row_notfound               BOOLEAN := FALSE;
1895   BEGIN
1896     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1897                                               p_init_msg_list,
1898                                               '_PVT',
1899                                               x_return_status);
1900     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1901       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1902     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1903       RAISE Okc_Api.G_EXCEPTION_ERROR;
1904     END IF;
1905     BEGIN
1906       OPEN lock_csr(p_cnr_rec);
1907       FETCH lock_csr INTO l_object_version_number;
1908       l_row_notfound := lock_csr%NOTFOUND;
1909       CLOSE lock_csr;
1910     EXCEPTION
1911       WHEN E_Resource_Busy THEN
1912         IF (lock_csr%ISOPEN) THEN
1913           CLOSE lock_csr;
1914         END IF;
1915         Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1916         RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
1917     END;
1918 
1919     IF ( l_row_notfound ) THEN
1920       OPEN lchk_csr(p_cnr_rec);
1921       FETCH lchk_csr INTO lc_object_version_number;
1922       lc_row_notfound := lchk_csr%NOTFOUND;
1923       CLOSE lchk_csr;
1924     END IF;
1925     IF (lc_row_notfound) THEN
1926       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1927       RAISE Okc_Api.G_EXCEPTION_ERROR;
1928     ELSIF lc_object_version_number > p_cnr_rec.object_version_number THEN
1929       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1930       RAISE Okc_Api.G_EXCEPTION_ERROR;
1931     ELSIF lc_object_version_number <> p_cnr_rec.object_version_number THEN
1932       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1933       RAISE Okc_Api.G_EXCEPTION_ERROR;
1934     ELSIF lc_object_version_number = -1 THEN
1935       Okc_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1936       RAISE Okc_Api.G_EXCEPTION_ERROR;
1937     END IF;
1938     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1939   EXCEPTION
1940     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1941       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1942       (
1943         l_api_name,
1944         G_PKG_NAME,
1945         'OKC_API.G_RET_STS_ERROR',
1946         x_msg_count,
1947         x_msg_data,
1948         '_PVT'
1949       );
1950     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1951       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1952       (
1953         l_api_name,
1954         G_PKG_NAME,
1955         'OKC_API.G_RET_STS_UNEXP_ERROR',
1956         x_msg_count,
1957         x_msg_data,
1958         '_PVT'
1959       );
1960     WHEN OTHERS THEN
1961       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1962       (
1963         l_api_name,
1964         G_PKG_NAME,
1965         'OTHERS',
1966         x_msg_count,
1970   END lock_row;
1967         x_msg_data,
1968         '_PVT'
1969       );
1971   ---------------------------------------
1972   -- lock_row for:OKL_CNSLD_AR_HDRS_TL --
1973   ---------------------------------------
1974   PROCEDURE lock_row(
1975     p_init_msg_list                IN VARCHAR2,
1976     x_return_status                OUT NOCOPY VARCHAR2,
1977     x_msg_count                    OUT NOCOPY NUMBER,
1978     x_msg_data                     OUT NOCOPY VARCHAR2,
1979     p_okl_cnsld_ar_hdrs_tl_rec     IN okl_cnsld_ar_hdrs_tl_rec_type) IS
1980 
1981     E_Resource_Busy               EXCEPTION;
1982     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1983     CURSOR lock_csr (p_okl_cnsld_ar_hdrs_tl_rec IN okl_cnsld_ar_hdrs_tl_rec_type) IS
1984     SELECT *
1985       FROM OKL_CNSLD_AR_HDRS_TL
1986      WHERE ID = p_okl_cnsld_ar_hdrs_tl_rec.id
1987     FOR UPDATE NOWAIT;
1988 
1989     l_api_version                 CONSTANT NUMBER := 1;
1990     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_lock_row';
1991     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1992     l_lock_var                    lock_csr%ROWTYPE;
1993     l_row_notfound                BOOLEAN := FALSE;
1994     lc_row_notfound               BOOLEAN := FALSE;
1995   BEGIN
1996     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1997                                               p_init_msg_list,
1998                                               '_PVT',
1999                                               x_return_status);
2000     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2001       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2002     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2003       RAISE Okc_Api.G_EXCEPTION_ERROR;
2004     END IF;
2005     BEGIN
2006       OPEN lock_csr(p_okl_cnsld_ar_hdrs_tl_rec);
2007       FETCH lock_csr INTO l_lock_var;
2008       l_row_notfound := lock_csr%NOTFOUND;
2009       CLOSE lock_csr;
2010     EXCEPTION
2011       WHEN E_Resource_Busy THEN
2012         IF (lock_csr%ISOPEN) THEN
2013           CLOSE lock_csr;
2014         END IF;
2015         Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2016         RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
2017     END;
2018 
2019     IF ( l_row_notfound ) THEN
2020       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2021       RAISE Okc_Api.G_EXCEPTION_ERROR;
2022     END IF;
2023     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2024   EXCEPTION
2025     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2026       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2027       (
2028         l_api_name,
2029         G_PKG_NAME,
2030         'OKC_API.G_RET_STS_ERROR',
2031         x_msg_count,
2032         x_msg_data,
2033         '_PVT'
2034       );
2035     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2036       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2037       (
2038         l_api_name,
2039         G_PKG_NAME,
2040         'OKC_API.G_RET_STS_UNEXP_ERROR',
2041         x_msg_count,
2042         x_msg_data,
2043         '_PVT'
2044       );
2045     WHEN OTHERS THEN
2046       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2047       (
2048         l_api_name,
2049         G_PKG_NAME,
2050         'OTHERS',
2051         x_msg_count,
2052         x_msg_data,
2053         '_PVT'
2054       );
2055   END lock_row;
2056   --------------------------------------
2057   -- lock_row for:OKL_CNSLD_AR_HDRS_V --
2058   --------------------------------------
2059   PROCEDURE lock_row(
2060     p_api_version                  IN NUMBER,
2061     p_init_msg_list                IN VARCHAR2,
2062     x_return_status                OUT NOCOPY VARCHAR2,
2063     x_msg_count                    OUT NOCOPY NUMBER,
2064     x_msg_data                     OUT NOCOPY VARCHAR2,
2065     p_cnrv_rec                     IN cnrv_rec_type) IS
2066 
2067     l_api_version                 CONSTANT NUMBER := 1;
2068     l_api_name                     CONSTANT VARCHAR2(30) := 'V_lock_row';
2069     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2070     l_cnr_rec                      cnr_rec_type;
2071     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type;
2072   BEGIN
2073     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2074                                               G_PKG_NAME,
2075                                               p_init_msg_list,
2076                                               l_api_version,
2077                                               p_api_version,
2078                                               '_PVT',
2079                                               x_return_status);
2080     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2081       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2082     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2083       RAISE Okc_Api.G_EXCEPTION_ERROR;
2084     END IF;
2085     --------------------------------------
2086     -- Move VIEW record to "Child" records
2087     --------------------------------------
2088     migrate(p_cnrv_rec, l_cnr_rec);
2089     migrate(p_cnrv_rec, l_okl_cnsld_ar_hdrs_tl_rec);
2090     --------------------------------------------
2091     -- Call the LOCK_ROW for each child record
2092     --------------------------------------------
2093     lock_row(
2097       x_msg_data,
2094       p_init_msg_list,
2095       x_return_status,
2096       x_msg_count,
2098       l_cnr_rec
2099     );
2100     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2101       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2102     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2103       RAISE Okc_Api.G_EXCEPTION_ERROR;
2104     END IF;
2105     lock_row(
2106       p_init_msg_list,
2107       x_return_status,
2108       x_msg_count,
2109       x_msg_data,
2110       l_okl_cnsld_ar_hdrs_tl_rec
2111     );
2112     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2113       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2114     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2115       RAISE Okc_Api.G_EXCEPTION_ERROR;
2116     END IF;
2117     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2118   EXCEPTION
2119     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2120       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2121       (
2122         l_api_name,
2123         G_PKG_NAME,
2124         'OKC_API.G_RET_STS_ERROR',
2125         x_msg_count,
2126         x_msg_data,
2127         '_PVT'
2128       );
2129     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2130       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2131       (
2132         l_api_name,
2133         G_PKG_NAME,
2134         'OKC_API.G_RET_STS_UNEXP_ERROR',
2135         x_msg_count,
2136         x_msg_data,
2137         '_PVT'
2138       );
2139     WHEN OTHERS THEN
2140       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2141       (
2142         l_api_name,
2143         G_PKG_NAME,
2144         'OTHERS',
2145         x_msg_count,
2146         x_msg_data,
2147         '_PVT'
2148       );
2149   END lock_row;
2150   --------------------------------------
2151   -- PL/SQL TBL lock_row for:CNRV_TBL --
2152   --------------------------------------
2153   PROCEDURE lock_row(
2154     p_api_version                  IN NUMBER,
2155     p_init_msg_list                IN VARCHAR2,
2156     x_return_status                OUT NOCOPY VARCHAR2,
2157     x_msg_count                    OUT NOCOPY NUMBER,
2158     x_msg_data                     OUT NOCOPY VARCHAR2,
2159     p_cnrv_tbl                     IN cnrv_tbl_type) IS
2160 
2161     l_api_version                 CONSTANT NUMBER := 1;
2162     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2163     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2164     i                             NUMBER := 0;
2165   BEGIN
2166     Okc_Api.init_msg_list(p_init_msg_list);
2167     -- Make sure PL/SQL table has records in it before passing
2168     IF (p_cnrv_tbl.COUNT > 0) THEN
2169       i := p_cnrv_tbl.FIRST;
2170       LOOP
2171         lock_row (
2172           p_api_version                  => p_api_version,
2173           p_init_msg_list                => Okc_Api.G_FALSE,
2174           x_return_status                => x_return_status,
2175           x_msg_count                    => x_msg_count,
2176           x_msg_data                     => x_msg_data,
2177           p_cnrv_rec                     => p_cnrv_tbl(i));
2178         EXIT WHEN (i = p_cnrv_tbl.LAST);
2179         i := p_cnrv_tbl.NEXT(i);
2180       END LOOP;
2181     END IF;
2182   EXCEPTION
2183     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2184       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2185       (
2186         l_api_name,
2187         G_PKG_NAME,
2188         'OKC_API.G_RET_STS_ERROR',
2189         x_msg_count,
2190         x_msg_data,
2191         '_PVT'
2192       );
2193     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2194       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2195       (
2196         l_api_name,
2197         G_PKG_NAME,
2198         'OKC_API.G_RET_STS_UNEXP_ERROR',
2199         x_msg_count,
2200         x_msg_data,
2201         '_PVT'
2202       );
2203     WHEN OTHERS THEN
2204       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2205       (
2206         l_api_name,
2207         G_PKG_NAME,
2208         'OTHERS',
2209         x_msg_count,
2210         x_msg_data,
2211         '_PVT'
2212       );
2213   END lock_row;
2214 
2215   ---------------------------------------------------------------------------
2216   -- PROCEDURE update_row
2217   ---------------------------------------------------------------------------
2218   ----------------------------------------
2219   -- update_row for:OKL_CNSLD_AR_HDRS_B --
2220   ----------------------------------------
2221   PROCEDURE update_row(
2222     p_init_msg_list                IN VARCHAR2,
2223     x_return_status                OUT NOCOPY VARCHAR2,
2224     x_msg_count                    OUT NOCOPY NUMBER,
2225     x_msg_data                     OUT NOCOPY VARCHAR2,
2226     p_cnr_rec                      IN cnr_rec_type,
2227     x_cnr_rec                      OUT NOCOPY cnr_rec_type) IS
2228 
2229     l_api_version                 CONSTANT NUMBER := 1;
2230     l_api_name                     CONSTANT VARCHAR2(30) := 'B_update_row';
2231     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2232     l_cnr_rec                      cnr_rec_type := p_cnr_rec;
2233     l_def_cnr_rec                  cnr_rec_type;
2234     l_row_notfound                 BOOLEAN := TRUE;
2238     FUNCTION populate_new_record (
2235     ----------------------------------
2236     -- FUNCTION populate_new_record --
2237     ----------------------------------
2239       p_cnr_rec	IN cnr_rec_type,
2240       x_cnr_rec	OUT NOCOPY cnr_rec_type
2241     ) RETURN VARCHAR2 IS
2242       l_cnr_rec                      cnr_rec_type;
2243       l_row_notfound                 BOOLEAN := TRUE;
2244       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2245     BEGIN
2246       x_cnr_rec := p_cnr_rec;
2247       -- Get current database values
2248       l_cnr_rec := get_rec(p_cnr_rec, l_row_notfound);
2249       IF (l_row_notfound) THEN
2250         l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2251       END IF;
2252       IF (x_cnr_rec.id = Okc_Api.G_MISS_NUM)
2253       THEN
2254         x_cnr_rec.id := l_cnr_rec.id;
2255       END IF;
2256       IF (x_cnr_rec.consolidated_invoice_number = Okc_Api.G_MISS_CHAR)
2257       THEN
2258         x_cnr_rec.consolidated_invoice_number := l_cnr_rec.consolidated_invoice_number;
2259       END IF;
2260       IF (x_cnr_rec.trx_status_code = Okc_Api.G_MISS_CHAR)
2261       THEN
2262         x_cnr_rec.trx_status_code := l_cnr_rec.trx_status_code;
2263       END IF;
2264       IF (x_cnr_rec.currency_code = Okc_Api.G_MISS_CHAR)
2265       THEN
2266         x_cnr_rec.currency_code := l_cnr_rec.currency_code;
2267       END IF;
2268       IF (x_cnr_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
2269       THEN
2270         x_cnr_rec.set_of_books_id := l_cnr_rec.set_of_books_id;
2271       END IF;
2272       IF (x_cnr_rec.ibt_id = Okc_Api.G_MISS_NUM)
2273       THEN
2274         x_cnr_rec.ibt_id := l_cnr_rec.ibt_id;
2275       END IF;
2276       IF (x_cnr_rec.ixx_id = Okc_Api.G_MISS_NUM)
2277       THEN
2278         x_cnr_rec.ixx_id := l_cnr_rec.ixx_id;
2279       END IF;
2280       IF (x_cnr_rec.irm_id = Okc_Api.G_MISS_NUM)
2281       THEN
2282         x_cnr_rec.irm_id := l_cnr_rec.irm_id;
2283       END IF;
2284       IF (x_cnr_rec.inf_id = Okc_Api.G_MISS_NUM)
2285       THEN
2286         x_cnr_rec.inf_id := l_cnr_rec.inf_id;
2287       END IF;
2288       IF (x_cnr_rec.amount = Okc_Api.G_MISS_NUM)
2289       THEN
2290         x_cnr_rec.amount := l_cnr_rec.amount;
2291       END IF;
2292       IF (x_cnr_rec.date_consolidated = Okc_Api.G_MISS_DATE)
2293       THEN
2294         x_cnr_rec.date_consolidated := l_cnr_rec.date_consolidated;
2295       END IF;
2296       IF (x_cnr_rec.invoice_pull_yn = Okc_Api.G_MISS_CHAR)
2297       THEN
2298         x_cnr_rec.invoice_pull_yn := l_cnr_rec.invoice_pull_yn;
2299       END IF;
2300       IF (x_cnr_rec.object_version_number = Okc_Api.G_MISS_NUM)
2301       THEN
2302         x_cnr_rec.object_version_number := l_cnr_rec.object_version_number;
2303       END IF;
2304       IF (x_cnr_rec.request_id = Okc_Api.G_MISS_NUM)
2305       THEN
2306         x_cnr_rec.request_id := l_cnr_rec.request_id;
2307       END IF;
2308       IF (x_cnr_rec.program_application_id = Okc_Api.G_MISS_NUM)
2309       THEN
2310         x_cnr_rec.program_application_id := l_cnr_rec.program_application_id;
2311       END IF;
2312       IF (x_cnr_rec.program_id = Okc_Api.G_MISS_NUM)
2313       THEN
2314         x_cnr_rec.program_id := l_cnr_rec.program_id;
2315       END IF;
2316       IF (x_cnr_rec.program_update_date = Okc_Api.G_MISS_DATE)
2317       THEN
2318         x_cnr_rec.program_update_date := l_cnr_rec.program_update_date;
2319       END IF;
2320       IF (x_cnr_rec.org_id = Okc_Api.G_MISS_NUM)
2321       THEN
2322         x_cnr_rec.org_id := l_cnr_rec.org_id;
2323       END IF;
2324 	  IF (x_cnr_rec.due_date = Okc_Api.G_MISS_DATE)
2325       THEN
2326         x_cnr_rec.due_date := l_cnr_rec.due_date;
2327       END IF;
2328       IF (x_cnr_rec.attribute_category = Okc_Api.G_MISS_CHAR)
2329       THEN
2330         x_cnr_rec.attribute_category := l_cnr_rec.attribute_category;
2331       END IF;
2332       IF (x_cnr_rec.attribute1 = Okc_Api.G_MISS_CHAR)
2333       THEN
2334         x_cnr_rec.attribute1 := l_cnr_rec.attribute1;
2335       END IF;
2336       IF (x_cnr_rec.attribute2 = Okc_Api.G_MISS_CHAR)
2337       THEN
2338         x_cnr_rec.attribute2 := l_cnr_rec.attribute2;
2339       END IF;
2340       IF (x_cnr_rec.attribute3 = Okc_Api.G_MISS_CHAR)
2341       THEN
2342         x_cnr_rec.attribute3 := l_cnr_rec.attribute3;
2343       END IF;
2344       IF (x_cnr_rec.attribute4 = Okc_Api.G_MISS_CHAR)
2345       THEN
2346         x_cnr_rec.attribute4 := l_cnr_rec.attribute4;
2347       END IF;
2348       IF (x_cnr_rec.attribute5 = Okc_Api.G_MISS_CHAR)
2349       THEN
2350         x_cnr_rec.attribute5 := l_cnr_rec.attribute5;
2351       END IF;
2352       IF (x_cnr_rec.attribute6 = Okc_Api.G_MISS_CHAR)
2353       THEN
2354         x_cnr_rec.attribute6 := l_cnr_rec.attribute6;
2355       END IF;
2356       IF (x_cnr_rec.attribute7 = Okc_Api.G_MISS_CHAR)
2357       THEN
2358         x_cnr_rec.attribute7 := l_cnr_rec.attribute7;
2359       END IF;
2360       IF (x_cnr_rec.attribute8 = Okc_Api.G_MISS_CHAR)
2361       THEN
2362         x_cnr_rec.attribute8 := l_cnr_rec.attribute8;
2363       END IF;
2364       IF (x_cnr_rec.attribute9 = Okc_Api.G_MISS_CHAR)
2365       THEN
2366         x_cnr_rec.attribute9 := l_cnr_rec.attribute9;
2367       END IF;
2368       IF (x_cnr_rec.attribute10 = Okc_Api.G_MISS_CHAR)
2369       THEN
2373       THEN
2370         x_cnr_rec.attribute10 := l_cnr_rec.attribute10;
2371       END IF;
2372       IF (x_cnr_rec.attribute11 = Okc_Api.G_MISS_CHAR)
2374         x_cnr_rec.attribute11 := l_cnr_rec.attribute11;
2375       END IF;
2376       IF (x_cnr_rec.attribute12 = Okc_Api.G_MISS_CHAR)
2377       THEN
2378         x_cnr_rec.attribute12 := l_cnr_rec.attribute12;
2379       END IF;
2380       IF (x_cnr_rec.attribute13 = Okc_Api.G_MISS_CHAR)
2381       THEN
2382         x_cnr_rec.attribute13 := l_cnr_rec.attribute13;
2383       END IF;
2384       IF (x_cnr_rec.attribute14 = Okc_Api.G_MISS_CHAR)
2385       THEN
2386         x_cnr_rec.attribute14 := l_cnr_rec.attribute14;
2387       END IF;
2388       IF (x_cnr_rec.attribute15 = Okc_Api.G_MISS_CHAR)
2389       THEN
2390         x_cnr_rec.attribute15 := l_cnr_rec.attribute15;
2391       END IF;
2392       IF (x_cnr_rec.created_by = Okc_Api.G_MISS_NUM)
2393       THEN
2394         x_cnr_rec.created_by := l_cnr_rec.created_by;
2395       END IF;
2396       IF (x_cnr_rec.creation_date = Okc_Api.G_MISS_DATE)
2397       THEN
2398         x_cnr_rec.creation_date := l_cnr_rec.creation_date;
2399       END IF;
2400       IF (x_cnr_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2401       THEN
2402         x_cnr_rec.last_updated_by := l_cnr_rec.last_updated_by;
2403       END IF;
2404       IF (x_cnr_rec.last_update_date = Okc_Api.G_MISS_DATE)
2405       THEN
2406         x_cnr_rec.last_update_date := l_cnr_rec.last_update_date;
2407       END IF;
2408       IF (x_cnr_rec.last_update_login = Okc_Api.G_MISS_NUM)
2409       THEN
2410         x_cnr_rec.last_update_login := l_cnr_rec.last_update_login;
2411       END IF;
2412       -- for LE Uptake project 08-11-2006
2413       IF (x_cnr_rec.legal_entity_id = Okc_Api.G_MISS_NUM)
2414       THEN
2415         x_cnr_rec.legal_entity_id := l_cnr_rec.legal_entity_id;
2416       END IF;
2417       -- for LE Uptake project 08-11-2006
2418       RETURN(l_return_status);
2419     END populate_new_record;
2420     --------------------------------------------
2421     -- Set_Attributes for:OKL_CNSLD_AR_HDRS_B --
2422     --------------------------------------------
2423     FUNCTION Set_Attributes (
2424       p_cnr_rec IN  cnr_rec_type,
2425       x_cnr_rec OUT NOCOPY cnr_rec_type
2426     ) RETURN VARCHAR2 IS
2427       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2428     BEGIN
2429       x_cnr_rec := p_cnr_rec;
2430       RETURN(l_return_status);
2431     END Set_Attributes;
2432   BEGIN
2433     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2434                                               p_init_msg_list,
2435                                               '_PVT',
2436                                               x_return_status);
2437     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2438       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2439     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2440       RAISE Okc_Api.G_EXCEPTION_ERROR;
2441     END IF;
2442     --- Setting item attributes
2443     l_return_status := Set_Attributes(
2444       p_cnr_rec,                         -- IN
2445       l_cnr_rec);                        -- OUT
2446     --- If any errors happen abort API
2447     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2448       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2449     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2450       RAISE Okc_Api.G_EXCEPTION_ERROR;
2451     END IF;
2452     l_return_status := populate_new_record(l_cnr_rec, l_def_cnr_rec);
2453     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2454       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2455     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2456       RAISE Okc_Api.G_EXCEPTION_ERROR;
2457     END IF;
2458     UPDATE  OKL_CNSLD_AR_HDRS_B
2459     SET CONSOLIDATED_INVOICE_NUMBER = l_def_cnr_rec.consolidated_invoice_number,
2460         TRX_STATUS_CODE = l_def_cnr_rec.trx_status_code,
2461         CURRENCY_CODE = l_def_cnr_rec.currency_code,
2462         SET_OF_BOOKS_ID = l_def_cnr_rec.set_of_books_id,
2463         IBT_ID = l_def_cnr_rec.ibt_id,
2464         IXX_ID = l_def_cnr_rec.ixx_id,
2465         IRM_ID = l_def_cnr_rec.irm_id,
2466         INF_ID = l_def_cnr_rec.inf_id,
2467         AMOUNT = l_def_cnr_rec.amount,
2468         DATE_CONSOLIDATED = l_def_cnr_rec.date_consolidated,
2469         INVOICE_PULL_YN = l_def_cnr_rec.invoice_pull_yn,
2470         OBJECT_VERSION_NUMBER = l_def_cnr_rec.object_version_number,
2471         REQUEST_ID = l_def_cnr_rec.request_id,
2472         PROGRAM_APPLICATION_ID = l_def_cnr_rec.program_application_id,
2473         PROGRAM_ID = l_def_cnr_rec.program_id,
2474         PROGRAM_UPDATE_DATE = l_def_cnr_rec.program_update_date,
2475         ORG_ID = l_def_cnr_rec.org_id,
2476         DUE_DATE = l_def_cnr_rec.due_date,
2477         ATTRIBUTE_CATEGORY = l_def_cnr_rec.attribute_category,
2478         ATTRIBUTE1 = l_def_cnr_rec.attribute1,
2479         ATTRIBUTE2 = l_def_cnr_rec.attribute2,
2480         ATTRIBUTE3 = l_def_cnr_rec.attribute3,
2481         ATTRIBUTE4 = l_def_cnr_rec.attribute4,
2482         ATTRIBUTE5 = l_def_cnr_rec.attribute5,
2483         ATTRIBUTE6 = l_def_cnr_rec.attribute6,
2484         ATTRIBUTE7 = l_def_cnr_rec.attribute7,
2485         ATTRIBUTE8 = l_def_cnr_rec.attribute8,
2486         ATTRIBUTE9 = l_def_cnr_rec.attribute9,
2487         ATTRIBUTE10 = l_def_cnr_rec.attribute10,
2488         ATTRIBUTE11 = l_def_cnr_rec.attribute11,
2492         ATTRIBUTE15 = l_def_cnr_rec.attribute15,
2489         ATTRIBUTE12 = l_def_cnr_rec.attribute12,
2490         ATTRIBUTE13 = l_def_cnr_rec.attribute13,
2491         ATTRIBUTE14 = l_def_cnr_rec.attribute14,
2493         CREATED_BY = l_def_cnr_rec.created_by,
2494         CREATION_DATE = l_def_cnr_rec.creation_date,
2495         LAST_UPDATED_BY = l_def_cnr_rec.last_updated_by,
2496         LAST_UPDATE_DATE = l_def_cnr_rec.last_update_date,
2497         LAST_UPDATE_LOGIN = l_def_cnr_rec.last_update_login,
2498         LEGAL_ENTITY_ID = l_def_cnr_rec.legal_entity_id -- for LE Uptake project 08-11-2006
2499     WHERE ID = l_def_cnr_rec.id;
2500 
2501     x_cnr_rec := l_def_cnr_rec;
2502     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2503   EXCEPTION
2504     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2505       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2506       (
2507         l_api_name,
2508         G_PKG_NAME,
2509         'OKC_API.G_RET_STS_ERROR',
2510         x_msg_count,
2511         x_msg_data,
2512         '_PVT'
2513       );
2514     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2515       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2516       (
2517         l_api_name,
2518         G_PKG_NAME,
2519         'OKC_API.G_RET_STS_UNEXP_ERROR',
2520         x_msg_count,
2521         x_msg_data,
2522         '_PVT'
2523       );
2524     WHEN OTHERS THEN
2525       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2526       (
2527         l_api_name,
2528         G_PKG_NAME,
2529         'OTHERS',
2530         x_msg_count,
2531         x_msg_data,
2532         '_PVT'
2533       );
2534   END update_row;
2535   -----------------------------------------
2536   -- update_row for:OKL_CNSLD_AR_HDRS_TL --
2537   -----------------------------------------
2538   PROCEDURE update_row(
2539     p_init_msg_list                IN VARCHAR2,
2540     x_return_status                OUT NOCOPY VARCHAR2,
2541     x_msg_count                    OUT NOCOPY NUMBER,
2542     x_msg_data                     OUT NOCOPY VARCHAR2,
2543     p_okl_cnsld_ar_hdrs_tl_rec     IN okl_cnsld_ar_hdrs_tl_rec_type,
2544     x_okl_cnsld_ar_hdrs_tl_rec     OUT NOCOPY okl_cnsld_ar_hdrs_tl_rec_type) IS
2545 
2546     l_api_version                 CONSTANT NUMBER := 1;
2547     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_update_row';
2548     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2549     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type := p_okl_cnsld_ar_hdrs_tl_rec;
2550     ldefoklcnsldarhdrstlrec        okl_cnsld_ar_hdrs_tl_rec_type;
2551     l_row_notfound                 BOOLEAN := TRUE;
2552     ----------------------------------
2553     -- FUNCTION populate_new_record --
2554     ----------------------------------
2555     FUNCTION populate_new_record (
2556       p_okl_cnsld_ar_hdrs_tl_rec	IN okl_cnsld_ar_hdrs_tl_rec_type,
2557       x_okl_cnsld_ar_hdrs_tl_rec	OUT NOCOPY okl_cnsld_ar_hdrs_tl_rec_type
2558     ) RETURN VARCHAR2 IS
2559       l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type;
2560       l_row_notfound                 BOOLEAN := TRUE;
2561       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2562     BEGIN
2563       x_okl_cnsld_ar_hdrs_tl_rec := p_okl_cnsld_ar_hdrs_tl_rec;
2564       -- Get current database values
2565       l_okl_cnsld_ar_hdrs_tl_rec := get_rec(p_okl_cnsld_ar_hdrs_tl_rec, l_row_notfound);
2566       IF (l_row_notfound) THEN
2567         l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2568       END IF;
2569       IF (x_okl_cnsld_ar_hdrs_tl_rec.id = Okc_Api.G_MISS_NUM)
2570       THEN
2571         x_okl_cnsld_ar_hdrs_tl_rec.id := l_okl_cnsld_ar_hdrs_tl_rec.id;
2572       END IF;
2573       IF (x_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE = Okc_Api.G_MISS_CHAR)
2574       THEN
2575         x_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE := l_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE;
2576       END IF;
2577       IF (x_okl_cnsld_ar_hdrs_tl_rec.source_lang = Okc_Api.G_MISS_CHAR)
2578       THEN
2579         x_okl_cnsld_ar_hdrs_tl_rec.source_lang := l_okl_cnsld_ar_hdrs_tl_rec.source_lang;
2580       END IF;
2581       IF (x_okl_cnsld_ar_hdrs_tl_rec.sfwt_flag = Okc_Api.G_MISS_CHAR)
2582       THEN
2583         x_okl_cnsld_ar_hdrs_tl_rec.sfwt_flag := l_okl_cnsld_ar_hdrs_tl_rec.sfwt_flag;
2584       END IF;
2585       IF (x_okl_cnsld_ar_hdrs_tl_rec.private_label_logo_url = Okc_Api.G_MISS_CHAR)
2586       THEN
2587         x_okl_cnsld_ar_hdrs_tl_rec.private_label_logo_url := l_okl_cnsld_ar_hdrs_tl_rec.private_label_logo_url;
2588       END IF;
2589       IF (x_okl_cnsld_ar_hdrs_tl_rec.created_by = Okc_Api.G_MISS_NUM)
2590       THEN
2591         x_okl_cnsld_ar_hdrs_tl_rec.created_by := l_okl_cnsld_ar_hdrs_tl_rec.created_by;
2592       END IF;
2593       IF (x_okl_cnsld_ar_hdrs_tl_rec.creation_date = Okc_Api.G_MISS_DATE)
2594       THEN
2595         x_okl_cnsld_ar_hdrs_tl_rec.creation_date := l_okl_cnsld_ar_hdrs_tl_rec.creation_date;
2596       END IF;
2597       IF (x_okl_cnsld_ar_hdrs_tl_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2598       THEN
2599         x_okl_cnsld_ar_hdrs_tl_rec.last_updated_by := l_okl_cnsld_ar_hdrs_tl_rec.last_updated_by;
2600       END IF;
2601       IF (x_okl_cnsld_ar_hdrs_tl_rec.last_update_date = Okc_Api.G_MISS_DATE)
2602       THEN
2603         x_okl_cnsld_ar_hdrs_tl_rec.last_update_date := l_okl_cnsld_ar_hdrs_tl_rec.last_update_date;
2604       END IF;
2605       IF (x_okl_cnsld_ar_hdrs_tl_rec.last_update_login = Okc_Api.G_MISS_NUM)
2606       THEN
2610     END populate_new_record;
2607         x_okl_cnsld_ar_hdrs_tl_rec.last_update_login := l_okl_cnsld_ar_hdrs_tl_rec.last_update_login;
2608       END IF;
2609       RETURN(l_return_status);
2611     ---------------------------------------------
2612     -- Set_Attributes for:OKL_CNSLD_AR_HDRS_TL --
2613     ---------------------------------------------
2614     FUNCTION Set_Attributes (
2615       p_okl_cnsld_ar_hdrs_tl_rec IN  okl_cnsld_ar_hdrs_tl_rec_type,
2616       x_okl_cnsld_ar_hdrs_tl_rec OUT NOCOPY okl_cnsld_ar_hdrs_tl_rec_type
2617     ) RETURN VARCHAR2 IS
2618       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2619     BEGIN
2620       x_okl_cnsld_ar_hdrs_tl_rec := p_okl_cnsld_ar_hdrs_tl_rec;
2621       x_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE := USERENV('LANG');
2622       x_okl_cnsld_ar_hdrs_tl_rec.SOURCE_LANG := USERENV('LANG');
2623       RETURN(l_return_status);
2624     END Set_Attributes;
2625   BEGIN
2626     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2627                                               p_init_msg_list,
2628                                               '_PVT',
2629                                               x_return_status);
2630     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2631       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2632     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2633       RAISE Okc_Api.G_EXCEPTION_ERROR;
2634     END IF;
2635     --- Setting item attributes
2636     l_return_status := Set_Attributes(
2637       p_okl_cnsld_ar_hdrs_tl_rec,        -- IN
2638       l_okl_cnsld_ar_hdrs_tl_rec);       -- OUT
2639     --- If any errors happen abort API
2640     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2641       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2642     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2643       RAISE Okc_Api.G_EXCEPTION_ERROR;
2644     END IF;
2645     l_return_status := populate_new_record(l_okl_cnsld_ar_hdrs_tl_rec, ldefoklcnsldarhdrstlrec);
2646     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2647       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2648     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2649       RAISE Okc_Api.G_EXCEPTION_ERROR;
2650     END IF;
2651     UPDATE  OKL_CNSLD_AR_HDRS_TL
2652     SET PRIVATE_LABEL_LOGO_URL = ldefoklcnsldarhdrstlrec.private_label_logo_url,
2653         CREATED_BY = ldefoklcnsldarhdrstlrec.created_by,
2654         CREATION_DATE = ldefoklcnsldarhdrstlrec.creation_date,
2655         LAST_UPDATED_BY = ldefoklcnsldarhdrstlrec.last_updated_by,
2656         LAST_UPDATE_DATE = ldefoklcnsldarhdrstlrec.last_update_date,
2657         LAST_UPDATE_LOGIN = ldefoklcnsldarhdrstlrec.last_update_login
2658     WHERE ID = ldefoklcnsldarhdrstlrec.id
2659       --AND SOURCE_LANG = USERENV('LANG');
2660     AND USERENV('LANG') in (SOURCE_LANG, LANGUAGE);
2661 
2662     UPDATE  OKL_CNSLD_AR_HDRS_TL
2663     SET SFWT_FLAG = 'Y'
2664     WHERE ID = ldefoklcnsldarhdrstlrec.id
2665       AND SOURCE_LANG <> USERENV('LANG');
2666 
2667     x_okl_cnsld_ar_hdrs_tl_rec := ldefoklcnsldarhdrstlrec;
2668     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2669   EXCEPTION
2670     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2671       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2672       (
2673         l_api_name,
2674         G_PKG_NAME,
2675         'OKC_API.G_RET_STS_ERROR',
2676         x_msg_count,
2677         x_msg_data,
2678         '_PVT'
2679       );
2680     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2681       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2682       (
2683         l_api_name,
2684         G_PKG_NAME,
2685         'OKC_API.G_RET_STS_UNEXP_ERROR',
2686         x_msg_count,
2687         x_msg_data,
2688         '_PVT'
2689       );
2690     WHEN OTHERS THEN
2691       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2692       (
2693         l_api_name,
2694         G_PKG_NAME,
2695         'OTHERS',
2696         x_msg_count,
2697         x_msg_data,
2698         '_PVT'
2699       );
2700   END update_row;
2701   ----------------------------------------
2702   -- update_row for:OKL_CNSLD_AR_HDRS_V --
2703   ----------------------------------------
2704   PROCEDURE update_row(
2705     p_api_version                  IN NUMBER,
2706     p_init_msg_list                IN VARCHAR2,
2707     x_return_status                OUT NOCOPY VARCHAR2,
2708     x_msg_count                    OUT NOCOPY NUMBER,
2709     x_msg_data                     OUT NOCOPY VARCHAR2,
2710     p_cnrv_rec                     IN cnrv_rec_type,
2711     x_cnrv_rec                     OUT NOCOPY cnrv_rec_type) IS
2712 
2713     l_api_version                 CONSTANT NUMBER := 1;
2714     l_api_name                     CONSTANT VARCHAR2(30) := 'V_update_row';
2715     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2716     l_cnrv_rec                     cnrv_rec_type := p_cnrv_rec;
2717     l_def_cnrv_rec                 cnrv_rec_type;
2718     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type;
2719     lx_okl_cnsld_ar_hdrs_tl_rec    okl_cnsld_ar_hdrs_tl_rec_type;
2720     l_cnr_rec                      cnr_rec_type;
2721     lx_cnr_rec                     cnr_rec_type;
2722     -------------------------------
2723     -- FUNCTION fill_who_columns --
2724     -------------------------------
2725     FUNCTION fill_who_columns (
2726       p_cnrv_rec	IN cnrv_rec_type
2727     ) RETURN cnrv_rec_type IS
2731       l_cnrv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
2728       l_cnrv_rec	cnrv_rec_type := p_cnrv_rec;
2729     BEGIN
2730       l_cnrv_rec.LAST_UPDATE_DATE := SYSDATE;
2732       l_cnrv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
2733       RETURN(l_cnrv_rec);
2734     END fill_who_columns;
2735     ----------------------------------
2736     -- FUNCTION populate_new_record --
2737     ----------------------------------
2738     FUNCTION populate_new_record (
2739       p_cnrv_rec	IN cnrv_rec_type,
2740       x_cnrv_rec	OUT NOCOPY cnrv_rec_type
2741     ) RETURN VARCHAR2 IS
2742       l_cnrv_rec                     cnrv_rec_type;
2743       l_row_notfound                 BOOLEAN := TRUE;
2744       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2745     BEGIN
2746       x_cnrv_rec := p_cnrv_rec;
2747       -- Get current database values
2748       l_cnrv_rec := get_rec(p_cnrv_rec, l_row_notfound);
2749       IF (l_row_notfound) THEN
2750         l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2751       END IF;
2752       IF (x_cnrv_rec.id = Okc_Api.G_MISS_NUM)
2753       THEN
2754         x_cnrv_rec.id := l_cnrv_rec.id;
2755       END IF;
2756       IF (x_cnrv_rec.object_version_number = Okc_Api.G_MISS_NUM)
2757       THEN
2758         x_cnrv_rec.object_version_number := l_cnrv_rec.object_version_number;
2759       END IF;
2760       IF (x_cnrv_rec.sfwt_flag = Okc_Api.G_MISS_CHAR)
2761       THEN
2762         x_cnrv_rec.sfwt_flag := l_cnrv_rec.sfwt_flag;
2763       END IF;
2764       IF (x_cnrv_rec.ibt_id = Okc_Api.G_MISS_NUM)
2765       THEN
2766         x_cnrv_rec.ibt_id := l_cnrv_rec.ibt_id;
2767       END IF;
2768       IF (x_cnrv_rec.ixx_id = Okc_Api.G_MISS_NUM)
2769       THEN
2770         x_cnrv_rec.ixx_id := l_cnrv_rec.ixx_id;
2771       END IF;
2772       IF (x_cnrv_rec.currency_code = Okc_Api.G_MISS_CHAR)
2773       THEN
2774         x_cnrv_rec.currency_code := l_cnrv_rec.currency_code;
2775       END IF;
2776       IF (x_cnrv_rec.irm_id = Okc_Api.G_MISS_NUM)
2777       THEN
2778         x_cnrv_rec.irm_id := l_cnrv_rec.irm_id;
2779       END IF;
2780       IF (x_cnrv_rec.inf_id = Okc_Api.G_MISS_NUM)
2781       THEN
2782         x_cnrv_rec.inf_id := l_cnrv_rec.inf_id;
2783       END IF;
2784       IF (x_cnrv_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
2785       THEN
2786         x_cnrv_rec.set_of_books_id := l_cnrv_rec.set_of_books_id;
2787       END IF;
2788       IF (x_cnrv_rec.consolidated_invoice_number = Okc_Api.G_MISS_CHAR)
2789       THEN
2790         x_cnrv_rec.consolidated_invoice_number := l_cnrv_rec.consolidated_invoice_number;
2791       END IF;
2792       IF (x_cnrv_rec.trx_status_code = Okc_Api.G_MISS_CHAR)
2793       THEN
2794         x_cnrv_rec.trx_status_code := l_cnrv_rec.trx_status_code;
2795       END IF;
2796       IF (x_cnrv_rec.invoice_pull_yn = Okc_Api.G_MISS_CHAR)
2797       THEN
2798         x_cnrv_rec.invoice_pull_yn := l_cnrv_rec.invoice_pull_yn;
2799       END IF;
2800       IF (x_cnrv_rec.date_consolidated = Okc_Api.G_MISS_DATE)
2801       THEN
2802         x_cnrv_rec.date_consolidated := l_cnrv_rec.date_consolidated;
2803       END IF;
2804       IF (x_cnrv_rec.private_label_logo_url = Okc_Api.G_MISS_CHAR)
2805       THEN
2806         x_cnrv_rec.private_label_logo_url := l_cnrv_rec.private_label_logo_url;
2807       END IF;
2808       IF (x_cnrv_rec.amount = Okc_Api.G_MISS_NUM)
2809       THEN
2810         x_cnrv_rec.amount := l_cnrv_rec.amount;
2811       END IF;
2812 	  IF (x_cnrv_rec.due_date = Okc_Api.G_MISS_DATE)
2813       THEN
2814         x_cnrv_rec.due_date := l_cnrv_rec.due_date;
2815       END IF;
2816       IF (x_cnrv_rec.attribute_category = Okc_Api.G_MISS_CHAR)
2817       THEN
2818         x_cnrv_rec.attribute_category := l_cnrv_rec.attribute_category;
2819       END IF;
2820       IF (x_cnrv_rec.attribute1 = Okc_Api.G_MISS_CHAR)
2821       THEN
2822         x_cnrv_rec.attribute1 := l_cnrv_rec.attribute1;
2823       END IF;
2824       IF (x_cnrv_rec.attribute2 = Okc_Api.G_MISS_CHAR)
2825       THEN
2826         x_cnrv_rec.attribute2 := l_cnrv_rec.attribute2;
2827       END IF;
2828       IF (x_cnrv_rec.attribute3 = Okc_Api.G_MISS_CHAR)
2829       THEN
2830         x_cnrv_rec.attribute3 := l_cnrv_rec.attribute3;
2831       END IF;
2832       IF (x_cnrv_rec.attribute4 = Okc_Api.G_MISS_CHAR)
2833       THEN
2834         x_cnrv_rec.attribute4 := l_cnrv_rec.attribute4;
2835       END IF;
2836       IF (x_cnrv_rec.attribute5 = Okc_Api.G_MISS_CHAR)
2837       THEN
2838         x_cnrv_rec.attribute5 := l_cnrv_rec.attribute5;
2839       END IF;
2840       IF (x_cnrv_rec.attribute6 = Okc_Api.G_MISS_CHAR)
2841       THEN
2842         x_cnrv_rec.attribute6 := l_cnrv_rec.attribute6;
2843       END IF;
2844       IF (x_cnrv_rec.attribute7 = Okc_Api.G_MISS_CHAR)
2845       THEN
2846         x_cnrv_rec.attribute7 := l_cnrv_rec.attribute7;
2847       END IF;
2848       IF (x_cnrv_rec.attribute8 = Okc_Api.G_MISS_CHAR)
2849       THEN
2850         x_cnrv_rec.attribute8 := l_cnrv_rec.attribute8;
2851       END IF;
2852       IF (x_cnrv_rec.attribute9 = Okc_Api.G_MISS_CHAR)
2853       THEN
2854         x_cnrv_rec.attribute9 := l_cnrv_rec.attribute9;
2855       END IF;
2856       IF (x_cnrv_rec.attribute10 = Okc_Api.G_MISS_CHAR)
2857       THEN
2858         x_cnrv_rec.attribute10 := l_cnrv_rec.attribute10;
2859       END IF;
2863       END IF;
2860       IF (x_cnrv_rec.attribute11 = Okc_Api.G_MISS_CHAR)
2861       THEN
2862         x_cnrv_rec.attribute11 := l_cnrv_rec.attribute11;
2864       IF (x_cnrv_rec.attribute12 = Okc_Api.G_MISS_CHAR)
2865       THEN
2866         x_cnrv_rec.attribute12 := l_cnrv_rec.attribute12;
2867       END IF;
2868       IF (x_cnrv_rec.attribute13 = Okc_Api.G_MISS_CHAR)
2869       THEN
2870         x_cnrv_rec.attribute13 := l_cnrv_rec.attribute13;
2871       END IF;
2872       IF (x_cnrv_rec.attribute14 = Okc_Api.G_MISS_CHAR)
2873       THEN
2874         x_cnrv_rec.attribute14 := l_cnrv_rec.attribute14;
2875       END IF;
2876       IF (x_cnrv_rec.attribute15 = Okc_Api.G_MISS_CHAR)
2877       THEN
2878         x_cnrv_rec.attribute15 := l_cnrv_rec.attribute15;
2879       END IF;
2880       IF (x_cnrv_rec.request_id = Okc_Api.G_MISS_NUM)
2881       THEN
2882         x_cnrv_rec.request_id := l_cnrv_rec.request_id;
2883       END IF;
2884       IF (x_cnrv_rec.program_application_id = Okc_Api.G_MISS_NUM)
2885       THEN
2886         x_cnrv_rec.program_application_id := l_cnrv_rec.program_application_id;
2887       END IF;
2888       IF (x_cnrv_rec.program_id = Okc_Api.G_MISS_NUM)
2889       THEN
2890         x_cnrv_rec.program_id := l_cnrv_rec.program_id;
2891       END IF;
2892       IF (x_cnrv_rec.program_update_date = Okc_Api.G_MISS_DATE)
2893       THEN
2894         x_cnrv_rec.program_update_date := l_cnrv_rec.program_update_date;
2895       END IF;
2896       IF (x_cnrv_rec.org_id = Okc_Api.G_MISS_NUM)
2897       THEN
2898         x_cnrv_rec.org_id := l_cnrv_rec.org_id;
2899       END IF;
2900       IF (x_cnrv_rec.created_by = Okc_Api.G_MISS_NUM)
2901       THEN
2902         x_cnrv_rec.created_by := l_cnrv_rec.created_by;
2903       END IF;
2904       IF (x_cnrv_rec.creation_date = Okc_Api.G_MISS_DATE)
2905       THEN
2906         x_cnrv_rec.creation_date := l_cnrv_rec.creation_date;
2907       END IF;
2908       IF (x_cnrv_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2909       THEN
2910         x_cnrv_rec.last_updated_by := l_cnrv_rec.last_updated_by;
2911       END IF;
2912       IF (x_cnrv_rec.last_update_date = Okc_Api.G_MISS_DATE)
2913       THEN
2914         x_cnrv_rec.last_update_date := l_cnrv_rec.last_update_date;
2915       END IF;
2916       IF (x_cnrv_rec.last_update_login = Okc_Api.G_MISS_NUM)
2917       THEN
2918         x_cnrv_rec.last_update_login := l_cnrv_rec.last_update_login;
2919       END IF;
2920       -- for LE Uptake project 08-11-2006
2921       IF (x_cnrv_rec.legal_entity_id = Okc_Api.G_MISS_NUM)
2922       THEN
2923         x_cnrv_rec.legal_entity_id := l_cnrv_rec.legal_entity_id;
2924       END IF;
2925       -- for LE Uptake project 08-11-2006
2926       RETURN(l_return_status);
2927     END populate_new_record;
2928     --------------------------------------------
2929     -- Set_Attributes for:OKL_CNSLD_AR_HDRS_V --
2930     --------------------------------------------
2931     FUNCTION Set_Attributes (
2932       p_cnrv_rec IN  cnrv_rec_type,
2933       x_cnrv_rec OUT NOCOPY cnrv_rec_type
2934     ) RETURN VARCHAR2 IS
2935       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2936     BEGIN
2937       x_cnrv_rec := p_cnrv_rec;
2938       x_cnrv_rec.OBJECT_VERSION_NUMBER := NVL(x_cnrv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
2939 	IF (x_cnrv_rec.request_id IS NULL OR x_cnrv_rec.request_id = Okl_Api.G_MISS_NUM) THEN
2940       -- Begin Post-Generation Change
2941       SELECT
2942         NVL(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
2943             x_cnrv_rec.request_id),
2944         NVL(DECODE(Fnd_Global.PROG_APPL_ID,   -1,NULL,Fnd_Global.PROG_APPL_ID),
2945             x_cnrv_rec.program_application_id),
2946         NVL(DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
2947             x_cnrv_rec.program_id),
2948         DECODE(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE),
2949             NULL,x_cnrv_rec.program_update_date,SYSDATE)
2950       INTO
2951         x_cnrv_rec.request_id,
2952         x_cnrv_rec.program_application_id,
2953         x_cnrv_rec.program_id,
2954         x_cnrv_rec.program_update_date
2955       FROM   dual;
2956       -- End Post-Generation Change
2957 	END IF;
2958 
2959       RETURN(l_return_status);
2960     END Set_Attributes;
2961   BEGIN
2962     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2963                                               G_PKG_NAME,
2964                                               p_init_msg_list,
2965                                               l_api_version,
2966                                               p_api_version,
2967                                               '_PVT',
2968                                               x_return_status);
2969     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2970       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2971     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2972       RAISE Okc_Api.G_EXCEPTION_ERROR;
2973     END IF;
2974     --- Setting item attributes
2975     l_return_status := Set_Attributes(
2976       p_cnrv_rec,                        -- IN
2977       l_cnrv_rec);                       -- OUT
2978     --- If any errors happen abort API
2979     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2980       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2981     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2985     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2982       RAISE Okc_Api.G_EXCEPTION_ERROR;
2983     END IF;
2984     l_return_status := populate_new_record(l_cnrv_rec, l_def_cnrv_rec);
2986       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2987     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2988       RAISE Okc_Api.G_EXCEPTION_ERROR;
2989     END IF;
2990     l_def_cnrv_rec := fill_who_columns(l_def_cnrv_rec);
2991     --- Validate all non-missing attributes (Item Level Validation)
2992     l_return_status := Validate_Attributes(l_def_cnrv_rec);
2993     --- If any errors happen abort API
2994     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2995       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2996     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2997       RAISE Okc_Api.G_EXCEPTION_ERROR;
2998     END IF;
2999     l_return_status := Validate_Record(l_def_cnrv_rec);
3000     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3001       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3002     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3003       RAISE Okc_Api.G_EXCEPTION_ERROR;
3004     END IF;
3005 
3006     --------------------------------------
3007     -- Move VIEW record to "Child" records
3008     --------------------------------------
3009     migrate(l_def_cnrv_rec, l_okl_cnsld_ar_hdrs_tl_rec);
3010     migrate(l_def_cnrv_rec, l_cnr_rec);
3011     --------------------------------------------
3012     -- Call the UPDATE_ROW for each child record
3013     --------------------------------------------
3014     update_row(
3015       p_init_msg_list,
3016       x_return_status,
3017       x_msg_count,
3018       x_msg_data,
3019       l_okl_cnsld_ar_hdrs_tl_rec,
3020       lx_okl_cnsld_ar_hdrs_tl_rec
3021     );
3022     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3023       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3024     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3025       RAISE Okc_Api.G_EXCEPTION_ERROR;
3026     END IF;
3027     migrate(lx_okl_cnsld_ar_hdrs_tl_rec, l_def_cnrv_rec);
3028     update_row(
3029       p_init_msg_list,
3030       x_return_status,
3031       x_msg_count,
3032       x_msg_data,
3033       l_cnr_rec,
3034       lx_cnr_rec
3035     );
3036     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3037       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3038     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3039       RAISE Okc_Api.G_EXCEPTION_ERROR;
3040     END IF;
3041     migrate(lx_cnr_rec, l_def_cnrv_rec);
3042     x_cnrv_rec := l_def_cnrv_rec;
3043     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3044   EXCEPTION
3045     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3046       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3047       (
3048         l_api_name,
3049         G_PKG_NAME,
3050         'OKC_API.G_RET_STS_ERROR',
3051         x_msg_count,
3052         x_msg_data,
3053         '_PVT'
3054       );
3055     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3056       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3057       (
3058         l_api_name,
3059         G_PKG_NAME,
3060         'OKC_API.G_RET_STS_UNEXP_ERROR',
3061         x_msg_count,
3062         x_msg_data,
3063         '_PVT'
3064       );
3065     WHEN OTHERS THEN
3066       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3067       (
3068         l_api_name,
3069         G_PKG_NAME,
3070         'OTHERS',
3071         x_msg_count,
3072         x_msg_data,
3073         '_PVT'
3074       );
3075   END update_row;
3076   ----------------------------------------
3077   -- PL/SQL TBL update_row for:CNRV_TBL --
3078   ----------------------------------------
3079   PROCEDURE update_row(
3080     p_api_version                  IN NUMBER,
3081     p_init_msg_list                IN VARCHAR2,
3082     x_return_status                OUT NOCOPY VARCHAR2,
3083     x_msg_count                    OUT NOCOPY NUMBER,
3084     x_msg_data                     OUT NOCOPY VARCHAR2,
3085     p_cnrv_tbl                     IN cnrv_tbl_type,
3086     x_cnrv_tbl                     OUT NOCOPY cnrv_tbl_type) IS
3087 
3088     l_api_version                 CONSTANT NUMBER := 1;
3089     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3090     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3091     i                              NUMBER := 0;
3092   BEGIN
3093     Okc_Api.init_msg_list(p_init_msg_list);
3094     -- Make sure PL/SQL table has records in it before passing
3095     IF (p_cnrv_tbl.COUNT > 0) THEN
3096       i := p_cnrv_tbl.FIRST;
3097       LOOP
3098         update_row (
3099           p_api_version                  => p_api_version,
3100           p_init_msg_list                => Okc_Api.G_FALSE,
3101           x_return_status                => x_return_status,
3102           x_msg_count                    => x_msg_count,
3103           x_msg_data                     => x_msg_data,
3104           p_cnrv_rec                     => p_cnrv_tbl(i),
3105           x_cnrv_rec                     => x_cnrv_tbl(i));
3106         EXIT WHEN (i = p_cnrv_tbl.LAST);
3107         i := p_cnrv_tbl.NEXT(i);
3108       END LOOP;
3109     END IF;
3110   EXCEPTION
3111     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3115         G_PKG_NAME,
3112       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3113       (
3114         l_api_name,
3116         'OKC_API.G_RET_STS_ERROR',
3117         x_msg_count,
3118         x_msg_data,
3119         '_PVT'
3120       );
3121     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3122       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3123       (
3124         l_api_name,
3125         G_PKG_NAME,
3126         'OKC_API.G_RET_STS_UNEXP_ERROR',
3127         x_msg_count,
3128         x_msg_data,
3129         '_PVT'
3130       );
3131     WHEN OTHERS THEN
3132       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3133       (
3134         l_api_name,
3135         G_PKG_NAME,
3136         'OTHERS',
3137         x_msg_count,
3138         x_msg_data,
3139         '_PVT'
3140       );
3141   END update_row;
3142 
3143   ---------------------------------------------------------------------------
3144   -- PROCEDURE delete_row
3145   ---------------------------------------------------------------------------
3146   ----------------------------------------
3147   -- delete_row for:OKL_CNSLD_AR_HDRS_B --
3148   ----------------------------------------
3149   PROCEDURE delete_row(
3150     p_init_msg_list                IN VARCHAR2,
3151     x_return_status                OUT NOCOPY VARCHAR2,
3152     x_msg_count                    OUT NOCOPY NUMBER,
3153     x_msg_data                     OUT NOCOPY VARCHAR2,
3154     p_cnr_rec                      IN cnr_rec_type) IS
3155 
3156     l_api_version                 CONSTANT NUMBER := 1;
3157     l_api_name                     CONSTANT VARCHAR2(30) := 'B_delete_row';
3158     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3159     l_cnr_rec                      cnr_rec_type:= p_cnr_rec;
3160     l_row_notfound                 BOOLEAN := TRUE;
3161   BEGIN
3162     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
3163                                               p_init_msg_list,
3164                                               '_PVT',
3165                                               x_return_status);
3166     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3167       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3168     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3169       RAISE Okc_Api.G_EXCEPTION_ERROR;
3170     END IF;
3171     DELETE FROM OKL_CNSLD_AR_HDRS_B
3172      WHERE ID = l_cnr_rec.id;
3173 
3174     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3175   EXCEPTION
3176     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3177       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3178       (
3179         l_api_name,
3180         G_PKG_NAME,
3181         'OKC_API.G_RET_STS_ERROR',
3182         x_msg_count,
3183         x_msg_data,
3184         '_PVT'
3185       );
3186     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3187       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3188       (
3189         l_api_name,
3190         G_PKG_NAME,
3191         'OKC_API.G_RET_STS_UNEXP_ERROR',
3192         x_msg_count,
3193         x_msg_data,
3194         '_PVT'
3195       );
3196     WHEN OTHERS THEN
3197       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3198       (
3199         l_api_name,
3200         G_PKG_NAME,
3201         'OTHERS',
3202         x_msg_count,
3203         x_msg_data,
3204         '_PVT'
3205       );
3206   END delete_row;
3207   -----------------------------------------
3208   -- delete_row for:OKL_CNSLD_AR_HDRS_TL --
3209   -----------------------------------------
3210   PROCEDURE delete_row(
3211     p_init_msg_list                IN VARCHAR2,
3212     x_return_status                OUT NOCOPY VARCHAR2,
3213     x_msg_count                    OUT NOCOPY NUMBER,
3214     x_msg_data                     OUT NOCOPY VARCHAR2,
3215     p_okl_cnsld_ar_hdrs_tl_rec     IN okl_cnsld_ar_hdrs_tl_rec_type) IS
3216 
3217     l_api_version                 CONSTANT NUMBER := 1;
3218     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_delete_row';
3219     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3220     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type:= p_okl_cnsld_ar_hdrs_tl_rec;
3221     l_row_notfound                 BOOLEAN := TRUE;
3222     ---------------------------------------------
3223     -- Set_Attributes for:OKL_CNSLD_AR_HDRS_TL --
3224     ---------------------------------------------
3225     FUNCTION Set_Attributes (
3226       p_okl_cnsld_ar_hdrs_tl_rec IN  okl_cnsld_ar_hdrs_tl_rec_type,
3227       x_okl_cnsld_ar_hdrs_tl_rec OUT NOCOPY okl_cnsld_ar_hdrs_tl_rec_type
3228     ) RETURN VARCHAR2 IS
3229       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3230     BEGIN
3231       x_okl_cnsld_ar_hdrs_tl_rec := p_okl_cnsld_ar_hdrs_tl_rec;
3232       x_okl_cnsld_ar_hdrs_tl_rec.LANGUAGE := USERENV('LANG');
3233       RETURN(l_return_status);
3234     END Set_Attributes;
3235   BEGIN
3236     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
3237                                               p_init_msg_list,
3238                                               '_PVT',
3239                                               x_return_status);
3240     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3241       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3242     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3246     l_return_status := Set_Attributes(
3243       RAISE Okc_Api.G_EXCEPTION_ERROR;
3244     END IF;
3245     --- Setting item attributes
3247       p_okl_cnsld_ar_hdrs_tl_rec,        -- IN
3248       l_okl_cnsld_ar_hdrs_tl_rec);       -- OUT
3249     --- If any errors happen abort API
3250     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3251       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3252     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3253       RAISE Okc_Api.G_EXCEPTION_ERROR;
3254     END IF;
3255     DELETE FROM OKL_CNSLD_AR_HDRS_TL
3256      WHERE ID = l_okl_cnsld_ar_hdrs_tl_rec.id;
3257 
3258     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3259   EXCEPTION
3260     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3261       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3262       (
3263         l_api_name,
3264         G_PKG_NAME,
3265         'OKC_API.G_RET_STS_ERROR',
3266         x_msg_count,
3267         x_msg_data,
3268         '_PVT'
3269       );
3270     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3271       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3272       (
3273         l_api_name,
3274         G_PKG_NAME,
3275         'OKC_API.G_RET_STS_UNEXP_ERROR',
3276         x_msg_count,
3277         x_msg_data,
3278         '_PVT'
3279       );
3280     WHEN OTHERS THEN
3281       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3282       (
3283         l_api_name,
3284         G_PKG_NAME,
3285         'OTHERS',
3286         x_msg_count,
3287         x_msg_data,
3288         '_PVT'
3289       );
3290   END delete_row;
3291   ----------------------------------------
3292   -- delete_row for:OKL_CNSLD_AR_HDRS_V --
3293   ----------------------------------------
3294   PROCEDURE delete_row(
3295     p_api_version                  IN NUMBER,
3296     p_init_msg_list                IN VARCHAR2,
3297     x_return_status                OUT NOCOPY VARCHAR2,
3298     x_msg_count                    OUT NOCOPY NUMBER,
3299     x_msg_data                     OUT NOCOPY VARCHAR2,
3300     p_cnrv_rec                     IN cnrv_rec_type) IS
3301 
3302     l_api_version                 CONSTANT NUMBER := 1;
3303     l_api_name                     CONSTANT VARCHAR2(30) := 'V_delete_row';
3304     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3305     l_cnrv_rec                     cnrv_rec_type := p_cnrv_rec;
3306     l_okl_cnsld_ar_hdrs_tl_rec     okl_cnsld_ar_hdrs_tl_rec_type;
3307     l_cnr_rec                      cnr_rec_type;
3308   BEGIN
3309     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
3310                                               G_PKG_NAME,
3311                                               p_init_msg_list,
3312                                               l_api_version,
3313                                               p_api_version,
3314                                               '_PVT',
3315                                               x_return_status);
3316     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3317       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3318     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3319       RAISE Okc_Api.G_EXCEPTION_ERROR;
3320     END IF;
3321     --------------------------------------
3322     -- Move VIEW record to "Child" records
3323     --------------------------------------
3324     migrate(l_cnrv_rec, l_okl_cnsld_ar_hdrs_tl_rec);
3325     migrate(l_cnrv_rec, l_cnr_rec);
3326     --------------------------------------------
3327     -- Call the DELETE_ROW for each child record
3328     --------------------------------------------
3329     delete_row(
3330       p_init_msg_list,
3331       x_return_status,
3332       x_msg_count,
3333       x_msg_data,
3334       l_okl_cnsld_ar_hdrs_tl_rec
3335     );
3336     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3337       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3338     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3339       RAISE Okc_Api.G_EXCEPTION_ERROR;
3340     END IF;
3341     delete_row(
3342       p_init_msg_list,
3343       x_return_status,
3344       x_msg_count,
3345       x_msg_data,
3346       l_cnr_rec
3347     );
3348     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3349       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3350     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3351       RAISE Okc_Api.G_EXCEPTION_ERROR;
3352     END IF;
3353     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3354   EXCEPTION
3355     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3356       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3357       (
3358         l_api_name,
3359         G_PKG_NAME,
3360         'OKC_API.G_RET_STS_ERROR',
3361         x_msg_count,
3362         x_msg_data,
3363         '_PVT'
3364       );
3365     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3366       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3367       (
3368         l_api_name,
3369         G_PKG_NAME,
3370         'OKC_API.G_RET_STS_UNEXP_ERROR',
3371         x_msg_count,
3372         x_msg_data,
3373         '_PVT'
3374       );
3375     WHEN OTHERS THEN
3376       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3377       (
3378         l_api_name,
3379         G_PKG_NAME,
3380         'OTHERS',
3381         x_msg_count,
3382         x_msg_data,
3383         '_PVT'
3384       );
3385   END delete_row;
3386   ----------------------------------------
3387   -- PL/SQL TBL delete_row for:CNRV_TBL --
3388   ----------------------------------------
3389   PROCEDURE delete_row(
3390     p_api_version                  IN NUMBER,
3391     p_init_msg_list                IN VARCHAR2,
3392     x_return_status                OUT NOCOPY VARCHAR2,
3393     x_msg_count                    OUT NOCOPY NUMBER,
3394     x_msg_data                     OUT NOCOPY VARCHAR2,
3395     p_cnrv_tbl                     IN cnrv_tbl_type) IS
3396 
3397     l_api_version                 CONSTANT NUMBER := 1;
3398     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3399     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3400     i                              NUMBER := 0;
3401   BEGIN
3402     Okc_Api.init_msg_list(p_init_msg_list);
3403     -- Make sure PL/SQL table has records in it before passing
3404     IF (p_cnrv_tbl.COUNT > 0) THEN
3405       i := p_cnrv_tbl.FIRST;
3406       LOOP
3407         delete_row (
3408           p_api_version                  => p_api_version,
3409           p_init_msg_list                => Okc_Api.G_FALSE,
3410           x_return_status                => x_return_status,
3411           x_msg_count                    => x_msg_count,
3412           x_msg_data                     => x_msg_data,
3413           p_cnrv_rec                     => p_cnrv_tbl(i));
3414         EXIT WHEN (i = p_cnrv_tbl.LAST);
3415         i := p_cnrv_tbl.NEXT(i);
3416       END LOOP;
3417     END IF;
3418   EXCEPTION
3419     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3420       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3421       (
3422         l_api_name,
3423         G_PKG_NAME,
3424         'OKC_API.G_RET_STS_ERROR',
3425         x_msg_count,
3426         x_msg_data,
3427         '_PVT'
3428       );
3429     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3430       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3431       (
3432         l_api_name,
3433         G_PKG_NAME,
3434         'OKC_API.G_RET_STS_UNEXP_ERROR',
3435         x_msg_count,
3436         x_msg_data,
3437         '_PVT'
3438       );
3439     WHEN OTHERS THEN
3440       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3441       (
3442         l_api_name,
3443         G_PKG_NAME,
3444         'OTHERS',
3445         x_msg_count,
3446         x_msg_data,
3447         '_PVT'
3448       );
3449   END delete_row;
3450 
3451 
3452 END Okl_Cnr_Pvt;