DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TCN_PVT

Source


1 PACKAGE BODY Okl_Tcn_Pvt AS
2 /* $Header: OKLSTCNB.pls 120.23.12020000.1 2012/06/28 18:55:54 appldev ship $ */
3   ---------------------------------------------------------------------------
4   -- FUNCTION get_seq_id
5   ---------------------------------------------------------------------------
6   FUNCTION get_seq_id RETURN NUMBER IS
7   l_seq NUMBER;
8   BEGIN
9 -- Changed by nikshah for SLA project (Bug 5707866) 16-Apr-2007
10     SELECT OKL_TRX_CONTRACTS_ALL_S.NEXTVAL INTO l_seq FROM DUAL;
11     RETURN l_seq;
12   END get_seq_id;
13 
14   ---------------------------------------------------------------------------
15   -- PROCEDURE qc
16   ---------------------------------------------------------------------------
17   PROCEDURE qc IS
18   BEGIN
19     NULL;
20   END qc;
21 
22   ---------------------------------------------------------------------------
23   -- PROCEDURE change_version
24   ---------------------------------------------------------------------------
25   PROCEDURE change_version IS
26   BEGIN
27     NULL;
28   END change_version;
29 
30   ---------------------------------------------------------------------------
31   -- PROCEDURE api_copy
32   ---------------------------------------------------------------------------
33   PROCEDURE api_copy IS
34   BEGIN
35     NULL;
36   END api_copy;
37 
38   ---------------------------------------------------------------------------
39   -- FUNCTION get_rec for: OKL_TRX_CONTRACTS
40   ---------------------------------------------------------------------------
41   FUNCTION get_rec (
42     p_tcn_rec                      IN tcn_rec_type,
43     x_no_data_found                OUT NOCOPY BOOLEAN
44   ) RETURN tcn_rec_type IS
45     CURSOR okl_trx_contracts_pk_csr (p_id                 IN NUMBER) IS
46     SELECT
47             ID,
48             KHR_ID_NEW,
49             PVN_ID,
50             PDT_ID,
51             RBR_CODE,
52             RPY_CODE,
53             RVN_CODE,
54             TRN_CODE,
55             QTE_ID,
56             AES_ID,
57             CODE_COMBINATION_ID,
58             TCN_TYPE,
59             RJN_CODE,
60             PARTY_REL_ID1_OLD,
61             PARTY_REL_ID2_OLD,
62             PARTY_REL_ID1_NEW,
63             PARTY_REL_ID2_NEW,
64             COMPLETE_TRANSFER_YN,
65             OBJECT_VERSION_NUMBER,
66             CREATED_BY,
67             CREATION_DATE,
68             LAST_UPDATED_BY,
69             LAST_UPDATE_DATE,
70             DATE_ACCRUAL,
71             ACCRUAL_STATUS_YN,
72             UPDATE_STATUS_YN,
73             ORG_ID,
74             KHR_ID,
75             TAX_DEDUCTIBLE_LOCAL,
76             tax_deductible_corporate,
77             AMOUNT,
78             REQUEST_ID,
79             CURRENCY_CODE,
80             PROGRAM_APPLICATION_ID,
81             KHR_ID_OLD,
82             PROGRAM_ID,
83             PROGRAM_update_DATE,
84             ATTRIBUTE_CATEGORY,
85             ATTRIBUTE1,
86             ATTRIBUTE2,
87             ATTRIBUTE3,
88             ATTRIBUTE4,
89             ATTRIBUTE5,
90             ATTRIBUTE6,
91             ATTRIBUTE7,
92             ATTRIBUTE8,
93             ATTRIBUTE9,
94             ATTRIBUTE10,
95             ATTRIBUTE11,
96             ATTRIBUTE12,
97             ATTRIBUTE13,
98             ATTRIBUTE14,
99             ATTRIBUTE15,
100             LAST_UPDATE_LOGIN,
101 	    TRY_ID,
102 	    TSU_CODE,
103 	    SET_OF_BOOKS_ID,
104 	    DESCRIPTION,
105 	    DATE_TRANSACTION_OCCURRED,
106             TRX_NUMBER,
107             TMT_EVERGREEN_YN,
108             TMT_CLOSE_BALANCES_YN,
109             TMT_ACCOUNTING_ENTRIES_YN,
110             TMT_CANCEL_INSURANCE_YN,
111             TMT_ASSET_DISPOSITION_YN,
112             TMT_AMORTIZATION_YN,
113             TMT_ASSET_RETURN_YN,
114             TMT_CONTRACT_UPDATED_YN,
115             TMT_RECYCLE_YN,
116             TMT_VALIDATED_YN,
117             TMT_STREAMS_UPDATED_YN ,
118             ACCRUAL_ACTIVITY,
119 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
120             TMT_SPLIT_ASSET_YN,
121 	    TMT_GENERIC_FLAG1_YN,
122 	    TMT_GENERIC_FLAG2_YN,
123 	    TMT_GENERIC_FLAG3_YN,
124 -- Added by HKPATEL 14-NOV-2002. Multi-Currency Changes
125    	    CURRENCY_CONVERSION_TYPE,
126 	    CURRENCY_CONVERSION_RATE,
127 	    CURRENCY_CONVERSION_DATE,
128 -- Added by Keerthi for Service Contracts
129             CHR_ID ,
130 -- Added by Keerthi for Bug No 3195713
131          SOURCE_TRX_ID,
132          SOURCE_TRX_TYPE,
133 -- Added by kmotepal for bug 3621485
134          CANCELED_DATE,
135         --Added by dpsingh for LE Uptake
136          LEGAL_ENTITY_ID,
137       --Added by dpsingh for SLA Uptake (Bug 5707866)
138          ACCRUAL_REVERSAL_DATE,
139      -- Added by DJANASWA for SLA project
140          ACCOUNTING_REVERSAL_YN,
141 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
142          PRODUCT_NAME,
143 	 BOOK_CLASSIFICATION_CODE,
144 	 TAX_OWNER_CODE,
145 	 TMT_STATUS_CODE,
146          REPRESENTATION_NAME,
147          REPRESENTATION_CODE,
148 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
149          UPGRADE_STATUS_FLAG,
150 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
151 	 TRANSACTION_DATE,
152 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
153          primary_rep_trx_id,
154          REPRESENTATION_TYPE,
155 -- Added by sosharma for Income Account recon-report 01-Nov-2008
156          TRANSACTION_REVERSAL_DATE
157       FROM OKL_TRX_CONTRACTS
158       WHERE OKL_TRX_CONTRACTS.id = p_id;
159     l_okl_trx_contracts_pk         okl_trx_contracts_pk_csr%ROWTYPE;
160     l_tcn_rec                      tcn_rec_type;
161   BEGIN
162     x_no_data_found := TRUE;
163     -- Get current database values
164     OPEN okl_trx_contracts_pk_csr (p_tcn_rec.id);
165     FETCH okl_trx_contracts_pk_csr INTO
166               l_tcn_rec.ID,
167               l_tcn_rec.KHR_ID_NEW,
168               l_tcn_rec.PVN_ID,
169               l_tcn_rec.PDT_ID,
170               l_tcn_rec.RBR_CODE,
171               l_tcn_rec.RPY_CODE,
172               l_tcn_rec.RVN_CODE,
173               l_tcn_rec.TRN_CODE,
174               l_tcn_rec.QTE_ID,
175               l_tcn_rec.AES_ID,
176               l_tcn_rec.CODE_COMBINATION_ID,
177               l_tcn_rec.TCN_TYPE,
178               l_tcn_rec.RJN_CODE,
179               l_tcn_rec.PARTY_REL_ID1_OLD,
180               l_tcn_rec.PARTY_REL_ID2_OLD,
181               l_tcn_rec.PARTY_REL_ID1_NEW,
182               l_tcn_rec.PARTY_REL_ID2_NEW,
183               l_tcn_rec.COMPLETE_TRANSFER_YN,
184               l_tcn_rec.OBJECT_VERSION_NUMBER,
185               l_tcn_rec.CREATED_BY,
186               l_tcn_rec.CREATION_DATE,
187               l_tcn_rec.LAST_UPDATED_BY,
188               l_tcn_rec.LAST_UPDATE_DATE,
189               l_tcn_rec.DATE_ACCRUAL,
190               l_tcn_rec.ACCRUAL_STATUS_YN,
191               l_tcn_rec.UPDATE_STATUS_YN,
192               l_tcn_rec.ORG_ID,
193               l_tcn_rec.KHR_ID,
194               l_tcn_rec.TAX_DEDUCTIBLE_LOCAL,
195               l_tcn_rec.tax_deductible_corporate,
196               l_tcn_rec.AMOUNT,
197               l_tcn_rec.REQUEST_ID,
198               l_tcn_rec.currency_code,
199               l_tcn_rec.PROGRAM_APPLICATION_ID,
200               l_tcn_rec.KHR_ID_OLD,
201               l_tcn_rec.PROGRAM_ID,
202               l_tcn_rec.PROGRAM_update_DATE,
203               l_tcn_rec.ATTRIBUTE_CATEGORY,
204               l_tcn_rec.ATTRIBUTE1,
205               l_tcn_rec.ATTRIBUTE2,
206               l_tcn_rec.ATTRIBUTE3,
207               l_tcn_rec.ATTRIBUTE4,
208               l_tcn_rec.ATTRIBUTE5,
209               l_tcn_rec.ATTRIBUTE6,
210               l_tcn_rec.ATTRIBUTE7,
211               l_tcn_rec.ATTRIBUTE8,
212               l_tcn_rec.ATTRIBUTE9,
213               l_tcn_rec.ATTRIBUTE10,
214               l_tcn_rec.ATTRIBUTE11,
215               l_tcn_rec.ATTRIBUTE12,
216               l_tcn_rec.ATTRIBUTE13,
217               l_tcn_rec.ATTRIBUTE14,
218               l_tcn_rec.ATTRIBUTE15,
219               l_tcn_rec.LAST_UPDATE_LOGIN,
220 	      l_tcn_rec.TRY_ID,
221 	      l_tcn_rec.TSU_CODE,
222               l_tcn_rec.SET_OF_BOOKS_ID,
223 	      l_tcn_rec.DESCRIPTION,
224 	      l_tcn_rec.DATE_TRANSACTION_OCCURRED,
225               l_tcn_rec.TRX_NUMBER ,
226               l_tcn_rec.TMT_EVERGREEN_YN ,
227               l_tcn_rec.TMT_CLOSE_BALANCES_YN ,
228               l_tcn_rec.TMT_ACCOUNTING_ENTRIES_YN ,
229               l_tcn_rec.TMT_CANCEL_INSURANCE_YN ,
230               l_tcn_rec.TMT_ASSET_DISPOSITION_YN ,
231               l_tcn_rec.TMT_AMORTIZATION_YN ,
232               l_tcn_rec.TMT_ASSET_RETURN_YN ,
233               l_tcn_rec.TMT_CONTRACT_UPDATED_YN ,
234               l_tcn_rec.TMT_RECYCLE_YN ,
235               l_tcn_rec.TMT_VALIDATED_YN ,
236               l_tcn_rec.TMT_STREAMS_UPDATED_YN,
237               l_tcn_rec.ACCRUAL_ACTIVITY,
238 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
239               l_tcn_rec.TMT_SPLIT_ASSET_YN,
240 	      l_tcn_rec.TMT_GENERIC_FLAG1_YN,
241 	      l_tcn_rec.TMT_GENERIC_FLAG2_YN,
242 	      l_tcn_rec.TMT_GENERIC_FLAG3_YN ,
243 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
244    	      l_tcn_rec.CURRENCY_CONVERSION_TYPE,
245 	      l_tcn_rec.CURRENCY_CONVERSION_RATE,
246 	      l_tcn_rec.CURRENCY_CONVERSION_DATE,
247 -- Added by Keerthi 04-SEP-2003.
248 	      l_tcn_rec.CHR_ID,
249 -- Added by Keerthi for Bug No 3195713
250           l_tcn_rec.SOURCE_TRX_ID,
251           l_tcn_rec.SOURCE_TRX_TYPE,
252 -- Added by kmotepal for Bug No 3621485
253           l_tcn_rec.CANCELED_DATE,
254           ---- Added by dpsingh for LE Uptake
255 	  l_tcn_rec.LEGAL_ENTITY_ID,
256 	  --Added by dpsingh for SLA Uptake (Bug 5707866)
257           l_tcn_rec.ACCRUAL_REVERSAL_DATE,
258           -- Added by DJANASWA for SLA project
259           l_tcn_rec.ACCOUNTING_REVERSAL_YN,
260 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
261          l_tcn_rec.PRODUCT_NAME,
262          l_tcn_rec.BOOK_CLASSIFICATION_CODE,
263 	 l_tcn_rec.TAX_OWNER_CODE,
264 	 l_tcn_rec.TMT_STATUS_CODE,
265          l_tcn_rec.REPRESENTATION_NAME,
266          l_tcn_rec.REPRESENTATION_CODE,
267 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
268          l_tcn_rec.UPGRADE_STATUS_FLAG,
269 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
270 	 l_tcn_rec.TRANSACTION_DATE,
271 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
272          l_tcn_rec.primary_rep_trx_id,
273          l_tcn_rec.REPRESENTATION_TYPE,
274 -- Added by sosharma for Income Account recon- report 01-Nov-2008
275          l_tcn_rec.TRANSACTION_REVERSAL_DATE;
276 
277     x_no_data_found := okl_trx_contracts_pk_csr%NOTFOUND;
278     CLOSE okl_trx_contracts_pk_csr;
279     RETURN(l_tcn_rec);
280   END get_rec;
281 
282   FUNCTION get_rec (
283     p_tcn_rec                      IN tcn_rec_type
284   ) RETURN tcn_rec_type IS
285     l_row_notfound                 BOOLEAN := TRUE;
286   BEGIN
287     RETURN(get_rec(p_tcn_rec, l_row_notfound));
288   END get_rec;
289   ---------------------------------------------------------------------------
290   -- FUNCTION get_rec for: OKL_TRX_CONTRACTS_V
291   ---------------------------------------------------------------------------
292   FUNCTION get_rec (
293     p_tcnv_rec                     IN tcnv_rec_type,
294     x_no_data_found                OUT NOCOPY BOOLEAN
295   ) RETURN tcnv_rec_type IS
296     CURSOR okl_tcnv_pk_csr (p_id                 IN NUMBER) IS
297     SELECT
298             ID,
299             OBJECT_VERSION_NUMBER,
300             RBR_CODE,
301             RPY_CODE,
302             RVN_CODE,
303             TRN_CODE,
304             KHR_ID_NEW,
305             PVN_ID,
306             PDT_ID,
307             QTE_ID,
308             AES_ID,
309             CODE_COMBINATION_ID,
310             TAX_DEDUCTIBLE_LOCAL,
311             tax_deductible_corporate,
312             DATE_ACCRUAL,
313             ACCRUAL_STATUS_YN,
314             UPDATE_STATUS_YN,
315             AMOUNT,
316             CURRENCY_CODE,
317             ATTRIBUTE_CATEGORY,
318             ATTRIBUTE1,
319             ATTRIBUTE2,
320             ATTRIBUTE3,
321             ATTRIBUTE4,
322             ATTRIBUTE5,
323             ATTRIBUTE6,
324             ATTRIBUTE7,
325             ATTRIBUTE8,
326             ATTRIBUTE9,
327             ATTRIBUTE10,
328             ATTRIBUTE11,
329             ATTRIBUTE12,
330             ATTRIBUTE13,
331             ATTRIBUTE14,
332             ATTRIBUTE15,
333             TCN_TYPE,
334             RJN_CODE,
335             PARTY_REL_ID1_OLD,
336             PARTY_REL_ID2_OLD,
337             PARTY_REL_ID1_NEW,
338             PARTY_REL_ID2_NEW,
339             COMPLETE_TRANSFER_YN,
340             ORG_ID,
341             KHR_ID,
342             REQUEST_ID,
343             PROGRAM_APPLICATION_ID,
344             KHR_ID_OLD,
345             PROGRAM_ID,
346             PROGRAM_update_DATE,
347             CREATED_BY,
348             CREATION_DATE,
349             LAST_UPDATED_BY,
350             LAST_UPDATE_DATE,
351             LAST_UPDATE_LOGIN,
352 	    TRY_ID,
353 	    TSU_CODE,
354 	    SET_OF_BOOKS_ID,
355 	    DESCRIPTION,
356 	    DATE_TRANSACTION_OCCURRED,
357             TRX_NUMBER,
358             TMT_EVERGREEN_YN,
359             TMT_CLOSE_BALANCES_YN,
360             TMT_ACCOUNTING_ENTRIES_YN,
361             TMT_CANCEL_INSURANCE_YN,
362             TMT_ASSET_DISPOSITION_YN,
363             TMT_AMORTIZATION_YN,
364             TMT_ASSET_RETURN_YN,
365             TMT_CONTRACT_UPDATED_YN,
366             TMT_RECYCLE_YN,
367             TMT_VALIDATED_YN,
368             TMT_STREAMS_UPDATED_YN ,
369             accrual_activity,
370 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
371 	    TMT_SPLIT_ASSET_YN,
372 	    TMT_GENERIC_FLAG1_YN,
373 	    TMT_GENERIC_FLAG2_YN,
374 	    TMT_GENERIC_FLAG3_YN,
375 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
376    	    CURRENCY_CONVERSION_TYPE,
377 	    CURRENCY_CONVERSION_RATE,
378 	    CURRENCY_CONVERSION_DATE,
379 -- Added by Keerthi 04-SEP-2003 Sevice Contracts
380 	    CHR_ID ,
381 -- Added by Keerthi for Bug No 3195713
382         SOURCE_TRX_ID,
383         SOURCE_TRX_TYPE,
384 -- Added by kmotepal for Bug 3621485
385         CANCELED_DATE,
386         --Added by dpsingh for LE Uptake
387         LEGAL_ENTITY_ID,
388 	--Added by dpsingh for SLA Uptake (Bug 5707866)
389         ACCRUAL_REVERSAL_DATE,
390         -- Added by DJANASWA for SLA project
391         ACCOUNTING_REVERSAL_YN,
392 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
393          PRODUCT_NAME,
394 	 BOOK_CLASSIFICATION_CODE,
395 	 TAX_OWNER_CODE,
396 	 TMT_STATUS_CODE,
397          REPRESENTATION_NAME,
398          REPRESENTATION_CODE,
399 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
400          UPGRADE_STATUS_FLAG,
401 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
402 	 TRANSACTION_DATE,
403 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
404          primary_rep_trx_id,
405          REPRESENTATION_TYPE,
406 -- Added by sosharma for Income Account recon- report 01-Nov-2008
407         TRANSACTION_REVERSAL_DATE
408       FROM OKL_TRX_CONTRACTS
409      WHERE OKL_TRX_CONTRACTS.id = p_id;
410     l_okl_tcnv_pk                  okl_tcnv_pk_csr%ROWTYPE;
411     l_tcnv_rec                     tcnv_rec_type;
412   BEGIN
413     x_no_data_found := TRUE;
414     -- Get current database values
415     OPEN okl_tcnv_pk_csr (p_tcnv_rec.id);
416     FETCH okl_tcnv_pk_csr INTO
417               l_tcnv_rec.ID,
418               l_tcnv_rec.OBJECT_VERSION_NUMBER,
419               l_tcnv_rec.RBR_CODE,
420               l_tcnv_rec.RPY_CODE,
421               l_tcnv_rec.RVN_CODE,
422               l_tcnv_rec.TRN_CODE,
423               l_tcnv_rec.KHR_ID_NEW,
424               l_tcnv_rec.PVN_ID,
425               l_tcnv_rec.PDT_ID,
426               l_tcnv_rec.QTE_ID,
427               l_tcnv_rec.AES_ID,
428               l_tcnv_rec.CODE_COMBINATION_ID,
429               l_tcnv_rec.TAX_DEDUCTIBLE_LOCAL,
430               l_tcnv_rec.tax_deductible_corporate,
431               l_tcnv_rec.DATE_ACCRUAL,
432               l_tcnv_rec.ACCRUAL_STATUS_YN,
433               l_tcnv_rec.UPDATE_STATUS_YN,
434               l_tcnv_rec.AMOUNT,
435               l_tcnv_rec.currency_code,
436               l_tcnv_rec.ATTRIBUTE_CATEGORY,
437               l_tcnv_rec.ATTRIBUTE1,
438               l_tcnv_rec.ATTRIBUTE2,
439               l_tcnv_rec.ATTRIBUTE3,
440               l_tcnv_rec.ATTRIBUTE4,
441               l_tcnv_rec.ATTRIBUTE5,
442               l_tcnv_rec.ATTRIBUTE6,
443               l_tcnv_rec.ATTRIBUTE7,
444               l_tcnv_rec.ATTRIBUTE8,
445               l_tcnv_rec.ATTRIBUTE9,
446               l_tcnv_rec.ATTRIBUTE10,
447               l_tcnv_rec.ATTRIBUTE11,
448               l_tcnv_rec.ATTRIBUTE12,
449               l_tcnv_rec.ATTRIBUTE13,
450               l_tcnv_rec.ATTRIBUTE14,
451               l_tcnv_rec.ATTRIBUTE15,
452               l_tcnv_rec.TCN_TYPE,
453               l_tcnv_rec.RJN_CODE,
454               l_tcnv_rec.PARTY_REL_ID1_OLD,
455               l_tcnv_rec.PARTY_REL_ID2_OLD,
456               l_tcnv_rec.PARTY_REL_ID1_NEW,
457               l_tcnv_rec.PARTY_REL_ID2_NEW,
458               l_tcnv_rec.COMPLETE_TRANSFER_YN,
459               l_tcnv_rec.ORG_ID,
460               l_tcnv_rec.KHR_ID,
461               l_tcnv_rec.REQUEST_ID,
462               l_tcnv_rec.PROGRAM_APPLICATION_ID,
463               l_tcnv_rec.KHR_ID_OLD,
464               l_tcnv_rec.PROGRAM_ID,
465               l_tcnv_rec.PROGRAM_update_DATE,
466               l_tcnv_rec.CREATED_BY,
467               l_tcnv_rec.CREATION_DATE,
468               l_tcnv_rec.LAST_UPDATED_BY,
469               l_tcnv_rec.LAST_UPDATE_DATE,
470               l_tcnv_rec.LAST_UPDATE_LOGIN,
471 	      l_tcnv_rec.TRY_ID,
472 	      l_tcnv_rec.TSU_CODE,
473               l_tcnv_rec.SET_OF_BOOKS_ID,
474 	      l_tcnv_rec.DESCRIPTION,
475 	      l_tcnv_rec.DATE_TRANSACTION_OCCURRED,
476               l_tcnv_rec.TRX_NUMBER,
477               l_tcnv_rec.TMT_EVERGREEN_YN ,
478               l_tcnv_rec.TMT_CLOSE_BALANCES_YN ,
479               l_tcnv_rec.TMT_ACCOUNTING_ENTRIES_YN ,
480               l_tcnv_rec.TMT_CANCEL_INSURANCE_YN ,
481               l_tcnv_rec.TMT_ASSET_DISPOSITION_YN ,
482               l_tcnv_rec.TMT_AMORTIZATION_YN ,
483               l_tcnv_rec.TMT_ASSET_RETURN_YN ,
484               l_tcnv_rec.TMT_CONTRACT_UPDATED_YN ,
485               l_tcnv_rec.TMT_RECYCLE_YN ,
486               l_tcnv_rec.TMT_VALIDATED_YN ,
487               l_tcnv_rec.TMT_STREAMS_UPDATED_YN,
488               l_tcnv_rec.accrual_activity,
489 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
490               l_tcnv_rec.TMT_SPLIT_ASSET_YN,
491 	      l_tcnv_rec.TMT_GENERIC_FLAG1_YN,
492 	      l_tcnv_rec.TMT_GENERIC_FLAG2_YN,
493 	      l_tcnv_rec.TMT_GENERIC_FLAG3_YN,
494 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
495    	      l_tcnv_rec.CURRENCY_CONVERSION_TYPE,
496 	      l_tcnv_rec.CURRENCY_CONVERSION_RATE,
497 	      l_tcnv_rec.CURRENCY_CONVERSION_DATE,
498 -- Added by Keerthi 04-SEP-2003
499 	      l_tcnv_rec.CHR_ID,
500 -- Added by Keerthi for Bug No 3195713
501           l_tcnv_rec.SOURCE_TRX_ID,
502           l_tcnv_rec.SOURCE_TRX_TYPE,
503 -- Added by kmotepal for Bug 3621485
504           l_tcnv_rec.CANCELED_DATE,
505 --Added by dpsingh for LE Uptake
506            l_tcnv_rec.LEGAL_ENTITY_ID,
507 --Added by dpsingh for SLA Uptake (Bug 5707866)
508           l_tcnv_rec.ACCRUAL_REVERSAL_DATE,
509           l_tcnv_rec.ACCOUNTING_REVERSAL_YN,
510 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
511          l_tcnv_rec.PRODUCT_NAME,
512          l_tcnv_rec.BOOK_CLASSIFICATION_CODE,
513 	 l_tcnv_rec.TAX_OWNER_CODE,
514 	 l_tcnv_rec.TMT_STATUS_CODE,
515          l_tcnv_rec.REPRESENTATION_NAME,
516          l_tcnv_rec.REPRESENTATION_CODE,
517 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
518          l_tcnv_rec.UPGRADE_STATUS_FLAG,
519 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
520 	l_tcnv_rec.TRANSACTION_DATE,
521 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
522          l_tcnv_rec.primary_rep_trx_id,
523          l_tcnv_rec.REPRESENTATION_TYPE,
524 -- Added by sosharma for Income Account recon- report 01-Nov-2008
525          l_tcnv_rec.TRANSACTION_REVERSAL_DATE;
526     x_no_data_found := okl_tcnv_pk_csr%NOTFOUND;
527     CLOSE okl_tcnv_pk_csr;
528     RETURN(l_tcnv_rec);
529   END get_rec;
530 
531   FUNCTION get_rec (
532     p_tcnv_rec                     IN tcnv_rec_type
533   ) RETURN tcnv_rec_type IS
534     l_row_notfound                 BOOLEAN := TRUE;
535   BEGIN
536     RETURN(get_rec(p_tcnv_rec, l_row_notfound));
537   END get_rec;
538 
539   ---------------------------------------------------------
540   -- FUNCTION null_out_defaults for: OKL_TRX_CONTRACTS_V --
541   ---------------------------------------------------------
542   FUNCTION null_out_defaults (
543     p_tcnv_rec	IN tcnv_rec_type
544   ) RETURN tcnv_rec_type IS
545     l_tcnv_rec	tcnv_rec_type := p_tcnv_rec;
546   BEGIN
547     IF (l_tcnv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
548       l_tcnv_rec.object_version_number := NULL;
549     END IF;
550     IF (l_tcnv_rec.rbr_code = Okc_Api.G_MISS_CHAR) THEN
551       l_tcnv_rec.rbr_code := NULL;
552     END IF;
553     IF (l_tcnv_rec.rpy_code = Okc_Api.G_MISS_CHAR) THEN
554       l_tcnv_rec.rpy_code := NULL;
555     END IF;
556     IF (l_tcnv_rec.rvn_code = Okc_Api.G_MISS_CHAR) THEN
557       l_tcnv_rec.rvn_code := NULL;
558     END IF;
559     IF (l_tcnv_rec.trn_code = Okc_Api.G_MISS_CHAR) THEN
560       l_tcnv_rec.trn_code := NULL;
561     END IF;
562     IF (l_tcnv_rec.khr_id_new = Okc_Api.G_MISS_NUM) THEN
563       l_tcnv_rec.khr_id_new := NULL;
564     END IF;
565     IF (l_tcnv_rec.pvn_id = Okc_Api.G_MISS_NUM) THEN
566       l_tcnv_rec.pvn_id := NULL;
567     END IF;
568     IF (l_tcnv_rec.pdt_id = Okc_Api.G_MISS_NUM) THEN
569       l_tcnv_rec.pdt_id := NULL;
570     END IF;
571     IF (l_tcnv_rec.qte_id = Okc_Api.G_MISS_NUM) THEN
572       l_tcnv_rec.qte_id := NULL;
573     END IF;
574     IF (l_tcnv_rec.aes_id = Okc_Api.G_MISS_NUM) THEN
575       l_tcnv_rec.aes_id := NULL;
576     END IF;
577     IF (l_tcnv_rec.code_combination_id = Okc_Api.G_MISS_NUM) THEN
578       l_tcnv_rec.code_combination_id := NULL;
579     END IF;
580     IF (l_tcnv_rec.tax_deductible_local = Okc_Api.G_MISS_CHAR) THEN
581       l_tcnv_rec.tax_deductible_local := NULL;
582     END IF;
583     IF (l_tcnv_rec.tax_deductible_corporate = Okc_Api.G_MISS_CHAR) THEN
584       l_tcnv_rec.tax_deductible_corporate := NULL;
585     END IF;
586     IF (l_tcnv_rec.date_accrual = Okc_Api.G_MISS_DATE) THEN
587       l_tcnv_rec.date_accrual := NULL;
588     END IF;
589     IF (l_tcnv_rec.accrual_status_yn = Okc_Api.G_MISS_CHAR) THEN
590       l_tcnv_rec.accrual_status_yn := NULL;
591     END IF;
592     IF (l_tcnv_rec.update_status_yn = Okc_Api.G_MISS_CHAR) THEN
593       l_tcnv_rec.update_status_yn := NULL;
594     END IF;
595     IF (l_tcnv_rec.amount = Okc_Api.G_MISS_NUM) THEN
596       l_tcnv_rec.amount := NULL;
597     END IF;
598     IF (l_tcnv_rec.currency_code = Okc_Api.G_MISS_CHAR) THEN
599       l_tcnv_rec.currency_code := NULL;
600     END IF;
601     IF (l_tcnv_rec.attribute_category = Okc_Api.G_MISS_CHAR) THEN
602       l_tcnv_rec.attribute_category := NULL;
603     END IF;
604     IF (l_tcnv_rec.attribute1 = Okc_Api.G_MISS_CHAR) THEN
605       l_tcnv_rec.attribute1 := NULL;
606     END IF;
607     IF (l_tcnv_rec.attribute2 = Okc_Api.G_MISS_CHAR) THEN
608       l_tcnv_rec.attribute2 := NULL;
609     END IF;
610     IF (l_tcnv_rec.attribute3 = Okc_Api.G_MISS_CHAR) THEN
611       l_tcnv_rec.attribute3 := NULL;
612     END IF;
613     IF (l_tcnv_rec.attribute4 = Okc_Api.G_MISS_CHAR) THEN
614       l_tcnv_rec.attribute4 := NULL;
615     END IF;
616     IF (l_tcnv_rec.attribute5 = Okc_Api.G_MISS_CHAR) THEN
617       l_tcnv_rec.attribute5 := NULL;
618     END IF;
619     IF (l_tcnv_rec.attribute6 = Okc_Api.G_MISS_CHAR) THEN
620       l_tcnv_rec.attribute6 := NULL;
621     END IF;
622     IF (l_tcnv_rec.attribute7 = Okc_Api.G_MISS_CHAR) THEN
623       l_tcnv_rec.attribute7 := NULL;
624     END IF;
625     IF (l_tcnv_rec.attribute8 = Okc_Api.G_MISS_CHAR) THEN
626       l_tcnv_rec.attribute8 := NULL;
627     END IF;
628     IF (l_tcnv_rec.attribute9 = Okc_Api.G_MISS_CHAR) THEN
629       l_tcnv_rec.attribute9 := NULL;
630     END IF;
631     IF (l_tcnv_rec.attribute10 = Okc_Api.G_MISS_CHAR) THEN
632       l_tcnv_rec.attribute10 := NULL;
633     END IF;
634     IF (l_tcnv_rec.attribute11 = Okc_Api.G_MISS_CHAR) THEN
635       l_tcnv_rec.attribute11 := NULL;
636     END IF;
637     IF (l_tcnv_rec.attribute12 = Okc_Api.G_MISS_CHAR) THEN
638       l_tcnv_rec.attribute12 := NULL;
639     END IF;
640     IF (l_tcnv_rec.attribute13 = Okc_Api.G_MISS_CHAR) THEN
641       l_tcnv_rec.attribute13 := NULL;
642     END IF;
643     IF (l_tcnv_rec.attribute14 = Okc_Api.G_MISS_CHAR) THEN
644       l_tcnv_rec.attribute14 := NULL;
645     END IF;
646     IF (l_tcnv_rec.attribute15 = Okc_Api.G_MISS_CHAR) THEN
647       l_tcnv_rec.attribute15 := NULL;
648     END IF;
649     IF (l_tcnv_rec.tcn_type = Okc_Api.G_MISS_CHAR) THEN
650       l_tcnv_rec.tcn_type := NULL;
651     END IF;
652 
653     IF (l_tcnv_rec.rjn_code = Okc_Api.G_MISS_CHAR) THEN
654       l_tcnv_rec.rjn_code := NULL;
655     END IF;
656 
657     IF (l_tcnv_rec.party_rel_id1_old = Okc_Api.G_MISS_NUM) THEN
658       l_tcnv_rec.party_rel_id1_old := NULL;
659     END IF;
660 
661     IF (l_tcnv_rec.party_rel_id2_old = Okc_Api.G_MISS_CHAR) THEN
662       l_tcnv_rec.party_rel_id2_old := NULL;
663     END IF;
664 
665     IF (l_tcnv_rec.party_rel_id1_new = Okc_Api.G_MISS_NUM) THEN
666       l_tcnv_rec.party_rel_id1_new := NULL;
667     END IF;
668 
669     IF (l_tcnv_rec.party_rel_id2_new = Okc_Api.G_MISS_CHAR) THEN
670       l_tcnv_rec.party_rel_id2_new := NULL;
671     END IF;
672 
673     IF (l_tcnv_rec.complete_transfer_yn = Okc_Api.G_MISS_CHAR) THEN
674       l_tcnv_rec.complete_transfer_yn := NULL;
675     END IF;
676 
677     IF (l_tcnv_rec.org_id = Okc_Api.G_MISS_NUM) THEN
678       l_tcnv_rec.org_id := NULL;
679     END IF;
680     IF (l_tcnv_rec.khr_id = Okc_Api.G_MISS_NUM) THEN
681       l_tcnv_rec.khr_id := NULL;
682     END IF;
683     IF (l_tcnv_rec.request_id = Okc_Api.G_MISS_NUM) THEN
684       l_tcnv_rec.request_id := NULL;
685     END IF;
686     IF (l_tcnv_rec.program_application_id = Okc_Api.G_MISS_NUM) THEN
687       l_tcnv_rec.program_application_id := NULL;
688     END IF;
689     IF (l_tcnv_rec.program_id = Okc_Api.G_MISS_NUM) THEN
690       l_tcnv_rec.program_id := NULL;
691     END IF;
692     IF (l_tcnv_rec.program_update_date = Okc_Api.G_MISS_DATE) THEN
693       l_tcnv_rec.program_update_date := NULL;
694     END IF;
695     IF (l_tcnv_rec.khr_id_old = Okc_Api.G_MISS_NUM) THEN
696       l_tcnv_rec.khr_id_old := NULL;
697     END IF;
698     IF (l_tcnv_rec.created_by = Okc_Api.G_MISS_NUM) THEN
699       l_tcnv_rec.created_by := NULL;
700     END IF;
701     IF (l_tcnv_rec.creation_date = Okc_Api.G_MISS_DATE) THEN
702       l_tcnv_rec.creation_date := NULL;
703     END IF;
704     IF (l_tcnv_rec.last_updated_by = Okc_Api.G_MISS_NUM) THEN
705       l_tcnv_rec.last_updated_by := NULL;
706     END IF;
707     IF (l_tcnv_rec.last_update_date = Okc_Api.G_MISS_DATE) THEN
708       l_tcnv_rec.last_update_date := NULL;
709     END IF;
710     IF (l_tcnv_rec.last_update_login = Okc_Api.G_MISS_NUM) THEN
711       l_tcnv_rec.last_update_login := NULL;
712     END IF;
713 
714 	IF (l_tcnv_rec.try_id = Okc_Api.G_MISS_NUM) THEN
715       l_tcnv_rec.try_id := NULL;
716     END IF;
717 	IF (l_tcnv_rec.tsu_code = Okc_Api.G_MISS_CHAR) THEN
718       l_tcnv_rec.tsu_code := NULL;
719     END IF;
720 	IF (l_tcnv_rec.set_of_books_id = Okc_Api.G_MISS_NUM) THEN
721       l_tcnv_rec.set_of_books_id := NULL;
722     END IF;
723 	IF (l_tcnv_rec.description = Okc_Api.G_MISS_CHAR) THEN
724       l_tcnv_rec.description := NULL;
725     END IF;
726 	IF (l_tcnv_rec.date_transaction_occurred = Okc_Api.G_MISS_DATE) THEN
727       l_tcnv_rec.date_transaction_occurred := NULL;
728     END IF;
729 	IF (l_tcnv_rec.trx_number = Okc_Api.G_MISS_CHAR) THEN
730       l_tcnv_rec.trx_number := NULL;
731     END IF;
732 	IF (l_tcnv_rec.tmt_evergreen_yn  = Okc_Api.G_MISS_CHAR) THEN
733       l_tcnv_rec.tmt_evergreen_yn  := NULL;
734     END IF;
735 	IF (l_tcnv_rec.tmt_close_balances_yn  = Okc_Api.G_MISS_CHAR) THEN
736       l_tcnv_rec.tmt_close_balances_yn  := NULL;
737     END IF;
738 	IF (l_tcnv_rec.tmt_accounting_entries_yn  = Okc_Api.G_MISS_CHAR) THEN
739       l_tcnv_rec.tmt_accounting_entries_yn  := NULL;
740     END IF;
741 	IF (l_tcnv_rec.tmt_cancel_insurance_yn  = Okc_Api.G_MISS_CHAR) THEN
742       l_tcnv_rec.tmt_cancel_insurance_yn  := NULL;
743     END IF;
744 	IF (l_tcnv_rec.tmt_asset_disposition_yn  = Okc_Api.G_MISS_CHAR) THEN
745       l_tcnv_rec.tmt_asset_disposition_yn  := NULL;
746     END IF;
747 	IF (l_tcnv_rec.tmt_amortization_yn  = Okc_Api.G_MISS_CHAR) THEN
748       l_tcnv_rec.tmt_amortization_yn  := NULL;
749     END IF;
750 	IF (l_tcnv_rec.tmt_asset_return_yn  = Okc_Api.G_MISS_CHAR) THEN
751       l_tcnv_rec.tmt_asset_return_yn  := NULL;
752     END IF;
753 	IF (l_tcnv_rec.tmt_contract_updated_yn  = Okc_Api.G_MISS_CHAR) THEN
754       l_tcnv_rec.tmt_contract_updated_yn  := NULL;
755     END IF;
756 	IF (l_tcnv_rec.tmt_recycle_yn   = Okc_Api.G_MISS_CHAR) THEN
757       l_tcnv_rec.tmt_recycle_yn   := NULL;
758     END IF;
759 	IF (l_tcnv_rec.tmt_validated_yn   = Okc_Api.G_MISS_CHAR) THEN
760       l_tcnv_rec.tmt_validated_yn   := NULL;
761     END IF;
762 	IF (l_tcnv_rec.tmt_streams_updated_yn   = Okc_Api.G_MISS_CHAR) THEN
763       l_tcnv_rec.tmt_streams_updated_yn   := NULL;
764     END IF;
765 	IF (l_tcnv_rec.accrual_activity   = Okc_Api.G_MISS_CHAR) THEN
766       l_tcnv_rec.accrual_activity   := NULL;
767     END IF;
768 
769 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
770 
771     IF (l_tcnv_rec.tmt_split_asset_yn   = Okc_Api.G_MISS_CHAR) THEN
772       l_tcnv_rec.tmt_split_asset_yn   := NULL;
773     END IF;
774     IF (l_tcnv_rec.tmt_generic_flag1_yn   = Okc_Api.G_MISS_CHAR) THEN
775       l_tcnv_rec.tmt_generic_flag1_yn   := NULL;
776     END IF;
777     IF (l_tcnv_rec.tmt_generic_flag2_yn   = Okc_Api.G_MISS_CHAR) THEN
778       l_tcnv_rec.tmt_generic_flag2_yn   := NULL;
779     END IF;
780     IF (l_tcnv_rec.tmt_generic_flag3_yn   = Okc_Api.G_MISS_CHAR) THEN
781       l_tcnv_rec.tmt_generic_flag3_yn   := NULL;
782     END IF;
783 
784 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
785 
786     IF (l_tcnv_rec.CURRENCY_CONVERSION_TYPE  = Okc_Api.G_MISS_CHAR) THEN
787         l_tcnv_rec.CURRENCY_CONVERSION_TYPE  := NULL;
788     END IF;
789     IF (l_tcnv_rec.CURRENCY_CONVERSION_RATE  = Okc_Api.G_MISS_NUM) THEN
790       l_tcnv_rec.CURRENCY_CONVERSION_RATE   := NULL;
791     END IF;
792     IF (l_tcnv_rec.CURRENCY_CONVERSION_DATE  = Okc_Api.G_MISS_DATE) THEN
793       l_tcnv_rec.CURRENCY_CONVERSION_DATE   := NULL;
794     END IF;
795 
796 -- Added by Keerthi 04-SEP-2003
797     IF (l_tcnv_rec.CHR_ID  = Okc_Api.G_MISS_NUM) THEN
798       l_tcnv_rec.CHR_ID   := NULL;
799     END IF;
800 
801 -- Added by Keerthi for Bug No 3195713
802 
803     IF (l_tcnv_rec.SOURCE_TRX_ID  = Okc_Api.G_MISS_NUM) THEN
804       l_tcnv_rec.SOURCE_TRX_ID   := NULL;
805     END IF;
806 
807     IF (l_tcnv_rec.SOURCE_TRX_TYPE  = Okc_Api.G_MISS_CHAR) THEN
808       l_tcnv_rec.SOURCE_TRX_TYPE  := NULL;
809     END IF;
810 
811 -- Added by kmotepal for Bug 3621485
812     IF (l_tcnv_rec.CANCELED_DATE = Okc_Api.G_MISS_DATE) THEN
813       l_tcnv_rec.CANCELED_DATE := NULL;
814     END IF;
815 
816     --Added by dpsingh for LE Uptake
817      IF (l_tcnv_rec.LEGAL_ENTITY_ID = Okl_Api.G_MISS_NUM) THEN
818       l_tcnv_rec.LEGAL_ENTITY_ID := NULL;
819     END IF;
820 
821     --Added by dpsingh for SLA Uptake (Bug 5707866)
822      IF (l_tcnv_rec.ACCRUAL_REVERSAL_DATE = Okl_Api.G_MISS_DATE) THEN
823       l_tcnv_rec.ACCRUAL_REVERSAL_DATE := NULL;
824     END IF;
825 
826 -- Added by DJANASWA for SLA project
827     IF (l_tcnv_rec.ACCOUNTING_REVERSAL_YN = Okl_Api.G_MISS_CHAR) THEN
828       l_tcnv_rec.ACCOUNTING_REVERSAL_YN := NULL;
829     END IF;
830 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
831     IF (l_tcnv_rec.PRODUCT_NAME = Okl_Api.G_MISS_CHAR) THEN
832       l_tcnv_rec.PRODUCT_NAME := NULL;
833     END IF;
834     IF (l_tcnv_rec.BOOK_CLASSIFICATION_CODE = Okl_Api.G_MISS_CHAR) THEN
835       l_tcnv_rec.BOOK_CLASSIFICATION_CODE := NULL;
836     END IF;
837     IF (l_tcnv_rec.TAX_OWNER_CODE = Okl_Api.G_MISS_CHAR) THEN
838       l_tcnv_rec.TAX_OWNER_CODE := NULL;
839     END IF;
840     IF (l_tcnv_rec.TMT_STATUS_CODE = Okl_Api.G_MISS_CHAR) THEN
841       l_tcnv_rec.TMT_STATUS_CODE := NULL;
842     END IF;
843     IF (l_tcnv_rec.REPRESENTATION_NAME = Okl_Api.G_MISS_CHAR) THEN
844       l_tcnv_rec.REPRESENTATION_NAME := NULL;
845     END IF;
846     IF (l_tcnv_rec.REPRESENTATION_CODE = Okl_Api.G_MISS_CHAR) THEN
847       l_tcnv_rec.REPRESENTATION_CODE := NULL;
848     END IF;
849 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
850     IF (l_tcnv_rec.UPGRADE_STATUS_FLAG = Okl_Api.G_MISS_CHAR) THEN
851       l_tcnv_rec.UPGRADE_STATUS_FLAG := NULL;
852     END IF;
853 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
854     IF (l_tcnv_rec.TRANSACTION_DATE = Okl_Api.G_MISS_DATE) THEN
855       l_tcnv_rec.TRANSACTION_DATE := NULL;
856     END IF;
857 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
858     IF (l_tcnv_rec.primary_rep_trx_id = Okl_Api.G_MISS_NUM) THEN
859       l_tcnv_rec.primary_rep_trx_id := NULL;
860     END IF;
861     IF (l_tcnv_rec.REPRESENTATION_TYPE = Okl_Api.G_MISS_CHAR) THEN
862       l_tcnv_rec.REPRESENTATION_TYPE := NULL;
863     END IF;
864 -- Added by sosharma for Income Account recon- report 01-Nov-2008
865      IF (l_tcnv_rec.TRANSACTION_REVERSAL_DATE = Okl_Api.G_MISS_DATE) THEN
866       l_tcnv_rec.TRANSACTION_REVERSAL_DATE := NULL;
867     END IF;
868 
869     RETURN(l_tcnv_rec);
870   END null_out_defaults;
871 
872 /* Renu Gurudev 4/17/2001 - Commented out generated code in favor of manually written code
873   ---------------------------------------------------------------------------
874   -- PROCEDURE Validate_Attributes
875   ---------------------------------------------------------------------------
876   -------------------------------------------------
877   -- Validate_Attributes for:OKL_TRX_CONTRACTS_V --
878   -------------------------------------------------
879   FUNCTION Validate_Attributes (
880     p_tcnv_rec IN  tcnv_rec_type
881   ) RETURN VARCHAR2 IS
882     l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
883   BEGIN
884     IF p_tcnv_rec.id = OKC_API.G_MISS_NUM OR
885        p_tcnv_rec.id IS NULL
886     THEN
887       OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
888       l_return_status := OKC_API.G_RET_STS_ERROR;
889     ELSIF p_tcnv_rec.object_version_number = OKC_API.G_MISS_NUM OR
890           p_tcnv_rec.object_version_number IS NULL
891     THEN
892       OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
893       l_return_status := OKC_API.G_RET_STS_ERROR;
894     ELSIF p_tcnv_rec.tcn_type = OKC_API.G_MISS_CHAR OR
895           p_tcnv_rec.tcn_type IS NULL
896     THEN
897       OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'tcn_type');
898       l_return_status := OKC_API.G_RET_STS_ERROR;
899     END IF;
900     RETURN(l_return_status);
901   END Validate_Attributes;
902 
903   ---------------------------------------------------------------------------
904   -- PROCEDURE Validate_Record
905   ---------------------------------------------------------------------------
906   ---------------------------------------------
907   -- Validate_Record for:OKL_TRX_CONTRACTS_V --
908   ---------------------------------------------
909   FUNCTION Validate_Record (
910     p_tcnv_rec IN tcnv_rec_type
911   ) RETURN VARCHAR2 IS
912     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
913   BEGIN
914     RETURN (l_return_status);
915   END Validate_Record;
916 */
917 
918   /*********** begin manual coding *****************/
919   ---------------------------------------------------------------------------
920   -- PROCEDURE Validate_Id
921   ---------------------------------------------------------------------------
922   -- Start of comments
923   --
924   -- Procedure Name   : Validate_Id
925   -- Description      :
926   -- Business Rules   :
927   -- Parameters       :
928   -- Version          : 1.0
929   -- End of comments
930   ---------------------------------------------------------------------------
931   PROCEDURE Validate_Id (p_tcnv_rec      IN  tcnv_rec_type
932 				 ,x_return_status OUT NOCOPY VARCHAR2)
933   IS
934   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
935 
936   BEGIN
937     -- initialize return status
938     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
939 
940     -- check for data before processing
941     IF (p_tcnv_rec.id IS NULL) OR
942        (p_tcnv_rec.id = Okc_Api.G_MISS_NUM) THEN
943        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
944                            ,p_msg_name      => g_required_value
945                            ,p_token1        => g_col_name_token
946                            ,p_token1_value  => 'id');
947        x_return_status     := Okc_Api.G_RET_STS_ERROR;
948        RAISE G_EXCEPTION_HALT_VALIDATION;
949     END IF;
950 
951   EXCEPTION
952     WHEN G_EXCEPTION_HALT_VALIDATION THEN
953     -- no processing necessary; validation can continue
954     -- with the next column
955     NULL;
956 
957     WHEN OTHERS THEN
958       -- store SQL error message on message stack for caller
959       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
960                           ,p_msg_name      => g_unexpected_error
961                           ,p_token1        => g_sqlcode_token
962                           ,p_token1_value  => SQLCODE
963                           ,p_token2        => g_sqlerrm_token
964                           ,p_token2_value  => SQLERRM);
965 
966        -- notify caller of an UNEXPECTED error
967        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
968 
969   END Validate_Id;
970 
971   ---------------------------------------------------------------------------
972   -- PROCEDURE Validate_Khr_Id
973   ---------------------------------------------------------------------------
974   -- Start of comments
975   --
976   -- Procedure Name   : Validate_Khr_Id
977   -- Description      :
978   -- Business Rules   :
979   -- Parameters       :
980   -- Version          : 1.0
981   -- End of comments
982   ---------------------------------------------------------------------------
983   PROCEDURE Validate_Khr_Id (p_tcnv_rec IN  tcnv_rec_type
984                          ,x_return_status OUT NOCOPY VARCHAR2)
985   IS
986   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
987   l_dummy                       VARCHAR2(1);
988   l_row_notfound                    BOOLEAN := TRUE;
989   item_not_found_error              EXCEPTION;
990 
991   CURSOR okl_tcnv_fk_csr (p_id IN NUMBER) IS
992   SELECT  '1'
993   FROM Okl_K_Headers_V
994   WHERE okl_k_headers_v.id = p_id;
995 
996 
997   BEGIN
998 
999     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1000 
1001     IF (p_tcnv_rec.khr_id IS NOT NULL) AND
1002        (p_tcnv_rec.khr_id <> Okc_Api.G_MISS_NUM) THEN
1003 
1004         OPEN okl_tcnv_fk_csr(p_tcnv_rec.KHR_ID);
1005         FETCH okl_tcnv_fk_csr INTO l_dummy;
1006         l_row_notfound := okl_tcnv_fk_csr%NOTFOUND;
1007         CLOSE okl_tcnv_fk_csr;
1008         IF (l_row_notfound) THEN
1009           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'KHR_ID');
1010           RAISE item_not_found_error;
1011         END IF;
1012     END IF;
1013 
1014   EXCEPTION
1015     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1016     -- no processing necessary; validation can continue
1017     -- with the next column
1018     NULL;
1019 
1020     WHEN item_not_found_error THEN
1021       x_return_status := Okc_Api.G_RET_STS_ERROR;
1022 
1023     WHEN OTHERS THEN
1024       -- store SQL error message on message stack for caller
1025       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1026                           ,p_msg_name      => g_unexpected_error
1027                           ,p_token1        => g_sqlcode_token
1028                           ,p_token1_value  => SQLCODE
1029                           ,p_token2        => g_sqlerrm_token
1030                           ,p_token2_value  => SQLERRM);
1031 
1032        -- notify caller of an UNEXPECTED error
1033        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1034 
1035   END Validate_Khr_Id;
1036 
1037 
1038   ---------------------------------------------------------------------------
1039   -- Start of comments
1040   --
1041   -- Procedure Name   : Validate_Khr_Id_New
1042   -- Description      :
1043   -- Business Rules   :
1044   -- Parameters       :
1045   -- Version          : 1.0
1046   -- End of comments
1047   ---------------------------------------------------------------------------
1048   PROCEDURE Validate_Khr_Id_New (p_tcnv_rec IN  tcnv_rec_type
1049                          ,x_return_status OUT NOCOPY VARCHAR2)
1050   IS
1051   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
1052   l_dummy                       VARCHAR2(1);
1053   l_row_notfound                    BOOLEAN := TRUE;
1054   item_not_found_error              EXCEPTION;
1055 
1056   CURSOR okl_tcnv_fk_csr (p_id IN NUMBER) IS
1057   SELECT  '1'
1058   FROM Okl_K_Headers_V
1059   WHERE okl_k_headers_v.id = p_id;
1060 
1061 
1062   BEGIN
1063 
1064     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1065 
1066     IF (p_tcnv_rec.khr_id_New IS NOT NULL) AND
1067        (p_tcnv_rec.khr_id_New <> Okc_Api.G_MISS_NUM) THEN
1068 
1069         OPEN okl_tcnv_fk_csr(p_tcnv_rec.KHR_ID_NEW);
1070         FETCH okl_tcnv_fk_csr INTO l_dummy;
1071         l_row_notfound := okl_tcnv_fk_csr%NOTFOUND;
1072         CLOSE okl_tcnv_fk_csr;
1073         IF (l_row_notfound) THEN
1074           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'KHR_ID_NEW');
1075           RAISE item_not_found_error;
1076         END IF;
1077     END IF;
1078 
1079   EXCEPTION
1080     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1081     -- no processing necessary; validation can continue
1082     -- with the next column
1083     NULL;
1084 
1085     WHEN item_not_found_error THEN
1086       x_return_status := Okc_Api.G_RET_STS_ERROR;
1087 
1088     WHEN OTHERS THEN
1089       -- store SQL error message on message stack for caller
1090       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1091                           ,p_msg_name      => g_unexpected_error
1092                           ,p_token1        => g_sqlcode_token
1093                           ,p_token1_value  => SQLCODE
1094                           ,p_token2        => g_sqlerrm_token
1095                           ,p_token2_value  => SQLERRM);
1096 
1097        -- notify caller of an UNEXPECTED error
1098        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1099 
1100   END Validate_Khr_Id_New;
1101 
1102   ---------------------------------------------------------------------------
1103   -- PROCEDURE Validate_Khr_Id_Old
1104   ---------------------------------------------------------------------------
1105   -- Start of comments
1106   --
1107   -- Procedure Name   : Validate_Khr_Id_Old
1108   -- Description      :
1109   -- Business Rules   :
1110   -- Parameters       :
1111   -- Version          : 1.0
1112   -- End of comments
1113   ---------------------------------------------------------------------------
1114   PROCEDURE Validate_Khr_Id_Old (p_tcnv_rec IN  tcnv_rec_type
1115                          ,x_return_status OUT NOCOPY VARCHAR2)
1116   IS
1117   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
1118   l_dummy                       VARCHAR2(1);
1119   l_row_notfound                    BOOLEAN := TRUE;
1120   item_not_found_error              EXCEPTION;
1121 
1122   CURSOR okl_tcnv_fk_csr (p_id IN NUMBER) IS
1123   SELECT  '1'
1124   FROM Okl_K_Headers_V
1125   WHERE okl_k_headers_v.id = p_id;
1126 
1127 
1128   BEGIN
1129 
1130     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1131 
1132     IF (p_tcnv_rec.khr_id_Old IS NOT NULL) AND
1133        (p_tcnv_rec.khr_id_Old <> Okc_Api.G_MISS_NUM) THEN
1134 
1135         OPEN okl_tcnv_fk_csr(p_tcnv_rec.KHR_ID_OLD);
1136         FETCH okl_tcnv_fk_csr INTO l_dummy;
1137         l_row_notfound := okl_tcnv_fk_csr%NOTFOUND;
1138         CLOSE okl_tcnv_fk_csr;
1139         IF (l_row_notfound) THEN
1140           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'KHR_ID_OLD');
1141           RAISE item_not_found_error;
1142         END IF;
1143     END IF;
1144 
1145   EXCEPTION
1146     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1147     -- no processing necessary; validation can continue
1148     -- with the next column
1149     NULL;
1150 
1151     WHEN item_not_found_error THEN
1152       x_return_status := Okc_Api.G_RET_STS_ERROR;
1153 
1154     WHEN OTHERS THEN
1155       -- store SQL error message on message stack for caller
1156       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1157                           ,p_msg_name      => g_unexpected_error
1158                           ,p_token1        => g_sqlcode_token
1159                           ,p_token1_value  => SQLCODE
1160                           ,p_token2        => g_sqlerrm_token
1161                           ,p_token2_value  => SQLERRM);
1162 
1163        -- notify caller of an UNEXPECTED error
1164        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1165 
1166   END Validate_Khr_Id_Old;
1167 
1168 
1169   ---------------------------------------------------------------------------
1170   -- PROCEDURE Validate_Pvn_Id
1171   ---------------------------------------------------------------------------
1172   -- Start of comments
1173   --
1174   -- Procedure Name   : Validate_Pvn_Id
1175   -- Description      :
1176   -- Business Rules   :
1177   -- Parameters       :
1178   -- Version          : 1.0
1179   -- End of comments
1180   ---------------------------------------------------------------------------
1181   PROCEDURE Validate_Pvn_Id (p_tcnv_rec IN  tcnv_rec_type
1182                             ,x_return_status OUT NOCOPY VARCHAR2)
1183   IS
1184   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
1185   l_dummy                       VARCHAR2(1);
1186   l_row_notfound                    BOOLEAN := TRUE;
1187   item_not_found_error              EXCEPTION;
1188 
1189   CURSOR pvn_csr (v_pvn_id IN NUMBER) IS
1190   SELECT  '1'
1191   FROM OKL_PROVISIONS_V
1192   WHERE ID = v_pvn_id;
1193 
1194 
1195   BEGIN
1196 
1197     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1198 
1199     IF (p_tcnv_rec.pvn_id IS NOT NULL) AND
1200        (p_tcnv_rec.pvn_id <> Okc_Api.G_MISS_NUM) THEN
1201 
1202         OPEN pvn_csr(p_tcnv_rec.PVN_ID);
1203         FETCH pvn_csr INTO l_dummy;
1204         l_row_notfound := pvn_csr%NOTFOUND;
1205         CLOSE pvn_csr;
1206         IF (l_row_notfound) THEN
1207           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'PVN_ID');
1208           RAISE item_not_found_error;
1209         END IF;
1210     END IF;
1211 
1212   EXCEPTION
1213     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1214     -- no processing necessary; validation can continue
1215     -- with the next column
1216     NULL;
1217 
1218     WHEN item_not_found_error THEN
1219       x_return_status := Okc_Api.G_RET_STS_ERROR;
1220 
1221     WHEN OTHERS THEN
1222       -- store SQL error message on message stack for caller
1223       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1224                           ,p_msg_name      => g_unexpected_error
1225                           ,p_token1        => g_sqlcode_token
1226                           ,p_token1_value  => SQLCODE
1227                           ,p_token2        => g_sqlerrm_token
1228                           ,p_token2_value  => SQLERRM);
1229 
1230        -- notify caller of an UNEXPECTED error
1231        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1232 
1233   END Validate_PVN_Id;
1234 
1235   ---------------------------------------------------------------------------
1236   -- PROCEDURE Validate_PDT_Id
1237   ---------------------------------------------------------------------------
1238   -- Start of comments
1239   --
1240   -- Procedure Name   : Validate_Pdt_Id
1241   -- Description      :
1242   -- Business Rules   :
1243   -- Parameters       :
1244   -- Version          : 1.0
1245   -- End of comments
1246   ---------------------------------------------------------------------------
1247   PROCEDURE Validate_Pdt_Id (p_tcnv_rec IN  tcnv_rec_type
1248                             ,x_return_status OUT NOCOPY VARCHAR2)
1249   IS
1250   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
1251   l_dummy                       VARCHAR2(1);
1252   l_row_notfound                    BOOLEAN := TRUE;
1253   item_not_found_error              EXCEPTION;
1254 
1255   CURSOR pdt_csr (v_pdt_id IN NUMBER) IS
1256   SELECT  '1'
1257   FROM OKL_PRODUCTS_V
1258   WHERE ID = v_pdt_id;
1259 
1260 
1261   BEGIN
1262 
1263     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1264 
1265     IF (p_tcnv_rec.pdt_id IS NOT NULL) AND
1266        (p_tcnv_rec.pdt_id <> Okc_Api.G_MISS_NUM) THEN
1267 
1268         OPEN pdt_csr(p_tcnv_rec.PDT_ID);
1269         FETCH pdt_csr INTO l_dummy;
1270         l_row_notfound := pdt_csr%NOTFOUND;
1271         CLOSE pdt_csr;
1272         IF (l_row_notfound) THEN
1273           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'PDT_ID');
1274           RAISE item_not_found_error;
1275         END IF;
1276     END IF;
1277 
1278   EXCEPTION
1279     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1280     -- no processing necessary; validation can continue
1281     -- with the next column
1282     NULL;
1283 
1284     WHEN item_not_found_error THEN
1285       x_return_status := Okc_Api.G_RET_STS_ERROR;
1286 
1287     WHEN OTHERS THEN
1288       -- store SQL error message on message stack for caller
1289       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1290                           ,p_msg_name      => g_unexpected_error
1291                           ,p_token1        => g_sqlcode_token
1292                           ,p_token1_value  => SQLCODE
1293                           ,p_token2        => g_sqlerrm_token
1294                           ,p_token2_value  => SQLERRM);
1295 
1296        -- notify caller of an UNEXPECTED error
1297        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1298 
1299   END Validate_PDT_Id;
1300 
1301 
1302   ---------------------------------------------------------------------------
1303   -- PROCEDURE Validate_Qte_Id
1304   ---------------------------------------------------------------------------
1305   -- Start of comments
1306   --
1307   -- Procedure Name   : Validate_Qte_ID
1308   -- Description      :
1309   -- Business Rules   :
1310   -- Parameters       :
1311   -- Version          : 1.0
1312   -- End of comments
1313   ---------------------------------------------------------------------------
1314   PROCEDURE Validate_Qte_Id (p_tcnv_rec IN  tcnv_rec_type
1315                             ,x_return_status OUT NOCOPY VARCHAR2)
1316   IS
1317   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
1318   l_dummy                       VARCHAR2(1);
1319   l_row_notfound                    BOOLEAN := TRUE;
1320   item_not_found_error              EXCEPTION;
1321 
1322   CURSOR qte_csr (v_qte_id IN NUMBER) IS
1323   SELECT  '1'
1324   FROM OKL_TRX_QUOTES_V
1325   WHERE ID = v_qte_id;
1326 
1327 
1328   BEGIN
1329 
1330     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1331 
1332     IF (p_tcnv_rec.qte_id IS NOT NULL) AND
1333        (p_tcnv_rec.qte_id <> Okc_Api.G_MISS_NUM) THEN
1334 
1335         OPEN qte_csr(p_tcnv_rec.QTE_ID);
1336         FETCH qte_csr INTO l_dummy;
1337         l_row_notfound := qte_csr%NOTFOUND;
1338         CLOSE qte_csr;
1339         IF (l_row_notfound) THEN
1340           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'QTE_ID');
1341           RAISE item_not_found_error;
1342         END IF;
1343     END IF;
1344 
1345   EXCEPTION
1346     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1347     -- no processing necessary; validation can continue
1348     -- with the next column
1349     NULL;
1350 
1351     WHEN item_not_found_error THEN
1352       x_return_status := Okc_Api.G_RET_STS_ERROR;
1353 
1354     WHEN OTHERS THEN
1355       -- store SQL error message on message stack for caller
1356       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1357                           ,p_msg_name      => g_unexpected_error
1358                           ,p_token1        => g_sqlcode_token
1359                           ,p_token1_value  => SQLCODE
1360                           ,p_token2        => g_sqlerrm_token
1361                           ,p_token2_value  => SQLERRM);
1362 
1363        -- notify caller of an UNEXPECTED error
1364        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1365 
1366   END Validate_Qte_Id;
1367 
1368 --Added by dpsingh for LE Uptake
1369 ---------------------------------------------------------------------------
1370   -- PROCEDURE Validate_LE_Id
1371   ---------------------------------------------------------------------------
1372   -- Start of comments
1373   --
1374   -- Procedure Name   : Validate_LE_Id
1375   -- Description      :
1376   -- Business Rules   :
1377   -- Parameters       :
1378   -- Version          : 1.0
1379   -- End of comments
1380   ---------------------------------------------------------------------------
1381   PROCEDURE Validate_LE_Id(p_tcnv_rec IN  tcnv_rec_type
1382                             ,x_return_status OUT NOCOPY VARCHAR2)
1383   IS
1384   l_return_status                   VARCHAR2(1)    := Okl_Api.G_RET_STS_SUCCESS;
1385   l_dummy                       VARCHAR2(1);
1386   item_not_found_error              EXCEPTION;
1387 
1388   BEGIN
1389 
1390     x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1391 
1392     IF (p_tcnv_rec.legal_entity_id IS NOT NULL) AND
1393        (p_tcnv_rec.legal_entity_id <> Okl_Api.G_MISS_NUM) THEN
1394 
1395         l_dummy := OKL_LEGAL_ENTITY_UTIL.check_le_id_exists(p_tcnv_rec.legal_entity_id);
1396           IF  l_dummy <>1 THEN
1397           Okl_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'LEGAL_ENTITY_ID');
1398           RAISE item_not_found_error;
1399         END IF;
1400     END IF;
1401 
1402   EXCEPTION
1403     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1404     -- no processing necessary; validation can continue
1405     -- with the next column
1406     NULL;
1407 
1408     WHEN item_not_found_error THEN
1409       x_return_status := Okl_Api.G_RET_STS_ERROR;
1410 
1411     WHEN OTHERS THEN
1412       -- store SQL error message on message stack for caller
1413       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1414                           ,p_msg_name      => g_unexpected_error
1415                           ,p_token1        => g_sqlcode_token
1416                           ,p_token1_value  => SQLCODE
1417                           ,p_token2        => g_sqlerrm_token
1418                           ,p_token2_value  => SQLERRM);
1419 
1420        -- notify caller of an UNEXPECTED error
1421        x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
1422 
1423   END Validate_LE_Id;
1424 
1425   ---------------------------------------------------------------------------
1426   -- PROCEDURE Validate_AES_Id
1427   ---------------------------------------------------------------------------
1428   -- Start of comments
1429   --
1430   -- Procedure Name   : Validate_AES_ID
1431   -- Description      :
1432   -- Business Rules   :
1433   -- Parameters       :
1434   -- Version          : 1.0
1435   -- End of comments
1436   ---------------------------------------------------------------------------
1437   PROCEDURE Validate_AES_Id (p_tcnv_rec IN  tcnv_rec_type
1438                             ,x_return_status OUT NOCOPY VARCHAR2)
1439   IS
1440   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
1441   l_dummy                       VARCHAR2(1);
1442   l_row_notfound                    BOOLEAN := TRUE;
1443   item_not_found_error              EXCEPTION;
1444 
1445   CURSOR aes_csr (v_aes_id IN NUMBER) IS
1446   SELECT  '1'
1447   FROM OKL_AE_TMPT_SETS_V
1448   WHERE ID = v_aes_id;
1449 
1450 
1451   BEGIN
1452 
1453     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1454 
1455     IF (p_tcnv_rec.aes_id IS NOT NULL) AND
1456        (p_tcnv_rec.aes_id <> Okc_Api.G_MISS_NUM) THEN
1457 
1458         OPEN aes_csr(p_tcnv_rec.AES_ID);
1459         FETCH aes_csr INTO l_dummy;
1460         l_row_notfound := aes_csr%NOTFOUND;
1461         CLOSE aes_csr;
1462         IF (l_row_notfound) THEN
1463           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'AES_ID');
1464           RAISE item_not_found_error;
1465         END IF;
1466     END IF;
1467 
1468   EXCEPTION
1469     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1470     -- no processing necessary; validation can continue
1471     -- with the next column
1472     NULL;
1473 
1474     WHEN item_not_found_error THEN
1475       x_return_status := Okc_Api.G_RET_STS_ERROR;
1476 
1477     WHEN OTHERS THEN
1478       -- store SQL error message on message stack for caller
1479       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1480                           ,p_msg_name      => g_unexpected_error
1481                           ,p_token1        => g_sqlcode_token
1482                           ,p_token1_value  => SQLCODE
1483                           ,p_token2        => g_sqlerrm_token
1484                           ,p_token2_value  => SQLERRM);
1485 
1486        -- notify caller of an UNEXPECTED error
1487        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1488 
1489   END Validate_AES_Id;
1490 
1491   ---------------------------------------------------------------------------
1492   -- PROCEDURE Validate_Object_Version_Number
1493   ---------------------------------------------------------------------------
1494   -- Start of comments
1495   --
1496   -- Procedure Name   : Validate_Object_Version_Number
1497   -- Description      :
1498   -- Business Rules   :
1499   -- Parameters       :
1500   -- Version          : 1.0
1501   -- End of comments
1502   ---------------------------------------------------------------------------
1503   PROCEDURE Validate_Object_Version_Number (p_tcnv_rec      IN  tcnv_rec_type
1504                                             ,x_return_status OUT NOCOPY VARCHAR2)
1505   IS
1506   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
1507 
1508   BEGIN
1509     -- initialize return status
1510     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1511 
1512     -- check for data before processing
1513     IF (p_tcnv_rec.object_version_number IS NULL) OR
1514        (p_tcnv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
1515        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1516                            ,p_msg_name      => g_required_value
1517                            ,p_token1        => g_col_name_token
1518                            ,p_token1_value  => 'object_version_number');
1519        x_return_status     := Okc_Api.G_RET_STS_ERROR;
1520        RAISE G_EXCEPTION_HALT_VALIDATION;
1521     END IF;
1522 
1523   EXCEPTION
1524     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1525     -- no processing necessary; validation can continue
1526     -- with the next column
1527     NULL;
1528 
1529     WHEN OTHERS THEN
1530       -- store SQL error message on message stack for caller
1531       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1532                           ,p_msg_name      => g_unexpected_error
1533                           ,p_token1        => g_sqlcode_token
1534                           ,p_token1_value  => SQLCODE
1535                           ,p_token2        => g_sqlerrm_token
1536                           ,p_token2_value  => SQLERRM);
1537 
1538        -- notify caller of an UNEXPECTED error
1539        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1540 
1541   END Validate_Object_Version_Number;
1542 
1543   ---------------------------------------------------------------------------
1544   -- PROCEDURE Validate_Tcn_Type
1545   ---------------------------------------------------------------------------
1546   -- Start of comments
1547   --
1548   -- Procedure Name   : Validate_Tcn_Type
1549   -- Description      :
1550   -- Business Rules   :
1551   -- Parameters       :
1552   -- Version          : 1.0
1553   -- End of comments
1554   ---------------------------------------------------------------------------
1555   PROCEDURE Validate_Tcn_Type (p_tcnv_rec      IN  tcnv_rec_type
1556                                ,x_return_status OUT NOCOPY VARCHAR2)
1557   IS
1558   l_dummy                   VARCHAR2(1)    := OKL_API.G_FALSE;
1559 
1560   BEGIN
1561     -- initialize return status
1562     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1563 
1564     -- check for data before processing
1565     IF (p_tcnv_rec.tcn_type IS NULL) OR
1566        (p_tcnv_rec.tcn_type = Okc_Api.G_MISS_CHAR) THEN
1567        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1568                            ,p_msg_name      => g_required_value
1569                            ,p_token1        => g_col_name_token
1570                            ,p_token1_value  => 'tcn_type');
1571        x_return_status     := Okc_Api.G_RET_STS_ERROR;
1572        RAISE G_EXCEPTION_HALT_VALIDATION;
1573     END IF;
1574 
1575     -- check in fnd_lookups for validity
1576 
1577     l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1578                               (p_lookup_type => 'OKL_TCN_TYPE',
1579                                p_lookup_code => p_tcnv_rec.tcn_type);
1580 
1581     IF (l_dummy = OKL_API.G_FALSE) THEN
1582        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1583                           ,p_msg_name       => g_invalid_value
1584                           ,p_token1         => g_col_name_token
1585                           ,p_token1_value   => 'tcn_type');
1586        x_return_status    := Okc_Api.G_RET_STS_ERROR;
1587        RAISE G_EXCEPTION_HALT_VALIDATION;
1588     END IF;
1589 
1590   EXCEPTION
1591     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1592     -- no processing necessary; validation can continue
1593     -- with the next column
1594     NULL;
1595 
1596     WHEN OTHERS THEN
1597       -- store SQL error message on message stack for caller
1598       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1599                           ,p_msg_name      => g_unexpected_error
1600                           ,p_token1        => g_sqlcode_token
1601                           ,p_token1_value  => SQLCODE
1602                           ,p_token2        => g_sqlerrm_token
1603                           ,p_token2_value  => SQLERRM);
1604 
1605        -- notify caller of an UNEXPECTED error
1606        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1607   END Validate_Tcn_Type;
1608 
1609 
1610  ---------------------------------------------------------------------------
1611   -- PROCEDURE Validate_Rjn_Code
1612   ---------------------------------------------------------------------------
1613   -- Start of comments
1614   --
1615   -- Procedure Name   : Validate_Rjn_Code
1616   -- Description      :
1617   -- Business Rules   :
1618   -- Parameters       :
1619   -- Version          : 1.0
1620   -- End of comments
1621   ---------------------------------------------------------------------------
1622   PROCEDURE Validate_Rjn_Code (p_tcnv_rec      IN  tcnv_rec_type
1623                               ,x_return_status OUT NOCOPY VARCHAR2)
1624   IS
1625   l_dummy                   VARCHAR2(1)    := OKL_API.G_FALSE;
1626 
1627   BEGIN
1628     -- initialize return status
1629     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1630 
1631      -- check in fnd_lookups for validity
1632 
1633     l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1634                               (p_lookup_type => 'OKL_REJECTION_REASON',
1635                                p_lookup_code => p_tcnv_rec.rjn_code);
1636 
1637     IF (l_dummy = OKL_API.G_FALSE) THEN
1638        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1639                           ,p_msg_name       => g_invalid_value
1640                           ,p_token1         => g_col_name_token
1641                           ,p_token1_value   => 'rjn_code');
1642        x_return_status    := Okc_Api.G_RET_STS_ERROR;
1643        RAISE G_EXCEPTION_HALT_VALIDATION;
1644     END IF;
1645 
1646   EXCEPTION
1647     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1648    -- no processing necessary; validation can continue
1649     -- with the next column
1650     NULL;
1651 
1652     WHEN OTHERS THEN
1653       -- store SQL error message on message stack for caller
1654       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1655                           ,p_msg_name      => g_unexpected_error
1656                           ,p_token1        => g_sqlcode_token
1657                           ,p_token1_value  => SQLCODE
1658                           ,p_token2        => g_sqlerrm_token
1659                           ,p_token2_value  => SQLERRM);
1660 
1661        -- notify caller of an UNEXPECTED error
1662        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1663 
1664   END Validate_Rjn_Code;
1665 
1666 
1667 
1668   ---------------------------------------------------------------------------
1669   -- PROCEDURE Validate_CCID
1670   ---------------------------------------------------------------------------
1671   -- Start of comments
1672   --
1673   -- Procedure Name   : Validate_CCID
1674   -- Description      :
1675   -- Business Rules   :
1676   -- Parameters       :
1677   -- Version          : 1.0
1678   -- End of comments
1679   ---------------------------------------------------------------------------
1680   PROCEDURE Validate_CCID (p_tcnv_rec      IN  tcnv_rec_type
1681                           ,x_return_status OUT NOCOPY VARCHAR2)
1682   IS
1683   l_dummy                   VARCHAR2(1)    := OKL_API.G_FALSE;
1684 
1685   BEGIN
1686     -- initialize return status
1687     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1688 
1689     -- check for data before processing
1690     IF (p_tcnv_rec.code_combination_id IS NOT NULL) AND
1691        (p_tcnv_rec.code_combination_id <> Okc_Api.G_MISS_NUM) THEN
1692 
1693       l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_GL_CCID(p_tcnv_rec.Code_Combination_Id);
1694 
1695       IF (l_dummy = OKL_API.G_FALSE) THEN
1696        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1697                           ,p_msg_name       => g_invalid_value
1698                           ,p_token1         => g_col_name_token
1699                           ,p_token1_value   => 'code_Combination_id');
1700        x_return_status    := Okc_Api.G_RET_STS_ERROR;
1701        RAISE G_EXCEPTION_HALT_VALIDATION;
1702       END IF;
1703    END IF;
1704 
1705   EXCEPTION
1706     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1707     -- no processing necessary; validation can continue
1708     -- with the next column
1709     NULL;
1710 
1711     WHEN OTHERS THEN
1712       -- store SQL error message on message stack for caller
1713       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1714                           ,p_msg_name      => g_unexpected_error
1715                           ,p_token1        => g_sqlcode_token
1716                           ,p_token1_value  => SQLCODE
1717                           ,p_token2        => g_sqlerrm_token
1718                           ,p_token2_value  => SQLERRM);
1719 
1720        -- notify caller of an UNEXPECTED error
1721        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1722 
1723   END Validate_CCID;
1724 
1725 
1726   ---------------------------------------------------------------------------
1727   -- PROCEDURE Validate_Accrual_Status_YN
1728   ---------------------------------------------------------------------------
1729   -- Start of comments
1730   --
1731   -- Procedure Name  : Validate_Accrual_Status_YN
1732   -- Description     :
1733   -- Business Rules  :
1734   -- Parameters      :
1735   -- Version         : 1.0
1736   -- End of comments
1737   ---------------------------------------------------------------------------
1738 
1739   PROCEDURE Validate_Accrual_Status_YN(p_tcnv_rec      IN      tcnv_rec_type
1740 				      ,x_return_status OUT NOCOPY     VARCHAR2)
1741   IS
1742 
1743   l_dummy         VARCHAR2(1)  := Okc_Api.G_FALSE;
1744   l_app_id        NUMBER := 0;
1745   l_view_app_id   NUMBER := 0;
1746 
1747   BEGIN
1748     -- initialize return status
1749     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1750 
1751     -- check for data before processing
1752     IF (p_tcnv_rec.accrual_status_yn IS NOT NULL) AND
1753        (p_tcnv_rec.accrual_status_yn <> Okc_Api.G_MISS_CHAR) THEN
1754        -- check in fnd_lookups for validity
1755       l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1756                               (p_lookup_type => 'YES_NO',
1757                                p_lookup_code => p_tcnv_rec.accrual_status_yn,
1758                                p_app_id      => l_app_id,
1759                                p_view_app_id => l_view_app_id);
1760        IF (l_dummy = OKL_API.G_FALSE) THEN
1761           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1762                              ,p_msg_name       => g_invalid_value
1763                              ,p_token1         => g_col_name_token
1764                              ,p_token1_value   => 'accrual_status_yn');
1765           x_return_status    := Okc_Api.G_RET_STS_ERROR;
1766           RAISE G_EXCEPTION_HALT_VALIDATION;
1767        END IF;
1768     END IF;
1769 
1770   EXCEPTION
1771     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1772     -- no processing neccessary; validation can continue
1773     -- with the next column
1774     NULL;
1775 
1776     WHEN OTHERS THEN
1777       -- store SQL error message on message stack for caller
1778       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
1779                           p_msg_name     => g_unexpected_error,
1780                           p_token1       => g_sqlcode_token,
1781                           p_token1_value => SQLCODE,
1782                           p_token2       => g_sqlerrm_token,
1783                           p_token2_value => SQLERRM);
1784 
1785       -- notify caller of an UNEXPECTED error
1786       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1787 
1788   END Validate_Accrual_Status_YN;
1789 
1790   ---------------------------------------------------------------------------
1791   -- PROCEDURE Validate_Update_Status_YN
1792   ---------------------------------------------------------------------------
1793   -- Start of comments
1794   --
1795   -- Procedure Name  : Validate_Update_Status_YN
1796   -- Description     :
1797   -- Business Rules  :
1798   -- Parameters      :
1799   -- Version         : 1.0
1800   -- End of comments
1801   ---------------------------------------------------------------------------
1802   PROCEDURE Validate_Update_Status_YN(p_tcnv_rec      IN      tcnv_rec_type
1803 						   ,x_return_status OUT NOCOPY     VARCHAR2)
1804   IS
1805 
1806   l_return_status         VARCHAR2(1)  := Okc_Api.G_RET_STS_SUCCESS;
1807   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
1808   l_app_id  NUMBER := 0;
1809   l_view_app_id NUMBER := 0;
1810 
1811 
1812   BEGIN
1813     -- initialize return status
1814     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1815 
1816     -- check for data before processing
1817     IF (p_tcnv_rec.update_status_yn IS NOT NULL) AND
1818        (p_tcnv_rec.update_status_yn <> Okc_Api.G_MISS_CHAR) THEN
1819        -- check in fnd_lookups for validity
1820       l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1821                               (p_lookup_type => 'YES_NO',
1822                                p_lookup_code => p_tcnv_rec.update_status_yn,
1823                                p_app_id      => l_app_id,
1824                                p_view_app_id => l_view_app_id);
1825 
1826        IF (l_dummy = OKL_API.G_FALSE) THEN
1827           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1828                              ,p_msg_name       => g_invalid_value
1829                              ,p_token1         => g_col_name_token
1830                              ,p_token1_value   => 'update_status_yn');
1831           x_return_status    := Okc_Api.G_RET_STS_ERROR;
1832           RAISE G_EXCEPTION_HALT_VALIDATION;
1833        END IF;
1834 
1835     END IF;
1836 
1837 
1838   EXCEPTION
1839     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1840     -- no processing neccessary; validation can continue
1841     -- with the next column
1842     NULL;
1843 
1844     WHEN OTHERS THEN
1845       -- store SQL error message on message stack for caller
1846       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
1847                           p_msg_name     => g_unexpected_error,
1848                           p_token1       => g_sqlcode_token,
1849                           p_token1_value => SQLCODE,
1850                           p_token2       => g_sqlerrm_token,
1851                           p_token2_value => SQLERRM);
1852 
1853       -- notify caller of an UNEXPECTED error
1854       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1855 
1856   END Validate_Update_Status_YN;
1857 
1858 -- Added DJANASWA 02-Feb-2007 SLA project  begin
1859   ---------------------------------------------------------------------------
1860   -- PROCEDURE Validate_Account_Reversal_YN
1861   ---------------------------------------------------------------------------
1862   -- Start of comments
1863   --
1864   -- Procedure Name  : Validate_Account_Reversal_YN
1865   -- Description     :
1866   -- Business Rules  :
1867   -- Parameters      :
1868   -- Version         : 1.0
1869   -- End of comments
1870   ---------------------------------------------------------------------------
1871   PROCEDURE Validate_Account_Reversal_YN (p_tcnv_rec      IN      tcnv_rec_type
1872                                                    ,x_return_status OUT NOCOPY     VARCHAR2)
1873   IS
1874 
1875   l_return_status         VARCHAR2(1)  := Okc_Api.G_RET_STS_SUCCESS;
1876   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
1877   l_app_id  NUMBER := 0;
1878   l_view_app_id NUMBER := 0;
1879 
1880 
1881   BEGIN
1882     -- initialize return status
1883     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1884 
1885     -- check for data before processing
1886     IF (p_tcnv_rec.Accounting_Reversal_YN IS NOT NULL) AND
1887        (p_tcnv_rec.Accounting_Reversal_YN <> Okc_Api.G_MISS_CHAR) THEN
1888        -- check in fnd_lookups for validity
1889       l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1890                               (p_lookup_type => 'YES_NO',
1891                                p_lookup_code => p_tcnv_rec.Accounting_Reversal_YN,
1892                                p_app_id      => l_app_id,
1893                                p_view_app_id => l_view_app_id);
1894 
1895        IF (l_dummy = OKL_API.G_FALSE) THEN
1896           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1897                              ,p_msg_name       => g_invalid_value
1898                              ,p_token1         => g_col_name_token
1899                              ,p_token1_value   => 'Accounting_Reversal_YN');
1900           x_return_status    := Okc_Api.G_RET_STS_ERROR;
1901           RAISE G_EXCEPTION_HALT_VALIDATION;
1902        END IF;
1903 
1904     END IF;
1905 
1906 
1907   EXCEPTION
1908     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1909     -- no processing neccessary; validation can continue
1910     -- with the next column
1911     NULL;
1912 
1913     WHEN OTHERS THEN
1914       -- store SQL error message on message stack for caller
1915       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
1916                           p_msg_name     => g_unexpected_error,
1917                           p_token1       => g_sqlcode_token,
1918                           p_token1_value => SQLCODE,
1919                           p_token2       => g_sqlerrm_token,
1920                           p_token2_value => SQLERRM);
1921 
1922       -- notify caller of an UNEXPECTED error
1923       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1924 
1925   END Validate_Account_Reversal_YN;
1926 -- Added DJANASWA 02-Feb-2007 SLA project  end
1927 
1928   ---------------------------------------------------------------------------
1929   -- PROCEDURE Validate_Tax_Deductible_Local
1930   ---------------------------------------------------------------------------
1931   -- Start of comments
1932   --
1933   -- Procedure Name  : Validate_Tax_Deductible_Local
1934   -- Description     :
1935   -- Business Rules  :
1936   -- Parameters      :
1937   -- Version         : 1.0
1938   -- End of comments
1939   ---------------------------------------------------------------------------
1940   PROCEDURE Validate_Tax_Deductible_Local(p_tcnv_rec      IN      tcnv_rec_type
1941 						   ,x_return_status OUT NOCOPY     VARCHAR2)
1942   IS
1943 
1944   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
1945   l_app_id  NUMBER := 0;
1946   l_view_app_id NUMBER := 0;
1947 
1948   BEGIN
1949     -- initialize return status
1950     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1951 
1952     -- check for data before processing
1953     IF (p_tcnv_rec.tax_deductible_local IS NOT NULL) AND
1954        (p_tcnv_rec.tax_deductible_local <> Okc_Api.G_MISS_CHAR) THEN
1955        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1956                               (p_lookup_type => 'YES_NO',
1957                                p_lookup_code => p_tcnv_rec.tax_deductible_local,
1958                                p_app_id      => l_app_id,
1959                                p_view_app_id => l_view_app_id);
1960 
1961        IF (l_dummy = OKL_API.G_FALSE) THEN
1962           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
1963                              ,p_msg_name       => g_invalid_value
1964                              ,p_token1         => g_col_name_token
1965                              ,p_token1_value   => 'tax_deductible_local');
1966           x_return_status    := Okc_Api.G_RET_STS_ERROR;
1967           RAISE G_EXCEPTION_HALT_VALIDATION;
1968        END IF;
1969 
1970     END IF;
1971 
1972 
1973   EXCEPTION
1974     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1975     -- no processing neccessary; validation can continue
1976     -- with the next column
1977     NULL;
1978 
1979     WHEN OTHERS THEN
1980       -- store SQL error message on message stack for caller
1981       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
1982                           p_msg_name     => g_unexpected_error,
1983                           p_token1       => g_sqlcode_token,
1984                           p_token1_value => SQLCODE,
1985                           p_token2       => g_sqlerrm_token,
1986                           p_token2_value => SQLERRM);
1987 
1988       -- notify caller of an UNEXPECTED error
1989       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1990 
1991   END Validate_Tax_Deductible_Local;
1992 
1993 
1994   ---------------------------------------------------------------------------
1995   -- PROCEDURE validate_tax_deductible_corp
1996   ---------------------------------------------------------------------------
1997   -- Start of comments
1998   --
1999   -- Procedure Name  : validate_tax_deductible_corp
2000   -- Description     :
2001   -- Business Rules  :
2002   -- Parameters      :
2003   -- Version         : 1.0
2004   -- End of comments
2005   ---------------------------------------------------------------------------
2006   PROCEDURE validate_tax_deductible_corp(p_tcnv_rec      IN      tcnv_rec_type
2007 						   ,x_return_status OUT NOCOPY     VARCHAR2)
2008   IS
2009 
2010   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
2011   l_app_id  NUMBER := 0;
2012   l_view_app_id NUMBER := 0;
2013 
2014   BEGIN
2015     -- initialize return status
2016     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2017 
2018     -- check for data before processing
2019 
2020     IF (p_tcnv_rec.tax_deductible_corporate IS NOT NULL) AND
2021        (p_tcnv_rec.tax_deductible_corporate <> Okc_Api.G_MISS_CHAR) THEN
2022 
2023        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2024                               (p_lookup_type => 'YES_NO',
2025                                p_lookup_code => p_tcnv_rec.tax_deductible_corporate,
2026                                p_app_id      => l_app_id,
2027                                p_view_app_id => l_view_app_id);
2028 
2029        IF (l_dummy = OKL_API.G_FALSE) THEN
2030           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2031                              ,p_msg_name       => g_invalid_value
2032                              ,p_token1         => g_col_name_token
2033                              ,p_token1_value   => 'tax_deductible_corporate');
2034           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2035           RAISE G_EXCEPTION_HALT_VALIDATION;
2036 
2037        END IF;
2038 
2039     END IF;
2040 
2041 
2042   EXCEPTION
2043     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2044     -- no processing neccessary; validation can continue
2045     -- with the next column
2046     NULL;
2047 
2048     WHEN OTHERS THEN
2049       -- store SQL error message on message stack for caller
2050       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2051                           p_msg_name     => g_unexpected_error,
2052                           p_token1       => g_sqlcode_token,
2053                           p_token1_value => SQLCODE,
2054                           p_token2       => g_sqlerrm_token,
2055                           p_token2_value => SQLERRM);
2056 
2057       -- notify caller of an UNEXPECTED error
2058       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2059 
2060   END validate_tax_deductible_corp;
2061 
2062 
2063   ---------------------------------------------------------------------------
2064   -- PROCEDURE Validate_RBR_Code
2065   ---------------------------------------------------------------------------
2066   -- Start of comments
2067   --
2068   -- Procedure Name  : Validate_RBR_Code
2069   -- Description     :
2070   -- Business Rules  :
2071   -- Parameters      :
2072   -- Version         : 1.0
2073   -- End of comments
2074   ---------------------------------------------------------------------------
2075   PROCEDURE Validate_RBR_Code(p_tcnv_rec      IN      tcnv_rec_type
2076 			      ,x_return_status OUT NOCOPY     VARCHAR2)
2077   IS
2078 
2079   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
2080 
2081   BEGIN
2082     -- initialize return status
2083     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2084 
2085     -- check for data before processing
2086 
2087     IF (p_tcnv_rec.RBR_CODE IS NOT NULL) AND
2088        (p_tcnv_rec.RBR_CODE <> Okc_Api.G_MISS_CHAR) THEN
2089 
2090        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2091                               (p_lookup_type => 'OKL_REBOOK_REASON',
2092                                p_lookup_code => p_tcnv_rec.RBR_CODE);
2093 
2094        IF (l_dummy = OKL_API.G_FALSE) THEN
2095           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2096                              ,p_msg_name       => g_invalid_value
2097                              ,p_token1         => g_col_name_token
2098                              ,p_token1_value   => 'RBR_CODE');
2099           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2100           RAISE G_EXCEPTION_HALT_VALIDATION;
2101 
2102        END IF;
2103 
2104     END IF;
2105 
2106 
2107   EXCEPTION
2108     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2109     -- no processing neccessary; validation can continue
2110     -- with the next column
2111     NULL;
2112 
2113     WHEN OTHERS THEN
2114       -- store SQL error message on message stack for caller
2115       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2116                           p_msg_name     => g_unexpected_error,
2117                           p_token1       => g_sqlcode_token,
2118                           p_token1_value => SQLCODE,
2119                           p_token2       => g_sqlerrm_token,
2120                           p_token2_value => SQLERRM);
2121 
2122       -- notify caller of an UNEXPECTED error
2123       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2124 
2125   END Validate_RBR_Code;
2126 
2127 
2128   ---------------------------------------------------------------------------
2129   -- PROCEDURE Validate_RPY_Code
2130   ---------------------------------------------------------------------------
2131   -- Start of comments
2132   --
2133   -- Procedure Name  : Validate_RPY_Code
2134   -- Description     :
2135   -- Business Rules  :
2136   -- Parameters      :
2137   -- Version         : 1.0
2138   -- End of comments
2139   ---------------------------------------------------------------------------
2140   PROCEDURE Validate_RPY_Code(p_tcnv_rec      IN      tcnv_rec_type
2141 			      ,x_return_status OUT NOCOPY     VARCHAR2)
2142   IS
2143 
2144   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
2145 
2146   BEGIN
2147     -- initialize return status
2148     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2149 
2150     -- check for data before processing
2151 
2152     IF (p_tcnv_rec.RPY_CODE IS NOT NULL) AND
2153        (p_tcnv_rec.RPY_CODE <> Okc_Api.G_MISS_CHAR) THEN
2154 
2155        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2156                               (p_lookup_type => 'OKL_REBOOK_PROCESS_TYPE',
2157                                p_lookup_code => p_tcnv_rec.RPY_CODE);
2158 
2159        IF (l_dummy = OKL_API.G_FALSE) THEN
2160           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2161                              ,p_msg_name       => g_invalid_value
2162                              ,p_token1         => g_col_name_token
2163                              ,p_token1_value   => 'RPY_CODE');
2164           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2165           RAISE G_EXCEPTION_HALT_VALIDATION;
2166 
2167        END IF;
2168 
2169     END IF;
2170 
2171 
2172   EXCEPTION
2173     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2174     -- no processing neccessary; validation can continue
2175     -- with the next column
2176     NULL;
2177 
2178     WHEN OTHERS THEN
2179       -- store SQL error message on message stack for caller
2180       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2181                           p_msg_name     => g_unexpected_error,
2182                           p_token1       => g_sqlcode_token,
2183                           p_token1_value => SQLCODE,
2184                           p_token2       => g_sqlerrm_token,
2185                           p_token2_value => SQLERRM);
2186 
2187       -- notify caller of an UNEXPECTED error
2188       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2189 
2190   END Validate_RPY_Code;
2191 
2192   ---------------------------------------------------------------------------
2193   -- PROCEDURE Validate_RVN_Code
2194   ---------------------------------------------------------------------------
2195   -- Start of comments
2196   --
2197   -- Procedure Name  : Validate_RVN_Code
2198   -- Description     :
2199   -- Business Rules  :
2200   -- Parameters      :
2201   -- Version         : 1.0
2202   -- End of comments
2203   ---------------------------------------------------------------------------
2204   PROCEDURE Validate_RVN_Code(p_tcnv_rec      IN      tcnv_rec_type
2205 			      ,x_return_status OUT NOCOPY     VARCHAR2)
2206   IS
2207 
2208   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
2209 
2210   BEGIN
2211     -- initialize return status
2212     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2213 
2214     -- check for data before processing
2215 
2216     IF (p_tcnv_rec.RVN_CODE IS NOT NULL) AND
2217        (p_tcnv_rec.RVN_CODE <> Okc_Api.G_MISS_CHAR) THEN
2218 
2219        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2220                               (p_lookup_type => 'OKL_REVERSE_REASON',
2221                                p_lookup_code => p_tcnv_rec.RVN_CODE);
2222 
2223        IF (l_dummy = OKL_API.G_FALSE) THEN
2224           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2225                              ,p_msg_name       => g_invalid_value
2226                              ,p_token1         => g_col_name_token
2227                              ,p_token1_value   => 'RVN_CODE');
2228           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2229           RAISE G_EXCEPTION_HALT_VALIDATION;
2230 
2231        END IF;
2232 
2233     END IF;
2234 
2235 
2236   EXCEPTION
2237     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2238     -- no processing neccessary; validation can continue
2239     -- with the next column
2240     NULL;
2241 
2242     WHEN OTHERS THEN
2243       -- store SQL error message on message stack for caller
2244       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2245                           p_msg_name     => g_unexpected_error,
2246                           p_token1       => g_sqlcode_token,
2247                           p_token1_value => SQLCODE,
2248                           p_token2       => g_sqlerrm_token,
2249                           p_token2_value => SQLERRM);
2250 
2251       -- notify caller of an UNEXPECTED error
2252       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2253 
2254   END Validate_RVN_Code;
2255 
2256 
2257   ---------------------------------------------------------------------------
2258   -- PROCEDURE Validate_TSU_Code
2259   ---------------------------------------------------------------------------
2260   -- Start of comments
2261   --
2262   -- Procedure Name  : Validate_TSU_Code
2263   -- Description     :
2264   -- Business Rules  :
2265   -- Parameters      :
2266   -- Version         : 1.0
2267   -- End of comments
2268   ---------------------------------------------------------------------------
2269   PROCEDURE Validate_TSU_Code(p_tcnv_rec      IN      tcnv_rec_type
2270 			     ,x_return_status OUT NOCOPY     VARCHAR2)
2271   IS
2272 
2273   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
2274 
2275   BEGIN
2276     -- initialize return status
2277     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2278 
2279     -- check for data before processing
2280     IF (p_tcnv_rec.tsu_code IS NULL) OR
2281        (p_tcnv_rec.tsu_code = OKC_API.G_MISS_CHAR) THEN
2282          OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2283                              p_msg_name => g_required_value,
2284                              p_token1   => g_col_name_token,
2285                              p_token1_value => 'TSU_CODE');
2286 
2287           x_return_status := OKC_API.G_RET_STS_ERROR;
2288           RAISE G_EXCEPTION_HALT_VALIDATION;
2289     END IF;
2290 
2291     l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2292                               (p_lookup_type => 'OKL_TRANSACTION_STATUS',
2293                                p_lookup_code => p_tcnv_rec.TSU_CODE);
2294 
2295     IF (l_dummy = OKL_API.G_FALSE) THEN
2296        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2297                              ,p_msg_name       => g_invalid_value
2298                              ,p_token1         => g_col_name_token
2299                              ,p_token1_value   => 'TSU_CODE');
2300        x_return_status    := Okc_Api.G_RET_STS_ERROR;
2301        RAISE G_EXCEPTION_HALT_VALIDATION;
2302 
2303     END IF;
2304 
2305 
2306   EXCEPTION
2307     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2308     -- no processing neccessary; validation can continue
2309     -- with the next column
2310     NULL;
2311 
2312     WHEN OTHERS THEN
2313       -- store SQL error message on message stack for caller
2314       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2315                           p_msg_name     => g_unexpected_error,
2316                           p_token1       => g_sqlcode_token,
2317                           p_token1_value => SQLCODE,
2318                           p_token2       => g_sqlerrm_token,
2319                           p_token2_value => SQLERRM);
2320 
2321       -- notify caller of an UNEXPECTED error
2322       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2323 
2324   END Validate_TSU_Code;
2325 
2326 
2327   ---------------------------------------------------------------------------
2328   -- PROCEDURE Validate_TRN_Code
2329   ---------------------------------------------------------------------------
2330   -- Start of comments
2331   --
2332   -- Procedure Name  : Validate_TRN_Code
2333   -- Description     :
2334   -- Business Rules  :
2335   -- Parameters      :
2336   -- Version         : 1.0
2337   -- End of comments
2338   ---------------------------------------------------------------------------
2339   PROCEDURE Validate_TRN_Code(p_tcnv_rec      IN      tcnv_rec_type
2340 			      ,x_return_status OUT NOCOPY     VARCHAR2)
2341   IS
2342 
2343   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
2344   l_app_id NUMBER := 510;
2345   l_view_app_id NUMBER := 0;
2346 
2347   BEGIN
2348     -- initialize return status
2349     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2350 
2351     -- check for data before processing
2352 
2353     IF (p_tcnv_rec.TRN_CODE IS NOT NULL) AND
2354        (p_tcnv_rec.TRN_CODE <> Okc_Api.G_MISS_CHAR) THEN
2355 
2356        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2357                               (p_lookup_type => 'OKC_TERMINATION_REASON',
2358                                p_lookup_code => p_tcnv_rec.TRN_CODE,
2359                                p_app_id      => l_app_id,
2360                                p_view_app_id => l_view_app_id);
2361 
2362        IF (l_dummy = OKL_API.G_FALSE) THEN
2363           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2364                              ,p_msg_name       => g_invalid_value
2365                              ,p_token1         => g_col_name_token
2366                              ,p_token1_value   => 'TRN_CODE');
2367           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2368           RAISE G_EXCEPTION_HALT_VALIDATION;
2369 
2370        END IF;
2371 
2372     END IF;
2373 
2374 
2375   EXCEPTION
2376     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2377     -- no processing neccessary; validation can continue
2378     -- with the next column
2379     NULL;
2380 
2381     WHEN OTHERS THEN
2382       -- store SQL error message on message stack for caller
2383       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2384                           p_msg_name     => g_unexpected_error,
2385                           p_token1       => g_sqlcode_token,
2386                           p_token1_value => SQLCODE,
2387                           p_token2       => g_sqlerrm_token,
2388                           p_token2_value => SQLERRM);
2389 
2390       -- notify caller of an UNEXPECTED error
2391       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2392 
2393   END Validate_TRN_Code;
2394 
2395   ---------------------------------------------------------------------------
2396   -- PROCEDURE Validate_currency_code
2397   ---------------------------------------------------------------------------
2398   -- Start of comments
2399   --
2400   -- Procedure Name  : Validate_currency_code
2401   -- Description     :
2402   -- Business Rules  :
2403   -- Parameters      :
2404   -- Version         : 1.0
2405   -- End of comments
2406   ---------------------------------------------------------------------------
2407   PROCEDURE Validate_currency_code(p_tcnv_rec      IN      tcnv_rec_type
2408 						  ,x_return_status OUT NOCOPY     VARCHAR2)
2409   IS
2410 
2411   l_Dummy         VARCHAR2(1)  := OKL_API.G_FALSE;
2412 
2413   BEGIN
2414     -- initialize return status
2415     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2416 
2417     -- check for data before processing
2418     IF (p_tcnv_rec.currency_code IS NULL) OR
2419        (p_tcnv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
2420          OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2421                              p_msg_name => g_required_value,
2422                              p_token1   => g_col_name_token,
2423                              p_token1_value => 'CURRENCY_CODE');
2424 
2425           x_return_status := OKC_API.G_RET_STS_ERROR;
2426           RAISE G_EXCEPTION_HALT_VALIDATION;
2427     END IF;
2428 
2429     l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_CURRENCY_CODE (p_tcnv_rec.currency_code);
2430 
2431     IF (l_dummy = okl_api.g_false) THEN
2432         Okc_Api.SET_MESSAGE(p_app_name   => g_app_name,
2433                        	    p_msg_name     => g_invalid_value,
2434                        	    p_token1       => g_col_name_token,
2435                        	    p_token1_value => 'CURRENCY_CODE');
2436         x_return_status := Okc_Api.G_RET_STS_ERROR;
2437 	RAISE G_EXCEPTION_HALT_VALIDATION;
2438     END IF;
2439 
2440 
2441   EXCEPTION
2442     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2443     -- no processing neccessary; validation can continue
2444     -- with the next column
2445     NULL;
2446 
2447     WHEN OTHERS THEN
2448       -- store SQL error message on message stack for caller
2449       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2450                           p_msg_name     => g_unexpected_error,
2451                           p_token1       => g_sqlcode_token,
2452                           p_token1_value => SQLCODE,
2453                           p_token2       => g_sqlerrm_token,
2454                           p_token2_value => SQLERRM);
2455 
2456       -- notify caller of an UNEXPECTED error
2457       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2458 
2459   END Validate_currency_code;
2460 
2461 
2462   ---------------------------------------------------------------------------
2463   -- PROCEDURE Validate_Try_ID
2464   ---------------------------------------------------------------------------
2465   -- Start of comments
2466   --
2467   -- Procedure Name   : Validate_TRY_ID
2468   -- Description      : Although in table it is NULLABLE, we are still making it
2469   --                    sure that TRY_ID must be given and should be valid.
2470   -- Business Rules   :
2471   -- Parameters       :
2472   -- Version          : 1.0
2473   -- End of comments
2474   ---------------------------------------------------------------------------
2475   PROCEDURE Validate_TRY_Id (p_tcnv_rec      IN  tcnv_rec_type
2476 			    ,x_return_status OUT NOCOPY VARCHAR2)
2477 
2478   IS
2479   l_dummy                   VARCHAR2(1)    ;
2480 
2481   CURSOR try_csr(v_try_id NUMBER) IS
2482   SELECT '1'
2483   FROM OKL_TRX_TYPES_V
2484   WHERE ID = v_try_id;
2485 
2486 
2487   BEGIN
2488     -- initialize return status
2489     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2490 
2491     -- check for data before processing
2492     IF (p_tcnv_rec.Try_id IS NULL) OR
2493        (p_tcnv_rec.TRY_id = Okc_Api.G_MISS_NUM) THEN
2494        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2495                            ,p_msg_name      => g_required_value
2496                            ,p_token1        => g_col_name_token
2497                            ,p_token1_value  => 'TRY_ID');
2498        x_return_status     := Okc_Api.G_RET_STS_ERROR;
2499        RAISE G_EXCEPTION_HALT_VALIDATION;
2500     END IF;
2501 
2502     OPEN try_csr(p_tcnv_rec.TRY_ID);
2503     FETCH try_csr INTO l_dummy;
2504     IF (try_csr%NOTFOUND) THEN
2505        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2506                            ,p_msg_name      => g_invalid_value
2507                            ,p_token1        => g_col_name_token
2508                            ,p_token1_value  => 'TRY_ID');
2509        x_return_status     := Okc_Api.G_RET_STS_ERROR;
2510        CLOSE try_csr;
2511        RAISE G_EXCEPTION_HALT_VALIDATION;
2512     END IF;
2513     CLOSE try_csr;
2514 
2515 
2516   EXCEPTION
2517     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2518     -- no processing necessary; validation can continue
2519     -- with the next column
2520     NULL;
2521 
2522     WHEN OTHERS THEN
2523       -- store SQL error message on message stack for caller
2524       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2525                           ,p_msg_name      => g_unexpected_error
2526                           ,p_token1        => g_sqlcode_token
2527                           ,p_token1_value  => SQLCODE
2528                           ,p_token2        => g_sqlerrm_token
2529                           ,p_token2_value  => SQLERRM);
2530 
2531        -- notify caller of an UNEXPECTED error
2532        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2533 
2534   END Validate_TRY_Id;
2535 
2536 
2537   ---------------------------------------------------------------------------
2538   -- PROCEDURE Validate_Date_Transaction
2539   ---------------------------------------------------------------------------
2540   -- Start of comments
2541   --
2542   -- Procedure Name   : Validate_Date_Transaction
2543   -- Description      :
2544   -- Business Rules   :
2545   -- Parameters       :
2546   -- Version          : 1.0
2547   -- End of comments
2548   ---------------------------------------------------------------------------
2549   PROCEDURE Validate_Date_Transaction (p_tcnv_rec      IN  tcnv_rec_type
2550 			              ,x_return_status OUT NOCOPY VARCHAR2)
2551   IS
2552   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
2553 
2554   BEGIN
2555     -- initialize return status
2556     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2557 
2558     -- check for data before processing
2559     IF (p_tcnv_rec.date_transaction_occurred IS NULL) OR
2560        (p_tcnv_rec.date_transaction_occurred = Okc_Api.G_MISS_DATE) THEN
2561        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2562                            ,p_msg_name      => g_required_value
2563                            ,p_token1        => g_col_name_token
2564                            ,p_token1_value  => 'Date_Transaction_Occurred');
2565        x_return_status     := Okc_Api.G_RET_STS_ERROR;
2566        RAISE G_EXCEPTION_HALT_VALIDATION;
2567     END IF;
2568 
2569   EXCEPTION
2570     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2571     -- no processing necessary; validation can continue
2572     -- with the next column
2573     NULL;
2574 
2575     WHEN OTHERS THEN
2576       -- store SQL error message on message stack for caller
2577       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2578                           ,p_msg_name      => g_unexpected_error
2579                           ,p_token1        => g_sqlcode_token
2580                           ,p_token1_value  => SQLCODE
2581                           ,p_token2        => g_sqlerrm_token
2582                           ,p_token2_value  => SQLERRM);
2583 
2584        -- notify caller of an UNEXPECTED error
2585        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2586 
2587   END Validate_Date_Transaction;
2588 
2589 
2590   ---------------------------------------------------------------------------
2591   -- PROCEDURE Validate_trx_number
2592   ---------------------------------------------------------------------------
2593   -- Start of comments
2594   --
2595   -- Procedure Name   : Validate_trx_number
2596   -- Description      :
2597   -- Business Rules   :
2598   -- Parameters       :
2599   -- Version          : 1.0
2600   -- End of comments
2601   ---------------------------------------------------------------------------
2602   PROCEDURE Validate_Trx_number (p_tcnv_rec      IN  tcnv_rec_type
2603 			         ,x_return_status OUT NOCOPY VARCHAR2)
2604   IS
2605   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
2606   l_trx_number                      OKL_TRX_CONTRACTS.TRX_NUMBER%TYPE;
2607 
2608  CURSOR tcn_csr(v_trx_number VARCHAR2,
2609                  v_id NUMBER, v_rep_code VARCHAR2) IS
2610   SELECT trx_number
2611   FROM OKL_TRX_CONTRACTS
2612   WHERE trx_number = v_trx_number
2613   and representation_code = v_rep_code
2614   AND   id   <> v_id;
2615 
2616   BEGIN
2617     -- initialize return status
2618     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2619 
2620     -- check for data before processing
2621     IF (p_tcnv_rec.trx_number IS NULL) OR
2622        (p_tcnv_rec.trx_number = Okc_Api.G_MISS_CHAR) THEN
2623        Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2624                            ,p_msg_name      => g_required_value
2625                            ,p_token1        => g_col_name_token
2626                            ,p_token1_value  => 'trx_number');
2627        x_return_status     := Okc_Api.G_RET_STS_ERROR;
2628        RAISE G_EXCEPTION_HALT_VALIDATION;
2629     END IF;
2630 
2631     OPEN tcn_csr(p_tcnv_rec.trx_number,
2632                  p_tcnv_rec.ID, p_tcnv_rec.representation_code);
2633     FETCH tcn_csr INTO l_trx_number;
2634     IF (tcn_csr%FOUND) THEN
2635        OKC_API.SET_MESSAGE(p_app_name     => 'OKL' ,
2636                            p_msg_name     => 'OKL_TRX_NUM_NOT_UNIQUE',
2637                            p_token1       => 'TRX_NUMBER',
2638                            p_token1_value => p_tcnv_rec.trx_number);
2639 
2640        x_return_status     := Okc_Api.G_RET_STS_ERROR;
2641        CLOSE tcn_csr;
2642        RAISE G_EXCEPTION_HALT_VALIDATION;
2643     END IF;
2644     CLOSE tcn_csr;
2645 
2646   EXCEPTION
2647     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2648     -- no processing necessary; validation can continue
2649     -- with the next column
2650     NULL;
2651 
2652     WHEN OTHERS THEN
2653       -- store SQL error message on message stack for caller
2654       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2655                           ,p_msg_name      => g_unexpected_error
2656                           ,p_token1        => g_sqlcode_token
2657                           ,p_token1_value  => SQLCODE
2658                           ,p_token2        => g_sqlerrm_token
2659                           ,p_token2_value  => SQLERRM);
2660 
2661        -- notify caller of an UNEXPECTED error
2662        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2663 
2664   END Validate_trx_number;
2665 
2666 
2667 
2668   ---------------------------------------------------------------------------
2669   -- PROCEDURE Validate_Terminate_Attribs
2670   ---------------------------------------------------------------------------
2671   -- Start of comments
2672   --
2673   -- Procedure Name  : Validate_Terminate_Attribs
2674   -- Description     :
2675   -- Business Rules  :
2676   -- Parameters      :
2677   -- Version         : 1.0
2678   -- End of comments
2679   ---------------------------------------------------------------------------
2680   PROCEDURE Validate_Terminate_Attribs(p_tcnv_rec      IN      tcnv_rec_type
2681 			              ,x_return_status OUT NOCOPY     VARCHAR2)
2682   IS
2683 
2684   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
2685   l_app_id       NUMBER := 0;
2686   l_view_app_id  NUMBER := 0;
2687 
2688   BEGIN
2689     -- initialize return status
2690     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2691 
2692     -- check for data before processing
2693 
2694     IF (p_tcnv_rec.TMT_EVERGREEN_YN IS NOT NULL) AND
2695        (p_tcnv_rec.TMT_EVERGREEN_YN <> Okc_Api.G_MISS_CHAR) THEN
2696 
2697        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2698                               (p_lookup_type => 'YES_NO',
2699                                p_lookup_code => p_tcnv_rec.TMT_EVERGREEN_YN,
2700                                p_app_id      => l_app_id,
2701                                p_view_app_id => l_view_app_id);
2702 
2703        IF (l_dummy = OKL_API.G_FALSE) THEN
2704           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2705                              ,p_msg_name       => g_invalid_value
2706                              ,p_token1         => g_col_name_token
2707                              ,p_token1_value   => 'TMT_EVERGREEN_YN');
2708           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2709 
2710        END IF;
2711 
2712     END IF;
2713 
2714 
2715     IF (p_tcnv_rec.TMT_CLOSE_BALANCES_YN IS NOT NULL) AND
2716        (p_tcnv_rec.TMT_CLOSE_BALANCES_YN <> Okc_Api.G_MISS_CHAR) THEN
2717 
2718        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2719                               (p_lookup_type => 'YES_NO',
2720                                p_lookup_code => p_tcnv_rec.TMT_CLOSE_BALANCES_YN,
2721                                p_app_id      => l_app_id,
2722                                p_view_app_id => l_view_app_id);
2723 
2724        IF (l_dummy = OKL_API.G_FALSE) THEN
2725           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2726                              ,p_msg_name       => g_invalid_value
2727                              ,p_token1         => g_col_name_token
2728                              ,p_token1_value   => 'TMT_CLOSE_BALANCES_YN');
2729           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2730 
2731        END IF;
2732 
2733     END IF;
2734 
2735 
2736     IF (p_tcnv_rec.TMT_ACCOUNTING_ENTRIES_YN IS NOT NULL) AND
2737        (p_tcnv_rec.TMT_ACCOUNTING_ENTRIES_YN <> Okc_Api.G_MISS_CHAR) THEN
2738 
2739        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2740                               (p_lookup_type => 'YES_NO',
2741                                p_lookup_code => p_tcnv_rec.TMT_ACCOUNTING_ENTRIES_YN,
2742                                p_app_id      => l_app_id,
2743                                p_view_app_id => l_view_app_id);
2744 
2745        IF (l_dummy = OKL_API.G_FALSE) THEN
2746           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2747                              ,p_msg_name       => g_invalid_value
2748                              ,p_token1         => g_col_name_token
2749                              ,p_token1_value   => 'TMT_ACCOUNTING_ENTRIES_YN');
2750           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2751 
2752        END IF;
2753 
2754     END IF;
2755 
2756 
2757     IF (p_tcnv_rec.TMT_CANCEL_INSURANCE_YN IS NOT NULL) AND
2758        (p_tcnv_rec.TMT_CANCEL_INSURANCE_YN <> Okc_Api.G_MISS_CHAR) THEN
2759 
2760        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2761                               (p_lookup_type => 'YES_NO',
2762                                p_lookup_code => p_tcnv_rec.TMT_CANCEL_INSURANCE_YN,
2763                                p_app_id      => l_app_id,
2764                                p_view_app_id => l_view_app_id);
2765 
2766        IF (l_dummy = OKL_API.G_FALSE) THEN
2767           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2768                              ,p_msg_name       => g_invalid_value
2769                              ,p_token1         => g_col_name_token
2770                              ,p_token1_value   => 'TMT_CANCEL_INSURANCE_YN');
2771           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2772 
2773        END IF;
2774 
2775     END IF;
2776 
2777     IF (p_tcnv_rec.TMT_ASSET_DISPOSITION_YN IS NOT NULL) AND
2778        (p_tcnv_rec.TMT_ASSET_DISPOSITION_YN <> Okc_Api.G_MISS_CHAR) THEN
2779 
2780        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2781                               (p_lookup_type => 'YES_NO',
2782                                p_lookup_code => p_tcnv_rec.TMT_ASSET_DISPOSITION_YN,
2783                                p_app_id      => l_app_id,
2784                                p_view_app_id => l_view_app_id);
2785 
2786        IF (l_dummy = OKL_API.G_FALSE) THEN
2787           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2788                              ,p_msg_name       => g_invalid_value
2789                              ,p_token1         => g_col_name_token
2790                              ,p_token1_value   => 'TMT_ASSET_DISPOSITION_YN');
2791           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2792 
2793        END IF;
2794 
2795     END IF;
2796 
2797 
2798     IF (p_tcnv_rec.TMT_AMORTIZATION_YN  IS NOT NULL) AND
2799        (p_tcnv_rec.TMT_AMORTIZATION_YN <> Okc_Api.G_MISS_CHAR) THEN
2800 
2801        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2802                               (p_lookup_type => 'YES_NO',
2803                                p_lookup_code => p_tcnv_rec.TMT_AMORTIZATION_YN,
2804                                p_app_id      => l_app_id,
2805                                p_view_app_id => l_view_app_id);
2806 
2807        IF (l_dummy = OKL_API.G_FALSE) THEN
2808           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2809                              ,p_msg_name       => g_invalid_value
2810                              ,p_token1         => g_col_name_token
2811                              ,p_token1_value   => 'TMT_AMORTIZATION_YN');
2812           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2813 
2814        END IF;
2815 
2816     END IF;
2817 
2818     IF (p_tcnv_rec.TMT_ASSET_RETURN_YN IS NOT NULL) AND
2819        (p_tcnv_rec.TMT_ASSET_RETURN_YN <> Okc_Api.G_MISS_CHAR) THEN
2820 
2821        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2822                               (p_lookup_type => 'YES_NO',
2823                                p_lookup_code => p_tcnv_rec.TMT_ASSET_RETURN_YN,
2824                                p_app_id      => l_app_id,
2825                                p_view_app_id => l_view_app_id);
2826 
2827        IF (l_dummy = OKL_API.G_FALSE) THEN
2828           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2829                              ,p_msg_name       => g_invalid_value
2830                              ,p_token1         => g_col_name_token
2831                              ,p_token1_value   => 'TMT_ASSET_RETURN_YN');
2832           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2833 
2834        END IF;
2835 
2836     END IF;
2837 
2838     IF (p_tcnv_rec.TMT_CONTRACT_UPDATED_YN IS NOT NULL) AND
2839        (p_tcnv_rec.TMT_CONTRACT_UPDATED_YN <> Okc_Api.G_MISS_CHAR) THEN
2840 
2841        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2842                               (p_lookup_type => 'YES_NO',
2843                                p_lookup_code => p_tcnv_rec.TMT_CONTRACT_UPDATED_YN,
2844                                p_app_id      => l_app_id,
2845                                p_view_app_id => l_view_app_id);
2846 
2847        IF (l_dummy = OKL_API.G_FALSE) THEN
2848           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2849                              ,p_msg_name       => g_invalid_value
2850                              ,p_token1         => g_col_name_token
2851                              ,p_token1_value   => 'TMT_CONTRACT_UPDATED_YN');
2852           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2853 
2854        END IF;
2855 
2856     END IF;
2857 
2858     IF (p_tcnv_rec.TMT_RECYCLE_YN IS NOT NULL) AND
2859        (p_tcnv_rec.TMT_RECYCLE_YN <> Okc_Api.G_MISS_CHAR) THEN
2860 
2861        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2862                               (p_lookup_type => 'YES_NO',
2863                                p_lookup_code => p_tcnv_rec.TMT_RECYCLE_YN,
2864                                p_app_id      => l_app_id,
2865                                p_view_app_id => l_view_app_id);
2866 
2867        IF (l_dummy = OKL_API.G_FALSE) THEN
2868           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2869                              ,p_msg_name       => g_invalid_value
2870                              ,p_token1         => g_col_name_token
2871                              ,p_token1_value   => 'TMT_RECYCLE_YN');
2872           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2873 
2874        END IF;
2875 
2876     END IF;
2877 
2878     IF (p_tcnv_rec.TMT_VALIDATED_YN IS NOT NULL) AND
2879        (p_tcnv_rec.TMT_VALIDATED_YN <> Okc_Api.G_MISS_CHAR) THEN
2880 
2881        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2882                               (p_lookup_type => 'YES_NO',
2883                                p_lookup_code => p_tcnv_rec.TMT_VALIDATED_YN,
2884                                p_app_id      => l_app_id,
2885                                p_view_app_id => l_view_app_id);
2886 
2887        IF (l_dummy = OKL_API.G_FALSE) THEN
2888           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2889                              ,p_msg_name       => g_invalid_value
2890                              ,p_token1         => g_col_name_token
2891                              ,p_token1_value   => 'TMT_VALIDATED_YN');
2892           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2893 
2894        END IF;
2895 
2896     END IF;
2897 
2898     IF (p_tcnv_rec.TMT_STREAMS_UPDATED_YN IS NOT NULL) AND
2899        (p_tcnv_rec.TMT_STREAMS_UPDATED_YN <> Okc_Api.G_MISS_CHAR) THEN
2900 
2901        l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2902                               (p_lookup_type => 'YES_NO',
2903                                p_lookup_code => p_tcnv_rec.TMT_STREAMS_UPDATED_YN,
2904                                p_app_id      => l_app_id,
2905                                p_view_app_id => l_view_app_id);
2906 
2907        IF (l_dummy = OKL_API.G_FALSE) THEN
2908           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2909                              ,p_msg_name       => g_invalid_value
2910                              ,p_token1         => g_col_name_token
2911                              ,p_token1_value   => 'TMT_STREAMS_UPDATED_YN');
2912           x_return_status    := Okc_Api.G_RET_STS_ERROR;
2913 
2914        END IF;
2915 
2916     END IF;
2917 
2918 
2919   EXCEPTION
2920     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2921     -- no processing neccessary; validation can continue
2922     -- with the next column
2923     NULL;
2924 
2925     WHEN OTHERS THEN
2926       -- store SQL error message on message stack for caller
2927       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
2928                           p_msg_name     => g_unexpected_error,
2929                           p_token1       => g_sqlcode_token,
2930                           p_token1_value => SQLCODE,
2931                           p_token2       => g_sqlerrm_token,
2932                           p_token2_value => SQLERRM);
2933 
2934       -- notify caller of an UNEXPECTED error
2935       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2936 
2937   END Validate_Terminate_Attribs;
2938 
2939 -- Added by Santonyr 31-Jul-2002 Added New Filed Accrual_Activity
2940 -- Fixed Bug 2486088
2941 
2942  ---------------------------------------------------------------------------
2943   -- PROCEDURE Validate_Accrual_Activity
2944   ---------------------------------------------------------------------------
2945   -- Start of comments
2946   --
2947   -- Procedure Name   : Validate_Accrual_Activity
2948   -- Description      :
2949   -- Business Rules   :
2950   -- Parameters       :
2951   -- Version          : 1.0
2952   -- End of comments
2953   ---------------------------------------------------------------------------
2954   PROCEDURE Validate_Accrual_Activity (p_tcnv_rec      IN  tcnv_rec_type
2955                               ,x_return_status OUT NOCOPY VARCHAR2)
2956   IS
2957   l_dummy                   VARCHAR2(1)    := OKL_API.G_FALSE;
2958 
2959   BEGIN
2960     -- initialize return status
2961    x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2962 
2963      -- check in fnd_lookups for validity
2964    IF  p_tcnv_rec.accrual_activity IS NOT NULL THEN
2965       l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
2966                               (p_lookup_type => 'OKL_ACCRUAL_ACTIVITY',
2967                                p_lookup_code => p_tcnv_rec.accrual_activity);
2968 
2969       IF (l_dummy = OKL_API.G_FALSE) THEN
2970          Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2971                           ,p_msg_name       => g_invalid_value
2972                           ,p_token1         => g_col_name_token
2973                           ,p_token1_value   => 'Accrual Activity');
2974          x_return_status    := Okc_Api.G_RET_STS_ERROR;
2975          RAISE G_EXCEPTION_HALT_VALIDATION;
2976       END IF;
2977    END IF;
2978 
2979 
2980   EXCEPTION
2981     WHEN G_EXCEPTION_HALT_VALIDATION THEN
2982    -- no processing necessary; validation can continue
2983     -- with the next column
2984     NULL;
2985 
2986     WHEN OTHERS THEN
2987       -- store SQL error message on message stack for caller
2988       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
2989                           ,p_msg_name      => g_unexpected_error
2990                           ,p_token1        => g_sqlcode_token
2991                           ,p_token1_value  => SQLCODE
2992                           ,p_token2        => g_sqlerrm_token
2993                           ,p_token2_value  => SQLERRM);
2994 
2995        -- notify caller of an UNEXPECTED error
2996        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2997 
2998   END Validate_Accrual_Activity;
2999 
3000 
3001 --Added by Keerthi 25-Aug-2003
3002   ---------------------------------------------------------------------------
3003   -- PROCEDURE Validate_Chr_Id
3004   ---------------------------------------------------------------------------
3005   -- Start of comments
3006   --
3007   -- Procedure Name   : Validate_Chr_Id
3008   -- Description      :
3009   -- Business Rules   :
3010   -- Parameters       :
3011   -- Version          : 1.0
3012   -- End of comments
3013   ---------------------------------------------------------------------------
3014   PROCEDURE Validate_Chr_Id (p_tcnv_rec IN  tcnv_rec_type
3015                          ,x_return_status OUT NOCOPY VARCHAR2)
3016   IS
3017   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
3018   l_dummy                           VARCHAR2(1);
3019   l_row_notfound                    BOOLEAN := TRUE;
3020   item_not_found_error              EXCEPTION;
3021 
3022   CURSOR okl_tcn_chrid_csr (p_id IN NUMBER) IS
3023   SELECT  '1'
3024   FROM Okc_k_headers_b
3025   WHERE okc_k_headers_b.id = p_id;
3026 
3027 
3028   BEGIN
3029 
3030     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3031 
3032     IF (p_tcnv_rec.chr_id IS NOT NULL) AND
3033        (p_tcnv_rec.chr_id <> Okc_Api.G_MISS_NUM) THEN
3034 
3035         OPEN okl_tcn_chrid_csr(p_tcnv_rec.CHR_ID);
3036         FETCH okl_tcn_chrid_csr INTO l_dummy;
3037         l_row_notfound := okl_tcn_chrid_csr%NOTFOUND;
3038         CLOSE okl_tcn_chrid_csr;
3039         IF (l_row_notfound) THEN
3040           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CHR_ID');
3041           RAISE item_not_found_error;
3042         END IF;
3043     END IF;
3044 
3045   EXCEPTION
3046     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3047     -- no processing necessary; validation can continue
3048     -- with the next column
3049     NULL;
3050 
3051     WHEN item_not_found_error THEN
3052       x_return_status := Okc_Api.G_RET_STS_ERROR;
3053 
3054     WHEN OTHERS THEN
3055       -- store SQL error message on message stack for caller
3056       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3057                           ,p_msg_name      => g_unexpected_error
3058                           ,p_token1        => g_sqlcode_token
3059                           ,p_token1_value  => SQLCODE
3060                           ,p_token2        => g_sqlerrm_token
3061                           ,p_token2_value  => SQLERRM);
3062 
3063        -- notify caller of an UNEXPECTED error
3064        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3065 
3066   END Validate_Chr_Id;
3067 
3068 
3069 --Added by Keerthi for Bug No 3195713
3070   ---------------------------------------------------------------------------
3071   -- PROCEDURE Validate_Source_Trx_Id_Type
3072   ---------------------------------------------------------------------------
3073   -- Start of comments
3074   --
3075   -- Procedure Name   : Validate_Source_Trx_Id_Type
3076   -- Description      :
3077   -- Business Rules   :
3078   -- Parameters       :
3079   -- Version          : 1.0
3080   -- End of comments
3081   ---------------------------------------------------------------------------
3082   PROCEDURE Validate_Source_Trx_Id_Type (p_tcnv_rec IN  tcnv_rec_type
3083                                     ,x_return_status OUT NOCOPY VARCHAR2)
3084   IS
3085   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
3086   l_dummy                           VARCHAR2(1);
3087   l_row_notfound                    BOOLEAN := TRUE;
3088   item_not_found_error              EXCEPTION;
3089 
3090 
3091   CURSOR okl_tcn_csr (p_source_id IN NUMBER) IS
3092   SELECT '1'
3093   FROM okl_trx_contracts otc
3094   WHERE otc.id = p_source_id;
3095 
3096   CURSOR okl_tas_csr (p_source_id IN NUMBER) IS
3097   SELECT '1'
3098   FROM okl_trx_assets ota
3099   WHERE ota.id = p_source_id;
3100 
3101   -- rmunjulu bug 6736148
3102   CURSOR okl_qte_csr (p_source_id IN NUMBER) IS
3103   SELECT '1'
3104   FROM okl_trx_quotes_b qte
3105   WHERE qte.id = p_source_id;
3106 
3107   BEGIN
3108  -- initialize return status
3109     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3110  -- check for data before processing
3111 
3112   IF (p_tcnv_rec.source_trx_type IS NOT NULL) THEN
3113    IF (p_tcnv_rec.source_trx_id IS NULL) THEN
3114         Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3115                              ,p_msg_name       => g_invalid_value
3116                              ,p_token1         => g_col_name_token
3117                             ,p_token1_value   => 'SOURCE_TRX_ID');
3118           x_return_status    := Okc_Api.G_RET_STS_ERROR;
3119           RAISE G_EXCEPTION_HALT_VALIDATION;
3120    ELSE
3121      l_dummy  := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(p_lookup_type => 'OKL_SOURCE_TRX_TYPE',
3122                                                            p_lookup_code =>  p_tcnv_rec.source_trx_type);
3123 
3124      IF (l_dummy = Okc_Api.G_FALSE) THEN
3125           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3126                              ,p_msg_name       => g_invalid_value
3127                              ,p_token1         => g_col_name_token
3128                              ,p_token1_value   => 'SOURCE_TRX_TYPE');
3129           x_return_status    := Okc_Api.G_RET_STS_ERROR;
3130   	      RAISE G_EXCEPTION_HALT_VALIDATION;
3131      ELSE
3132 
3133          IF (p_tcnv_rec.source_trx_type = 'TCN') THEN
3134            OPEN okl_tcn_csr(p_tcnv_rec.SOURCE_TRX_ID);
3135            FETCH okl_tcn_csr INTO l_dummy;
3136            l_row_notfound := okl_tcn_csr%NOTFOUND;
3137            CLOSE okl_tcn_csr;
3138            IF (l_row_notfound) THEN
3139              Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'SOURCE_TRX_ID');
3140              RAISE item_not_found_error;
3141            END IF;
3142 
3143          ELSIF (p_tcnv_rec.source_trx_type = 'TAS') THEN
3144            OPEN okl_tas_csr(p_tcnv_rec.SOURCE_TRX_ID);
3145            FETCH okl_tas_csr INTO l_dummy;
3146            l_row_notfound := okl_tas_csr%NOTFOUND;
3147            CLOSE okl_tas_csr;
3148            IF (l_row_notfound) THEN
3149              Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'SOURCE_TRX_ID');
3150              RAISE item_not_found_error;
3151            END IF;
3152            -- rmunjulu bug 6736148
3153           ELSIF (p_tcnv_rec.source_trx_type = 'QTE') THEN
3154 
3155            OPEN okl_qte_csr(p_tcnv_rec.SOURCE_TRX_ID);
3156            FETCH okl_qte_csr INTO l_dummy;
3157            l_row_notfound := okl_qte_csr%NOTFOUND;
3158            CLOSE okl_qte_csr;
3159            IF (l_row_notfound) THEN
3160              Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'SOURCE_TRX_ID');
3161              RAISE item_not_found_error;
3162            END IF;
3163   	    END IF;
3164      END IF;
3165     END IF;
3166   ELSE
3167        IF (p_tcnv_rec.source_trx_id IS NOT NULL) THEN
3168           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3169                              ,p_msg_name       => g_invalid_value
3170                              ,p_token1         => g_col_name_token
3171                             ,p_token1_value   => 'SOURCE_TRX_ID');
3172           x_return_status    := Okc_Api.G_RET_STS_ERROR;
3173           RAISE G_EXCEPTION_HALT_VALIDATION;
3174         END IF;
3175  END IF;
3176 
3177 
3178 
3179   EXCEPTION
3180     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3181      -- no processing necessary; validation can continue
3182      -- with the next column
3183      NULL;
3184 
3185     WHEN OTHERS THEN
3186     -- store SQL error message on message stack for caller
3187      Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
3188                          p_msg_name     => g_unexpected_error,
3189                          p_token1       => g_sqlcode_token,
3190                          p_token1_value => SQLCODE,
3191                          p_token2       => g_sqlerrm_token,
3192                          p_token2_value => SQLERRM);
3193 
3194                       -- notify caller of an UNEXPECTED error
3195      x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3196 
3197   END Validate_Source_Trx_Id_Type;
3198 
3199 -- added by DJANASWA 06-Feb-07 SLA project
3200   ---------------------------------------------------------------------------
3201   -- PROCEDURE Validate_Accrual_Reversal_Date
3202   ---------------------------------------------------------------------------
3203   -- Start of comments
3204   --
3205   -- Procedure Name   : Validate_Accrual_Reversal_Date
3206   -- Description      :
3207   -- Business Rules   :
3208   -- Parameters       :
3209   -- Version          : 1.0
3210   -- End of comments
3211   ---------------------------------------------------------------------------
3212 
3213 
3214  PROCEDURE Validate_Accrual_Reversal_Date (p_tcnv_rec  IN  tcnv_rec_type,
3215                               x_return_status OUT NOCOPY  VARCHAR2)
3216      IS
3217        l_return_status         VARCHAR2(1)  := Okc_Api.G_RET_STS_SUCCESS;
3218        l_date_transaction_occurred             DATE         := Okc_Api.G_MISS_DATE;
3219       BEGIN
3220        -- initialize return status
3221        x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3222        l_date_transaction_occurred := p_tcnv_rec.date_transaction_occurred;
3223        -- check for data before processing
3224         IF   p_tcnv_rec.accrual_reversal_date <> OKC_API.G_MISS_DATE
3225         OR p_tcnv_rec.accrual_reversal_date IS NOT NULL
3226         THEN
3227             IF  p_tcnv_rec.accrual_reversal_date  < l_date_transaction_occurred
3228             THEN
3229               Okc_Api.SET_MESSAGE( p_app_name   => g_app_name,
3230                            p_msg_name       => g_invalid_value,
3231                            p_token1         => g_col_name_token,
3232                            p_token1_value   => 'ACCRUAL_REVERSAL_DATE' );
3233        x_return_status    := OKC_API.G_RET_STS_ERROR;
3234        RAISE G_EXCEPTION_HALT_VALIDATION;
3235        END IF;
3236         END IF;
3237 
3238     EXCEPTION
3239     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3240     -- no processing required ; validation can continue
3241     -- with the next column
3242     NULL;
3243 
3244     WHEN OTHERS THEN
3245       -- store SQL error message on message stack for caller
3246     Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
3247                          p_msg_name     => g_unexpected_error,
3248                          p_token1       => g_sqlcode_token,
3249                          p_token1_value => SQLCODE,
3250                          p_token2       => g_sqlerrm_token,
3251                          p_token2_value => SQLERRM);
3252 
3253       -- notify caller of an UNEXPECTED error
3254 
3255       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3256   END Validate_Accrual_Reversal_Date;
3257 
3258 -- Added by zrehman for SLA project (Bug 5707866) 21-Feb-2007
3259   ---------------------------------------------------------------------------
3260   -- PROCEDURE Validate_Tmt_Status_Code
3261   ---------------------------------------------------------------------------
3262   -- Start of comments
3263   --
3264   -- Procedure Name  : Validate_Tmt_Status_Code
3265   -- Description     :
3266   -- Business Rules  :
3267   -- Parameters      :
3268   -- Version         : 1.0
3269   -- End of comments
3270   ---------------------------------------------------------------------------
3271   PROCEDURE Validate_Tmt_Status_Code(p_tcnv_rec      IN      tcnv_rec_type
3272 			            ,x_return_status OUT NOCOPY     VARCHAR2)
3273   IS
3274 
3275   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
3276 
3277   BEGIN
3278     -- initialize return status
3279     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3280 
3281     -- check for data before processing
3282     IF (p_tcnv_rec.tmt_status_code IS NOT NULL) AND (p_tcnv_rec.tmt_status_code <> OKC_API.G_MISS_CHAR) THEN
3283 
3284       l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
3285                               (p_lookup_type => 'OKL_TRANSACTION_STATUS',
3286                                p_lookup_code => p_tcnv_rec.TMT_STATUS_CODE);
3287 
3288         IF (l_dummy = OKL_API.G_FALSE) THEN
3289           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3290                              ,p_msg_name       => g_invalid_value
3291                              ,p_token1         => g_col_name_token
3292                              ,p_token1_value   => 'TMT_STATUS_CODE');
3293           x_return_status    := Okc_Api.G_RET_STS_ERROR;
3294           RAISE G_EXCEPTION_HALT_VALIDATION;
3295         END IF;
3296     END IF;
3297 
3298 
3299   EXCEPTION
3300     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3301     -- no processing neccessary; validation can continue
3302     -- with the next column
3303     NULL;
3304 
3305     WHEN OTHERS THEN
3306       -- store SQL error message on message stack for caller
3307       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
3308                           p_msg_name     => g_unexpected_error,
3309                           p_token1       => g_sqlcode_token,
3310                           p_token1_value => SQLCODE,
3311                           p_token2       => g_sqlerrm_token,
3312                           p_token2_value => SQLERRM);
3313 
3314       -- notify caller of an UNEXPECTED error
3315       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3316 
3317   END Validate_Tmt_Status_Code;
3318 
3319 -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
3320 ---------------------------------------------------------------------------
3321   -- PROCEDURE Validate_Upgrade_Status_Flag
3322   ---------------------------------------------------------------------------
3323   -- Start of comments
3324   --
3325   -- Procedure Name  : Validate_Upgrade_Status_Flag
3326   -- Description     :
3327   -- Business Rules  :
3328   -- Parameters      :
3329   -- Version         : 1.0
3330   -- End of comments
3331   ---------------------------------------------------------------------------
3332   PROCEDURE Validate_Upgrade_Status_Flag (x_return_status OUT NOCOPY VARCHAR2, p_tcnv_rec IN tcnv_rec_type)
3333   IS
3334 
3335   l_return_status         VARCHAR2(1)  := Okc_Api.G_RET_STS_SUCCESS;
3336   l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
3337 
3338   BEGIN
3339     -- initialize return status
3340     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3341 
3342     -- check for data before processing
3343     IF (p_tcnv_rec.UPGRADE_STATUS_FLAG IS NOT NULL) AND
3344        (p_tcnv_rec.UPGRADE_STATUS_FLAG <> Okc_Api.G_MISS_CHAR) THEN
3345        -- check in fnd_lookups for validity
3346       l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
3347                               (p_lookup_type => 'OKL_YES_NO',
3348                                p_lookup_code => p_tcnv_rec.UPGRADE_STATUS_FLAG);
3349 
3350        IF (l_dummy = OKL_API.G_FALSE) THEN
3351           Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3352                              ,p_msg_name       => g_invalid_value
3353                              ,p_token1         => g_col_name_token
3354                              ,p_token1_value   => 'UPGRADE_STATUS_FLAG');
3355           x_return_status    := Okc_Api.G_RET_STS_ERROR;
3356           RAISE G_EXCEPTION_HALT_VALIDATION;
3357        END IF;
3358 
3359     END IF;
3360 
3361 
3362   EXCEPTION
3363     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3364     -- no processing neccessary; validation can continue
3365     -- with the next column
3366     NULL;
3367 
3368     WHEN OTHERS THEN
3369       -- store SQL error message on message stack for caller
3370       Okc_Api.SET_MESSAGE(p_app_name     => g_app_name,
3371                           p_msg_name     => g_unexpected_error,
3372                           p_token1       => g_sqlcode_token,
3373                           p_token1_value => SQLCODE,
3374                           p_token2       => g_sqlerrm_token,
3375                           p_token2_value => SQLERRM);
3376 
3377       -- notify caller of an UNEXPECTED error
3378       x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3379 
3380   END Validate_Upgrade_Status_Flag;
3381 
3382 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
3383 ---------------------------------------------------------------------------
3384   -- PROCEDURE Validate_primary_rep_trx_id
3385   ---------------------------------------------------------------------------
3386   -- Start of comments
3387   --
3388   -- Procedure Name  : Validate_primary_rep_trx_id
3389   -- Description     :
3390   -- Business Rules  :
3391   -- Parameters      :
3392   -- Version         : 1.0
3393   -- End of comments
3394   ---------------------------------------------------------------------------
3395   PROCEDURE Validate_primary_rep_trx_id (p_tcnv_rec IN tcnv_rec_type, x_return_status OUT NOCOPY VARCHAR2)
3396   IS
3397 
3398   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
3399   l_dummy                           VARCHAR2(1);
3400   l_row_notfound                    BOOLEAN := TRUE;
3401   item_not_found_error              EXCEPTION;
3402 
3403   CURSOR okl_tcn_id_csr (p_id IN NUMBER, p_chr_id IN NUMBER) IS
3404   SELECT  '1'
3405   FROM okl_trx_contracts
3406   WHERE okl_trx_contracts.id = p_id
3407   AND okl_trx_contracts.primary_rep_trx_id is null
3408   and okl_trx_contracts.khr_id = p_chr_id;
3409 
3410   BEGIN
3411 
3412     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3413 
3414     IF (p_tcnv_rec.primary_rep_trx_id IS NOT NULL AND
3415          p_tcnv_rec.primary_rep_trx_id <> Okc_Api.G_MISS_NUM AND
3416           p_tcnv_rec.khr_id IS NOT NULL AND
3417            p_tcnv_rec.khr_id <> Okc_Api.G_MISS_NUM) THEN
3418 
3419         OPEN okl_tcn_id_csr(p_tcnv_rec.primary_rep_trx_id,p_tcnv_rec.khr_id );
3420         FETCH okl_tcn_id_csr INTO l_dummy;
3421         l_row_notfound := okl_tcn_id_csr%NOTFOUND;
3422         CLOSE okl_tcn_id_csr;
3423         IF (l_row_notfound) THEN
3424           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
3425           RAISE item_not_found_error;
3426         END IF;
3427     END IF;
3428 
3429   EXCEPTION
3430     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3431     -- no processing necessary; validation can continue
3432     -- with the next column
3433     NULL;
3434 
3435     WHEN item_not_found_error THEN
3436       x_return_status := Okc_Api.G_RET_STS_ERROR;
3437 
3438     WHEN OTHERS THEN
3439       -- store SQL error message on message stack for caller
3440       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3441                           ,p_msg_name      => g_unexpected_error
3442                           ,p_token1        => g_sqlcode_token
3443                           ,p_token1_value  => SQLCODE
3444                           ,p_token2        => g_sqlerrm_token
3445                           ,p_token2_value  => SQLERRM);
3446 
3447        -- notify caller of an UNEXPECTED error
3448        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3449 
3450   END Validate_primary_rep_trx_id;
3451 
3452 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
3453 ---------------------------------------------------------------------------
3454   -- PROCEDURE Validate_representation_type
3455   ---------------------------------------------------------------------------
3456   -- Start of comments
3457   --
3458   -- Procedure Name  : Validate_representation_type
3459   -- Description     :
3460   -- Business Rules  :
3461   -- Parameters      :
3462   -- Version         : 1.0
3463   -- End of comments
3464   ---------------------------------------------------------------------------
3465   PROCEDURE Validate_representation_type (p_tcnv_rec IN tcnv_rec_type, x_return_status OUT NOCOPY VARCHAR2)
3466   IS
3467 
3468   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
3469   l_dummy                           VARCHAR2(1);
3470   l_row_notfound                    BOOLEAN := TRUE;
3471   item_not_found_error              EXCEPTION;
3472 
3473   CURSOR rep_type_csr (p_rep_code IN VARCHAR2) IS
3474   SELECT  '1'
3475   from fnd_lookups lkp
3476   where lkp.lookup_type = 'OKL_REPRESENTATION_TYPE'
3477   and lkp.lookup_code = p_rep_code;
3478   BEGIN
3479 
3480     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3481 
3482     IF (p_tcnv_rec.representation_type IS NOT NULL AND
3483          p_tcnv_rec.representation_type <> Okc_Api.G_MISS_CHAR) THEN
3484 
3485         OPEN rep_type_csr(p_tcnv_rec.representation_type);
3486         FETCH rep_type_csr INTO l_dummy;
3487         l_row_notfound := rep_type_csr%NOTFOUND;
3488         CLOSE rep_type_csr;
3489         IF (l_row_notfound) THEN
3490           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE, G_COL_NAME_TOKEN,'ID');
3491           RAISE item_not_found_error;
3492         END IF;
3493     END IF;
3494 
3495   EXCEPTION
3496     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3497     -- no processing necessary; validation can continue
3498     -- with the next column
3499     NULL;
3500 
3501     WHEN item_not_found_error THEN
3502       x_return_status := Okc_Api.G_RET_STS_ERROR;
3503 
3504     WHEN OTHERS THEN
3505       -- store SQL error message on message stack for caller
3506       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3507                           ,p_msg_name      => g_unexpected_error
3508                           ,p_token1        => g_sqlcode_token
3509                           ,p_token1_value  => SQLCODE
3510                           ,p_token2        => g_sqlerrm_token
3511                           ,p_token2_value  => SQLERRM);
3512 
3513        -- notify caller of an UNEXPECTED error
3514        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3515 
3516   END Validate_representation_type;
3517 
3518 
3519   ---------------------------------------------------------------------------
3520   -- PROCEDURE Validate_Rep_Name_Code
3521   ---------------------------------------------------------------------------
3522   -- Start of comments
3523   --
3524   -- Procedure Name   : Validate_Rep_Name_Code
3525   -- Description      :
3526   -- Business Rules   :
3527   -- Parameters       :
3528   -- Version          : 1.0
3529   -- End of comments
3530   ---------------------------------------------------------------------------
3531   PROCEDURE Validate_Rep_Name_Code (p_tcnv_rec IN  tcnv_rec_type
3532                             ,x_return_status OUT NOCOPY VARCHAR2)
3533   IS
3534   l_return_status                   VARCHAR2(1)    := Okc_Api.G_RET_STS_SUCCESS;
3535   l_dummy                       VARCHAR2(1);
3536   l_row_notfound                    BOOLEAN := TRUE;
3537 
3538   l_11i_row_notfound                BOOLEAN := TRUE;--sechawla 8967918
3539   item_not_found_error              EXCEPTION;
3540 
3541   CURSOR rep_valid_csr(p_rep_name VARCHAR2,
3542                        p_rep_code VARCHAR2)
3543   IS
3544   SELECT '1'
3545   FROM gl_ledgers
3546   WHERE name = p_rep_name
3547   AND short_name = p_rep_code;
3548 
3549   --sechawla 8967918 : during upgrade, gl_ledgers may not have data. Use gl_sets_of_books_11i in that case
3550   CURSOR rep_valid_csr_11i(p_rep_name VARCHAR2,
3551                        p_rep_code VARCHAR2)
3552   IS
3553   SELECT '1'
3554   FROM gl_sets_of_books_11i
3555   WHERE name = p_rep_name
3556   AND short_name = p_rep_code;
3557 
3558   BEGIN
3559 
3560     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3561 
3562     IF(p_tcnv_rec.representation_name IS NOT NULL) AND (p_tcnv_rec.representation_name <> Okc_Api.G_MISS_CHAR)
3563     AND (p_tcnv_rec.representation_code IS NOT NULL) AND (p_tcnv_rec.representation_code <> Okc_Api.G_MISS_CHAR) THEN
3564         OPEN rep_valid_csr(p_rep_name => p_tcnv_rec.representation_name,
3565                            p_rep_code => p_tcnv_rec.representation_code);
3566         FETCH rep_valid_csr INTO l_dummy;
3567         l_row_notfound := rep_valid_csr%NOTFOUND;
3568         CLOSE rep_valid_csr;
3569         IF (l_row_notfound) THEN
3570             --sechawla 8967918 : during upgrade, gl_ledgers may not have data. Use gl_sets_of_books_11i in that case : begin
3571              OPEN rep_valid_csr_11i(p_rep_name => p_tcnv_rec.representation_name,
3572                            p_rep_code => p_tcnv_rec.representation_code);
3573              FETCH rep_valid_csr_11i INTO l_dummy;
3574              l_11i_row_notfound := rep_valid_csr_11i%NOTFOUND;
3575              CLOSE rep_valid_csr_11i;
3576 
3577              IF (l_11i_row_notfound) THEN
3578               --sechawla 8967918 : during upgrade, gl_ledgers may not have data. Use gl_sets_of_books_11i in that case : end
3579                Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'REPRESENTATION_CODE');
3580                RAISE item_not_found_error;
3581              END IF;
3582         END IF;
3583     ELSE
3584         Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3585                            ,p_msg_name      => g_required_value
3586                            ,p_token1        => g_col_name_token
3587                            ,p_token1_value  => 'REPRESENTATION_CODE');
3588         x_return_status     := Okc_Api.G_RET_STS_ERROR;
3589         RAISE G_EXCEPTION_HALT_VALIDATION;
3590     END IF;
3591 
3592   EXCEPTION
3593     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3594     -- no processing necessary; validation can continue
3595     -- with the next column
3596     NULL;
3597 
3598     WHEN item_not_found_error THEN
3599       x_return_status := Okc_Api.G_RET_STS_ERROR;
3600 
3601     WHEN OTHERS THEN
3602       -- store SQL error message on message stack for caller
3603       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3604                           ,p_msg_name      => g_unexpected_error
3605                           ,p_token1        => g_sqlcode_token
3606                           ,p_token1_value  => SQLCODE
3607                           ,p_token2        => g_sqlerrm_token
3608                           ,p_token2_value  => SQLERRM);
3609 
3610        -- notify caller of an UNEXPECTED error
3611        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3612 
3613   END Validate_Rep_Name_Code;
3614 
3615 
3616   ---------------------------------------------------------------------------
3617   -- FUNCTION Validate_Attributes
3618   ---------------------------------------------------------------------------
3619   -- Start of comments
3620   --
3621   -- Procedure Name  : Validate_Attributes
3622   -- Description     :
3623   -- Business Rules  :
3624   -- Parameters      :
3625   -- Version         : 1.0
3626   -- End of comments
3627   ---------------------------------------------------------------------------
3628 
3629   FUNCTION Validate_Attributes (
3630     p_tcnv_rec IN  tcnv_rec_type
3631   ) RETURN VARCHAR2 IS
3632 
3633     x_return_status	VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3634     l_return_status	VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3635   BEGIN
3636 
3637     -- Validate_Id
3638     Validate_Id(p_tcnv_rec, x_return_status);
3639     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3640        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3641           -- need to exit
3642           l_return_status := x_return_status;
3643           RAISE G_EXCEPTION_HALT_VALIDATION;
3644        ELSE
3645           -- there was an error
3646           l_return_status := x_return_status;
3647        END IF;
3648     END IF;
3649 
3650     -- Validate_Khr_Id
3651     Validate_Khr_Id(p_tcnv_rec, x_return_status);
3652     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3653        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3654           -- need to exit
3655           l_return_status := x_return_status;
3656           RAISE G_EXCEPTION_HALT_VALIDATION;
3657        ELSE
3658           -- there was an error
3659           l_return_status := x_return_status;
3660        END IF;
3661     END IF;
3662 
3663     -- Validate_Khr_Id_New
3664     Validate_Khr_Id_New(p_tcnv_rec, x_return_status);
3665     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3666        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3667           -- need to exit
3668           l_return_status := x_return_status;
3669           RAISE G_EXCEPTION_HALT_VALIDATION;
3670        ELSE
3671           -- there was an error
3672           l_return_status := x_return_status;
3673        END IF;
3674     END IF;
3675 
3676     -- Validate_Khr_Id_Old
3677     Validate_Khr_Id_Old(p_tcnv_rec, x_return_status);
3678     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3679        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3680           -- need to exit
3681           l_return_status := x_return_status;
3682           RAISE G_EXCEPTION_HALT_VALIDATION;
3683        ELSE
3684           -- there was an error
3685           l_return_status := x_return_status;
3686        END IF;
3687     END IF;
3688 
3689     -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
3690     -- Validate_primary_rep_trx_id
3691     Validate_primary_rep_trx_id(p_tcnv_rec, x_return_status);
3692     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3693        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3694           -- need to exit
3695           l_return_status := x_return_status;
3696           RAISE G_EXCEPTION_HALT_VALIDATION;
3697        ELSE
3698           -- there was an error
3699           l_return_status := x_return_status;
3700        END IF;
3701     END IF;
3702 
3703     -- Validate_representation_type
3704     Validate_representation_type(p_tcnv_rec, x_return_status);
3705     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3706        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3707           -- need to exit
3708           l_return_status := x_return_status;
3709           RAISE G_EXCEPTION_HALT_VALIDATION;
3710        ELSE
3711           -- there was an error
3712           l_return_status := x_return_status;
3713        END IF;
3714     END IF;
3715 
3716     -- Validate_Pvn_Id
3717     Validate_PVN_ID(p_tcnv_rec, x_return_status);
3718     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3719        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3720           -- need to exit
3721           l_return_status := x_return_status;
3722           RAISE G_EXCEPTION_HALT_VALIDATION;
3723        ELSE
3724           -- there was an error
3725           l_return_status := x_return_status;
3726        END IF;
3727     END IF;
3728 
3729 
3730     -- Validate_PDT_Id
3731     Validate_PDT_ID(p_tcnv_rec, x_return_status);
3732     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3733        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3734           -- need to exit
3735           l_return_status := x_return_status;
3736           RAISE G_EXCEPTION_HALT_VALIDATION;
3737        ELSE
3738           -- there was an error
3739           l_return_status := x_return_status;
3740        END IF;
3741     END IF;
3742 
3743     -- Validate_QTE_ID
3744     Validate_QTE_ID(p_tcnv_rec, x_return_status);
3745     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3746        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3747           -- need to exit
3748           l_return_status := x_return_status;
3749           RAISE G_EXCEPTION_HALT_VALIDATION;
3750        ELSE
3751           -- there was an error
3752           l_return_status := x_return_status;
3753        END IF;
3754     END IF;
3755 
3756     -- Validate_AES_ID
3757     Validate_AES_ID(p_tcnv_rec, x_return_status);
3758     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3759        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3760           -- need to exit
3761           l_return_status := x_return_status;
3762           RAISE G_EXCEPTION_HALT_VALIDATION;
3763        ELSE
3764           -- there was an error
3765           l_return_status := x_return_status;
3766        END IF;
3767     END IF;
3768 
3769 
3770     -- Validate_CCID
3771     Validate_CCID(p_tcnv_rec, x_return_status);
3772     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3773        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3774           -- need to exit
3775           l_return_status := x_return_status;
3776           RAISE G_EXCEPTION_HALT_VALIDATION;
3777        ELSE
3778           -- there was an error
3779           l_return_status := x_return_status;
3780        END IF;
3781     END IF;
3782 
3783     -- Validate_Object_Version_Number
3784     Validate_Object_Version_Number(p_tcnv_rec, x_return_status);
3785     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3786        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3787           -- need to exit
3788           l_return_status := x_return_status;
3789           RAISE G_EXCEPTION_HALT_VALIDATION;
3790        ELSE
3791           -- there was an error
3792           l_return_status := x_return_status;
3793        END IF;
3794     END IF;
3795 
3796     -- Validate_Tcn_Type
3797     Validate_Tcn_Type(p_tcnv_rec, x_return_status);
3798     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3799        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3800           -- need to exit
3801           l_return_status := x_return_status;
3802           RAISE G_EXCEPTION_HALT_VALIDATION;
3803        ELSE
3804           -- there was an error
3805           l_return_status := x_return_status;
3806        END IF;
3807     END IF;
3808 
3809     -- Validate_Accrual_Status_YN
3810     Validate_Accrual_Status_YN(p_tcnv_rec, x_return_status);
3811     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3812        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3813           -- need to exit
3814           l_return_status := x_return_status;
3815           RAISE G_EXCEPTION_HALT_VALIDATION;
3816        ELSE
3817           -- there was an error
3818           l_return_status := x_return_status;
3819        END IF;
3820     END IF;
3821 
3822     -- Validate_Update_Status_YN
3823     Validate_Update_Status_YN(p_tcnv_rec, x_return_status);
3824     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3825        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3826           -- need to exit
3827           l_return_status := x_return_status;
3828           RAISE G_EXCEPTION_HALT_VALIDATION;
3829        ELSE
3830           -- there was an error
3831           l_return_status := x_return_status;
3832        END IF;
3833     END IF;
3834 
3835 -- Added DJANASWA for SLA project
3836     -- Validate_Account_Reversal_YN
3837     Validate_Account_Reversal_YN (p_tcnv_rec, x_return_status);
3838     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3839        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3840           -- need to exit
3841           l_return_status := x_return_status;
3842           RAISE G_EXCEPTION_HALT_VALIDATION;
3843        ELSE
3844           -- there was an error
3845           l_return_status := x_return_status;
3846        END IF;
3847     END IF;
3848 
3849     -- Validate_Tax_Deductible_Local
3850     Validate_Tax_Deductible_Local(p_tcnv_rec, x_return_status);
3851     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3852        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3853           -- need to exit
3854           l_return_status := x_return_status;
3855           RAISE G_EXCEPTION_HALT_VALIDATION;
3856        ELSE
3857           -- there was an error
3858           l_return_status := x_return_status;
3859        END IF;
3860     END IF;
3861 
3862     -- validate_tax_deductible_corp
3863     validate_tax_deductible_corp(p_tcnv_rec, x_return_status);
3864     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3865        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3866           -- need to exit
3867           l_return_status := x_return_status;
3868           RAISE G_EXCEPTION_HALT_VALIDATION;
3869        ELSE
3870           -- there was an error
3871           l_return_status := x_return_status;
3872        END IF;
3873     END IF;
3874 
3875     -- Validate_currency_code
3876     Validate_currency_code(p_tcnv_rec, x_return_status);
3877     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3878        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3879           -- need to exit
3880           l_return_status := x_return_status;
3881           RAISE G_EXCEPTION_HALT_VALIDATION;
3882        ELSE
3883           -- there was an error
3884           l_return_status := x_return_status;
3885        END IF;
3886     END IF;
3887 
3888     -- Validate_TRY_ID
3889     Validate_TRY_ID(p_tcnv_rec, x_return_status);
3890     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3891        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3892           -- need to exit
3893           l_return_status := x_return_status;
3894           RAISE G_EXCEPTION_HALT_VALIDATION;
3895        ELSE
3896           -- there was an error
3897           l_return_status := x_return_status;
3898        END IF;
3899     END IF;
3900 
3901 
3902     -- Validate_Date_Transaction
3903     Validate_Date_Transaction(p_tcnv_rec, x_return_status);
3904     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3905        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3906           -- need to exit
3907           l_return_status := x_return_status;
3908           RAISE G_EXCEPTION_HALT_VALIDATION;
3909        ELSE
3910           -- there was an error
3911           l_return_status := x_return_status;
3912        END IF;
3913     END IF;
3914 
3915 
3916     -- Validate_RBR_CODE
3917     Validate_RBR_CODE(p_tcnv_rec, x_return_status);
3918     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3919        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3920           -- need to exit
3921           l_return_status := x_return_status;
3922           RAISE G_EXCEPTION_HALT_VALIDATION;
3923        ELSE
3924           -- there was an error
3925           l_return_status := x_return_status;
3926        END IF;
3927     END IF;
3928 
3929     -- Validate_RPY_CODE
3930     Validate_RPY_CODE(p_tcnv_rec, x_return_status);
3931     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3932        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3933           -- need to exit
3934           l_return_status := x_return_status;
3935           RAISE G_EXCEPTION_HALT_VALIDATION;
3936        ELSE
3937           -- there was an error
3938           l_return_status := x_return_status;
3939        END IF;
3940     END IF;
3941 
3942     -- Validate_RVN_CODE
3943     Validate_RVN_CODE(p_tcnv_rec, x_return_status);
3944     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3945        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3946           -- need to exit
3947           l_return_status := x_return_status;
3948           RAISE G_EXCEPTION_HALT_VALIDATION;
3949        ELSE
3950           -- there was an error
3951           l_return_status := x_return_status;
3952        END IF;
3953     END IF;
3954 
3955     -- Validate_TSU_CODE
3956     Validate_TSU_CODE(p_tcnv_rec, x_return_status);
3957     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3958        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3959           -- need to exit
3960           l_return_status := x_return_status;
3961           RAISE G_EXCEPTION_HALT_VALIDATION;
3962        ELSE
3963           -- there was an error
3964           l_return_status := x_return_status;
3965        END IF;
3966     END IF;
3967 
3968     -- Validate_TRN_CODE
3969     Validate_TRN_CODE(p_tcnv_rec, x_return_status);
3970     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3971        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3972           -- need to exit
3973           l_return_status := x_return_status;
3974           RAISE G_EXCEPTION_HALT_VALIDATION;
3975        ELSE
3976           -- there was an error
3977           l_return_status := x_return_status;
3978        END IF;
3979     END IF;
3980 
3981 
3982     -- Validate_Trx_Number
3983     Validate_Trx_Number(p_tcnv_rec, x_return_status);
3984     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3985        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3986           -- need to exit
3987           l_return_status := x_return_status;
3988           RAISE G_EXCEPTION_HALT_VALIDATION;
3989        ELSE
3990           -- there was an error
3991           l_return_status := x_return_status;
3992        END IF;
3993     END IF;
3994 
3995 
3996     -- Validate_Terminate_Attribs
3997     Validate_Terminate_Attribs(p_tcnv_rec, x_return_status);
3998     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3999        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4000           -- need to exit
4001           l_return_status := x_return_status;
4002           RAISE G_EXCEPTION_HALT_VALIDATION;
4003        ELSE
4004           -- there was an error
4005           l_return_status := x_return_status;
4006        END IF;
4007     END IF;
4008 
4009 -- Added by Santonyr 31-Jul-2002
4010 -- Added New Filed Accrual_Activity. Fixed Bug 2486088
4011 
4012     -- Validate Accrual Activity
4013     Validate_Accrual_Activity(p_tcnv_rec, x_return_status);
4014     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4015        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4016           -- need to exit
4017           l_return_status := x_return_status;
4018           RAISE G_EXCEPTION_HALT_VALIDATION;
4019        ELSE
4020           -- there was an error
4021           l_return_status := x_return_status;
4022        END IF;
4023     END IF;
4024 
4025 --Added be Keerthi 25-Aug-03
4026 -- Validate_Chr_Id
4027 
4028     Validate_Chr_Id(p_tcnv_rec, x_return_status);
4029     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4030        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4031           -- need to exit
4032           l_return_status := x_return_status;
4033           RAISE G_EXCEPTION_HALT_VALIDATION;
4034        ELSE
4035           -- there was an error
4036           l_return_status := x_return_status;
4037        END IF;
4038     END IF;
4039 
4040 --Added by dpsingh
4041 
4042 -- Validate_LE_Id
4043     Validate_LE_Id(p_tcnv_rec, x_return_status);
4044     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
4045        IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
4046           -- need to exit
4047           l_return_status := x_return_status;
4048           RAISE G_EXCEPTION_HALT_VALIDATION;
4049        ELSE
4050           -- there was an error
4051           l_return_status := x_return_status;
4052        END IF;
4053     END IF;
4054 
4055 --Added be Keerthi for Bug No 3195713
4056 -- Validate_Source_Trx_Id_Type
4057 
4058     Validate_Source_Trx_Id_Type(p_tcnv_rec, x_return_status);
4059     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4060        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4061           -- need to exit
4062           l_return_status := x_return_status;
4063           RAISE G_EXCEPTION_HALT_VALIDATION;
4064        ELSE
4065           -- there was an error
4066           l_return_status := x_return_status;
4067        END IF;
4068     END IF;
4069 
4070 -- Added by DJANASWA for SLA project 06-Feb-07
4071     Validate_Accrual_Reversal_Date (p_tcnv_rec, x_return_status);
4072     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4073        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4074           -- need to exit
4075           l_return_status := x_return_status;
4076           RAISE G_EXCEPTION_HALT_VALIDATION;
4077        ELSE
4078           -- there was an error
4079           l_return_status := x_return_status;
4080        END IF;
4081     END IF;
4082 
4083     -- Added by zrehman for SLA project 21-Feb-07
4084     Validate_Tmt_Status_Code (p_tcnv_rec, x_return_status);
4085     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4086        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4087           -- need to exit
4088           l_return_status := x_return_status;
4089           RAISE G_EXCEPTION_HALT_VALIDATION;
4090        ELSE
4091           -- there was an error
4092           l_return_status := x_return_status;
4093        END IF;
4094     END IF;
4095 
4096     -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
4097     Validate_Upgrade_Status_Flag(x_return_status, p_tcnv_rec);
4098 
4099        IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4100           IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4101               l_return_status := x_return_Status;
4102               RAISE G_EXCEPTION_HALT_VALIDATION;
4103           ELSE
4104               l_return_status := x_return_status;
4105           END IF;
4106        END IF;
4107 
4108     -- Added by kthiruva for SLA project (Bug 5707866) 10-May-2007
4109     Validate_Rep_Name_Code(p_tcnv_rec,x_return_status);
4110 
4111        IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4112           IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4113               l_return_status := x_return_Status;
4114               RAISE G_EXCEPTION_HALT_VALIDATION;
4115           ELSE
4116               l_return_status := x_return_status;
4117           END IF;
4118        END IF;
4119 
4120     RETURN(l_return_status);
4121 
4122   EXCEPTION
4123     WHEN G_EXCEPTION_HALT_VALIDATION THEN
4124        -- exit with return status
4125        NULL;
4126        RETURN (l_return_status);
4127 
4128     WHEN OTHERS THEN
4129        -- store SQL error message on message stack for caller
4130        Okc_Api.SET_MESSAGE(p_app_name         => g_app_name,
4131                            p_msg_name         => g_unexpected_error,
4132                            p_token1           => g_sqlcode_token,
4133                            p_token1_value     => SQLCODE,
4134                            p_token2           => g_sqlerrm_token,
4135                            p_token2_value     => SQLERRM);
4136        -- notify caller of an UNEXPECTED error
4137        l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
4138        RETURN(l_return_status);
4139 
4140   END Validate_Attributes;
4141 
4142   ---------------------------------------------------------------------------
4143   -- PROCEDURE Validate_Record
4144   ---------------------------------------------------------------------------
4145   -- Start of comments
4146   --
4147   -- Procedure Name  : Validate_Record
4148   -- Description     :
4149   -- Business Rules  :
4150   -- Parameters      :
4151   -- Version         : 1.0
4152   -- End of comments
4153   ---------------------------------------------------------------------------
4154 
4155   FUNCTION Validate_Record (
4156     p_tcnv_rec IN tcnv_rec_type
4157   ) RETURN VARCHAR2 IS
4158     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4159   BEGIN
4160     RETURN(l_return_status);
4161   EXCEPTION
4162     WHEN OTHERS THEN
4163        -- store SQL error message on message stack for caller
4164        Okc_Api.SET_MESSAGE(p_app_name         => g_app_name,
4165                            p_msg_name         => g_unexpected_error,
4166                            p_token1           => g_sqlcode_token,
4167                            p_token1_value     => SQLCODE,
4168                            p_token2           => g_sqlerrm_token,
4169                            p_token2_value     => SQLERRM);
4170        -- notify caller of an UNEXPECTED error
4171        l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
4172        RETURN(l_return_status);
4173   END Validate_Record;
4174 
4175   /*********************** END MANUAL CODE **********************************/
4176 
4177   ---------------------------------------------------------------------------
4178   -- PROCEDURE Migrate
4179   ---------------------------------------------------------------------------
4180   PROCEDURE migrate (
4181     p_from	IN tcnv_rec_type,
4182     p_to	IN OUT NOCOPY tcn_rec_type
4183   ) IS
4184   BEGIN
4185     p_to.id := p_from.id;
4186     p_to.khr_id_new := p_from.khr_id_new;
4187     p_to.pvn_id := p_from.pvn_id;
4188     p_to.pdt_id := p_from.pdt_id;
4189     p_to.rbr_code := p_from.rbr_code;
4190     p_to.rpy_code := p_from.rpy_code;
4191     p_to.rvn_code := p_from.rvn_code;
4192     p_to.trn_code := p_from.trn_code;
4193     p_to.qte_id := p_from.qte_id;
4194     p_to.aes_id := p_from.aes_id;
4195     p_to.code_combination_id := p_from.code_combination_id;
4196     p_to.tcn_type := p_from.tcn_type;
4197 
4198     p_to.rjn_code := p_from.rjn_code;
4199     p_to.party_rel_id1_old := p_from.party_rel_id1_old;
4200     p_to.party_rel_id2_old := p_from.party_rel_id2_old;
4201     p_to.party_rel_id1_new := p_from.party_rel_id1_new;
4202     p_to.party_rel_id2_new := p_from.party_rel_id2_new;
4203     p_to.complete_transfer_yn := p_from.complete_transfer_yn;
4204     p_to.object_version_number := p_from.object_version_number;
4205     p_to.created_by := p_from.created_by;
4206     p_to.creation_date := p_from.creation_date;
4207     p_to.last_updated_by := p_from.last_updated_by;
4208     p_to.last_update_date := p_from.last_update_date;
4209     p_to.date_accrual := p_from.date_accrual;
4210     p_to.accrual_status_yn := p_from.accrual_status_yn;
4211     p_to.update_status_yn := p_from.update_status_yn;
4212     p_to.org_id := p_from.org_id;
4213     p_to.khr_id := p_from.khr_id;
4214     p_to.tax_deductible_local := p_from.tax_deductible_local;
4215     p_to.tax_deductible_corporate := p_from.tax_deductible_corporate;
4216     p_to.amount := p_from.amount;
4217     p_to.request_id := p_from.request_id;
4218     p_to.currency_code := p_from.currency_code;
4219     p_to.program_application_id := p_from.program_application_id;
4220     p_to.khr_id_old := p_from.khr_id_old;
4221     p_to.program_id := p_from.program_id;
4222     p_to.program_update_date := p_from.program_update_date;
4223     p_to.attribute_category := p_from.attribute_category;
4224     p_to.attribute1 := p_from.attribute1;
4225     p_to.attribute2 := p_from.attribute2;
4226     p_to.attribute3 := p_from.attribute3;
4227     p_to.attribute4 := p_from.attribute4;
4228     p_to.attribute5 := p_from.attribute5;
4229     p_to.attribute6 := p_from.attribute6;
4230     p_to.attribute7 := p_from.attribute7;
4231     p_to.attribute8 := p_from.attribute8;
4232     p_to.attribute9 := p_from.attribute9;
4233     p_to.attribute10 := p_from.attribute10;
4234     p_to.attribute11 := p_from.attribute11;
4235     p_to.attribute12 := p_from.attribute12;
4236     p_to.attribute13 := p_from.attribute13;
4237     p_to.attribute14 := p_from.attribute14;
4238     p_to.attribute15 := p_from.attribute15;
4239     p_to.last_update_login := p_from.last_update_login;
4240     p_to.try_id  := p_from.try_id;
4241     p_to.tsu_code  := p_from.tsu_code;
4242     p_to.set_of_books_id  := p_from.set_of_books_id;
4243     p_to.description  := p_from.description;
4244     p_to.date_transaction_occurred  := p_from.date_transaction_occurred;
4245     p_to.trx_number  := p_from.trx_number;
4246     p_to.tmt_evergreen_yn  := p_from.tmt_evergreen_yn;
4247     p_to.tmt_close_balances_yn := p_from.tmt_close_balances_yn;
4248     p_to.tmt_accounting_entries_yn := p_from.tmt_accounting_entries_yn;
4249     p_to.tmt_cancel_insurance_yn := p_from.tmt_cancel_insurance_yn;
4250     p_to.tmt_asset_disposition_yn := p_from.tmt_asset_disposition_yn;
4251     p_to.tmt_amortization_yn := p_from.tmt_amortization_yn;
4252     p_to.tmt_asset_return_yn := p_from.tmt_asset_return_yn;
4253     p_to.tmt_contract_updated_yn := p_from.tmt_contract_updated_yn;
4254     p_to.tmt_recycle_yn := p_from.tmt_recycle_yn;
4255     p_to.tmt_validated_yn := p_from.tmt_validated_yn;
4256     p_to.tmt_streams_updated_yn := p_from.tmt_streams_updated_yn;
4257     p_to.accrual_activity := p_from.accrual_activity;
4258 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4259     p_to.tmt_split_asset_yn := p_from.tmt_split_asset_yn;
4260     p_to.tmt_generic_flag1_yn := p_from.tmt_generic_flag1_yn;
4261     p_to.tmt_generic_flag2_yn := p_from.tmt_generic_flag2_yn;
4262     p_to.tmt_generic_flag3_yn := p_from.tmt_generic_flag3_yn;
4263 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4264     p_to.currency_conversion_type := p_from.currency_conversion_type;
4265     p_to.currency_conversion_rate := p_from.currency_conversion_rate;
4266     p_to.currency_conversion_date := p_from.currency_conversion_date;
4267 -- Added by Keerthi 04-SEP-2003
4268     p_to.chr_id := p_from.chr_id;
4269 -- Added by Keerthi for Bug No 3195713
4270     p_to.source_trx_id := p_from.source_trx_id;
4271     p_to.source_trx_type := p_from.source_trx_type;
4272 -- Added by kmotepal for Bug 3621485
4273     p_to.canceled_date := p_from.canceled_date;
4274 
4275      --Added by dpsingh for LE Uptake
4276     p_to.legal_entity_id := p_from.legal_entity_id;
4277 
4278    --Added by dpsingh for SLA Uptake (Bug 5707866)
4279     p_to.accrual_reversal_date := p_from.accrual_reversal_date;
4280   -- Added by DJANASWA for SLA project
4281     p_to.accounting_reversal_yn := p_from.accounting_reversal_yn;
4282 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4283     p_to.product_name := p_from.product_name;
4284     p_to.book_classification_code := p_from.book_classification_code;
4285     p_to.tax_owner_code := p_from.tax_owner_code;
4286     p_to.tmt_status_code := p_from.tmt_status_code;
4287     p_to.representation_name := p_from.representation_name;
4288     p_to.representation_code := p_from.representation_code;
4289 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
4290     p_to.UPGRADE_STATUS_FLAG := p_from.UPGRADE_STATUS_FLAG;
4291 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4292     p_to.TRANSACTION_DATE := p_from.TRANSACTION_DATE;
4293 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4294     p_to.primary_rep_trx_id := p_from.primary_rep_trx_id;
4295     p_to.REPRESENTATION_TYPE := p_from.REPRESENTATION_TYPE;
4296 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4297     p_to.TRANSACTION_REVERSAL_DATE := p_from.TRANSACTION_REVERSAL_DATE;
4298   END migrate;
4299   PROCEDURE migrate (
4300     p_from	IN tcn_rec_type,
4301     p_to	IN OUT NOCOPY tcnv_rec_type
4302   ) IS
4303   BEGIN
4304     p_to.id := p_from.id;
4305     p_to.khr_id_new := p_from.khr_id_new;
4306     p_to.pvn_id := p_from.pvn_id;
4307     p_to.pdt_id := p_from.pdt_id;
4308     p_to.rbr_code := p_from.rbr_code;
4309     p_to.rpy_code := p_from.rpy_code;
4310     p_to.rvn_code := p_from.rvn_code;
4311     p_to.trn_code := p_from.trn_code;
4312     p_to.qte_id := p_from.qte_id;
4313     p_to.aes_id := p_from.aes_id;
4314     p_to.code_combination_id := p_from.code_combination_id;
4315     p_to.tcn_type := p_from.tcn_type;
4316 
4317     p_to.rjn_code := p_from.rjn_code;
4318     p_to.party_rel_id1_old := p_from.party_rel_id1_old;
4319     p_to.party_rel_id2_old := p_from.party_rel_id2_old;
4320     p_to.party_rel_id1_new := p_from.party_rel_id1_new;
4321     p_to.party_rel_id2_new := p_from.party_rel_id2_new;
4322     p_to.complete_transfer_yn := p_from.complete_transfer_yn;
4323     p_to.object_version_number := p_from.object_version_number;
4324     p_to.created_by := p_from.created_by;
4325     p_to.creation_date := p_from.creation_date;
4326     p_to.last_updated_by := p_from.last_updated_by;
4327     p_to.last_update_date := p_from.last_update_date;
4328     p_to.date_accrual := p_from.date_accrual;
4329     p_to.accrual_status_yn := p_from.accrual_status_yn;
4330     p_to.update_status_yn := p_from.update_status_yn;
4331     p_to.org_id := p_from.org_id;
4332     p_to.khr_id := p_from.khr_id;
4333     p_to.tax_deductible_local := p_from.tax_deductible_local;
4334     p_to.tax_deductible_corporate := p_from.tax_deductible_corporate;
4335     p_to.amount := p_from.amount;
4336     p_to.request_id := p_from.request_id;
4337     p_to.currency_code := p_from.currency_code;
4338     p_to.program_application_id := p_from.program_application_id;
4339     p_to.khr_id_old := p_from.khr_id_old;
4340     p_to.program_id := p_from.program_id;
4341     p_to.program_update_date := p_from.program_update_date;
4342     p_to.attribute_category := p_from.attribute_category;
4343     p_to.attribute1 := p_from.attribute1;
4344     p_to.attribute2 := p_from.attribute2;
4345     p_to.attribute3 := p_from.attribute3;
4346     p_to.attribute4 := p_from.attribute4;
4347     p_to.attribute5 := p_from.attribute5;
4348     p_to.attribute6 := p_from.attribute6;
4349     p_to.attribute7 := p_from.attribute7;
4350     p_to.attribute8 := p_from.attribute8;
4351     p_to.attribute9 := p_from.attribute9;
4352     p_to.attribute10 := p_from.attribute10;
4353     p_to.attribute11 := p_from.attribute11;
4354     p_to.attribute12 := p_from.attribute12;
4355     p_to.attribute13 := p_from.attribute13;
4356     p_to.attribute14 := p_from.attribute14;
4357     p_to.attribute15 := p_from.attribute15;
4358     p_to.last_update_login := p_from.last_update_login;
4359     p_to.try_id  := p_from.try_id;
4360     p_to.tsu_code  := p_from.tsu_code;
4361     p_to.set_of_books_id  := p_from.set_of_books_id;
4362     p_to.description  := p_from.description;
4363     p_to.date_transaction_occurred  := p_from.date_transaction_occurred;
4364     p_to.trx_number  := p_from.trx_number;
4365     p_to.tmt_evergreen_yn  := p_from.tmt_evergreen_yn;
4366     p_to.tmt_close_balances_yn := p_from.tmt_close_balances_yn;
4367     p_to.tmt_accounting_entries_yn := p_from.tmt_accounting_entries_yn;
4368     p_to.tmt_cancel_insurance_yn := p_from.tmt_cancel_insurance_yn;
4369     p_to.tmt_asset_disposition_yn := p_from.tmt_asset_disposition_yn;
4370     p_to.tmt_amortization_yn := p_from.tmt_amortization_yn;
4371     p_to.tmt_asset_return_yn := p_from.tmt_asset_return_yn;
4372     p_to.tmt_contract_updated_yn := p_from.tmt_contract_updated_yn;
4373     p_to.tmt_recycle_yn := p_from.tmt_recycle_yn;
4374     p_to.tmt_validated_yn := p_from.tmt_validated_yn;
4375     p_to.tmt_streams_updated_yn := p_from.tmt_streams_updated_yn;
4376     p_to.accrual_activity := p_from.accrual_activity;
4377 
4378 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4379     p_to.tmt_split_asset_yn := p_from.tmt_split_asset_yn;
4380     p_to.tmt_generic_flag1_yn := p_from.tmt_generic_flag1_yn;
4381     p_to.tmt_generic_flag2_yn := p_from.tmt_generic_flag2_yn;
4382     p_to.tmt_generic_flag3_yn := p_from.tmt_generic_flag3_yn;
4383 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4384     p_to.currency_conversion_type := p_from.currency_conversion_type;
4385     p_to.currency_conversion_rate := p_from.currency_conversion_rate;
4386     p_to.currency_conversion_date := p_from.currency_conversion_date;
4387 -- Added by Keerthi 04-SEP-2003
4388     p_to.chr_id := p_from.chr_id;
4389 -- Added by Keerthi for Bug No 3195713
4390     p_to.source_trx_id := p_from.source_trx_id;
4391     p_to.source_trx_type := p_from.source_trx_type;
4392 -- Added by kmotepal for Bug 3621485
4393     p_to.canceled_date := p_from.canceled_date;
4394 --Added by dpsingh for LE Uptake
4395    p_to.legal_entity_id := p_from.legal_entity_id;
4396    --Added by dpsingh for SLA Uptake (Bug 5707866)
4397    p_to.accrual_reversal_date := p_from.accrual_reversal_date;
4398 -- Added by DJANASWA for SLA project
4399    p_to.accounting_reversal_yn := p_from.accounting_reversal_yn;
4400 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4401    p_to.product_name := p_from.product_name;
4402    p_to.book_classification_code := p_from.book_classification_code;
4403    p_to.tax_owner_code := p_from.tax_owner_code;
4404    p_to.tmt_status_code := p_from.tmt_status_code;
4405    p_to.representation_name := p_from.representation_name;
4406    p_to.representation_code := p_from.representation_code;
4407 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
4408    p_to.UPGRADE_STATUS_FLAG := p_from.UPGRADE_STATUS_FLAG;
4409 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4410    p_to.TRANSACTION_DATE := p_from.TRANSACTION_DATE;
4411 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4412    p_to.primary_rep_trx_id := p_from.primary_rep_trx_id;
4413    p_to.REPRESENTATION_TYPE := p_from.REPRESENTATION_TYPE;
4414 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4415    p_to.TRANSACTION_REVERSAL_DATE := p_from.TRANSACTION_REVERSAL_DATE;
4416   END migrate;
4417 
4418   ---------------------------------------------------------------------------
4419   -- PROCEDURE validate_row
4420   ---------------------------------------------------------------------------
4421   ------------------------------------------
4422   -- validate_row for:OKL_TRX_CONTRACTS_V --
4423   ------------------------------------------
4424   PROCEDURE validate_row(
4425     p_api_version                  IN NUMBER,
4426     p_init_msg_list                IN VARCHAR2,
4427     x_return_status                OUT NOCOPY VARCHAR2,
4428     x_msg_count                    OUT NOCOPY NUMBER,
4429     x_msg_data                     OUT NOCOPY VARCHAR2,
4430     p_tcnv_rec                     IN tcnv_rec_type) IS
4431 
4432     l_api_version                 CONSTANT NUMBER := 1;
4433     l_api_name                     CONSTANT VARCHAR2(30) := 'V_validate_row';
4434     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4435     l_tcnv_rec                     tcnv_rec_type := p_tcnv_rec;
4436     l_tcn_rec                      tcn_rec_type;
4437   BEGIN
4438     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
4439                                               G_PKG_NAME,
4440                                               p_init_msg_list,
4441                                               l_api_version,
4442                                               p_api_version,
4443                                               '_PVT',
4444                                               x_return_status);
4445     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4446       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4447     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4448       RAISE Okc_Api.G_EXCEPTION_ERROR;
4449     END IF;
4450     --- Validate all non-missing attributes (Item Level Validation)
4451     l_return_status := Validate_Attributes(l_tcnv_rec);
4452     --- If any errors happen abort API
4453     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4454       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4455     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4456       RAISE Okc_Api.G_EXCEPTION_ERROR;
4457     END IF;
4458     l_return_status := Validate_Record(l_tcnv_rec);
4459     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4460       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4461     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4462       RAISE Okc_Api.G_EXCEPTION_ERROR;
4463     END IF;
4464     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
4465   EXCEPTION
4466     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
4467       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
4468       (
4469         l_api_name,
4470         G_PKG_NAME,
4471         'OKC_API.G_RET_STS_ERROR',
4472         x_msg_count,
4473         x_msg_data,
4474         '_PVT'
4475       );
4476     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
4477       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4478       (
4479         l_api_name,
4480         G_PKG_NAME,
4481         'OKC_API.G_RET_STS_UNEXP_ERROR',
4482         x_msg_count,
4483         x_msg_data,
4484         '_PVT'
4485       );
4486     WHEN OTHERS THEN
4487       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4488       (
4489         l_api_name,
4490         G_PKG_NAME,
4491         'OTHERS',
4492         x_msg_count,
4493         x_msg_data,
4494         '_PVT'
4495       );
4496   END validate_row;
4497   ------------------------------------------
4498   -- PL/SQL TBL validate_row for:TCNV_TBL --
4499   ------------------------------------------
4500   PROCEDURE validate_row(
4501     p_api_version                  IN NUMBER,
4502     p_init_msg_list                IN VARCHAR2,
4503     x_return_status                OUT NOCOPY VARCHAR2,
4504     x_msg_count                    OUT NOCOPY NUMBER,
4505     x_msg_data                     OUT NOCOPY VARCHAR2,
4506     p_tcnv_tbl                     IN tcnv_tbl_type) IS
4507 
4508     l_api_version                 CONSTANT NUMBER := 1;
4509     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
4510     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4511     i                              NUMBER := 0;
4512     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4513 
4514   BEGIN
4515     Okc_Api.init_msg_list(p_init_msg_list);
4516     -- Make sure PL/SQL table has records in it before passing
4517     IF (p_tcnv_tbl.COUNT > 0) THEN
4518       i := p_tcnv_tbl.FIRST;
4519       LOOP
4520         validate_row (
4521           p_api_version                  => p_api_version,
4522           p_init_msg_list                => Okc_Api.G_FALSE,
4523           x_return_status                => x_return_status,
4524           x_msg_count                    => x_msg_count,
4525           x_msg_data                     => x_msg_data,
4526           p_tcnv_rec                     => p_tcnv_tbl(i));
4527 
4528         -- store the highest degree of error
4529 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
4530            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
4531               l_overall_status := x_return_status;
4532            END IF;
4533 	  END IF;
4534 
4535         EXIT WHEN (i = p_tcnv_tbl.LAST);
4536         i := p_tcnv_tbl.NEXT(i);
4537       END LOOP;
4538 	  -- return overall status
4539 	  x_return_status := l_overall_status;
4540 
4541     END IF;
4542   EXCEPTION
4543     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
4544       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
4545       (
4546         l_api_name,
4547         G_PKG_NAME,
4548         'OKC_API.G_RET_STS_ERROR',
4549         x_msg_count,
4550         x_msg_data,
4551         '_PVT'
4552       );
4553     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
4554       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4555       (
4556         l_api_name,
4557         G_PKG_NAME,
4558         'OKC_API.G_RET_STS_UNEXP_ERROR',
4559         x_msg_count,
4560         x_msg_data,
4561         '_PVT'
4562       );
4563     WHEN OTHERS THEN
4564       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4565       (
4566         l_api_name,
4567         G_PKG_NAME,
4568         'OTHERS',
4569         x_msg_count,
4570         x_msg_data,
4571         '_PVT'
4572       );
4573   END validate_row;
4574 
4575   ---------------------------------------------------------------------------
4576   -- PROCEDURE insert_row
4577   ---------------------------------------------------------------------------
4578   --------------------------------------
4579   -- insert_row for:OKL_TRX_CONTRACTS --
4580   --------------------------------------
4581   PROCEDURE insert_row(
4582     p_init_msg_list                IN VARCHAR2,
4583     x_return_status                OUT NOCOPY VARCHAR2,
4584     x_msg_count                    OUT NOCOPY NUMBER,
4585     x_msg_data                     OUT NOCOPY VARCHAR2,
4586     p_tcn_rec                      IN tcn_rec_type,
4587     x_tcn_rec                      OUT NOCOPY tcn_rec_type) IS
4588 
4589     l_api_version                 CONSTANT NUMBER := 1;
4590     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_insert_row';
4591     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4592     l_tcn_rec                      tcn_rec_type := p_tcn_rec;
4593     l_def_tcn_rec                  tcn_rec_type;
4594     ------------------------------------------
4595     -- Set_Attributes for:OKL_TRX_CONTRACTS --
4596     ------------------------------------------
4597     FUNCTION Set_Attributes (
4598       p_tcn_rec IN  tcn_rec_type,
4599       x_tcn_rec OUT NOCOPY tcn_rec_type
4600     ) RETURN VARCHAR2 IS
4601       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4602     BEGIN
4603       x_tcn_rec := p_tcn_rec;
4604       RETURN(l_return_status);
4605     END Set_Attributes;
4606   BEGIN
4607     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
4608                                               p_init_msg_list,
4609                                               '_PVT',
4610                                               x_return_status);
4611     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4612       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4613     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4614       RAISE Okc_Api.G_EXCEPTION_ERROR;
4615     END IF;
4616     --- Setting item attributes
4617     l_return_status := Set_Attributes(
4618       p_tcn_rec,                         -- IN
4619       l_tcn_rec);                        -- OUT
4620     --- If any errors happen abort API
4621     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4622       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4623     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4624       RAISE Okc_Api.G_EXCEPTION_ERROR;
4625     END IF;
4626     INSERT INTO OKL_TRX_CONTRACTS(
4627         id,
4628         khr_id_new,
4629         pvn_id,
4630         pdt_id,
4631         rbr_code,
4632         rpy_code,
4633         rvn_code,
4634         trn_code,
4635         qte_id,
4636         aes_id,
4637         code_combination_id,
4638         tcn_type,
4639         RJN_CODE,
4640         PARTY_REL_ID1_OLD,
4641         PARTY_REL_ID2_OLD,
4642         PARTY_REL_ID1_NEW,
4643         PARTY_REL_ID2_NEW,
4644         COMPLETE_TRANSFER_YN,
4645         object_version_number,
4646         created_by,
4647         creation_date,
4648         last_updated_by,
4649         last_update_date,
4650         date_accrual,
4651         accrual_status_yn,
4652         update_status_yn,
4653         org_id,
4654         khr_id,
4655         tax_deductible_local,
4656         tax_deductible_corporate,
4657         amount,
4658         request_id,
4659         currency_CODE,
4660         program_application_id,
4661         khr_id_old,
4662         program_id,
4663         program_update_date,
4664         attribute_category,
4665         attribute1,
4666         attribute2,
4667         attribute3,
4668         attribute4,
4669         attribute5,
4670         attribute6,
4671         attribute7,
4672         attribute8,
4673         attribute9,
4674         attribute10,
4675         attribute11,
4676         attribute12,
4677         attribute13,
4678         attribute14,
4679         attribute15,
4680         last_update_login,
4681 	try_id,
4682 	tsu_code,
4683 	set_of_books_id,
4684 	description,
4685 	date_transaction_occurred,
4686         trx_number,
4687         TMT_EVERGREEN_YN,
4688         TMT_CLOSE_BALANCES_YN,
4689         TMT_ACCOUNTING_ENTRIES_YN,
4690         TMT_CANCEL_INSURANCE_YN,
4691         TMT_ASSET_DISPOSITION_YN,
4692         TMT_AMORTIZATION_YN,
4693         TMT_ASSET_RETURN_YN,
4694         TMT_CONTRACT_UPDATED_YN,
4695         TMT_RECYCLE_YN,
4696         TMT_VALIDATED_YN,
4697         TMT_STREAMS_UPDATED_YN,
4698         accrual_activity,
4699 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4700         TMT_SPLIT_ASSET_YN,
4701 	TMT_GENERIC_FLAG1_YN,
4702 	TMT_GENERIC_FLAG2_YN,
4703 	TMT_GENERIC_FLAG3_YN,
4704 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4705    	CURRENCY_CONVERSION_TYPE,
4706 	CURRENCY_CONVERSION_RATE,
4707 	CURRENCY_CONVERSION_DATE,
4708         CHR_ID,
4709     -- Added by Keerthi for Bug No 3195713
4710        SOURCE_TRX_ID,
4711        SOURCE_TRX_TYPE,
4712    -- Added by kmotepal for Bug 3621485
4713       CANCELED_DATE,
4714      --Added by dpsingh for LE Uptake
4715       LEGAL_ENTITY_ID,
4716      --Added by dpsingh for SLA Uptake (Bug 5707866)
4717       ACCRUAL_REVERSAL_DATE,
4718     -- Added by DJANASWA for SLA project
4719       ACCOUNTING_REVERSAL_YN,
4720 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4721       product_name,
4722       BOOK_CLASSIFICATION_CODE,
4723       TAX_OWNER_CODE,
4724       TMT_STATUS_CODE,
4725       REPRESENTATION_NAME,
4726       REPRESENTATION_CODE,
4727 -- Added by nikshah for SLA project (Bug 5707866) 13-Apr-2007
4728       UPGRADE_STATUS_FLAG,
4729 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4730       TRANSACTION_DATE,
4731 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4732       primary_rep_trx_id,
4733       REPRESENTATION_TYPE,
4734 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4735       TRANSACTION_REVERSAL_DATE
4736       )
4737       VALUES (
4738         l_tcn_rec.id,
4739         l_tcn_rec.khr_id_new,
4740         l_tcn_rec.pvn_id,
4741         l_tcn_rec.pdt_id,
4742         l_tcn_rec.rbr_code,
4743         l_tcn_rec.rpy_code,
4744         l_tcn_rec.rvn_code,
4745         l_tcn_rec.trn_code,
4746         l_tcn_rec.qte_id,
4747         l_tcn_rec.aes_id,
4748         l_tcn_rec.code_combination_id,
4749         l_tcn_rec.tcn_type,
4750         l_tcn_rec.RJN_CODE,
4751         l_tcn_rec.PARTY_REL_ID1_OLD,
4752         l_tcn_rec.PARTY_REL_ID2_OLD,
4753         l_tcn_rec.PARTY_REL_ID1_NEW,
4754         l_tcn_rec.PARTY_REL_ID2_NEW,
4755         l_tcn_rec.COMPLETE_TRANSFER_YN,
4756         l_tcn_rec.object_version_number,
4757         l_tcn_rec.created_by,
4758         l_tcn_rec.creation_date,
4759         l_tcn_rec.last_updated_by,
4760         l_tcn_rec.last_update_date,
4761         l_tcn_rec.date_accrual,
4762         l_tcn_rec.accrual_status_yn,
4763         l_tcn_rec.update_status_yn,
4764         l_tcn_rec.org_id,
4765         l_tcn_rec.khr_id,
4766         l_tcn_rec.tax_deductible_local,
4767         l_tcn_rec.tax_deductible_corporate,
4768         l_tcn_rec.amount,
4769         l_tcn_rec.request_id,
4770         l_tcn_rec.currency_code,
4771         l_tcn_rec.program_application_id,
4772         l_tcn_rec.khr_id_old,
4773         l_tcn_rec.program_id,
4774         l_tcn_rec.program_update_date,
4775         l_tcn_rec.attribute_category,
4776         l_tcn_rec.attribute1,
4777         l_tcn_rec.attribute2,
4778         l_tcn_rec.attribute3,
4779         l_tcn_rec.attribute4,
4780         l_tcn_rec.attribute5,
4781         l_tcn_rec.attribute6,
4782         l_tcn_rec.attribute7,
4783         l_tcn_rec.attribute8,
4784         l_tcn_rec.attribute9,
4785         l_tcn_rec.attribute10,
4786         l_tcn_rec.attribute11,
4787         l_tcn_rec.attribute12,
4788         l_tcn_rec.attribute13,
4789         l_tcn_rec.attribute14,
4790         l_tcn_rec.attribute15,
4791         l_tcn_rec.last_update_login,
4792 	l_tcn_rec.try_id,
4793 	l_tcn_rec.tsu_code,
4794 	l_tcn_rec.set_of_books_id,
4795 	l_tcn_rec.description,
4796 	l_tcn_rec.date_transaction_occurred,
4797         l_tcn_rec.trx_number,
4798         l_tcn_rec.TMT_EVERGREEN_YN ,
4799         l_tcn_rec.TMT_CLOSE_BALANCES_YN ,
4800         l_tcn_rec.TMT_ACCOUNTING_ENTRIES_YN ,
4801         l_tcn_rec.TMT_CANCEL_INSURANCE_YN ,
4802         l_tcn_rec.TMT_ASSET_DISPOSITION_YN ,
4803         l_tcn_rec.TMT_AMORTIZATION_YN ,
4804         l_tcn_rec.TMT_ASSET_RETURN_YN ,
4805         l_tcn_rec.TMT_CONTRACT_UPDATED_YN ,
4806         l_tcn_rec.TMT_RECYCLE_YN ,
4807         l_tcn_rec.TMT_VALIDATED_YN ,
4808         l_tcn_rec.TMT_STREAMS_UPDATED_YN,
4809         l_tcn_rec.accrual_activity,
4810 
4811 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4812         l_tcn_rec.TMT_SPLIT_ASSET_YN,
4813 	l_tcn_rec.TMT_GENERIC_FLAG1_YN,
4814 	l_tcn_rec.TMT_GENERIC_FLAG2_YN,
4815 	l_tcn_rec.TMT_GENERIC_FLAG3_YN,
4816 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4817    	l_tcn_rec.CURRENCY_CONVERSION_TYPE,
4818 	l_tcn_rec.CURRENCY_CONVERSION_RATE,
4819 	l_tcn_rec.CURRENCY_CONVERSION_DATE,
4820 -- Added by Keerthi 04-SEP-2003
4821         l_tcn_rec.CHR_ID,
4822 -- Added by Keerthi for Bug No 3195713
4823     l_tcn_rec.SOURCE_TRX_ID,
4824     l_tcn_rec.SOURCE_TRX_TYPE,
4825 -- Added by kmotepal for Bug 3621485
4826     l_tcn_rec.CANCELED_DATE,
4827     --Added by dpsingh for LE Uptake
4828    l_tcn_rec.LEGAL_ENTITY_ID,
4829    --Added by dpsingh for SLA Uptake (Bug 5707866)
4830    l_tcn_rec.ACCRUAL_REVERSAL_DATE,
4831    -- Added by DJANASWA for SLA project
4832    l_tcn_rec.ACCOUNTING_REVERSAL_YN,
4833 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4834    l_tcn_rec.product_name,
4835    l_tcn_rec.book_classification_code,
4836    l_tcn_rec.tax_owner_code,
4837    l_tcn_rec.tmt_status_code,
4838    l_tcn_rec.representation_name,
4839    l_tcn_rec.representation_code,
4840 -- Added by nikshah for SLA project (Bug 5707866) 13-Apr-2007
4841    l_tcn_rec.UPGRADE_STATUS_FLAG,
4842 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4843    l_tcn_rec.TRANSACTION_DATE,
4844 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4845    l_tcn_rec.primary_rep_trx_id,
4846    l_tcn_rec.REPRESENTATION_TYPE,
4847 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4848    l_tcn_rec.TRANSACTION_REVERSAL_DATE
4849   );
4850 
4851     -- Set OUT values
4852     x_tcn_rec := l_tcn_rec;
4853     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
4854   EXCEPTION
4855     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
4856       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
4857       (
4858         l_api_name,
4859         G_PKG_NAME,
4860         'OKC_API.G_RET_STS_ERROR',
4861         x_msg_count,
4862         x_msg_data,
4863         '_PVT'
4864       );
4865     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
4866       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4867       (
4868         l_api_name,
4869         G_PKG_NAME,
4870         'OKC_API.G_RET_STS_UNEXP_ERROR',
4871         x_msg_count,
4872         x_msg_data,
4873         '_PVT'
4874       );
4875     WHEN OTHERS THEN
4876       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4877       (
4878         l_api_name,
4879         G_PKG_NAME,
4880         'OTHERS',
4881         x_msg_count,
4882         x_msg_data,
4883         '_PVT'
4884       );
4885   END insert_row;
4886   ----------------------------------------
4887   -- insert_row for:OKL_TRX_CONTRACTS_V --
4888   ----------------------------------------
4889   PROCEDURE insert_row(
4890     p_api_version                  IN NUMBER,
4891     p_init_msg_list                IN VARCHAR2,
4892     x_return_status                OUT NOCOPY VARCHAR2,
4893     x_msg_count                    OUT NOCOPY NUMBER,
4894     x_msg_data                     OUT NOCOPY VARCHAR2,
4895     p_tcnv_rec                     IN tcnv_rec_type,
4896     x_tcnv_rec                     OUT NOCOPY tcnv_rec_type) IS
4897 
4898     l_api_version                 CONSTANT NUMBER := 1;
4899     l_api_name                     CONSTANT VARCHAR2(30) := 'V_insert_row';
4900     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4901     l_tcnv_rec                     tcnv_rec_type;
4902     l_def_tcnv_rec                 tcnv_rec_type;
4903     l_tcn_rec                      tcn_rec_type;
4904     lx_tcn_rec                     tcn_rec_type;
4905     -------------------------------
4906     -- FUNCTION fill_who_columns --
4907     -------------------------------
4908     FUNCTION fill_who_columns (
4909       p_tcnv_rec	IN tcnv_rec_type
4910     ) RETURN tcnv_rec_type IS
4911       l_tcnv_rec	tcnv_rec_type := p_tcnv_rec;
4912     BEGIN
4913       l_tcnv_rec.CREATION_DATE := SYSDATE;
4914       l_tcnv_rec.CREATED_BY := Fnd_Global.USER_ID;
4915       l_tcnv_rec.LAST_UPDATE_DATE := SYSDATE;
4916       l_tcnv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
4917       l_tcnv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
4918 
4919       IF (l_tcnv_rec.TRANSACTION_DATE IS NULL) OR
4920 	(l_tcnv_rec.TRANSACTION_DATE = OKL_API.G_MISS_DATE) THEN
4921 		l_tcnv_rec.TRANSACTION_DATE := SYSDATE;
4922       END IF;
4923 
4924       RETURN(l_tcnv_rec);
4925     END fill_who_columns;
4926     --------------------------------------------
4927     -- Set_Attributes for:OKL_TRX_CONTRACTS_V --
4928     --------------------------------------------
4929     FUNCTION Set_Attributes (
4930       p_tcnv_rec IN  tcnv_rec_type,
4931       x_tcnv_rec OUT NOCOPY tcnv_rec_type
4932     ) RETURN VARCHAR2 IS
4933       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4934       l_request_id 	NUMBER 	:= Fnd_Global.CONC_REQUEST_ID;
4935 	l_prog_app_id 	NUMBER 	:= Fnd_Global.PROG_APPL_ID;
4936 	l_program_id 	NUMBER 	:= Fnd_Global.CONC_PROGRAM_ID;
4937     BEGIN
4938       x_tcnv_rec := p_tcnv_rec;
4939       x_tcnv_rec.OBJECT_VERSION_NUMBER := 1;
4940 
4941 
4942       x_tcnv_rec.ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID();
4943 
4944       SELECT DECODE(l_request_id, -1, NULL, l_request_id),
4945       	DECODE(l_prog_app_id, -1, NULL, l_prog_app_id),
4946 	      DECODE(Fnd_Global.CONC_PROGRAM_ID, -1, NULL, Fnd_Global.CONC_PROGRAM_ID),
4947 	      DECODE(l_request_id, -1, NULL, SYSDATE)
4948       INTO  x_tcnv_rec.REQUEST_ID
4949           	,x_tcnv_rec.PROGRAM_APPLICATION_ID
4950           	,x_tcnv_rec.PROGRAM_ID
4951           	,x_tcnv_rec.PROGRAM_UPDATE_DATE
4952      	FROM DUAL;
4953 -- Commented by zrehman for SLA project (Bug 5707866) 21-Feb-2007
4954 -- The derivation for the column is moved to OKL_TRX_CONTRACTS_PVT which in turn is
4955 -- used to derive representation_name  and representation_code
4956 -- start
4957 	-- x_tcnv_rec.set_of_books_id := okl_accounting_util.get_set_of_books_id;
4958 -- end
4959 
4960 -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
4961         x_tcnv_rec.UPGRADE_STATUS_FLAG := 'N';
4962 
4963         BEGIN
4964 
4965            IF (x_tcnv_rec.trx_number IS NULL) OR
4966               (x_tcnv_rec.trx_number = OKL_API.G_MISS_CHAR) THEN
4967               SELECT OKL_TCN_SEQ.NEXTVAL INTO x_tcnv_rec.trx_number FROM DUAL;
4968            END IF;
4969 
4970            IF (x_tcnv_rec.currency_code IS NULL) OR
4971               (x_tcnv_rec.currency_code = OKL_API.G_MISS_CHAR) THEN
4972               x_tcnv_rec.currency_code := OKL_ACCOUNTING_UTIL.GET_FUNC_CURR_CODE;
4973            END IF;
4974 
4975         EXCEPTION
4976           WHEN OTHERS THEN l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4977         END;
4978 
4979       RETURN(l_return_status);
4980     END Set_Attributes;
4981   BEGIN
4982     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
4983                                               G_PKG_NAME,
4984                                               p_init_msg_list,
4985                                               l_api_version,
4986                                               p_api_version,
4987                                               '_PVT',
4988                                               x_return_status);
4989     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4990       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4991     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4992       RAISE Okc_Api.G_EXCEPTION_ERROR;
4993     END IF;
4994     l_tcnv_rec := null_out_defaults(p_tcnv_rec);
4995     -- Set primary key value
4996     l_tcnv_rec.ID := get_seq_id;
4997     --- Setting item attributes
4998     l_return_status := Set_Attributes(
4999       l_tcnv_rec,                        -- IN
5000       l_def_tcnv_rec);                   -- OUT
5001     --- If any errors happen abort API
5002     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5003       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5004     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5005       RAISE Okc_Api.G_EXCEPTION_ERROR;
5006     END IF;
5007     l_def_tcnv_rec := fill_who_columns(l_def_tcnv_rec);
5008     --- Validate all non-missing attributes (Item Level Validation)
5009     l_return_status := Validate_Attributes(l_def_tcnv_rec);
5010     --- If any errors happen abort API
5011     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5012       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5013     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5014       RAISE Okc_Api.G_EXCEPTION_ERROR;
5015     END IF;
5016     l_return_status := Validate_Record(l_def_tcnv_rec);
5017     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5018       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5019     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5020       RAISE Okc_Api.G_EXCEPTION_ERROR;
5021     END IF;
5022     --------------------------------------
5023     -- Move VIEW record to "Child" records
5024     --------------------------------------
5025     migrate(l_def_tcnv_rec, l_tcn_rec);
5026     --------------------------------------------
5027     -- Call the INSERT_ROW for each child record
5028     --------------------------------------------
5029     insert_row(
5030       p_init_msg_list,
5031       x_return_status,
5032       x_msg_count,
5033       x_msg_data,
5034       l_tcn_rec,
5035       lx_tcn_rec
5036     );
5037     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5038       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5039     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5040       RAISE Okc_Api.G_EXCEPTION_ERROR;
5041     END IF;
5042     migrate(lx_tcn_rec, l_def_tcnv_rec);
5043     -- Set OUT values
5044     x_tcnv_rec := l_def_tcnv_rec;
5045     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
5046   EXCEPTION
5047     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5048       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5049       (
5050         l_api_name,
5051         G_PKG_NAME,
5052         'OKC_API.G_RET_STS_ERROR',
5053         x_msg_count,
5054         x_msg_data,
5055         '_PVT'
5056       );
5057     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5058       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5059       (
5060         l_api_name,
5061         G_PKG_NAME,
5062         'OKC_API.G_RET_STS_UNEXP_ERROR',
5063         x_msg_count,
5064         x_msg_data,
5065         '_PVT'
5066       );
5067     WHEN OTHERS THEN
5068       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5069       (
5070         l_api_name,
5071         G_PKG_NAME,
5072         'OTHERS',
5073         x_msg_count,
5074         x_msg_data,
5075         '_PVT'
5076       );
5077   END insert_row;
5078   ----------------------------------------
5079   -- PL/SQL TBL insert_row for:TCNV_TBL --
5080   ----------------------------------------
5081   PROCEDURE insert_row(
5082     p_api_version                  IN NUMBER,
5083     p_init_msg_list                IN VARCHAR2,
5084     x_return_status                OUT NOCOPY VARCHAR2,
5085     x_msg_count                    OUT NOCOPY NUMBER,
5086     x_msg_data                     OUT NOCOPY VARCHAR2,
5087     p_tcnv_tbl                     IN tcnv_tbl_type,
5088     x_tcnv_tbl                     OUT NOCOPY tcnv_tbl_type) IS
5089 
5090     l_api_version                 CONSTANT NUMBER := 1;
5091     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
5092     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5093     i                              NUMBER := 0;
5094     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5095 
5096   BEGIN
5097     Okc_Api.init_msg_list(p_init_msg_list);
5098     -- Make sure PL/SQL table has records in it before passing
5099     IF (p_tcnv_tbl.COUNT > 0) THEN
5100       i := p_tcnv_tbl.FIRST;
5101       LOOP
5102         insert_row (
5103           p_api_version                  => p_api_version,
5104           p_init_msg_list                => Okc_Api.G_FALSE,
5105           x_return_status                => x_return_status,
5106           x_msg_count                    => x_msg_count,
5107           x_msg_data                     => x_msg_data,
5108           p_tcnv_rec                     => p_tcnv_tbl(i),
5109           x_tcnv_rec                     => x_tcnv_tbl(i));
5110         -- store the highest degree of error
5111 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
5112            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
5113               l_overall_status := x_return_status;
5114            END IF;
5115 	  END IF;
5116 
5117         EXIT WHEN (i = p_tcnv_tbl.LAST);
5118         i := p_tcnv_tbl.NEXT(i);
5119       END LOOP;
5120 	  -- return overall status
5121 	  x_return_status := l_overall_status;
5122 
5123     END IF;
5124   EXCEPTION
5125     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5126       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5127       (
5128         l_api_name,
5129         G_PKG_NAME,
5130         'OKC_API.G_RET_STS_ERROR',
5131         x_msg_count,
5132         x_msg_data,
5133         '_PVT'
5134       );
5135     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5136       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5137       (
5138         l_api_name,
5139         G_PKG_NAME,
5140         'OKC_API.G_RET_STS_UNEXP_ERROR',
5141         x_msg_count,
5142         x_msg_data,
5143         '_PVT'
5144       );
5145     WHEN OTHERS THEN
5146       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5147       (
5148         l_api_name,
5149         G_PKG_NAME,
5150         'OTHERS',
5151         x_msg_count,
5152         x_msg_data,
5153         '_PVT'
5154       );
5155   END insert_row;
5156 
5157   ---------------------------------------------------------------------------
5158   -- PROCEDURE lock_row
5159   ---------------------------------------------------------------------------
5160   ------------------------------------
5161   -- lock_row for:OKL_TRX_CONTRACTS --
5162   ------------------------------------
5163   PROCEDURE lock_row(
5164     p_init_msg_list                IN VARCHAR2,
5165     x_return_status                OUT NOCOPY VARCHAR2,
5166     x_msg_count                    OUT NOCOPY NUMBER,
5167     x_msg_data                     OUT NOCOPY VARCHAR2,
5168     p_tcn_rec                      IN tcn_rec_type) IS
5169 
5170     E_Resource_Busy               EXCEPTION;
5171     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
5172     CURSOR lock_csr (p_tcn_rec IN tcn_rec_type) IS
5173     SELECT OBJECT_VERSION_NUMBER
5174       FROM OKL_TRX_CONTRACTS
5175      WHERE ID = p_tcn_rec.id
5176        AND OBJECT_VERSION_NUMBER = p_tcn_rec.object_version_number
5177     FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
5178 
5179     CURSOR  lchk_csr (p_tcn_rec IN tcn_rec_type) IS
5180     SELECT OBJECT_VERSION_NUMBER
5181       FROM OKL_TRX_CONTRACTS
5182     WHERE ID = p_tcn_rec.id;
5183     l_api_version                 CONSTANT NUMBER := 1;
5184     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_lock_row';
5185     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5186     l_object_version_number       OKL_TRX_CONTRACTS.OBJECT_VERSION_NUMBER%TYPE;
5187     lc_object_version_number      OKL_TRX_CONTRACTS.OBJECT_VERSION_NUMBER%TYPE;
5188     l_row_notfound                BOOLEAN := FALSE;
5189     lc_row_notfound               BOOLEAN := FALSE;
5190   BEGIN
5191     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
5192                                               p_init_msg_list,
5193                                               '_PVT',
5194                                               x_return_status);
5195     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5196       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5197     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5198       RAISE Okc_Api.G_EXCEPTION_ERROR;
5199     END IF;
5200     BEGIN
5201       OPEN lock_csr(p_tcn_rec);
5202       FETCH lock_csr INTO l_object_version_number;
5203       l_row_notfound := lock_csr%NOTFOUND;
5204       CLOSE lock_csr;
5205     EXCEPTION
5206       WHEN E_Resource_Busy THEN
5207         IF (lock_csr%ISOPEN) THEN
5208           CLOSE lock_csr;
5209         END IF;
5210         Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
5211         RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
5212     END;
5213 
5214     IF ( l_row_notfound ) THEN
5215       OPEN lchk_csr(p_tcn_rec);
5216       FETCH lchk_csr INTO lc_object_version_number;
5217       lc_row_notfound := lchk_csr%NOTFOUND;
5218       CLOSE lchk_csr;
5219     END IF;
5220     IF (lc_row_notfound) THEN
5221       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
5222       RAISE Okc_Api.G_EXCEPTION_ERROR;
5223     ELSIF lc_object_version_number > p_tcn_rec.object_version_number THEN
5224       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
5225       RAISE Okc_Api.G_EXCEPTION_ERROR;
5226     ELSIF lc_object_version_number <> p_tcn_rec.object_version_number THEN
5227       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
5228       RAISE Okc_Api.G_EXCEPTION_ERROR;
5229     ELSIF lc_object_version_number = -1 THEN
5230       Okc_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
5231       RAISE Okc_Api.G_EXCEPTION_ERROR;
5232     END IF;
5233     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
5234   EXCEPTION
5235     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5236       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5237       (
5238         l_api_name,
5239         G_PKG_NAME,
5240         'OKC_API.G_RET_STS_ERROR',
5241         x_msg_count,
5242         x_msg_data,
5243         '_PVT'
5244       );
5245     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5246       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5247       (
5248         l_api_name,
5249         G_PKG_NAME,
5250         'OKC_API.G_RET_STS_UNEXP_ERROR',
5251         x_msg_count,
5252         x_msg_data,
5253         '_PVT'
5254       );
5255     WHEN OTHERS THEN
5256       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5257       (
5258         l_api_name,
5259         G_PKG_NAME,
5260         'OTHERS',
5261         x_msg_count,
5262         x_msg_data,
5263         '_PVT'
5264       );
5265   END lock_row;
5266   --------------------------------------
5267   -- lock_row for:OKL_TRX_CONTRACTS_V --
5268   --------------------------------------
5269   PROCEDURE lock_row(
5270     p_api_version                  IN NUMBER,
5271     p_init_msg_list                IN VARCHAR2,
5272     x_return_status                OUT NOCOPY VARCHAR2,
5273     x_msg_count                    OUT NOCOPY NUMBER,
5274     x_msg_data                     OUT NOCOPY VARCHAR2,
5275     p_tcnv_rec                     IN tcnv_rec_type) IS
5276 
5277     l_api_version                 CONSTANT NUMBER := 1;
5278     l_api_name                     CONSTANT VARCHAR2(30) := 'V_lock_row';
5279     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5280     l_tcn_rec                      tcn_rec_type;
5281   BEGIN
5282     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
5283                                               G_PKG_NAME,
5284                                               p_init_msg_list,
5285                                               l_api_version,
5286                                               p_api_version,
5287                                               '_PVT',
5288                                               x_return_status);
5289     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5290       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5291     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5292       RAISE Okc_Api.G_EXCEPTION_ERROR;
5293     END IF;
5294     --------------------------------------
5295     -- Move VIEW record to "Child" records
5296     --------------------------------------
5297     migrate(p_tcnv_rec, l_tcn_rec);
5298     --------------------------------------------
5299     -- Call the LOCK_ROW for each child record
5300     --------------------------------------------
5301     lock_row(
5302       p_init_msg_list,
5303       x_return_status,
5304       x_msg_count,
5305       x_msg_data,
5306       l_tcn_rec
5307     );
5308     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5309       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5310     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5311       RAISE Okc_Api.G_EXCEPTION_ERROR;
5312     END IF;
5313     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
5314   EXCEPTION
5315     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5316       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5317       (
5318         l_api_name,
5319         G_PKG_NAME,
5320         'OKC_API.G_RET_STS_ERROR',
5321         x_msg_count,
5322         x_msg_data,
5323         '_PVT'
5324       );
5325     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5326       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5327       (
5328         l_api_name,
5329         G_PKG_NAME,
5330         'OKC_API.G_RET_STS_UNEXP_ERROR',
5331         x_msg_count,
5332         x_msg_data,
5333         '_PVT'
5334       );
5335     WHEN OTHERS THEN
5336       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5337       (
5338         l_api_name,
5339         G_PKG_NAME,
5340         'OTHERS',
5341         x_msg_count,
5342         x_msg_data,
5343         '_PVT'
5344       );
5345   END lock_row;
5346   --------------------------------------
5347   -- PL/SQL TBL lock_row for:TCNV_TBL --
5348   --------------------------------------
5349   PROCEDURE lock_row(
5350     p_api_version                  IN NUMBER,
5351     p_init_msg_list                IN VARCHAR2,
5352     x_return_status                OUT NOCOPY VARCHAR2,
5353     x_msg_count                    OUT NOCOPY NUMBER,
5354     x_msg_data                     OUT NOCOPY VARCHAR2,
5355     p_tcnv_tbl                     IN tcnv_tbl_type) IS
5356 
5357     l_api_version                 CONSTANT NUMBER := 1;
5358     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
5359     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5360     i                              NUMBER := 0;
5361     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5362 
5363   BEGIN
5364     Okc_Api.init_msg_list(p_init_msg_list);
5365     -- Make sure PL/SQL table has records in it before passing
5366     IF (p_tcnv_tbl.COUNT > 0) THEN
5367       i := p_tcnv_tbl.FIRST;
5368       LOOP
5369         lock_row (
5370           p_api_version                  => p_api_version,
5371           p_init_msg_list                => Okc_Api.G_FALSE,
5372           x_return_status                => x_return_status,
5373           x_msg_count                    => x_msg_count,
5374           x_msg_data                     => x_msg_data,
5375           p_tcnv_rec                     => p_tcnv_tbl(i));
5376 
5377         -- store the highest degree of error
5378 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
5379            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
5380               l_overall_status := x_return_status;
5381            END IF;
5382 	  END IF;
5383 
5384         EXIT WHEN (i = p_tcnv_tbl.LAST);
5385         i := p_tcnv_tbl.NEXT(i);
5386       END LOOP;
5387 	  -- return overall status
5388 	  x_return_status := l_overall_status;
5389 
5390     END IF;
5391   EXCEPTION
5392     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5393       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5394       (
5395         l_api_name,
5396         G_PKG_NAME,
5397         'OKC_API.G_RET_STS_ERROR',
5398         x_msg_count,
5399         x_msg_data,
5400         '_PVT'
5401       );
5402     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5403       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5404       (
5405         l_api_name,
5406         G_PKG_NAME,
5407         'OKC_API.G_RET_STS_UNEXP_ERROR',
5408         x_msg_count,
5409         x_msg_data,
5410         '_PVT'
5411       );
5412     WHEN OTHERS THEN
5413       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5414       (
5415         l_api_name,
5416         G_PKG_NAME,
5417         'OTHERS',
5418         x_msg_count,
5419         x_msg_data,
5420         '_PVT'
5421       );
5422   END lock_row;
5423 
5424   ---------------------------------------------------------------------------
5425   -- PROCEDURE update_row
5426   ---------------------------------------------------------------------------
5427   --------------------------------------
5428   -- update_row for:OKL_TRX_CONTRACTS --
5429   --------------------------------------
5430   PROCEDURE update_row(
5431     p_init_msg_list                IN VARCHAR2,
5432     x_return_status                OUT NOCOPY VARCHAR2,
5433     x_msg_count                    OUT NOCOPY NUMBER,
5434     x_msg_data                     OUT NOCOPY VARCHAR2,
5435     p_tcn_rec                      IN tcn_rec_type,
5436     x_tcn_rec                      OUT NOCOPY tcn_rec_type) IS
5437 
5438     l_api_version                 CONSTANT NUMBER := 1;
5439     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_update_row';
5440     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5441     l_tcn_rec                      tcn_rec_type := p_tcn_rec;
5442     l_def_tcn_rec                  tcn_rec_type;
5443     l_row_notfound                 BOOLEAN := TRUE;
5444     ----------------------------------
5445     -- FUNCTION populate_new_record --
5446     ----------------------------------
5447     FUNCTION populate_new_record (
5448       p_tcn_rec	IN tcn_rec_type,
5449       x_tcn_rec	OUT NOCOPY tcn_rec_type
5450     ) RETURN VARCHAR2 IS
5451       l_tcn_rec                      tcn_rec_type;
5452       l_row_notfound                 BOOLEAN := TRUE;
5453       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5454     BEGIN
5455       x_tcn_rec := p_tcn_rec;
5456       -- Get current database values
5457       l_tcn_rec := get_rec(p_tcn_rec, l_row_notfound);
5458       IF (l_row_notfound) THEN
5459         l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
5460       END IF;
5461       IF (x_tcn_rec.id = Okc_Api.G_MISS_NUM)
5462       THEN
5463         x_tcn_rec.id := l_tcn_rec.id;
5464       END IF;
5465       IF (x_tcn_rec.khr_id_new = Okc_Api.G_MISS_NUM)
5466       THEN
5467         x_tcn_rec.khr_id_new := l_tcn_rec.khr_id_new;
5468       END IF;
5469       IF (x_tcn_rec.pvn_id = Okc_Api.G_MISS_NUM)
5470       THEN
5471         x_tcn_rec.pvn_id := l_tcn_rec.pvn_id;
5472       END IF;
5473       IF (x_tcn_rec.pdt_id = Okc_Api.G_MISS_NUM)
5474       THEN
5475         x_tcn_rec.pdt_id := l_tcn_rec.pdt_id;
5476       END IF;
5477       IF (x_tcn_rec.rbr_code = Okc_Api.G_MISS_CHAR)
5478       THEN
5479         x_tcn_rec.rbr_code := l_tcn_rec.rbr_code;
5480       END IF;
5481       IF (x_tcn_rec.rpy_code = Okc_Api.G_MISS_CHAR)
5482       THEN
5483         x_tcn_rec.rpy_code := l_tcn_rec.rpy_code;
5484       END IF;
5485       IF (x_tcn_rec.rvn_code = Okc_Api.G_MISS_CHAR)
5486       THEN
5487         x_tcn_rec.rvn_code := l_tcn_rec.rvn_code;
5488       END IF;
5489       IF (x_tcn_rec.trn_code = Okc_Api.G_MISS_CHAR)
5490       THEN
5491         x_tcn_rec.trn_code := l_tcn_rec.trn_code;
5492       END IF;
5493       IF (x_tcn_rec.qte_id = Okc_Api.G_MISS_NUM)
5494       THEN
5495         x_tcn_rec.qte_id := l_tcn_rec.qte_id;
5496       END IF;
5497       IF (x_tcn_rec.aes_id = Okc_Api.G_MISS_NUM)
5498       THEN
5499         x_tcn_rec.aes_id := l_tcn_rec.aes_id;
5500       END IF;
5501       IF (x_tcn_rec.code_combination_id = Okc_Api.G_MISS_NUM)
5502       THEN
5503         x_tcn_rec.code_combination_id := l_tcn_rec.code_combination_id;
5504       END IF;
5505 
5506       IF (x_tcn_rec.tcn_type = Okc_Api.G_MISS_CHAR)
5507       THEN
5508         x_tcn_rec.tcn_type := l_tcn_rec.tcn_type;
5509       END IF;
5510 
5511       IF (x_tcn_rec.rjn_code = Okc_Api.G_MISS_CHAR) THEN
5512          x_tcn_rec.rjn_code := l_tcn_rec.rjn_code;
5513       END IF;
5514 
5515       IF (x_tcn_rec.party_rel_id1_old = Okc_Api.G_MISS_NUM) THEN
5516         x_tcn_rec.party_rel_id1_old := l_tcn_rec.party_rel_id1_old;
5517       END IF;
5518 
5519       IF (x_tcn_rec.party_rel_id2_old = Okc_Api.G_MISS_CHAR) THEN
5520       x_tcn_rec.party_rel_id2_old := l_tcn_rec.party_rel_id2_old;
5521       END IF;
5522 
5523       IF (x_tcn_rec.party_rel_id1_new = Okc_Api.G_MISS_NUM) THEN
5524         x_tcn_rec.party_rel_id1_new := l_tcn_rec.party_rel_id1_new;
5525       END IF;
5526 
5527       IF (x_tcn_rec.party_rel_id2_new = Okc_Api.G_MISS_CHAR) THEN
5528         x_tcn_rec.party_rel_id2_new := l_tcn_rec.party_rel_id2_new;
5529       END IF;
5530 
5531       IF (x_tcn_rec.complete_transfer_yn = Okc_Api.G_MISS_CHAR) THEN
5532         x_tcn_rec.complete_transfer_yn := l_tcn_rec.complete_transfer_yn;
5533       END IF;
5534 
5535       IF (x_tcn_rec.object_version_number = Okc_Api.G_MISS_NUM)
5536       THEN
5537         x_tcn_rec.object_version_number := l_tcn_rec.object_version_number;
5538       END IF;
5539       IF (x_tcn_rec.created_by = Okc_Api.G_MISS_NUM)
5540       THEN
5541         x_tcn_rec.created_by := l_tcn_rec.created_by;
5542       END IF;
5543       IF (x_tcn_rec.creation_date = Okc_Api.G_MISS_DATE)
5544       THEN
5545         x_tcn_rec.creation_date := l_tcn_rec.creation_date;
5546       END IF;
5547       IF (x_tcn_rec.last_updated_by = Okc_Api.G_MISS_NUM)
5548       THEN
5549         x_tcn_rec.last_updated_by := l_tcn_rec.last_updated_by;
5550       END IF;
5551       IF (x_tcn_rec.last_update_date = Okc_Api.G_MISS_DATE)
5552       THEN
5553         x_tcn_rec.last_update_date := l_tcn_rec.last_update_date;
5554       END IF;
5555       IF (x_tcn_rec.date_accrual = Okc_Api.G_MISS_DATE)
5556       THEN
5557         x_tcn_rec.date_accrual := l_tcn_rec.date_accrual;
5558       END IF;
5559       IF (x_tcn_rec.accrual_status_yn = Okc_Api.G_MISS_CHAR)
5560       THEN
5561         x_tcn_rec.accrual_status_yn := l_tcn_rec.accrual_status_yn;
5562       END IF;
5563       IF (x_tcn_rec.update_status_yn = Okc_Api.G_MISS_CHAR)
5564       THEN
5565         x_tcn_rec.update_status_yn := l_tcn_rec.update_status_yn;
5566       END IF;
5567       IF (x_tcn_rec.org_id = Okc_Api.G_MISS_NUM)
5568       THEN
5569         x_tcn_rec.org_id := l_tcn_rec.org_id;
5570       END IF;
5571       IF (x_tcn_rec.khr_id = Okc_Api.G_MISS_NUM)
5572       THEN
5573         x_tcn_rec.khr_id := l_tcn_rec.khr_id;
5574       END IF;
5575       IF (x_tcn_rec.tax_deductible_local = Okc_Api.G_MISS_CHAR)
5576       THEN
5577         x_tcn_rec.tax_deductible_local := l_tcn_rec.tax_deductible_local;
5578       END IF;
5579       IF (x_tcn_rec.tax_deductible_corporate = Okc_Api.G_MISS_CHAR)
5580       THEN
5581         x_tcn_rec.tax_deductible_corporate := l_tcn_rec.tax_deductible_corporate;
5582       END IF;
5583       IF (x_tcn_rec.amount = Okc_Api.G_MISS_NUM)
5584       THEN
5585         x_tcn_rec.amount := l_tcn_rec.amount;
5586       END IF;
5587       IF (x_tcn_rec.request_id = Okc_Api.G_MISS_NUM)
5588       THEN
5589         x_tcn_rec.request_id := l_tcn_rec.request_id;
5590       END IF;
5591       IF (x_tcn_rec.currency_code = Okc_Api.G_MISS_CHAR)
5592       THEN
5593         x_tcn_rec.currency_code := l_tcn_rec.currency_code;
5594       END IF;
5595       IF (x_tcn_rec.program_application_id = Okc_Api.G_MISS_NUM)
5596       THEN
5597         x_tcn_rec.program_application_id := l_tcn_rec.program_application_id;
5598       END IF;
5599       IF (x_tcn_rec.khr_id_old = Okc_Api.G_MISS_NUM)
5600       THEN
5601         x_tcn_rec.khr_id_old := l_tcn_rec.khr_id_old;
5602       END IF;
5603       IF (x_tcn_rec.program_id = Okc_Api.G_MISS_NUM)
5604       THEN
5605         x_tcn_rec.program_id := l_tcn_rec.program_id;
5606       END IF;
5607       IF (x_tcn_rec.program_update_date = Okc_Api.G_MISS_DATE)
5608       THEN
5609         x_tcn_rec.program_update_date := l_tcn_rec.program_update_date;
5610       END IF;
5611       IF (x_tcn_rec.attribute_category = Okc_Api.G_MISS_CHAR)
5612       THEN
5613         x_tcn_rec.attribute_category := l_tcn_rec.attribute_category;
5614       END IF;
5615       IF (x_tcn_rec.attribute1 = Okc_Api.G_MISS_CHAR)
5616       THEN
5617         x_tcn_rec.attribute1 := l_tcn_rec.attribute1;
5618       END IF;
5619       IF (x_tcn_rec.attribute2 = Okc_Api.G_MISS_CHAR)
5620       THEN
5621         x_tcn_rec.attribute2 := l_tcn_rec.attribute2;
5622       END IF;
5623       IF (x_tcn_rec.attribute3 = Okc_Api.G_MISS_CHAR)
5624       THEN
5625         x_tcn_rec.attribute3 := l_tcn_rec.attribute3;
5626       END IF;
5627       IF (x_tcn_rec.attribute4 = Okc_Api.G_MISS_CHAR)
5628       THEN
5629         x_tcn_rec.attribute4 := l_tcn_rec.attribute4;
5630       END IF;
5631       IF (x_tcn_rec.attribute5 = Okc_Api.G_MISS_CHAR)
5632       THEN
5633         x_tcn_rec.attribute5 := l_tcn_rec.attribute5;
5634       END IF;
5635       IF (x_tcn_rec.attribute6 = Okc_Api.G_MISS_CHAR)
5636       THEN
5637         x_tcn_rec.attribute6 := l_tcn_rec.attribute6;
5638       END IF;
5639       IF (x_tcn_rec.attribute7 = Okc_Api.G_MISS_CHAR)
5640       THEN
5641         x_tcn_rec.attribute7 := l_tcn_rec.attribute7;
5642       END IF;
5643       IF (x_tcn_rec.attribute8 = Okc_Api.G_MISS_CHAR)
5644       THEN
5645         x_tcn_rec.attribute8 := l_tcn_rec.attribute8;
5646       END IF;
5647       IF (x_tcn_rec.attribute9 = Okc_Api.G_MISS_CHAR)
5648       THEN
5649         x_tcn_rec.attribute9 := l_tcn_rec.attribute9;
5650       END IF;
5651       IF (x_tcn_rec.attribute10 = Okc_Api.G_MISS_CHAR)
5652       THEN
5653         x_tcn_rec.attribute10 := l_tcn_rec.attribute10;
5654       END IF;
5655       IF (x_tcn_rec.attribute11 = Okc_Api.G_MISS_CHAR)
5656       THEN
5657         x_tcn_rec.attribute11 := l_tcn_rec.attribute11;
5658       END IF;
5659       IF (x_tcn_rec.attribute12 = Okc_Api.G_MISS_CHAR)
5660       THEN
5661         x_tcn_rec.attribute12 := l_tcn_rec.attribute12;
5662       END IF;
5663       IF (x_tcn_rec.attribute13 = Okc_Api.G_MISS_CHAR)
5664       THEN
5665         x_tcn_rec.attribute13 := l_tcn_rec.attribute13;
5666       END IF;
5667       IF (x_tcn_rec.attribute14 = Okc_Api.G_MISS_CHAR)
5668       THEN
5669         x_tcn_rec.attribute14 := l_tcn_rec.attribute14;
5670       END IF;
5671       IF (x_tcn_rec.attribute15 = Okc_Api.G_MISS_CHAR)
5672       THEN
5673         x_tcn_rec.attribute15 := l_tcn_rec.attribute15;
5674       END IF;
5675       IF (x_tcn_rec.last_update_login = Okc_Api.G_MISS_NUM)
5676       THEN
5677         x_tcn_rec.last_update_login := l_tcn_rec.last_update_login;
5678       END IF;
5679 
5680 	  IF (x_tcn_rec.try_id = Okc_Api.G_MISS_NUM)
5681       THEN
5682         x_tcn_rec.try_id := l_tcn_rec.try_id;
5683       END IF;
5684 	  IF (x_tcn_rec.tsu_code = Okc_Api.G_MISS_CHAR)
5685 	  THEN
5686         x_tcn_rec.tsu_code := l_tcn_rec.tsu_code;
5687       END IF;
5688 	  IF (x_tcn_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
5689       THEN
5690         x_tcn_rec.set_of_books_id := l_tcn_rec.set_of_books_id;
5691       END IF;
5692 	  IF (x_tcn_rec.description = Okc_Api.G_MISS_CHAR)
5693       THEN
5694         x_tcn_rec.description := l_tcn_rec.description;
5695       END IF;
5696 	  IF (x_tcn_rec.date_transaction_occurred = Okc_Api.G_MISS_DATE)
5697       THEN
5698         x_tcn_rec.date_transaction_occurred := l_tcn_rec.date_transaction_occurred;
5699       END IF;
5700 
5701       IF (x_tcn_rec.trx_number = Okc_Api.G_MISS_CHAR)
5702       THEN
5703         x_tcn_rec.trx_number := l_tcn_rec.trx_number;
5704       END IF;
5705 
5706       IF (x_tcn_rec.tmt_evergreen_yn = Okc_Api.G_MISS_CHAR)
5707       THEN
5708         x_tcn_rec.tmt_evergreen_yn := l_tcn_rec.tmt_evergreen_yn;
5709       END IF;
5710 
5711       IF (x_tcn_rec.tmt_close_balances_yn = Okc_Api.G_MISS_CHAR)
5712       THEN
5713         x_tcn_rec.tmt_close_balances_yn := l_tcn_rec.tmt_close_balances_yn;
5714       END IF;
5715 
5716       IF (x_tcn_rec.tmt_accounting_entries_yn  = Okc_Api.G_MISS_CHAR)
5717       THEN
5718         x_tcn_rec.tmt_accounting_entries_yn  := l_tcn_rec.tmt_accounting_entries_yn ;
5719       END IF;
5720 
5721       IF (x_tcn_rec.tmt_cancel_insurance_yn  = Okc_Api.G_MISS_CHAR)
5722       THEN
5723         x_tcn_rec.tmt_cancel_insurance_yn  := l_tcn_rec.tmt_cancel_insurance_yn ;
5724       END IF;
5725 
5726       IF (x_tcn_rec.tmt_asset_disposition_yn  = Okc_Api.G_MISS_CHAR)
5727       THEN
5728         x_tcn_rec.tmt_asset_disposition_yn  := l_tcn_rec.tmt_asset_disposition_yn ;
5729       END IF;
5730 
5731       IF (x_tcn_rec.tmt_amortization_yn  = Okc_Api.G_MISS_CHAR)
5732       THEN
5733         x_tcn_rec.tmt_amortization_yn  := l_tcn_rec.tmt_amortization_yn ;
5734       END IF;
5735 
5736       IF (x_tcn_rec.tmt_asset_return_yn  = Okc_Api.G_MISS_CHAR)
5737       THEN
5738         x_tcn_rec.tmt_asset_return_yn  := l_tcn_rec.tmt_asset_return_yn ;
5739       END IF;
5740 
5741       IF (x_tcn_rec.tmt_contract_updated_yn  = Okc_Api.G_MISS_CHAR)
5742       THEN
5743         x_tcn_rec.tmt_contract_updated_yn  := l_tcn_rec.tmt_contract_updated_yn ;
5744       END IF;
5745 
5746       IF (x_tcn_rec.tmt_recycle_yn  = Okc_Api.G_MISS_CHAR)
5747       THEN
5748         x_tcn_rec.tmt_recycle_yn  := l_tcn_rec.tmt_recycle_yn ;
5749       END IF;
5750 
5751       IF (x_tcn_rec.tmt_validated_yn  = Okc_Api.G_MISS_CHAR)
5752       THEN
5753         x_tcn_rec.tmt_validated_yn  := l_tcn_rec.tmt_validated_yn ;
5754       END IF;
5755 
5756       IF (x_tcn_rec.tmt_streams_updated_yn  = Okc_Api.G_MISS_CHAR)
5757       THEN
5758         x_tcn_rec.tmt_streams_updated_yn  := l_tcn_rec.tmt_streams_updated_yn ;
5759       END IF;
5760 
5761       IF (x_tcn_rec.accrual_activity  = Okc_Api.G_MISS_CHAR)
5762       THEN
5763         x_tcn_rec.accrual_activity  := l_tcn_rec.accrual_activity ;
5764       END IF;
5765 
5766 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
5767     IF (x_tcn_rec.tmt_split_asset_yn   = Okc_Api.G_MISS_CHAR) THEN
5768       x_tcn_rec.tmt_split_asset_yn   := l_tcn_rec.tmt_split_asset_yn;
5769     END IF;
5770     IF (x_tcn_rec.tmt_generic_flag1_yn   = Okc_Api.G_MISS_CHAR) THEN
5771       x_tcn_rec.tmt_generic_flag1_yn   := l_tcn_rec.tmt_generic_flag1_yn;
5772     END IF;
5773     IF (x_tcn_rec.tmt_generic_flag2_yn   = Okc_Api.G_MISS_CHAR) THEN
5774       x_tcn_rec.tmt_generic_flag2_yn   := l_tcn_rec.tmt_generic_flag2_yn;
5775     END IF;
5776     IF (x_tcn_rec.tmt_generic_flag3_yn   = Okc_Api.G_MISS_CHAR) THEN
5777       x_tcn_rec.tmt_generic_flag3_yn   := l_tcn_rec.tmt_generic_flag3_yn;
5778     END IF;
5779 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
5780     IF (x_tcn_rec.currency_conversion_type   = Okc_Api.G_MISS_CHAR) THEN
5781       x_tcn_rec.currency_conversion_type   := l_tcn_rec.currency_conversion_type;
5782     END IF;
5783 	IF (x_tcn_rec.currency_conversion_rate   = Okc_Api.G_MISS_NUM) THEN
5784       x_tcn_rec.currency_conversion_rate   := l_tcn_rec.currency_conversion_rate;
5785     END IF;
5786 	IF (x_tcn_rec.currency_conversion_date   = Okc_Api.G_MISS_DATE) THEN
5787       x_tcn_rec.currency_conversion_date   := l_tcn_rec.currency_conversion_date;
5788     END IF;
5789 --Added by Keerthi 04-SEP-2003
5790     IF (x_tcn_rec.chr_id   = Okc_Api.G_MISS_NUM) THEN
5791       x_tcn_rec.chr_id   := l_tcn_rec.chr_id;
5792     END IF;
5793 --Added by Keerthi for Bug No 3195713
5794     IF (x_tcn_rec.source_trx_id   = Okc_Api.G_MISS_NUM) THEN
5795       x_tcn_rec.source_trx_id   := l_tcn_rec.source_trx_id;
5796     END IF;
5797 
5798     IF (x_tcn_rec.source_trx_type   = Okc_Api.G_MISS_CHAR) THEN
5799       x_tcn_rec.source_trx_type   := l_tcn_rec.source_trx_type;
5800     END IF;
5801 
5802     IF (x_tcn_rec.canceled_date = Okc_Api.G_MISS_DATE)
5803       THEN
5804         x_tcn_rec.canceled_date := l_tcn_rec.canceled_date;
5805       END IF;
5806 
5807        IF (x_tcn_rec.legal_entity_id = Okl_Api.G_MISS_NUM)
5808       THEN
5809         x_tcn_rec.legal_entity_id := l_tcn_rec.legal_entity_id;
5810       END IF;
5811 
5812     --Added by dpsingh for SLA Uptake (Bug 5707866)
5813        IF (x_tcn_rec.accrual_reversal_date = Okl_Api.G_MISS_DATE)
5814       THEN
5815         x_tcn_rec.accrual_reversal_date := l_tcn_rec.accrual_reversal_date;
5816       END IF;
5817 
5818    -- Added by DJANASWA for SLA project
5819        IF (x_tcn_rec.accounting_reversal_yn = Okl_Api.G_MISS_CHAR)
5820       THEN
5821         x_tcn_rec.accounting_reversal_yn := l_tcn_rec.accounting_reversal_yn;
5822       END IF;
5823 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
5824        IF (x_tcn_rec.product_name = Okl_Api.G_MISS_CHAR)
5825       THEN
5826         x_tcn_rec.product_name := l_tcn_rec.product_name;
5827       END IF;
5828 
5829        IF (x_tcn_rec.book_classification_code = Okl_Api.G_MISS_CHAR)
5830       THEN
5831         x_tcn_rec.book_classification_code := l_tcn_rec.book_classification_code;
5832       END IF;
5833 
5834        IF (x_tcn_rec.tax_owner_code = Okl_Api.G_MISS_CHAR)
5835       THEN
5836         x_tcn_rec.tax_owner_code := l_tcn_rec.tax_owner_code;
5837       END IF;
5838 
5839       IF (x_tcn_rec.tmt_status_code = Okl_Api.G_MISS_CHAR)
5840       THEN
5841         x_tcn_rec.tmt_status_code := l_tcn_rec.tmt_status_code;
5842       END IF;
5843       IF (x_tcn_rec.representation_name = Okl_Api.G_MISS_CHAR)
5844       THEN
5845         x_tcn_rec.representation_name := l_tcn_rec.representation_name;
5846       END IF;
5847       IF (x_tcn_rec.representation_code = Okl_Api.G_MISS_CHAR)
5848       THEN
5849         x_tcn_rec.representation_code := l_tcn_rec.representation_code;
5850       END IF;
5851 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
5852       IF (x_tcn_rec.UPGRADE_STATUS_FLAG = Okl_Api.G_MISS_CHAR)
5853       THEN
5854         x_tcn_rec.UPGRADE_STATUS_FLAG := l_tcn_rec.UPGRADE_STATUS_FLAG;
5855       END IF;
5856 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
5857       IF (x_tcn_rec.TRANSACTION_DATE = Okl_Api.G_MISS_DATE)
5858       THEN
5859         x_tcn_rec.TRANSACTION_DATE := l_tcn_rec.TRANSACTION_DATE;
5860       END IF;
5861 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
5862       IF (x_tcn_rec.primary_rep_trx_id = Okl_Api.G_MISS_NUM)
5863       THEN
5864         x_tcn_rec.primary_rep_trx_id := l_tcn_rec.primary_rep_trx_id;
5865       END IF;
5866       IF (x_tcn_rec.REPRESENTATION_TYPE = Okl_Api.G_MISS_CHAR)
5867       THEN
5868         x_tcn_rec.REPRESENTATION_TYPE := l_tcn_rec.REPRESENTATION_TYPE;
5869       END IF;
5870 -- Added by sosharma for Income Account recon- report 01-Nov-2008
5871        IF (x_tcn_rec.TRANSACTION_REVERSAL_DATE = Okl_Api.G_MISS_DATE)
5872       THEN
5873         x_tcn_rec.TRANSACTION_REVERSAL_DATE := l_tcn_rec.TRANSACTION_REVERSAL_DATE;
5874       END IF;
5875 
5876     RETURN(l_return_status);
5877 
5878     END populate_new_record;
5879     ------------------------------------------
5880     -- Set_Attributes for:OKL_TRX_CONTRACTS --
5881     ------------------------------------------
5882     FUNCTION Set_Attributes (
5883       p_tcn_rec IN  tcn_rec_type,
5884       x_tcn_rec OUT NOCOPY tcn_rec_type
5885     ) RETURN VARCHAR2 IS
5886       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5887     BEGIN
5888       x_tcn_rec := p_tcn_rec;
5889       RETURN(l_return_status);
5890     END Set_Attributes;
5891   BEGIN
5892     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
5893                                               p_init_msg_list,
5894                                               '_PVT',
5895                                               x_return_status);
5896     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5897       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5898     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5899       RAISE Okc_Api.G_EXCEPTION_ERROR;
5900     END IF;
5901     --- Setting item attributes
5902     l_return_status := Set_Attributes(
5903       p_tcn_rec,                         -- IN
5904       l_tcn_rec);                        -- OUT
5905     --- If any errors happen abort API
5906     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5907       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5908     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5909       RAISE Okc_Api.G_EXCEPTION_ERROR;
5910     END IF;
5911     l_return_status := populate_new_record(l_tcn_rec, l_def_tcn_rec);
5912     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5913       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5914     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5915       RAISE Okc_Api.G_EXCEPTION_ERROR;
5916     END IF;
5917 
5918     UPDATE  OKL_TRX_CONTRACTS
5919     SET KHR_ID_NEW = l_def_tcn_rec.khr_id_new,
5920         PVN_ID = l_def_tcn_rec.pvn_id,
5921         PDT_ID = l_def_tcn_rec.pdt_id,
5922         RBR_CODE = l_def_tcn_rec.rbr_code,
5923         RPY_CODE = l_def_tcn_rec.rpy_code,
5924         RVN_CODE = l_def_tcn_rec.rvn_code,
5925         TRN_CODE = l_def_tcn_rec.trn_code,
5926         QTE_ID = l_def_tcn_rec.qte_id,
5927         AES_ID = l_def_tcn_rec.aes_id,
5928         CODE_COMBINATION_ID = l_def_tcn_rec.code_combination_id,
5929         TCN_TYPE = l_def_tcn_rec.tcn_type,
5930         RJN_CODE = l_def_tcn_rec.RJN_CODE,
5931         PARTY_REL_ID1_OLD = l_def_tcn_rec.PARTY_REL_ID1_OLD,
5932         PARTY_REL_ID2_OLD = l_def_tcn_rec.PARTY_REL_ID2_OLD,
5933         PARTY_REL_ID1_NEW = l_def_tcn_rec.PARTY_REL_ID1_NEW,
5934         PARTY_REL_ID2_NEW = l_def_tcn_rec.PARTY_REL_ID2_NEW,
5935         COMPLETE_TRANSFER_YN = l_def_tcn_rec.COMPLETE_TRANSFER_YN,
5936         OBJECT_VERSION_NUMBER = l_def_tcn_rec.object_version_number,
5937         CREATED_BY = l_def_tcn_rec.created_by,
5938         CREATION_DATE = l_def_tcn_rec.creation_date,
5939         LAST_UPDATED_BY = l_def_tcn_rec.last_updated_by,
5940         LAST_UPDATE_DATE = l_def_tcn_rec.last_update_date,
5941         DATE_ACCRUAL = l_def_tcn_rec.date_accrual,
5942         ACCRUAL_STATUS_YN = l_def_tcn_rec.accrual_status_yn,
5943         UPDATE_STATUS_YN = l_def_tcn_rec.update_status_yn,
5944         ORG_ID = l_def_tcn_rec.org_id,
5945         KHR_ID = l_def_tcn_rec.khr_id,
5946         TAX_DEDUCTIBLE_LOCAL = l_def_tcn_rec.tax_deductible_local,
5947         tax_deductible_corporate = l_def_tcn_rec.tax_deductible_corporate,
5948         AMOUNT = l_def_tcn_rec.amount,
5949         REQUEST_ID = l_def_tcn_rec.request_id,
5950         CURRENCY_CODE = l_def_tcn_rec.currency_code,
5951         PROGRAM_APPLICATION_ID = l_def_tcn_rec.program_application_id,
5952         KHR_ID_OLD = l_def_tcn_rec.khr_id_old,
5953         PROGRAM_ID = l_def_tcn_rec.program_id,
5954         PROGRAM_update_DATE = l_def_tcn_rec.program_update_date,
5955         ATTRIBUTE_CATEGORY = l_def_tcn_rec.attribute_category,
5956         ATTRIBUTE1 = l_def_tcn_rec.attribute1,
5957         ATTRIBUTE2 = l_def_tcn_rec.attribute2,
5958         ATTRIBUTE3 = l_def_tcn_rec.attribute3,
5959         ATTRIBUTE4 = l_def_tcn_rec.attribute4,
5960         ATTRIBUTE5 = l_def_tcn_rec.attribute5,
5961         ATTRIBUTE6 = l_def_tcn_rec.attribute6,
5962         ATTRIBUTE7 = l_def_tcn_rec.attribute7,
5963         ATTRIBUTE8 = l_def_tcn_rec.attribute8,
5964         ATTRIBUTE9 = l_def_tcn_rec.attribute9,
5965         ATTRIBUTE10 = l_def_tcn_rec.attribute10,
5966         ATTRIBUTE11 = l_def_tcn_rec.attribute11,
5967         ATTRIBUTE12 = l_def_tcn_rec.attribute12,
5968         ATTRIBUTE13 = l_def_tcn_rec.attribute13,
5969         ATTRIBUTE14 = l_def_tcn_rec.attribute14,
5970         ATTRIBUTE15 = l_def_tcn_rec.attribute15,
5971         LAST_UPDATE_LOGIN = l_def_tcn_rec.last_update_login,
5972 	TRY_ID = l_def_tcn_rec.try_id,
5973 	TSU_CODE = l_def_tcn_rec.tsu_code,
5974 	SET_OF_BOOKS_ID = l_def_tcn_rec.set_of_books_id,
5975 	DESCRIPTION = l_def_tcn_rec.description,
5976 	DATE_TRANSACTION_OCCURRED = l_def_tcn_rec.date_transaction_occurred,
5977         TRX_NUMBER                = l_def_tcn_rec.trx_number,
5978         TMT_EVERGREEN_YN          = l_def_tcn_rec.tmt_evergreen_yn,
5979         TMT_CLOSE_BALANCES_YN     = l_def_tcn_rec.tmt_close_balances_yn,
5980         TMT_ACCOUNTING_ENTRIES_YN = l_def_tcn_rec.tmt_accounting_entries_yn,
5981         TMT_CANCEL_INSURANCE_YN   = l_def_tcn_rec.tmt_cancel_insurance_yn,
5982         TMT_ASSET_DISPOSITION_YN  = l_def_tcn_rec.tmt_asset_disposition_yn,
5983         TMT_AMORTIZATION_YN       = l_def_tcn_rec.tmt_amortization_yn,
5984         TMT_ASSET_RETURN_YN       = l_def_tcn_rec.tmt_asset_return_yn,
5985         TMT_CONTRACT_UPDATED_YN   = l_def_tcn_rec.tmt_contract_updated_yn,
5986         TMT_RECYCLE_YN            = l_def_tcn_rec.tmt_recycle_yn,
5987         TMT_VALIDATED_YN          = l_def_tcn_rec.tmt_validated_yn,
5988         TMT_STREAMS_UPDATED_YN    = l_def_tcn_rec.tmt_streams_updated_yn,
5989         accrual_activity	  = l_def_tcn_rec.accrual_activity,
5990 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
5991 	tmt_split_asset_yn	  = l_def_tcn_rec.tmt_split_asset_yn,
5992 	tmt_generic_flag1_yn	  = l_def_tcn_rec.tmt_generic_flag1_yn,
5993 	tmt_generic_flag2_yn      = l_def_tcn_rec.tmt_generic_flag2_yn,
5994 	tmt_generic_flag3_yn      = l_def_tcn_rec.tmt_generic_flag3_yn,
5995 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
5996    	CURRENCY_CONVERSION_TYPE	  = l_def_tcn_rec.currency_conversion_type,
5997 	CURRENCY_CONVERSION_RATE	  = l_def_tcn_rec.currency_conversion_rate,
5998 	CURRENCY_CONVERSION_DATE	  = l_def_tcn_rec.currency_conversion_date,
5999 -- Added by Keerthi 04-SEP-2003
6000         CHR_ID				  = l_def_tcn_rec.chr_id ,
6001 -- Added by Keerthi for Bug No 3195713
6002     SOURCE_TRX_ID             = l_def_tcn_rec.source_trx_id,
6003     SOURCE_TRX_TYPE           = l_def_tcn_rec.source_trx_type,
6004 -- Added by kmotepal
6005     CANCELED_DATE             = l_def_tcn_rec.canceled_date,
6006     --Added by dpsingh for LE Uptake
6007     LEGAL_ENTITY_ID            = l_def_tcn_rec.legal_entity_id,
6008     --Added by dpsingh for SLA Uptake (Bug 5707866)
6009     ACCRUAL_REVERSAL_DATE = l_def_tcn_rec.accrual_reversal_date,
6010     -- Added by DJANASWA for SLA project
6011     ACCOUNTING_REVERSAL_YN = l_def_tcn_rec.accounting_reversal_yn,
6012 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
6013     PRODUCT_NAME = l_def_tcn_rec.product_name,
6014     BOOK_CLASSIFICATION_CODE = l_def_tcn_rec.book_classification_code,
6015     TAX_OWNER_CODE = l_def_tcn_rec.tax_owner_code,
6016     TMT_STATUS_CODE = l_def_tcn_rec.tmt_status_code,
6017     REPRESENTATION_NAME = l_def_tcn_rec.representation_name,
6018     REPRESENTATION_CODE = l_def_tcn_rec.representation_code,
6019 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
6020     UPGRADE_STATUS_FLAG = l_def_tcn_rec.UPGRADE_STATUS_FLAG,
6021 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
6022     TRANSACTION_DATE = l_def_tcn_rec.transaction_date,
6023 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
6024     primary_rep_trx_id = l_def_tcn_rec.primary_rep_trx_id,
6025     REPRESENTATION_TYPE = l_def_tcn_rec.REPRESENTATION_TYPE,
6026 -- Added by sosharma for Income Account recon- report 01-Nov-2008
6027     TRANSACTION_REVERSAL_DATE  = l_def_tcn_rec.TRANSACTION_REVERSAL_DATE
6028     WHERE ID = l_def_tcn_rec.id;
6029 
6030     x_tcn_rec := l_def_tcn_rec;
6031     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6032   EXCEPTION
6033     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6034       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6035       (
6036         l_api_name,
6037         G_PKG_NAME,
6038         'OKC_API.G_RET_STS_ERROR',
6039         x_msg_count,
6040         x_msg_data,
6041         '_PVT'
6042       );
6043     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6044       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6045       (
6046         l_api_name,
6047         G_PKG_NAME,
6048         'OKC_API.G_RET_STS_UNEXP_ERROR',
6049         x_msg_count,
6050         x_msg_data,
6051         '_PVT'
6052       );
6053     WHEN OTHERS THEN
6054       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6055       (
6056         l_api_name,
6057         G_PKG_NAME,
6058         'OTHERS',
6059         x_msg_count,
6060         x_msg_data,
6061         '_PVT'
6062       );
6063   END update_row;
6064   ----------------------------------------
6065   -- update_row for:OKL_TRX_CONTRACTS_V --
6066   ----------------------------------------
6067   PROCEDURE update_row(
6068     p_api_version                  IN NUMBER,
6069     p_init_msg_list                IN VARCHAR2,
6070     x_return_status                OUT NOCOPY VARCHAR2,
6071     x_msg_count                    OUT NOCOPY NUMBER,
6072     x_msg_data                     OUT NOCOPY VARCHAR2,
6073     p_tcnv_rec                     IN tcnv_rec_type,
6074     x_tcnv_rec                     OUT NOCOPY tcnv_rec_type) IS
6075 
6076     l_api_version                 CONSTANT NUMBER := 1;
6077     l_api_name                     CONSTANT VARCHAR2(30) := 'V_update_row';
6078     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6079     l_tcnv_rec                     tcnv_rec_type := p_tcnv_rec;
6080     l_def_tcnv_rec                 tcnv_rec_type;
6081     l_tcn_rec                      tcn_rec_type;
6082     lx_tcn_rec                     tcn_rec_type;
6083     -------------------------------
6084     -- FUNCTION fill_who_columns --
6085     -------------------------------
6086     FUNCTION fill_who_columns (
6087       p_tcnv_rec	IN tcnv_rec_type
6088     ) RETURN tcnv_rec_type IS
6089       l_tcnv_rec	tcnv_rec_type := p_tcnv_rec;
6090     BEGIN
6091       l_tcnv_rec.LAST_UPDATE_DATE := SYSDATE;
6092       l_tcnv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
6093       l_tcnv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
6094       RETURN(l_tcnv_rec);
6095     END fill_who_columns;
6096     ----------------------------------
6097     -- FUNCTION populate_new_record --
6098     ----------------------------------
6099     FUNCTION populate_new_record (
6100       p_tcnv_rec	IN tcnv_rec_type,
6101       x_tcnv_rec	OUT NOCOPY tcnv_rec_type
6102     ) RETURN VARCHAR2 IS
6103       l_tcnv_rec                     tcnv_rec_type;
6104       l_row_notfound                 BOOLEAN := TRUE;
6105       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6106     BEGIN
6107       x_tcnv_rec := p_tcnv_rec;
6108       -- Get current database values
6109       l_tcnv_rec := get_rec(p_tcnv_rec, l_row_notfound);
6110       IF (l_row_notfound) THEN
6111         l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
6112       END IF;
6113       IF (x_tcnv_rec.id = Okc_Api.G_MISS_NUM)
6114       THEN
6115         x_tcnv_rec.id := l_tcnv_rec.id;
6116       END IF;
6117       IF (x_tcnv_rec.object_version_number = Okc_Api.G_MISS_NUM)
6118       THEN
6119         x_tcnv_rec.object_version_number := l_tcnv_rec.object_version_number;
6120       END IF;
6121       IF (x_tcnv_rec.rbr_code = Okc_Api.G_MISS_CHAR)
6122       THEN
6123         x_tcnv_rec.rbr_code := l_tcnv_rec.rbr_code;
6124       END IF;
6125       IF (x_tcnv_rec.rpy_code = Okc_Api.G_MISS_CHAR)
6126       THEN
6127         x_tcnv_rec.rpy_code := l_tcnv_rec.rpy_code;
6128       END IF;
6129       IF (x_tcnv_rec.rvn_code = Okc_Api.G_MISS_CHAR)
6130       THEN
6131         x_tcnv_rec.rvn_code := l_tcnv_rec.rvn_code;
6132       END IF;
6133       IF (x_tcnv_rec.trn_code = Okc_Api.G_MISS_CHAR)
6134       THEN
6135         x_tcnv_rec.trn_code := l_tcnv_rec.trn_code;
6136       END IF;
6137       IF (x_tcnv_rec.khr_id_new = Okc_Api.G_MISS_NUM)
6138       THEN
6139         x_tcnv_rec.khr_id_new := l_tcnv_rec.khr_id_new;
6140       END IF;
6141       IF (x_tcnv_rec.pvn_id = Okc_Api.G_MISS_NUM)
6142       THEN
6143         x_tcnv_rec.pvn_id := l_tcnv_rec.pvn_id;
6144       END IF;
6145       IF (x_tcnv_rec.pdt_id = Okc_Api.G_MISS_NUM)
6146       THEN
6147         x_tcnv_rec.pdt_id := l_tcnv_rec.pdt_id;
6148       END IF;
6149       IF (x_tcnv_rec.qte_id = Okc_Api.G_MISS_NUM)
6150       THEN
6151         x_tcnv_rec.qte_id := l_tcnv_rec.qte_id;
6152       END IF;
6153       IF (x_tcnv_rec.aes_id = Okc_Api.G_MISS_NUM)
6154       THEN
6155         x_tcnv_rec.aes_id := l_tcnv_rec.aes_id;
6156       END IF;
6157       IF (x_tcnv_rec.code_combination_id = Okc_Api.G_MISS_NUM)
6158       THEN
6159         x_tcnv_rec.code_combination_id := l_tcnv_rec.code_combination_id;
6160       END IF;
6161       IF (x_tcnv_rec.tax_deductible_local = Okc_Api.G_MISS_CHAR)
6162       THEN
6163         x_tcnv_rec.tax_deductible_local := l_tcnv_rec.tax_deductible_local;
6164       END IF;
6165       IF (x_tcnv_rec.tax_deductible_corporate = Okc_Api.G_MISS_CHAR)
6166       THEN
6167         x_tcnv_rec.tax_deductible_corporate := l_tcnv_rec.tax_deductible_corporate;
6168       END IF;
6169       IF (x_tcnv_rec.date_accrual = Okc_Api.G_MISS_DATE)
6170       THEN
6171         x_tcnv_rec.date_accrual := l_tcnv_rec.date_accrual;
6172       END IF;
6173       IF (x_tcnv_rec.accrual_status_yn = Okc_Api.G_MISS_CHAR)
6174       THEN
6175         x_tcnv_rec.accrual_status_yn := l_tcnv_rec.accrual_status_yn;
6176       END IF;
6177       IF (x_tcnv_rec.update_status_yn = Okc_Api.G_MISS_CHAR)
6178       THEN
6179         x_tcnv_rec.update_status_yn := l_tcnv_rec.update_status_yn;
6180       END IF;
6181       IF (x_tcnv_rec.amount = Okc_Api.G_MISS_NUM)
6182       THEN
6183         x_tcnv_rec.amount := l_tcnv_rec.amount;
6184       END IF;
6185       IF (x_tcnv_rec.currency_code = Okc_Api.G_MISS_CHAR)
6186       THEN
6187         x_tcnv_rec.currency_code := l_tcnv_rec.currency_code;
6188       END IF;
6189       IF (x_tcnv_rec.attribute_category = Okc_Api.G_MISS_CHAR)
6190       THEN
6191         x_tcnv_rec.attribute_category := l_tcnv_rec.attribute_category;
6192       END IF;
6193       IF (x_tcnv_rec.attribute1 = Okc_Api.G_MISS_CHAR)
6194       THEN
6195         x_tcnv_rec.attribute1 := l_tcnv_rec.attribute1;
6196       END IF;
6197       IF (x_tcnv_rec.attribute2 = Okc_Api.G_MISS_CHAR)
6198       THEN
6199         x_tcnv_rec.attribute2 := l_tcnv_rec.attribute2;
6200       END IF;
6201       IF (x_tcnv_rec.attribute3 = Okc_Api.G_MISS_CHAR)
6202       THEN
6203         x_tcnv_rec.attribute3 := l_tcnv_rec.attribute3;
6204       END IF;
6205       IF (x_tcnv_rec.attribute4 = Okc_Api.G_MISS_CHAR)
6206       THEN
6207         x_tcnv_rec.attribute4 := l_tcnv_rec.attribute4;
6208       END IF;
6209       IF (x_tcnv_rec.attribute5 = Okc_Api.G_MISS_CHAR)
6210       THEN
6211         x_tcnv_rec.attribute5 := l_tcnv_rec.attribute5;
6212       END IF;
6213       IF (x_tcnv_rec.attribute6 = Okc_Api.G_MISS_CHAR)
6214       THEN
6215         x_tcnv_rec.attribute6 := l_tcnv_rec.attribute6;
6216       END IF;
6217       IF (x_tcnv_rec.attribute7 = Okc_Api.G_MISS_CHAR)
6218       THEN
6219         x_tcnv_rec.attribute7 := l_tcnv_rec.attribute7;
6220       END IF;
6221       IF (x_tcnv_rec.attribute8 = Okc_Api.G_MISS_CHAR)
6222       THEN
6223         x_tcnv_rec.attribute8 := l_tcnv_rec.attribute8;
6224       END IF;
6225       IF (x_tcnv_rec.attribute9 = Okc_Api.G_MISS_CHAR)
6226       THEN
6227         x_tcnv_rec.attribute9 := l_tcnv_rec.attribute9;
6228       END IF;
6229       IF (x_tcnv_rec.attribute10 = Okc_Api.G_MISS_CHAR)
6230       THEN
6231         x_tcnv_rec.attribute10 := l_tcnv_rec.attribute10;
6232       END IF;
6233       IF (x_tcnv_rec.attribute11 = Okc_Api.G_MISS_CHAR)
6234       THEN
6235         x_tcnv_rec.attribute11 := l_tcnv_rec.attribute11;
6236       END IF;
6237       IF (x_tcnv_rec.attribute12 = Okc_Api.G_MISS_CHAR)
6238       THEN
6239         x_tcnv_rec.attribute12 := l_tcnv_rec.attribute12;
6240       END IF;
6241       IF (x_tcnv_rec.attribute13 = Okc_Api.G_MISS_CHAR)
6242       THEN
6243         x_tcnv_rec.attribute13 := l_tcnv_rec.attribute13;
6244       END IF;
6245       IF (x_tcnv_rec.attribute14 = Okc_Api.G_MISS_CHAR)
6246       THEN
6247         x_tcnv_rec.attribute14 := l_tcnv_rec.attribute14;
6248       END IF;
6249       IF (x_tcnv_rec.attribute15 = Okc_Api.G_MISS_CHAR)
6250       THEN
6251         x_tcnv_rec.attribute15 := l_tcnv_rec.attribute15;
6252       END IF;
6253       IF (x_tcnv_rec.tcn_type = Okc_Api.G_MISS_CHAR)
6254       THEN
6255         x_tcnv_rec.tcn_type := l_tcnv_rec.tcn_type;
6256       END IF;
6257 
6258       IF (x_tcnv_rec.rjn_code = Okc_Api.G_MISS_CHAR) THEN
6259          x_tcnv_rec.rjn_code := l_tcnv_rec.rjn_code;
6260       END IF;
6261 
6262       IF (x_tcnv_rec.party_rel_id1_old = Okc_Api.G_MISS_NUM) THEN
6263          x_tcnv_rec.party_rel_id1_old := l_tcnv_rec.party_rel_id1_old;
6264       END IF;
6265 
6266       IF (x_tcnv_rec.party_rel_id2_old = Okc_Api.G_MISS_CHAR) THEN
6267         x_tcnv_rec.party_rel_id2_old := l_tcnv_rec.party_rel_id2_old;
6268       END IF;
6269 
6270       IF (x_tcnv_rec.party_rel_id1_new = Okc_Api.G_MISS_NUM) THEN
6271         x_tcnv_rec.party_rel_id1_new := l_tcnv_rec.party_rel_id1_new;
6272       END IF;
6273 
6274       IF (x_tcnv_rec.party_rel_id2_new = Okc_Api.G_MISS_CHAR) THEN
6275         x_tcnv_rec.party_rel_id2_new := l_tcnv_rec.party_rel_id2_new;
6276       END IF;
6277 
6278       IF (x_tcnv_rec.complete_transfer_yn = Okc_Api.G_MISS_CHAR) THEN
6279         x_tcnv_rec.complete_transfer_yn := l_tcnv_rec.complete_transfer_yn;
6280       END IF;
6281 
6282       IF (x_tcnv_rec.org_id = Okc_Api.G_MISS_NUM)
6283       THEN
6284         x_tcnv_rec.org_id := l_tcnv_rec.org_id;
6285       END IF;
6286       IF (x_tcnv_rec.khr_id = Okc_Api.G_MISS_NUM)
6287       THEN
6288         x_tcnv_rec.khr_id := l_tcnv_rec.khr_id;
6289       END IF;
6290       IF (x_tcnv_rec.request_id = Okc_Api.G_MISS_NUM)
6291       THEN
6292         x_tcnv_rec.request_id := l_tcnv_rec.request_id;
6293       END IF;
6294       IF (x_tcnv_rec.program_application_id = Okc_Api.G_MISS_NUM)
6295       THEN
6296         x_tcnv_rec.program_application_id := l_tcnv_rec.program_application_id;
6297       END IF;
6298       IF (x_tcnv_rec.khr_id_old = Okc_Api.G_MISS_NUM)
6299       THEN
6300         x_tcnv_rec.khr_id_old := l_tcnv_rec.khr_id_old;
6301       END IF;
6302       IF (x_tcnv_rec.program_id = Okc_Api.G_MISS_NUM)
6303       THEN
6304         x_tcnv_rec.program_id := l_tcnv_rec.program_id;
6305       END IF;
6306       IF (x_tcnv_rec.program_update_date = Okc_Api.G_MISS_DATE)
6307       THEN
6308         x_tcnv_rec.program_update_date := l_tcnv_rec.program_update_date;
6309       END IF;
6310       IF (x_tcnv_rec.created_by = Okc_Api.G_MISS_NUM)
6311       THEN
6312         x_tcnv_rec.created_by := l_tcnv_rec.created_by;
6313       END IF;
6314       IF (x_tcnv_rec.creation_date = Okc_Api.G_MISS_DATE)
6315       THEN
6316         x_tcnv_rec.creation_date := l_tcnv_rec.creation_date;
6317       END IF;
6318       IF (x_tcnv_rec.last_updated_by = Okc_Api.G_MISS_NUM)
6319       THEN
6320         x_tcnv_rec.last_updated_by := l_tcnv_rec.last_updated_by;
6321       END IF;
6322       IF (x_tcnv_rec.last_update_date = Okc_Api.G_MISS_DATE)
6323       THEN
6324         x_tcnv_rec.last_update_date := l_tcnv_rec.last_update_date;
6325       END IF;
6326       IF (x_tcnv_rec.last_update_login = Okc_Api.G_MISS_NUM)
6327       THEN
6328         x_tcnv_rec.last_update_login := l_tcnv_rec.last_update_login;
6329       END IF;
6330 
6331 	  IF (x_tcnv_rec.try_id = Okc_Api.G_MISS_NUM)
6332       THEN
6333         x_tcnv_rec.try_id := l_tcnv_rec.try_id;
6334       END IF;
6335 	  IF (x_tcnv_rec.tsu_code = Okc_Api.G_MISS_CHAR)
6336 	  THEN
6337         x_tcnv_rec.tsu_code := l_tcnv_rec.tsu_code;
6338       END IF;
6339 	  IF (x_tcnv_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
6340       THEN
6341         x_tcnv_rec.set_of_books_id := l_tcnv_rec.set_of_books_id;
6342       END IF;
6343 	  IF (x_tcnv_rec.description = Okc_Api.G_MISS_CHAR)
6344       THEN
6345         x_tcnv_rec.description := l_tcnv_rec.description;
6346       END IF;
6347 	  IF (x_tcnv_rec.date_transaction_occurred = Okc_Api.G_MISS_DATE)
6348       THEN
6349         x_tcnv_rec.date_transaction_occurred := l_tcnv_rec.date_transaction_occurred;
6350       END IF;
6351 
6352       IF (x_tcnv_rec.trx_number = Okc_Api.G_MISS_CHAR)
6353       THEN
6354         x_tcnv_rec.trx_number := l_tcnv_rec.trx_number;
6355       END IF;
6356 
6357       IF (x_tcnv_rec.tmt_evergreen_yn  = Okc_Api.G_MISS_CHAR) THEN
6358           x_tcnv_rec.tmt_evergreen_yn  := l_tcnv_rec.tmt_evergreen_yn;
6359       END IF;
6360 
6361       IF (x_tcnv_rec.tmt_close_balances_yn  = Okc_Api.G_MISS_CHAR) THEN
6362           x_tcnv_rec.tmt_close_balances_yn  := l_tcnv_rec.tmt_close_balances_yn;
6363       END IF;
6364 
6365       IF (x_tcnv_rec.tmt_accounting_entries_yn  = Okc_Api.G_MISS_CHAR) THEN
6366           x_tcnv_rec.tmt_accounting_entries_yn  := l_tcnv_rec.tmt_accounting_entries_yn;
6367       END IF;
6368 
6369       IF (x_tcnv_rec.tmt_cancel_insurance_yn  = Okc_Api.G_MISS_CHAR) THEN
6370           x_tcnv_rec.tmt_cancel_insurance_yn  :=  l_tcnv_rec.tmt_cancel_insurance_yn;
6371       END IF;
6372 
6373       IF (x_tcnv_rec.tmt_asset_disposition_yn  = Okc_Api.G_MISS_CHAR) THEN
6374           x_tcnv_rec.tmt_asset_disposition_yn  := l_tcnv_rec.tmt_asset_disposition_yn;
6375       END IF;
6376 
6377       IF (x_tcnv_rec.tmt_amortization_yn  = Okc_Api.G_MISS_CHAR) THEN
6378           x_tcnv_rec.tmt_amortization_yn  :=  l_tcnv_rec.tmt_amortization_yn;
6379       END IF;
6380 
6381       IF (x_tcnv_rec.tmt_asset_return_yn  = Okc_Api.G_MISS_CHAR) THEN
6382           x_tcnv_rec.tmt_asset_return_yn  :=  l_tcnv_rec.tmt_asset_return_yn;
6383       END IF;
6384 
6385       IF (x_tcnv_rec.tmt_contract_updated_yn  = Okc_Api.G_MISS_CHAR) THEN
6386           x_tcnv_rec.tmt_contract_updated_yn  :=  l_tcnv_rec.tmt_contract_updated_yn;
6387       END IF;
6388 
6389       IF (x_tcnv_rec.tmt_recycle_yn   = Okc_Api.G_MISS_CHAR) THEN
6390           x_tcnv_rec.tmt_recycle_yn   :=  l_tcnv_rec.tmt_recycle_yn;
6391       END IF;
6392 
6393       IF (x_tcnv_rec.tmt_validated_yn   = Okc_Api.G_MISS_CHAR) THEN
6394           x_tcnv_rec.tmt_validated_yn   :=  l_tcnv_rec.tmt_validated_yn;
6395       END IF;
6396 
6397       IF (x_tcnv_rec.tmt_streams_updated_yn   = Okc_Api.G_MISS_CHAR) THEN
6398           x_tcnv_rec.tmt_streams_updated_yn   := l_tcnv_rec.tmt_streams_updated_yn;
6399       END IF;
6400 
6401       IF (x_tcnv_rec.accrual_activity   = Okc_Api.G_MISS_CHAR) THEN
6402           x_tcnv_rec.accrual_activity   := l_tcnv_rec.accrual_activity;
6403       END IF;
6404 
6405 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
6406     IF (x_tcnv_rec.tmt_split_asset_yn   = Okc_Api.G_MISS_CHAR) THEN
6407       x_tcnv_rec.tmt_split_asset_yn   := l_tcnv_rec.tmt_split_asset_yn;
6408     END IF;
6409     IF (x_tcnv_rec.tmt_generic_flag1_yn   = Okc_Api.G_MISS_CHAR) THEN
6410       x_tcnv_rec.tmt_generic_flag1_yn   := l_tcnv_rec.tmt_generic_flag1_yn;
6411     END IF;
6412     IF (x_tcnv_rec.tmt_generic_flag2_yn   = Okc_Api.G_MISS_CHAR) THEN
6413       x_tcnv_rec.tmt_generic_flag2_yn   := l_tcnv_rec.tmt_generic_flag2_yn;
6414     END IF;
6415     IF (x_tcnv_rec.tmt_generic_flag3_yn   = Okc_Api.G_MISS_CHAR) THEN
6416       x_tcnv_rec.tmt_generic_flag3_yn   := l_tcnv_rec.tmt_generic_flag3_yn;
6417     END IF;
6418 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
6419     IF (x_tcnv_rec.currency_conversion_type   = Okc_Api.G_MISS_CHAR) THEN
6420       x_tcnv_rec.currency_conversion_type  := l_tcnv_rec.currency_conversion_type;
6421     END IF;
6422     IF (x_tcnv_rec.currency_conversion_rate   = Okc_Api.G_MISS_NUM) THEN
6423       x_tcnv_rec.currency_conversion_rate  := l_tcnv_rec.currency_conversion_rate;
6424     END IF;
6425     IF (x_tcnv_rec.currency_conversion_date   = Okc_Api.G_MISS_DATE) THEN
6426       x_tcnv_rec.currency_conversion_date  := l_tcnv_rec.currency_conversion_date;
6427     END IF;
6428 -- Added be Keerthi 04-SEP-2003
6429     IF (x_tcnv_rec.chr_id   = Okc_Api.G_MISS_NUM) THEN
6430       x_tcnv_rec.chr_id  := l_tcnv_rec.chr_id;
6431     END IF;
6432 -- Added be Keerthi for Bug No 3195713
6433     IF (x_tcnv_rec.source_trx_id  = Okc_Api.G_MISS_NUM) THEN
6434       x_tcnv_rec.source_trx_id  := l_tcnv_rec.source_trx_id;
6435     END IF;
6436 
6437     IF (x_tcnv_rec.source_trx_type  = Okc_Api.G_MISS_CHAR) THEN
6438       x_tcnv_rec.source_trx_type  := l_tcnv_rec.source_trx_type;
6439     END IF;
6440 
6441     IF (x_tcnv_rec.canceled_date   = Okc_Api.G_MISS_DATE) THEN
6442       x_tcnv_rec.canceled_date  := l_tcnv_rec.canceled_date;
6443     END IF;
6444 
6445     --Added by dpsingh for LE Uptake
6446     IF (x_tcnv_rec.legal_entity_id   = Okl_Api.G_MISS_NUM) THEN
6447       x_tcnv_rec.legal_entity_id  := l_tcnv_rec.legal_entity_id;
6448     END IF;
6449 
6450     --Added by dpsingh for SLA Uptake (Bug 5707866)
6451     IF (x_tcnv_rec.accrual_reversal_date   = Okl_Api.G_MISS_DATE) THEN
6452       x_tcnv_rec.accrual_reversal_date  := l_tcnv_rec.accrual_reversal_date;
6453     END IF;
6454 
6455 -- Added by DJANASWA for SLA project
6456     IF (x_tcnv_rec.accounting_reversal_yn = Okl_Api.G_MISS_CHAR) THEN
6457       x_tcnv_rec.accounting_reversal_yn := l_tcnv_rec.accounting_reversal_yn;
6458     END IF;
6459 
6460 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
6461     IF (x_tcnv_rec.product_name = Okl_Api.G_MISS_CHAR) THEN
6462       x_tcnv_rec.product_name := l_tcnv_rec.product_name;
6463     END IF;
6464 
6465     IF (x_tcnv_rec.book_classification_code = Okl_Api.G_MISS_CHAR) THEN
6466       x_tcnv_rec.book_classification_code := l_tcnv_rec.book_classification_code;
6467     END IF;
6468 
6469     IF (x_tcnv_rec.tax_owner_code = Okl_Api.G_MISS_CHAR) THEN
6470       x_tcnv_rec.tax_owner_code := l_tcnv_rec.tax_owner_code;
6471     END IF;
6472 
6473     IF (x_tcnv_rec.tmt_status_code = Okl_Api.G_MISS_CHAR) THEN
6474       x_tcnv_rec.tmt_status_code := l_tcnv_rec.tmt_status_code;
6475     END IF;
6476 
6477     IF (x_tcnv_rec.representation_name = Okl_Api.G_MISS_CHAR) THEN
6478       x_tcnv_rec.representation_name := l_tcnv_rec.representation_name;
6479     END IF;
6480 
6481     IF (x_tcnv_rec.representation_code = Okl_Api.G_MISS_CHAR) THEN
6482       x_tcnv_rec.representation_code := l_tcnv_rec.representation_code;
6483     END IF;
6484 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
6485     IF (x_tcnv_rec.UPGRADE_STATUS_FLAG = Okl_Api.G_MISS_CHAR) THEN
6486       x_tcnv_rec.UPGRADE_STATUS_FLAG := l_tcnv_rec.UPGRADE_STATUS_FLAG;
6487     END IF;
6488 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
6489     IF (x_tcnv_rec.TRANSACTION_DATE = Okl_Api.G_MISS_DATE) THEN
6490       x_tcnv_rec.TRANSACTION_DATE := SYSDATE;
6491     END IF;
6492 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
6493     IF (x_tcnv_rec.primary_rep_trx_id = Okl_Api.G_MISS_NUM) THEN
6494       x_tcnv_rec.primary_rep_trx_id := l_tcnv_rec.primary_rep_trx_id;
6495     END IF;
6496     IF (x_tcnv_rec.REPRESENTATION_TYPE = Okl_Api.G_MISS_CHAR) THEN
6497       x_tcnv_rec.REPRESENTATION_TYPE := l_tcnv_rec.REPRESENTATION_TYPE;
6498     END IF;
6499 -- Added by sosharma for Income Account recon- report 01-Nov-2008
6500     IF (x_tcnv_rec.TRANSACTION_REVERSAL_DATE = Okl_Api.G_MISS_DATE) THEN
6501       x_tcnv_rec.TRANSACTION_REVERSAL_DATE := l_tcnv_rec.TRANSACTION_REVERSAL_DATE;
6502     END IF;
6503 
6504     RETURN(l_return_status);
6505     END populate_new_record;
6506     --------------------------------------------
6507     -- Set_Attributes for:OKL_TRX_CONTRACTS_V --
6508     --------------------------------------------
6509     FUNCTION Set_Attributes (
6510       p_tcnv_rec IN  tcnv_rec_type,
6511       x_tcnv_rec OUT NOCOPY tcnv_rec_type
6512     ) RETURN VARCHAR2 IS
6513       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6514       l_request_id 	NUMBER 	:= Fnd_Global.CONC_REQUEST_ID;
6515 	l_prog_app_id 	NUMBER 	:= Fnd_Global.PROG_APPL_ID;
6516 	l_program_id 	NUMBER 	:= Fnd_Global.CONC_PROGRAM_ID;
6517     BEGIN
6518       x_tcnv_rec := p_tcnv_rec;
6519 
6520 
6521      SELECT  NVL(DECODE(l_request_id, -1, NULL, l_request_id) ,p_tcnv_rec.REQUEST_ID)
6522     ,NVL(DECODE(l_prog_app_id, -1, NULL, l_prog_app_id) ,p_tcnv_rec.PROGRAM_APPLICATION_ID)
6523     ,NVL(DECODE(l_program_id, -1, NULL, l_program_id)  ,p_tcnv_rec.PROGRAM_ID)
6524     ,DECODE(DECODE(l_request_id, -1, NULL, SYSDATE) ,NULL, p_tcnv_rec.PROGRAM_UPDATE_DATE,SYSDATE)
6525         INTO x_tcnv_rec.REQUEST_ID
6526     ,x_tcnv_rec.PROGRAM_APPLICATION_ID
6527     ,x_tcnv_rec.PROGRAM_ID
6528     ,x_tcnv_rec.PROGRAM_UPDATE_DATE
6529     FROM DUAL;
6530 
6531       RETURN(l_return_status);
6532     END Set_Attributes;
6533   BEGIN
6534     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
6535                                               G_PKG_NAME,
6536                                               p_init_msg_list,
6537                                               l_api_version,
6538                                               p_api_version,
6539                                               '_PVT',
6540                                               x_return_status);
6541 
6542     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6543       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6544     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6545       RAISE Okc_Api.G_EXCEPTION_ERROR;
6546     END IF;
6547     --- Setting item attributes
6548     l_return_status := Set_Attributes(
6549       p_tcnv_rec,                        -- IN
6550       l_tcnv_rec);                       -- OUT
6551     --- If any errors happen abort API
6552     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6553       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6554     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6555       RAISE Okc_Api.G_EXCEPTION_ERROR;
6556     END IF;
6557     l_return_status := populate_new_record(l_tcnv_rec, l_def_tcnv_rec);
6558     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6559       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6560     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6561       RAISE Okc_Api.G_EXCEPTION_ERROR;
6562     END IF;
6563     l_def_tcnv_rec := fill_who_columns(l_def_tcnv_rec);
6564     --- Validate all non-missing attributes (Item Level Validation)
6565     l_return_status := Validate_Attributes(l_def_tcnv_rec);
6566     --- If any errors happen abort API
6567     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6568       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6569     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6570       RAISE Okc_Api.G_EXCEPTION_ERROR;
6571     END IF;
6572     l_return_status := Validate_Record(l_def_tcnv_rec);
6573     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6574       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6575     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6576       RAISE Okc_Api.G_EXCEPTION_ERROR;
6577     END IF;
6578 
6579     --------------------------------------
6580     -- Move VIEW record to "Child" records
6581     --------------------------------------
6582     migrate(l_def_tcnv_rec, l_tcn_rec);
6583     --------------------------------------------
6584     -- Call the UPDATE_ROW for each child record
6585     --------------------------------------------
6586     update_row(
6587       p_init_msg_list,
6588       x_return_status,
6589       x_msg_count,
6590       x_msg_data,
6591       l_tcn_rec,
6592       lx_tcn_rec
6593     );
6594     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6595       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6596     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6597       RAISE Okc_Api.G_EXCEPTION_ERROR;
6598     END IF;
6599     migrate(lx_tcn_rec, l_def_tcnv_rec);
6600     x_tcnv_rec := l_def_tcnv_rec;
6601     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6602   EXCEPTION
6603     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6604       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6605       (
6606         l_api_name,
6607         G_PKG_NAME,
6608         'OKC_API.G_RET_STS_ERROR',
6609         x_msg_count,
6610         x_msg_data,
6611         '_PVT'
6612       );
6613     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6614       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6615       (
6616         l_api_name,
6617         G_PKG_NAME,
6618         'OKC_API.G_RET_STS_UNEXP_ERROR',
6619         x_msg_count,
6620         x_msg_data,
6621         '_PVT'
6622       );
6623     WHEN OTHERS THEN
6624       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6625       (
6626         l_api_name,
6627         G_PKG_NAME,
6628         'OTHERS',
6629         x_msg_count,
6630         x_msg_data,
6631         '_PVT'
6632       );
6633   END update_row;
6634   ----------------------------------------
6635   -- PL/SQL TBL update_row for:TCNV_TBL --
6636   ----------------------------------------
6637   PROCEDURE update_row(
6638     p_api_version                  IN NUMBER,
6639     p_init_msg_list                IN VARCHAR2,
6640     x_return_status                OUT NOCOPY VARCHAR2,
6641     x_msg_count                    OUT NOCOPY NUMBER,
6642     x_msg_data                     OUT NOCOPY VARCHAR2,
6643     p_tcnv_tbl                     IN tcnv_tbl_type,
6644     x_tcnv_tbl                     OUT NOCOPY tcnv_tbl_type) IS
6645 
6646     l_api_version                 CONSTANT NUMBER := 1;
6647     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
6648     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6649     i                              NUMBER := 0;
6650     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6651 
6652   BEGIN
6653     Okc_Api.init_msg_list(p_init_msg_list);
6654     -- Make sure PL/SQL table has records in it before passing
6655     IF (p_tcnv_tbl.COUNT > 0) THEN
6656       i := p_tcnv_tbl.FIRST;
6657       LOOP
6658         update_row (
6659           p_api_version                  => p_api_version,
6660           p_init_msg_list                => Okc_Api.G_FALSE,
6661           x_return_status                => x_return_status,
6662           x_msg_count                    => x_msg_count,
6663           x_msg_data                     => x_msg_data,
6664           p_tcnv_rec                     => p_tcnv_tbl(i),
6665           x_tcnv_rec                     => x_tcnv_tbl(i));
6666 
6667         -- store the highest degree of error
6668 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
6669            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
6670               l_overall_status := x_return_status;
6671            END IF;
6672 	  END IF;
6673 
6674         EXIT WHEN (i = p_tcnv_tbl.LAST);
6675         i := p_tcnv_tbl.NEXT(i);
6676       END LOOP;
6677 	  -- return overall status
6678 	  x_return_status := l_overall_status;
6679 
6680     END IF;
6681   EXCEPTION
6682     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6683       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6684       (
6685         l_api_name,
6686         G_PKG_NAME,
6687         'OKC_API.G_RET_STS_ERROR',
6688         x_msg_count,
6689         x_msg_data,
6690         '_PVT'
6691       );
6692     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6693       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6694       (
6695         l_api_name,
6696         G_PKG_NAME,
6697         'OKC_API.G_RET_STS_UNEXP_ERROR',
6698         x_msg_count,
6699         x_msg_data,
6700         '_PVT'
6701       );
6702     WHEN OTHERS THEN
6703       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6704       (
6705         l_api_name,
6706         G_PKG_NAME,
6707         'OTHERS',
6708         x_msg_count,
6709         x_msg_data,
6710         '_PVT'
6711       );
6712   END update_row;
6713 
6714   ---------------------------------------------------------------------------
6715   -- PROCEDURE delete_row
6716   ---------------------------------------------------------------------------
6717   --------------------------------------
6718   -- delete_row for:OKL_TRX_CONTRACTS --
6719   --------------------------------------
6720   PROCEDURE delete_row(
6721     p_init_msg_list                IN VARCHAR2,
6722     x_return_status                OUT NOCOPY VARCHAR2,
6723     x_msg_count                    OUT NOCOPY NUMBER,
6724     x_msg_data                     OUT NOCOPY VARCHAR2,
6725     p_tcn_rec                      IN tcn_rec_type) IS
6726 
6727     l_api_version                 CONSTANT NUMBER := 1;
6728     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_delete_row';
6729     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6730     l_tcn_rec                      tcn_rec_type:= p_tcn_rec;
6731     l_row_notfound                 BOOLEAN := TRUE;
6732   BEGIN
6733     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
6734                                               p_init_msg_list,
6735                                               '_PVT',
6736                                               x_return_status);
6737     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6738       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6739     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6740       RAISE Okc_Api.G_EXCEPTION_ERROR;
6741     END IF;
6742     DELETE FROM OKL_TRX_CONTRACTS
6743      WHERE ID = l_tcn_rec.id;
6744 
6745     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6746   EXCEPTION
6747     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6748       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6749       (
6750         l_api_name,
6751         G_PKG_NAME,
6752         'OKC_API.G_RET_STS_ERROR',
6753         x_msg_count,
6754         x_msg_data,
6755         '_PVT'
6756       );
6757     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6758       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6759       (
6760         l_api_name,
6761         G_PKG_NAME,
6762         'OKC_API.G_RET_STS_UNEXP_ERROR',
6763         x_msg_count,
6764         x_msg_data,
6765         '_PVT'
6766       );
6767     WHEN OTHERS THEN
6768       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6769       (
6770         l_api_name,
6771         G_PKG_NAME,
6772         'OTHERS',
6773         x_msg_count,
6774         x_msg_data,
6775         '_PVT'
6776       );
6777   END delete_row;
6778   ----------------------------------------
6779   -- delete_row for:OKL_TRX_CONTRACTS_V --
6780   ----------------------------------------
6781   PROCEDURE delete_row(
6782     p_api_version                  IN NUMBER,
6783     p_init_msg_list                IN VARCHAR2,
6784     x_return_status                OUT NOCOPY VARCHAR2,
6785     x_msg_count                    OUT NOCOPY NUMBER,
6786     x_msg_data                     OUT NOCOPY VARCHAR2,
6787     p_tcnv_rec                     IN tcnv_rec_type) IS
6788 
6789     l_api_version                 CONSTANT NUMBER := 1;
6790     l_api_name                     CONSTANT VARCHAR2(30) := 'V_delete_row';
6791     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6792     l_tcnv_rec                     tcnv_rec_type := p_tcnv_rec;
6793     l_tcn_rec                      tcn_rec_type;
6794   BEGIN
6795     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
6796                                               G_PKG_NAME,
6797                                               p_init_msg_list,
6798                                               l_api_version,
6799                                               p_api_version,
6800                                               '_PVT',
6801                                               x_return_status);
6802     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6803       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6804     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6805       RAISE Okc_Api.G_EXCEPTION_ERROR;
6806     END IF;
6807     --------------------------------------
6808     -- Move VIEW record to "Child" records
6809     --------------------------------------
6810     migrate(l_tcnv_rec, l_tcn_rec);
6811     --------------------------------------------
6812     -- Call the DELETE_ROW for each child record
6813     --------------------------------------------
6814     delete_row(
6815       p_init_msg_list,
6816       x_return_status,
6817       x_msg_count,
6818       x_msg_data,
6819       l_tcn_rec
6820     );
6821     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6822       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6823     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6824       RAISE Okc_Api.G_EXCEPTION_ERROR;
6825     END IF;
6826     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6827   EXCEPTION
6828     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6829       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6830       (
6831         l_api_name,
6832         G_PKG_NAME,
6833         'OKC_API.G_RET_STS_ERROR',
6834         x_msg_count,
6835         x_msg_data,
6836         '_PVT'
6837       );
6838     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6839       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6840       (
6841         l_api_name,
6842         G_PKG_NAME,
6843         'OKC_API.G_RET_STS_UNEXP_ERROR',
6844         x_msg_count,
6845         x_msg_data,
6846         '_PVT'
6847       );
6848     WHEN OTHERS THEN
6849       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6850       (
6851         l_api_name,
6852         G_PKG_NAME,
6853         'OTHERS',
6854         x_msg_count,
6855         x_msg_data,
6856         '_PVT'
6857       );
6858   END delete_row;
6859   ----------------------------------------
6860   -- PL/SQL TBL delete_row for:TCNV_TBL --
6861   ----------------------------------------
6862   PROCEDURE delete_row(
6863     p_api_version                  IN NUMBER,
6864     p_init_msg_list                IN VARCHAR2,
6865     x_return_status                OUT NOCOPY VARCHAR2,
6866     x_msg_count                    OUT NOCOPY NUMBER,
6867     x_msg_data                     OUT NOCOPY VARCHAR2,
6868     p_tcnv_tbl                     IN tcnv_tbl_type) IS
6869 
6870     l_api_version                 CONSTANT NUMBER := 1;
6871     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
6872     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6873     i                              NUMBER := 0;
6874     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6875 
6876   BEGIN
6877     Okc_Api.init_msg_list(p_init_msg_list);
6878     -- Make sure PL/SQL table has records in it before passing
6879     IF (p_tcnv_tbl.COUNT > 0) THEN
6880       i := p_tcnv_tbl.FIRST;
6881       LOOP
6882         delete_row (
6883           p_api_version                  => p_api_version,
6884           p_init_msg_list                => Okc_Api.G_FALSE,
6885           x_return_status                => x_return_status,
6886           x_msg_count                    => x_msg_count,
6887           x_msg_data                     => x_msg_data,
6888           p_tcnv_rec                     => p_tcnv_tbl(i));
6889 
6890         -- store the highest degree of error
6891 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
6892            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
6893               l_overall_status := x_return_status;
6894            END IF;
6895 	  END IF;
6896 
6897         EXIT WHEN (i = p_tcnv_tbl.LAST);
6898         i := p_tcnv_tbl.NEXT(i);
6899       END LOOP;
6900 	  -- return overall status
6901 	  x_return_status := l_overall_status;
6902 
6903     END IF;
6904   EXCEPTION
6905     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6906       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6907       (
6908         l_api_name,
6909         G_PKG_NAME,
6910         'OKC_API.G_RET_STS_ERROR',
6911         x_msg_count,
6912         x_msg_data,
6913         '_PVT'
6914       );
6915     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6916       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6917       (
6918         l_api_name,
6919         G_PKG_NAME,
6920         'OKC_API.G_RET_STS_UNEXP_ERROR',
6921         x_msg_count,
6922         x_msg_data,
6923         '_PVT'
6924       );
6925     WHEN OTHERS THEN
6926       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6927       (
6928         l_api_name,
6929         G_PKG_NAME,
6930         'OTHERS',
6931         x_msg_count,
6932         x_msg_data,
6933         '_PVT'
6934       );
6935   END delete_row;
6936 END Okl_Tcn_Pvt;