DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TCN_PVT

Source


1 PACKAGE BODY Okl_Tcn_Pvt AS
2 /* $Header: OKLSTCNB.pls 120.17.12010000.6 2008/10/24 08:27:46 sosharma 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   item_not_found_error              EXCEPTION;
3538 
3539   CURSOR rep_valid_csr(p_rep_name VARCHAR2,
3540                        p_rep_code VARCHAR2)
3541   IS
3542   SELECT '1'
3543   FROM gl_ledgers
3544   WHERE name = p_rep_name
3545   AND short_name = p_rep_code;
3546 
3547   BEGIN
3548 
3549     x_return_status := Okc_Api.G_RET_STS_SUCCESS;
3550 
3551     IF(p_tcnv_rec.representation_name IS NOT NULL) AND (p_tcnv_rec.representation_name <> Okc_Api.G_MISS_CHAR)
3552     AND (p_tcnv_rec.representation_code IS NOT NULL) AND (p_tcnv_rec.representation_code <> Okc_Api.G_MISS_CHAR) THEN
3553         OPEN rep_valid_csr(p_rep_name => p_tcnv_rec.representation_name,
3554                            p_rep_code => p_tcnv_rec.representation_code);
3555         FETCH rep_valid_csr INTO l_dummy;
3556         l_row_notfound := rep_valid_csr%NOTFOUND;
3557         CLOSE rep_valid_csr;
3558         IF (l_row_notfound) THEN
3559           Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'REPRESENTATION_CODE');
3560           RAISE item_not_found_error;
3561         END IF;
3562     ELSE
3563         Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3564                            ,p_msg_name      => g_required_value
3565                            ,p_token1        => g_col_name_token
3566                            ,p_token1_value  => 'REPRESENTATION_CODE');
3567         x_return_status     := Okc_Api.G_RET_STS_ERROR;
3568         RAISE G_EXCEPTION_HALT_VALIDATION;
3569     END IF;
3570 
3571   EXCEPTION
3572     WHEN G_EXCEPTION_HALT_VALIDATION THEN
3573     -- no processing necessary; validation can continue
3574     -- with the next column
3575     NULL;
3576 
3577     WHEN item_not_found_error THEN
3578       x_return_status := Okc_Api.G_RET_STS_ERROR;
3579 
3580     WHEN OTHERS THEN
3581       -- store SQL error message on message stack for caller
3582       Okc_Api.SET_MESSAGE(p_app_name       => g_app_name
3583                           ,p_msg_name      => g_unexpected_error
3584                           ,p_token1        => g_sqlcode_token
3585                           ,p_token1_value  => SQLCODE
3586                           ,p_token2        => g_sqlerrm_token
3587                           ,p_token2_value  => SQLERRM);
3588 
3589        -- notify caller of an UNEXPECTED error
3590        x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
3591 
3592   END Validate_Rep_Name_Code;
3593 
3594 
3595   ---------------------------------------------------------------------------
3596   -- FUNCTION Validate_Attributes
3597   ---------------------------------------------------------------------------
3598   -- Start of comments
3599   --
3600   -- Procedure Name  : Validate_Attributes
3601   -- Description     :
3602   -- Business Rules  :
3603   -- Parameters      :
3604   -- Version         : 1.0
3605   -- End of comments
3606   ---------------------------------------------------------------------------
3607 
3608   FUNCTION Validate_Attributes (
3609     p_tcnv_rec IN  tcnv_rec_type
3610   ) RETURN VARCHAR2 IS
3611 
3612     x_return_status	VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3613     l_return_status	VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3614   BEGIN
3615 
3616     -- Validate_Id
3617     Validate_Id(p_tcnv_rec, x_return_status);
3618     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3619        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3620           -- need to exit
3621           l_return_status := x_return_status;
3622           RAISE G_EXCEPTION_HALT_VALIDATION;
3623        ELSE
3624           -- there was an error
3625           l_return_status := x_return_status;
3626        END IF;
3627     END IF;
3628 
3629     -- Validate_Khr_Id
3630     Validate_Khr_Id(p_tcnv_rec, x_return_status);
3631     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3632        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3633           -- need to exit
3634           l_return_status := x_return_status;
3635           RAISE G_EXCEPTION_HALT_VALIDATION;
3636        ELSE
3637           -- there was an error
3638           l_return_status := x_return_status;
3639        END IF;
3640     END IF;
3641 
3642     -- Validate_Khr_Id_New
3643     Validate_Khr_Id_New(p_tcnv_rec, x_return_status);
3644     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3645        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3646           -- need to exit
3647           l_return_status := x_return_status;
3648           RAISE G_EXCEPTION_HALT_VALIDATION;
3649        ELSE
3650           -- there was an error
3651           l_return_status := x_return_status;
3652        END IF;
3653     END IF;
3654 
3655     -- Validate_Khr_Id_Old
3656     Validate_Khr_Id_Old(p_tcnv_rec, x_return_status);
3657     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3658        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3659           -- need to exit
3660           l_return_status := x_return_status;
3661           RAISE G_EXCEPTION_HALT_VALIDATION;
3662        ELSE
3663           -- there was an error
3664           l_return_status := x_return_status;
3665        END IF;
3666     END IF;
3667 
3668     -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
3669     -- Validate_primary_rep_trx_id
3670     Validate_primary_rep_trx_id(p_tcnv_rec, x_return_status);
3671     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3672        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3673           -- need to exit
3674           l_return_status := x_return_status;
3675           RAISE G_EXCEPTION_HALT_VALIDATION;
3676        ELSE
3677           -- there was an error
3678           l_return_status := x_return_status;
3679        END IF;
3680     END IF;
3681 
3682     -- Validate_representation_type
3683     Validate_representation_type(p_tcnv_rec, x_return_status);
3684     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3685        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3686           -- need to exit
3687           l_return_status := x_return_status;
3688           RAISE G_EXCEPTION_HALT_VALIDATION;
3689        ELSE
3690           -- there was an error
3691           l_return_status := x_return_status;
3692        END IF;
3693     END IF;
3694 
3695     -- Validate_Pvn_Id
3696     Validate_PVN_ID(p_tcnv_rec, x_return_status);
3697     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3698        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3699           -- need to exit
3700           l_return_status := x_return_status;
3701           RAISE G_EXCEPTION_HALT_VALIDATION;
3702        ELSE
3703           -- there was an error
3704           l_return_status := x_return_status;
3705        END IF;
3706     END IF;
3707 
3708 
3709     -- Validate_PDT_Id
3710     Validate_PDT_ID(p_tcnv_rec, x_return_status);
3711     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3712        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3713           -- need to exit
3714           l_return_status := x_return_status;
3715           RAISE G_EXCEPTION_HALT_VALIDATION;
3716        ELSE
3717           -- there was an error
3718           l_return_status := x_return_status;
3719        END IF;
3720     END IF;
3721 
3722     -- Validate_QTE_ID
3723     Validate_QTE_ID(p_tcnv_rec, x_return_status);
3724     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3725        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3726           -- need to exit
3727           l_return_status := x_return_status;
3728           RAISE G_EXCEPTION_HALT_VALIDATION;
3729        ELSE
3730           -- there was an error
3731           l_return_status := x_return_status;
3732        END IF;
3733     END IF;
3734 
3735     -- Validate_AES_ID
3736     Validate_AES_ID(p_tcnv_rec, x_return_status);
3737     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3738        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3739           -- need to exit
3740           l_return_status := x_return_status;
3741           RAISE G_EXCEPTION_HALT_VALIDATION;
3742        ELSE
3743           -- there was an error
3744           l_return_status := x_return_status;
3745        END IF;
3746     END IF;
3747 
3748 
3749     -- Validate_CCID
3750     Validate_CCID(p_tcnv_rec, x_return_status);
3751     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3752        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3753           -- need to exit
3754           l_return_status := x_return_status;
3755           RAISE G_EXCEPTION_HALT_VALIDATION;
3756        ELSE
3757           -- there was an error
3758           l_return_status := x_return_status;
3759        END IF;
3760     END IF;
3761 
3762     -- Validate_Object_Version_Number
3763     Validate_Object_Version_Number(p_tcnv_rec, x_return_status);
3764     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3765        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3766           -- need to exit
3767           l_return_status := x_return_status;
3768           RAISE G_EXCEPTION_HALT_VALIDATION;
3769        ELSE
3770           -- there was an error
3771           l_return_status := x_return_status;
3772        END IF;
3773     END IF;
3774 
3775     -- Validate_Tcn_Type
3776     Validate_Tcn_Type(p_tcnv_rec, x_return_status);
3777     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3778        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3779           -- need to exit
3780           l_return_status := x_return_status;
3781           RAISE G_EXCEPTION_HALT_VALIDATION;
3782        ELSE
3783           -- there was an error
3784           l_return_status := x_return_status;
3785        END IF;
3786     END IF;
3787 
3788     -- Validate_Accrual_Status_YN
3789     Validate_Accrual_Status_YN(p_tcnv_rec, x_return_status);
3790     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3791        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3792           -- need to exit
3793           l_return_status := x_return_status;
3794           RAISE G_EXCEPTION_HALT_VALIDATION;
3795        ELSE
3796           -- there was an error
3797           l_return_status := x_return_status;
3798        END IF;
3799     END IF;
3800 
3801     -- Validate_Update_Status_YN
3802     Validate_Update_Status_YN(p_tcnv_rec, x_return_status);
3803     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3804        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3805           -- need to exit
3806           l_return_status := x_return_status;
3807           RAISE G_EXCEPTION_HALT_VALIDATION;
3808        ELSE
3809           -- there was an error
3810           l_return_status := x_return_status;
3811        END IF;
3812     END IF;
3813 
3814 -- Added DJANASWA for SLA project
3815     -- Validate_Account_Reversal_YN
3816     Validate_Account_Reversal_YN (p_tcnv_rec, x_return_status);
3817     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3818        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3819           -- need to exit
3820           l_return_status := x_return_status;
3821           RAISE G_EXCEPTION_HALT_VALIDATION;
3822        ELSE
3823           -- there was an error
3824           l_return_status := x_return_status;
3825        END IF;
3826     END IF;
3827 
3828     -- Validate_Tax_Deductible_Local
3829     Validate_Tax_Deductible_Local(p_tcnv_rec, x_return_status);
3830     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3831        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3832           -- need to exit
3833           l_return_status := x_return_status;
3834           RAISE G_EXCEPTION_HALT_VALIDATION;
3835        ELSE
3836           -- there was an error
3837           l_return_status := x_return_status;
3838        END IF;
3839     END IF;
3840 
3841     -- validate_tax_deductible_corp
3842     validate_tax_deductible_corp(p_tcnv_rec, x_return_status);
3843     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3844        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3845           -- need to exit
3846           l_return_status := x_return_status;
3847           RAISE G_EXCEPTION_HALT_VALIDATION;
3848        ELSE
3849           -- there was an error
3850           l_return_status := x_return_status;
3851        END IF;
3852     END IF;
3853 
3854     -- Validate_currency_code
3855     Validate_currency_code(p_tcnv_rec, x_return_status);
3856     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3857        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3858           -- need to exit
3859           l_return_status := x_return_status;
3860           RAISE G_EXCEPTION_HALT_VALIDATION;
3861        ELSE
3862           -- there was an error
3863           l_return_status := x_return_status;
3864        END IF;
3865     END IF;
3866 
3867     -- Validate_TRY_ID
3868     Validate_TRY_ID(p_tcnv_rec, x_return_status);
3869     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3870        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3871           -- need to exit
3872           l_return_status := x_return_status;
3873           RAISE G_EXCEPTION_HALT_VALIDATION;
3874        ELSE
3875           -- there was an error
3876           l_return_status := x_return_status;
3877        END IF;
3878     END IF;
3879 
3880 
3881     -- Validate_Date_Transaction
3882     Validate_Date_Transaction(p_tcnv_rec, x_return_status);
3883     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3884        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3885           -- need to exit
3886           l_return_status := x_return_status;
3887           RAISE G_EXCEPTION_HALT_VALIDATION;
3888        ELSE
3889           -- there was an error
3890           l_return_status := x_return_status;
3891        END IF;
3892     END IF;
3893 
3894 
3895     -- Validate_RBR_CODE
3896     Validate_RBR_CODE(p_tcnv_rec, x_return_status);
3897     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3898        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3899           -- need to exit
3900           l_return_status := x_return_status;
3901           RAISE G_EXCEPTION_HALT_VALIDATION;
3902        ELSE
3903           -- there was an error
3904           l_return_status := x_return_status;
3905        END IF;
3906     END IF;
3907 
3908     -- Validate_RPY_CODE
3909     Validate_RPY_CODE(p_tcnv_rec, x_return_status);
3910     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3911        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3912           -- need to exit
3913           l_return_status := x_return_status;
3914           RAISE G_EXCEPTION_HALT_VALIDATION;
3915        ELSE
3916           -- there was an error
3917           l_return_status := x_return_status;
3918        END IF;
3919     END IF;
3920 
3921     -- Validate_RVN_CODE
3922     Validate_RVN_CODE(p_tcnv_rec, x_return_status);
3923     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3924        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3925           -- need to exit
3926           l_return_status := x_return_status;
3927           RAISE G_EXCEPTION_HALT_VALIDATION;
3928        ELSE
3929           -- there was an error
3930           l_return_status := x_return_status;
3931        END IF;
3932     END IF;
3933 
3934     -- Validate_TSU_CODE
3935     Validate_TSU_CODE(p_tcnv_rec, x_return_status);
3936     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3937        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3938           -- need to exit
3939           l_return_status := x_return_status;
3940           RAISE G_EXCEPTION_HALT_VALIDATION;
3941        ELSE
3942           -- there was an error
3943           l_return_status := x_return_status;
3944        END IF;
3945     END IF;
3946 
3947     -- Validate_TRN_CODE
3948     Validate_TRN_CODE(p_tcnv_rec, x_return_status);
3949     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3950        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3951           -- need to exit
3952           l_return_status := x_return_status;
3953           RAISE G_EXCEPTION_HALT_VALIDATION;
3954        ELSE
3955           -- there was an error
3956           l_return_status := x_return_status;
3957        END IF;
3958     END IF;
3959 
3960 
3961     -- Validate_Trx_Number
3962     Validate_Trx_Number(p_tcnv_rec, x_return_status);
3963     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3964        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3965           -- need to exit
3966           l_return_status := x_return_status;
3967           RAISE G_EXCEPTION_HALT_VALIDATION;
3968        ELSE
3969           -- there was an error
3970           l_return_status := x_return_status;
3971        END IF;
3972     END IF;
3973 
3974 
3975     -- Validate_Terminate_Attribs
3976     Validate_Terminate_Attribs(p_tcnv_rec, x_return_status);
3977     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3978        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3979           -- need to exit
3980           l_return_status := x_return_status;
3981           RAISE G_EXCEPTION_HALT_VALIDATION;
3982        ELSE
3983           -- there was an error
3984           l_return_status := x_return_status;
3985        END IF;
3986     END IF;
3987 
3988 -- Added by Santonyr 31-Jul-2002
3989 -- Added New Filed Accrual_Activity. Fixed Bug 2486088
3990 
3991     -- Validate Accrual Activity
3992     Validate_Accrual_Activity(p_tcnv_rec, x_return_status);
3993     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
3994        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3995           -- need to exit
3996           l_return_status := x_return_status;
3997           RAISE G_EXCEPTION_HALT_VALIDATION;
3998        ELSE
3999           -- there was an error
4000           l_return_status := x_return_status;
4001        END IF;
4002     END IF;
4003 
4004 --Added be Keerthi 25-Aug-03
4005 -- Validate_Chr_Id
4006 
4007     Validate_Chr_Id(p_tcnv_rec, x_return_status);
4008     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4009        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4010           -- need to exit
4011           l_return_status := x_return_status;
4012           RAISE G_EXCEPTION_HALT_VALIDATION;
4013        ELSE
4014           -- there was an error
4015           l_return_status := x_return_status;
4016        END IF;
4017     END IF;
4018 
4019 --Added by dpsingh
4020 
4021 -- Validate_LE_Id
4022     Validate_LE_Id(p_tcnv_rec, x_return_status);
4023     IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
4024        IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
4025           -- need to exit
4026           l_return_status := x_return_status;
4027           RAISE G_EXCEPTION_HALT_VALIDATION;
4028        ELSE
4029           -- there was an error
4030           l_return_status := x_return_status;
4031        END IF;
4032     END IF;
4033 
4034 --Added be Keerthi for Bug No 3195713
4035 -- Validate_Source_Trx_Id_Type
4036 
4037     Validate_Source_Trx_Id_Type(p_tcnv_rec, x_return_status);
4038     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4039        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4040           -- need to exit
4041           l_return_status := x_return_status;
4042           RAISE G_EXCEPTION_HALT_VALIDATION;
4043        ELSE
4044           -- there was an error
4045           l_return_status := x_return_status;
4046        END IF;
4047     END IF;
4048 
4049 -- Added by DJANASWA for SLA project 06-Feb-07
4050     Validate_Accrual_Reversal_Date (p_tcnv_rec, x_return_status);
4051     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4052        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4053           -- need to exit
4054           l_return_status := x_return_status;
4055           RAISE G_EXCEPTION_HALT_VALIDATION;
4056        ELSE
4057           -- there was an error
4058           l_return_status := x_return_status;
4059        END IF;
4060     END IF;
4061 
4062     -- Added by zrehman for SLA project 21-Feb-07
4063     Validate_Tmt_Status_Code (p_tcnv_rec, x_return_status);
4064     IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4065        IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4066           -- need to exit
4067           l_return_status := x_return_status;
4068           RAISE G_EXCEPTION_HALT_VALIDATION;
4069        ELSE
4070           -- there was an error
4071           l_return_status := x_return_status;
4072        END IF;
4073     END IF;
4074 
4075     -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
4076     Validate_Upgrade_Status_Flag(x_return_status, p_tcnv_rec);
4077 
4078        IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4079           IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4080               l_return_status := x_return_Status;
4081               RAISE G_EXCEPTION_HALT_VALIDATION;
4082           ELSE
4083               l_return_status := x_return_status;
4084           END IF;
4085        END IF;
4086 
4087     -- Added by kthiruva for SLA project (Bug 5707866) 10-May-2007
4088     Validate_Rep_Name_Code(p_tcnv_rec,x_return_status);
4089 
4090        IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
4091           IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4092               l_return_status := x_return_Status;
4093               RAISE G_EXCEPTION_HALT_VALIDATION;
4094           ELSE
4095               l_return_status := x_return_status;
4096           END IF;
4097        END IF;
4098 
4099     RETURN(l_return_status);
4100 
4101   EXCEPTION
4102     WHEN G_EXCEPTION_HALT_VALIDATION THEN
4103        -- exit with return status
4104        NULL;
4105        RETURN (l_return_status);
4106 
4107     WHEN OTHERS THEN
4108        -- store SQL error message on message stack for caller
4109        Okc_Api.SET_MESSAGE(p_app_name         => g_app_name,
4110                            p_msg_name         => g_unexpected_error,
4111                            p_token1           => g_sqlcode_token,
4112                            p_token1_value     => SQLCODE,
4113                            p_token2           => g_sqlerrm_token,
4114                            p_token2_value     => SQLERRM);
4115        -- notify caller of an UNEXPECTED error
4116        l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
4117        RETURN(l_return_status);
4118 
4119   END Validate_Attributes;
4120 
4121   ---------------------------------------------------------------------------
4122   -- PROCEDURE Validate_Record
4123   ---------------------------------------------------------------------------
4124   -- Start of comments
4125   --
4126   -- Procedure Name  : Validate_Record
4127   -- Description     :
4128   -- Business Rules  :
4129   -- Parameters      :
4130   -- Version         : 1.0
4131   -- End of comments
4132   ---------------------------------------------------------------------------
4133 
4134   FUNCTION Validate_Record (
4135     p_tcnv_rec IN tcnv_rec_type
4136   ) RETURN VARCHAR2 IS
4137     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4138   BEGIN
4139     RETURN(l_return_status);
4140   EXCEPTION
4141     WHEN OTHERS THEN
4142        -- store SQL error message on message stack for caller
4143        Okc_Api.SET_MESSAGE(p_app_name         => g_app_name,
4144                            p_msg_name         => g_unexpected_error,
4145                            p_token1           => g_sqlcode_token,
4146                            p_token1_value     => SQLCODE,
4147                            p_token2           => g_sqlerrm_token,
4148                            p_token2_value     => SQLERRM);
4149        -- notify caller of an UNEXPECTED error
4150        l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
4151        RETURN(l_return_status);
4152   END Validate_Record;
4153 
4154   /*********************** END MANUAL CODE **********************************/
4155 
4156   ---------------------------------------------------------------------------
4157   -- PROCEDURE Migrate
4158   ---------------------------------------------------------------------------
4159   PROCEDURE migrate (
4160     p_from	IN tcnv_rec_type,
4161     p_to	IN OUT NOCOPY tcn_rec_type
4162   ) IS
4163   BEGIN
4164     p_to.id := p_from.id;
4165     p_to.khr_id_new := p_from.khr_id_new;
4166     p_to.pvn_id := p_from.pvn_id;
4167     p_to.pdt_id := p_from.pdt_id;
4168     p_to.rbr_code := p_from.rbr_code;
4169     p_to.rpy_code := p_from.rpy_code;
4170     p_to.rvn_code := p_from.rvn_code;
4171     p_to.trn_code := p_from.trn_code;
4172     p_to.qte_id := p_from.qte_id;
4173     p_to.aes_id := p_from.aes_id;
4174     p_to.code_combination_id := p_from.code_combination_id;
4175     p_to.tcn_type := p_from.tcn_type;
4176 
4177     p_to.rjn_code := p_from.rjn_code;
4178     p_to.party_rel_id1_old := p_from.party_rel_id1_old;
4179     p_to.party_rel_id2_old := p_from.party_rel_id2_old;
4180     p_to.party_rel_id1_new := p_from.party_rel_id1_new;
4181     p_to.party_rel_id2_new := p_from.party_rel_id2_new;
4182     p_to.complete_transfer_yn := p_from.complete_transfer_yn;
4183     p_to.object_version_number := p_from.object_version_number;
4184     p_to.created_by := p_from.created_by;
4185     p_to.creation_date := p_from.creation_date;
4186     p_to.last_updated_by := p_from.last_updated_by;
4187     p_to.last_update_date := p_from.last_update_date;
4188     p_to.date_accrual := p_from.date_accrual;
4189     p_to.accrual_status_yn := p_from.accrual_status_yn;
4190     p_to.update_status_yn := p_from.update_status_yn;
4191     p_to.org_id := p_from.org_id;
4192     p_to.khr_id := p_from.khr_id;
4193     p_to.tax_deductible_local := p_from.tax_deductible_local;
4194     p_to.tax_deductible_corporate := p_from.tax_deductible_corporate;
4195     p_to.amount := p_from.amount;
4196     p_to.request_id := p_from.request_id;
4197     p_to.currency_code := p_from.currency_code;
4198     p_to.program_application_id := p_from.program_application_id;
4199     p_to.khr_id_old := p_from.khr_id_old;
4200     p_to.program_id := p_from.program_id;
4201     p_to.program_update_date := p_from.program_update_date;
4202     p_to.attribute_category := p_from.attribute_category;
4203     p_to.attribute1 := p_from.attribute1;
4204     p_to.attribute2 := p_from.attribute2;
4205     p_to.attribute3 := p_from.attribute3;
4206     p_to.attribute4 := p_from.attribute4;
4207     p_to.attribute5 := p_from.attribute5;
4208     p_to.attribute6 := p_from.attribute6;
4209     p_to.attribute7 := p_from.attribute7;
4210     p_to.attribute8 := p_from.attribute8;
4211     p_to.attribute9 := p_from.attribute9;
4212     p_to.attribute10 := p_from.attribute10;
4213     p_to.attribute11 := p_from.attribute11;
4214     p_to.attribute12 := p_from.attribute12;
4215     p_to.attribute13 := p_from.attribute13;
4216     p_to.attribute14 := p_from.attribute14;
4217     p_to.attribute15 := p_from.attribute15;
4218     p_to.last_update_login := p_from.last_update_login;
4219     p_to.try_id  := p_from.try_id;
4220     p_to.tsu_code  := p_from.tsu_code;
4221     p_to.set_of_books_id  := p_from.set_of_books_id;
4222     p_to.description  := p_from.description;
4223     p_to.date_transaction_occurred  := p_from.date_transaction_occurred;
4224     p_to.trx_number  := p_from.trx_number;
4225     p_to.tmt_evergreen_yn  := p_from.tmt_evergreen_yn;
4226     p_to.tmt_close_balances_yn := p_from.tmt_close_balances_yn;
4227     p_to.tmt_accounting_entries_yn := p_from.tmt_accounting_entries_yn;
4228     p_to.tmt_cancel_insurance_yn := p_from.tmt_cancel_insurance_yn;
4229     p_to.tmt_asset_disposition_yn := p_from.tmt_asset_disposition_yn;
4230     p_to.tmt_amortization_yn := p_from.tmt_amortization_yn;
4231     p_to.tmt_asset_return_yn := p_from.tmt_asset_return_yn;
4232     p_to.tmt_contract_updated_yn := p_from.tmt_contract_updated_yn;
4233     p_to.tmt_recycle_yn := p_from.tmt_recycle_yn;
4234     p_to.tmt_validated_yn := p_from.tmt_validated_yn;
4235     p_to.tmt_streams_updated_yn := p_from.tmt_streams_updated_yn;
4236     p_to.accrual_activity := p_from.accrual_activity;
4237 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4238     p_to.tmt_split_asset_yn := p_from.tmt_split_asset_yn;
4239     p_to.tmt_generic_flag1_yn := p_from.tmt_generic_flag1_yn;
4240     p_to.tmt_generic_flag2_yn := p_from.tmt_generic_flag2_yn;
4241     p_to.tmt_generic_flag3_yn := p_from.tmt_generic_flag3_yn;
4242 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4243     p_to.currency_conversion_type := p_from.currency_conversion_type;
4244     p_to.currency_conversion_rate := p_from.currency_conversion_rate;
4245     p_to.currency_conversion_date := p_from.currency_conversion_date;
4246 -- Added by Keerthi 04-SEP-2003
4247     p_to.chr_id := p_from.chr_id;
4248 -- Added by Keerthi for Bug No 3195713
4249     p_to.source_trx_id := p_from.source_trx_id;
4250     p_to.source_trx_type := p_from.source_trx_type;
4251 -- Added by kmotepal for Bug 3621485
4252     p_to.canceled_date := p_from.canceled_date;
4253 
4254      --Added by dpsingh for LE Uptake
4255     p_to.legal_entity_id := p_from.legal_entity_id;
4256 
4257    --Added by dpsingh for SLA Uptake (Bug 5707866)
4258     p_to.accrual_reversal_date := p_from.accrual_reversal_date;
4259   -- Added by DJANASWA for SLA project
4260     p_to.accounting_reversal_yn := p_from.accounting_reversal_yn;
4261 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4262     p_to.product_name := p_from.product_name;
4263     p_to.book_classification_code := p_from.book_classification_code;
4264     p_to.tax_owner_code := p_from.tax_owner_code;
4265     p_to.tmt_status_code := p_from.tmt_status_code;
4266     p_to.representation_name := p_from.representation_name;
4267     p_to.representation_code := p_from.representation_code;
4268 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
4269     p_to.UPGRADE_STATUS_FLAG := p_from.UPGRADE_STATUS_FLAG;
4270 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4271     p_to.TRANSACTION_DATE := p_from.TRANSACTION_DATE;
4272 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4273     p_to.primary_rep_trx_id := p_from.primary_rep_trx_id;
4274     p_to.REPRESENTATION_TYPE := p_from.REPRESENTATION_TYPE;
4275 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4276     p_to.TRANSACTION_REVERSAL_DATE := p_from.TRANSACTION_REVERSAL_DATE;
4277   END migrate;
4278   PROCEDURE migrate (
4279     p_from	IN tcn_rec_type,
4280     p_to	IN OUT NOCOPY tcnv_rec_type
4281   ) IS
4282   BEGIN
4283     p_to.id := p_from.id;
4284     p_to.khr_id_new := p_from.khr_id_new;
4285     p_to.pvn_id := p_from.pvn_id;
4286     p_to.pdt_id := p_from.pdt_id;
4287     p_to.rbr_code := p_from.rbr_code;
4288     p_to.rpy_code := p_from.rpy_code;
4289     p_to.rvn_code := p_from.rvn_code;
4290     p_to.trn_code := p_from.trn_code;
4291     p_to.qte_id := p_from.qte_id;
4292     p_to.aes_id := p_from.aes_id;
4293     p_to.code_combination_id := p_from.code_combination_id;
4294     p_to.tcn_type := p_from.tcn_type;
4295 
4296     p_to.rjn_code := p_from.rjn_code;
4297     p_to.party_rel_id1_old := p_from.party_rel_id1_old;
4298     p_to.party_rel_id2_old := p_from.party_rel_id2_old;
4299     p_to.party_rel_id1_new := p_from.party_rel_id1_new;
4300     p_to.party_rel_id2_new := p_from.party_rel_id2_new;
4301     p_to.complete_transfer_yn := p_from.complete_transfer_yn;
4302     p_to.object_version_number := p_from.object_version_number;
4303     p_to.created_by := p_from.created_by;
4304     p_to.creation_date := p_from.creation_date;
4305     p_to.last_updated_by := p_from.last_updated_by;
4306     p_to.last_update_date := p_from.last_update_date;
4307     p_to.date_accrual := p_from.date_accrual;
4308     p_to.accrual_status_yn := p_from.accrual_status_yn;
4309     p_to.update_status_yn := p_from.update_status_yn;
4310     p_to.org_id := p_from.org_id;
4311     p_to.khr_id := p_from.khr_id;
4312     p_to.tax_deductible_local := p_from.tax_deductible_local;
4313     p_to.tax_deductible_corporate := p_from.tax_deductible_corporate;
4314     p_to.amount := p_from.amount;
4315     p_to.request_id := p_from.request_id;
4316     p_to.currency_code := p_from.currency_code;
4317     p_to.program_application_id := p_from.program_application_id;
4318     p_to.khr_id_old := p_from.khr_id_old;
4319     p_to.program_id := p_from.program_id;
4320     p_to.program_update_date := p_from.program_update_date;
4321     p_to.attribute_category := p_from.attribute_category;
4322     p_to.attribute1 := p_from.attribute1;
4323     p_to.attribute2 := p_from.attribute2;
4324     p_to.attribute3 := p_from.attribute3;
4325     p_to.attribute4 := p_from.attribute4;
4326     p_to.attribute5 := p_from.attribute5;
4327     p_to.attribute6 := p_from.attribute6;
4328     p_to.attribute7 := p_from.attribute7;
4329     p_to.attribute8 := p_from.attribute8;
4330     p_to.attribute9 := p_from.attribute9;
4331     p_to.attribute10 := p_from.attribute10;
4332     p_to.attribute11 := p_from.attribute11;
4333     p_to.attribute12 := p_from.attribute12;
4334     p_to.attribute13 := p_from.attribute13;
4335     p_to.attribute14 := p_from.attribute14;
4336     p_to.attribute15 := p_from.attribute15;
4337     p_to.last_update_login := p_from.last_update_login;
4338     p_to.try_id  := p_from.try_id;
4339     p_to.tsu_code  := p_from.tsu_code;
4340     p_to.set_of_books_id  := p_from.set_of_books_id;
4341     p_to.description  := p_from.description;
4342     p_to.date_transaction_occurred  := p_from.date_transaction_occurred;
4343     p_to.trx_number  := p_from.trx_number;
4344     p_to.tmt_evergreen_yn  := p_from.tmt_evergreen_yn;
4345     p_to.tmt_close_balances_yn := p_from.tmt_close_balances_yn;
4346     p_to.tmt_accounting_entries_yn := p_from.tmt_accounting_entries_yn;
4347     p_to.tmt_cancel_insurance_yn := p_from.tmt_cancel_insurance_yn;
4348     p_to.tmt_asset_disposition_yn := p_from.tmt_asset_disposition_yn;
4349     p_to.tmt_amortization_yn := p_from.tmt_amortization_yn;
4350     p_to.tmt_asset_return_yn := p_from.tmt_asset_return_yn;
4351     p_to.tmt_contract_updated_yn := p_from.tmt_contract_updated_yn;
4352     p_to.tmt_recycle_yn := p_from.tmt_recycle_yn;
4353     p_to.tmt_validated_yn := p_from.tmt_validated_yn;
4354     p_to.tmt_streams_updated_yn := p_from.tmt_streams_updated_yn;
4355     p_to.accrual_activity := p_from.accrual_activity;
4356 
4357 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4358     p_to.tmt_split_asset_yn := p_from.tmt_split_asset_yn;
4359     p_to.tmt_generic_flag1_yn := p_from.tmt_generic_flag1_yn;
4360     p_to.tmt_generic_flag2_yn := p_from.tmt_generic_flag2_yn;
4361     p_to.tmt_generic_flag3_yn := p_from.tmt_generic_flag3_yn;
4362 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4363     p_to.currency_conversion_type := p_from.currency_conversion_type;
4364     p_to.currency_conversion_rate := p_from.currency_conversion_rate;
4365     p_to.currency_conversion_date := p_from.currency_conversion_date;
4366 -- Added by Keerthi 04-SEP-2003
4367     p_to.chr_id := p_from.chr_id;
4368 -- Added by Keerthi for Bug No 3195713
4369     p_to.source_trx_id := p_from.source_trx_id;
4370     p_to.source_trx_type := p_from.source_trx_type;
4371 -- Added by kmotepal for Bug 3621485
4372     p_to.canceled_date := p_from.canceled_date;
4373 --Added by dpsingh for LE Uptake
4374    p_to.legal_entity_id := p_from.legal_entity_id;
4375    --Added by dpsingh for SLA Uptake (Bug 5707866)
4376    p_to.accrual_reversal_date := p_from.accrual_reversal_date;
4377 -- Added by DJANASWA for SLA project
4378    p_to.accounting_reversal_yn := p_from.accounting_reversal_yn;
4379 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4380    p_to.product_name := p_from.product_name;
4381    p_to.book_classification_code := p_from.book_classification_code;
4382    p_to.tax_owner_code := p_from.tax_owner_code;
4383    p_to.tmt_status_code := p_from.tmt_status_code;
4384    p_to.representation_name := p_from.representation_name;
4385    p_to.representation_code := p_from.representation_code;
4386 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
4387    p_to.UPGRADE_STATUS_FLAG := p_from.UPGRADE_STATUS_FLAG;
4388 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4389    p_to.TRANSACTION_DATE := p_from.TRANSACTION_DATE;
4390 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4391    p_to.primary_rep_trx_id := p_from.primary_rep_trx_id;
4392    p_to.REPRESENTATION_TYPE := p_from.REPRESENTATION_TYPE;
4393 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4394    p_to.TRANSACTION_REVERSAL_DATE := p_from.TRANSACTION_REVERSAL_DATE;
4395   END migrate;
4396 
4397   ---------------------------------------------------------------------------
4398   -- PROCEDURE validate_row
4399   ---------------------------------------------------------------------------
4400   ------------------------------------------
4401   -- validate_row for:OKL_TRX_CONTRACTS_V --
4402   ------------------------------------------
4403   PROCEDURE validate_row(
4404     p_api_version                  IN NUMBER,
4405     p_init_msg_list                IN VARCHAR2,
4406     x_return_status                OUT NOCOPY VARCHAR2,
4407     x_msg_count                    OUT NOCOPY NUMBER,
4408     x_msg_data                     OUT NOCOPY VARCHAR2,
4409     p_tcnv_rec                     IN tcnv_rec_type) IS
4410 
4411     l_api_version                 CONSTANT NUMBER := 1;
4412     l_api_name                     CONSTANT VARCHAR2(30) := 'V_validate_row';
4413     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4414     l_tcnv_rec                     tcnv_rec_type := p_tcnv_rec;
4415     l_tcn_rec                      tcn_rec_type;
4416   BEGIN
4417     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
4418                                               G_PKG_NAME,
4419                                               p_init_msg_list,
4420                                               l_api_version,
4421                                               p_api_version,
4422                                               '_PVT',
4423                                               x_return_status);
4424     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4425       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4426     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4427       RAISE Okc_Api.G_EXCEPTION_ERROR;
4428     END IF;
4429     --- Validate all non-missing attributes (Item Level Validation)
4430     l_return_status := Validate_Attributes(l_tcnv_rec);
4431     --- If any errors happen abort API
4432     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4433       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4434     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4435       RAISE Okc_Api.G_EXCEPTION_ERROR;
4436     END IF;
4437     l_return_status := Validate_Record(l_tcnv_rec);
4438     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4439       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4440     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4441       RAISE Okc_Api.G_EXCEPTION_ERROR;
4442     END IF;
4443     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
4444   EXCEPTION
4445     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
4446       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
4447       (
4448         l_api_name,
4449         G_PKG_NAME,
4450         'OKC_API.G_RET_STS_ERROR',
4451         x_msg_count,
4452         x_msg_data,
4453         '_PVT'
4454       );
4455     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
4456       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4457       (
4458         l_api_name,
4459         G_PKG_NAME,
4460         'OKC_API.G_RET_STS_UNEXP_ERROR',
4461         x_msg_count,
4462         x_msg_data,
4463         '_PVT'
4464       );
4465     WHEN OTHERS THEN
4466       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4467       (
4468         l_api_name,
4469         G_PKG_NAME,
4470         'OTHERS',
4471         x_msg_count,
4472         x_msg_data,
4473         '_PVT'
4474       );
4475   END validate_row;
4476   ------------------------------------------
4477   -- PL/SQL TBL validate_row for:TCNV_TBL --
4478   ------------------------------------------
4479   PROCEDURE validate_row(
4480     p_api_version                  IN NUMBER,
4481     p_init_msg_list                IN VARCHAR2,
4482     x_return_status                OUT NOCOPY VARCHAR2,
4483     x_msg_count                    OUT NOCOPY NUMBER,
4484     x_msg_data                     OUT NOCOPY VARCHAR2,
4485     p_tcnv_tbl                     IN tcnv_tbl_type) IS
4486 
4487     l_api_version                 CONSTANT NUMBER := 1;
4488     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
4489     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4490     i                              NUMBER := 0;
4491     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4492 
4493   BEGIN
4494     Okc_Api.init_msg_list(p_init_msg_list);
4495     -- Make sure PL/SQL table has records in it before passing
4496     IF (p_tcnv_tbl.COUNT > 0) THEN
4497       i := p_tcnv_tbl.FIRST;
4498       LOOP
4499         validate_row (
4500           p_api_version                  => p_api_version,
4501           p_init_msg_list                => Okc_Api.G_FALSE,
4502           x_return_status                => x_return_status,
4503           x_msg_count                    => x_msg_count,
4504           x_msg_data                     => x_msg_data,
4505           p_tcnv_rec                     => p_tcnv_tbl(i));
4506 
4507         -- store the highest degree of error
4508 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
4509            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
4510               l_overall_status := x_return_status;
4511            END IF;
4512 	  END IF;
4513 
4514         EXIT WHEN (i = p_tcnv_tbl.LAST);
4515         i := p_tcnv_tbl.NEXT(i);
4516       END LOOP;
4517 	  -- return overall status
4518 	  x_return_status := l_overall_status;
4519 
4520     END IF;
4521   EXCEPTION
4522     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
4523       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
4524       (
4525         l_api_name,
4526         G_PKG_NAME,
4527         'OKC_API.G_RET_STS_ERROR',
4528         x_msg_count,
4529         x_msg_data,
4530         '_PVT'
4531       );
4532     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
4533       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4534       (
4535         l_api_name,
4536         G_PKG_NAME,
4537         'OKC_API.G_RET_STS_UNEXP_ERROR',
4538         x_msg_count,
4539         x_msg_data,
4540         '_PVT'
4541       );
4542     WHEN OTHERS THEN
4543       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4544       (
4545         l_api_name,
4546         G_PKG_NAME,
4547         'OTHERS',
4548         x_msg_count,
4549         x_msg_data,
4550         '_PVT'
4551       );
4552   END validate_row;
4553 
4554   ---------------------------------------------------------------------------
4555   -- PROCEDURE insert_row
4556   ---------------------------------------------------------------------------
4557   --------------------------------------
4558   -- insert_row for:OKL_TRX_CONTRACTS --
4559   --------------------------------------
4560   PROCEDURE insert_row(
4561     p_init_msg_list                IN VARCHAR2,
4562     x_return_status                OUT NOCOPY VARCHAR2,
4563     x_msg_count                    OUT NOCOPY NUMBER,
4564     x_msg_data                     OUT NOCOPY VARCHAR2,
4565     p_tcn_rec                      IN tcn_rec_type,
4566     x_tcn_rec                      OUT NOCOPY tcn_rec_type) IS
4567 
4568     l_api_version                 CONSTANT NUMBER := 1;
4569     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_insert_row';
4570     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4571     l_tcn_rec                      tcn_rec_type := p_tcn_rec;
4572     l_def_tcn_rec                  tcn_rec_type;
4573     ------------------------------------------
4574     -- Set_Attributes for:OKL_TRX_CONTRACTS --
4575     ------------------------------------------
4576     FUNCTION Set_Attributes (
4577       p_tcn_rec IN  tcn_rec_type,
4578       x_tcn_rec OUT NOCOPY tcn_rec_type
4579     ) RETURN VARCHAR2 IS
4580       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4581     BEGIN
4582       x_tcn_rec := p_tcn_rec;
4583       RETURN(l_return_status);
4584     END Set_Attributes;
4585   BEGIN
4586     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
4587                                               p_init_msg_list,
4588                                               '_PVT',
4589                                               x_return_status);
4590     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4591       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4592     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4593       RAISE Okc_Api.G_EXCEPTION_ERROR;
4594     END IF;
4595     --- Setting item attributes
4596     l_return_status := Set_Attributes(
4597       p_tcn_rec,                         -- IN
4598       l_tcn_rec);                        -- OUT
4599     --- If any errors happen abort API
4600     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4601       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4602     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4603       RAISE Okc_Api.G_EXCEPTION_ERROR;
4604     END IF;
4605     INSERT INTO OKL_TRX_CONTRACTS(
4606         id,
4607         khr_id_new,
4608         pvn_id,
4609         pdt_id,
4610         rbr_code,
4611         rpy_code,
4612         rvn_code,
4613         trn_code,
4614         qte_id,
4615         aes_id,
4616         code_combination_id,
4617         tcn_type,
4618         RJN_CODE,
4619         PARTY_REL_ID1_OLD,
4620         PARTY_REL_ID2_OLD,
4621         PARTY_REL_ID1_NEW,
4622         PARTY_REL_ID2_NEW,
4623         COMPLETE_TRANSFER_YN,
4624         object_version_number,
4625         created_by,
4626         creation_date,
4627         last_updated_by,
4628         last_update_date,
4629         date_accrual,
4630         accrual_status_yn,
4631         update_status_yn,
4632         org_id,
4633         khr_id,
4634         tax_deductible_local,
4635         tax_deductible_corporate,
4636         amount,
4637         request_id,
4638         currency_CODE,
4639         program_application_id,
4640         khr_id_old,
4641         program_id,
4642         program_update_date,
4643         attribute_category,
4644         attribute1,
4645         attribute2,
4646         attribute3,
4647         attribute4,
4648         attribute5,
4649         attribute6,
4650         attribute7,
4651         attribute8,
4652         attribute9,
4653         attribute10,
4654         attribute11,
4655         attribute12,
4656         attribute13,
4657         attribute14,
4658         attribute15,
4659         last_update_login,
4660 	try_id,
4661 	tsu_code,
4662 	set_of_books_id,
4663 	description,
4664 	date_transaction_occurred,
4665         trx_number,
4666         TMT_EVERGREEN_YN,
4667         TMT_CLOSE_BALANCES_YN,
4668         TMT_ACCOUNTING_ENTRIES_YN,
4669         TMT_CANCEL_INSURANCE_YN,
4670         TMT_ASSET_DISPOSITION_YN,
4671         TMT_AMORTIZATION_YN,
4672         TMT_ASSET_RETURN_YN,
4673         TMT_CONTRACT_UPDATED_YN,
4674         TMT_RECYCLE_YN,
4675         TMT_VALIDATED_YN,
4676         TMT_STREAMS_UPDATED_YN,
4677         accrual_activity,
4678 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4679         TMT_SPLIT_ASSET_YN,
4680 	TMT_GENERIC_FLAG1_YN,
4681 	TMT_GENERIC_FLAG2_YN,
4682 	TMT_GENERIC_FLAG3_YN,
4683 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4684    	CURRENCY_CONVERSION_TYPE,
4685 	CURRENCY_CONVERSION_RATE,
4686 	CURRENCY_CONVERSION_DATE,
4687         CHR_ID,
4688     -- Added by Keerthi for Bug No 3195713
4689        SOURCE_TRX_ID,
4690        SOURCE_TRX_TYPE,
4691    -- Added by kmotepal for Bug 3621485
4692       CANCELED_DATE,
4693      --Added by dpsingh for LE Uptake
4694       LEGAL_ENTITY_ID,
4695      --Added by dpsingh for SLA Uptake (Bug 5707866)
4696       ACCRUAL_REVERSAL_DATE,
4697     -- Added by DJANASWA for SLA project
4698       ACCOUNTING_REVERSAL_YN,
4699 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4700       product_name,
4701       BOOK_CLASSIFICATION_CODE,
4702       TAX_OWNER_CODE,
4703       TMT_STATUS_CODE,
4704       REPRESENTATION_NAME,
4705       REPRESENTATION_CODE,
4706 -- Added by nikshah for SLA project (Bug 5707866) 13-Apr-2007
4707       UPGRADE_STATUS_FLAG,
4708 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4709       TRANSACTION_DATE,
4710 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4711       primary_rep_trx_id,
4712       REPRESENTATION_TYPE,
4713 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4714       TRANSACTION_REVERSAL_DATE
4715       )
4716       VALUES (
4717         l_tcn_rec.id,
4718         l_tcn_rec.khr_id_new,
4719         l_tcn_rec.pvn_id,
4720         l_tcn_rec.pdt_id,
4721         l_tcn_rec.rbr_code,
4722         l_tcn_rec.rpy_code,
4723         l_tcn_rec.rvn_code,
4724         l_tcn_rec.trn_code,
4725         l_tcn_rec.qte_id,
4726         l_tcn_rec.aes_id,
4727         l_tcn_rec.code_combination_id,
4728         l_tcn_rec.tcn_type,
4729         l_tcn_rec.RJN_CODE,
4730         l_tcn_rec.PARTY_REL_ID1_OLD,
4731         l_tcn_rec.PARTY_REL_ID2_OLD,
4732         l_tcn_rec.PARTY_REL_ID1_NEW,
4733         l_tcn_rec.PARTY_REL_ID2_NEW,
4734         l_tcn_rec.COMPLETE_TRANSFER_YN,
4735         l_tcn_rec.object_version_number,
4736         l_tcn_rec.created_by,
4737         l_tcn_rec.creation_date,
4738         l_tcn_rec.last_updated_by,
4739         l_tcn_rec.last_update_date,
4740         l_tcn_rec.date_accrual,
4741         l_tcn_rec.accrual_status_yn,
4742         l_tcn_rec.update_status_yn,
4743         l_tcn_rec.org_id,
4744         l_tcn_rec.khr_id,
4745         l_tcn_rec.tax_deductible_local,
4746         l_tcn_rec.tax_deductible_corporate,
4747         l_tcn_rec.amount,
4748         l_tcn_rec.request_id,
4749         l_tcn_rec.currency_code,
4750         l_tcn_rec.program_application_id,
4751         l_tcn_rec.khr_id_old,
4752         l_tcn_rec.program_id,
4753         l_tcn_rec.program_update_date,
4754         l_tcn_rec.attribute_category,
4755         l_tcn_rec.attribute1,
4756         l_tcn_rec.attribute2,
4757         l_tcn_rec.attribute3,
4758         l_tcn_rec.attribute4,
4759         l_tcn_rec.attribute5,
4760         l_tcn_rec.attribute6,
4761         l_tcn_rec.attribute7,
4762         l_tcn_rec.attribute8,
4763         l_tcn_rec.attribute9,
4764         l_tcn_rec.attribute10,
4765         l_tcn_rec.attribute11,
4766         l_tcn_rec.attribute12,
4767         l_tcn_rec.attribute13,
4768         l_tcn_rec.attribute14,
4769         l_tcn_rec.attribute15,
4770         l_tcn_rec.last_update_login,
4771 	l_tcn_rec.try_id,
4772 	l_tcn_rec.tsu_code,
4773 	l_tcn_rec.set_of_books_id,
4774 	l_tcn_rec.description,
4775 	l_tcn_rec.date_transaction_occurred,
4776         l_tcn_rec.trx_number,
4777         l_tcn_rec.TMT_EVERGREEN_YN ,
4778         l_tcn_rec.TMT_CLOSE_BALANCES_YN ,
4779         l_tcn_rec.TMT_ACCOUNTING_ENTRIES_YN ,
4780         l_tcn_rec.TMT_CANCEL_INSURANCE_YN ,
4781         l_tcn_rec.TMT_ASSET_DISPOSITION_YN ,
4782         l_tcn_rec.TMT_AMORTIZATION_YN ,
4783         l_tcn_rec.TMT_ASSET_RETURN_YN ,
4784         l_tcn_rec.TMT_CONTRACT_UPDATED_YN ,
4785         l_tcn_rec.TMT_RECYCLE_YN ,
4786         l_tcn_rec.TMT_VALIDATED_YN ,
4787         l_tcn_rec.TMT_STREAMS_UPDATED_YN,
4788         l_tcn_rec.accrual_activity,
4789 
4790 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
4791         l_tcn_rec.TMT_SPLIT_ASSET_YN,
4792 	l_tcn_rec.TMT_GENERIC_FLAG1_YN,
4793 	l_tcn_rec.TMT_GENERIC_FLAG2_YN,
4794 	l_tcn_rec.TMT_GENERIC_FLAG3_YN,
4795 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
4796    	l_tcn_rec.CURRENCY_CONVERSION_TYPE,
4797 	l_tcn_rec.CURRENCY_CONVERSION_RATE,
4798 	l_tcn_rec.CURRENCY_CONVERSION_DATE,
4799 -- Added by Keerthi 04-SEP-2003
4800         l_tcn_rec.CHR_ID,
4801 -- Added by Keerthi for Bug No 3195713
4802     l_tcn_rec.SOURCE_TRX_ID,
4803     l_tcn_rec.SOURCE_TRX_TYPE,
4804 -- Added by kmotepal for Bug 3621485
4805     l_tcn_rec.CANCELED_DATE,
4806     --Added by dpsingh for LE Uptake
4807    l_tcn_rec.LEGAL_ENTITY_ID,
4808    --Added by dpsingh for SLA Uptake (Bug 5707866)
4809    l_tcn_rec.ACCRUAL_REVERSAL_DATE,
4810    -- Added by DJANASWA for SLA project
4811    l_tcn_rec.ACCOUNTING_REVERSAL_YN,
4812 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
4813    l_tcn_rec.product_name,
4814    l_tcn_rec.book_classification_code,
4815    l_tcn_rec.tax_owner_code,
4816    l_tcn_rec.tmt_status_code,
4817    l_tcn_rec.representation_name,
4818    l_tcn_rec.representation_code,
4819 -- Added by nikshah for SLA project (Bug 5707866) 13-Apr-2007
4820    l_tcn_rec.UPGRADE_STATUS_FLAG,
4821 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
4822    l_tcn_rec.TRANSACTION_DATE,
4823 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
4824    l_tcn_rec.primary_rep_trx_id,
4825    l_tcn_rec.REPRESENTATION_TYPE,
4826 -- Added by sosharma for Income Account recon- report 01-Nov-2008
4827    l_tcn_rec.TRANSACTION_REVERSAL_DATE
4828   );
4829 
4830     -- Set OUT values
4831     x_tcn_rec := l_tcn_rec;
4832     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
4833   EXCEPTION
4834     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
4835       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
4836       (
4837         l_api_name,
4838         G_PKG_NAME,
4839         'OKC_API.G_RET_STS_ERROR',
4840         x_msg_count,
4841         x_msg_data,
4842         '_PVT'
4843       );
4844     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
4845       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4846       (
4847         l_api_name,
4848         G_PKG_NAME,
4849         'OKC_API.G_RET_STS_UNEXP_ERROR',
4850         x_msg_count,
4851         x_msg_data,
4852         '_PVT'
4853       );
4854     WHEN OTHERS THEN
4855       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
4856       (
4857         l_api_name,
4858         G_PKG_NAME,
4859         'OTHERS',
4860         x_msg_count,
4861         x_msg_data,
4862         '_PVT'
4863       );
4864   END insert_row;
4865   ----------------------------------------
4866   -- insert_row for:OKL_TRX_CONTRACTS_V --
4867   ----------------------------------------
4868   PROCEDURE insert_row(
4869     p_api_version                  IN NUMBER,
4870     p_init_msg_list                IN VARCHAR2,
4871     x_return_status                OUT NOCOPY VARCHAR2,
4872     x_msg_count                    OUT NOCOPY NUMBER,
4873     x_msg_data                     OUT NOCOPY VARCHAR2,
4874     p_tcnv_rec                     IN tcnv_rec_type,
4875     x_tcnv_rec                     OUT NOCOPY tcnv_rec_type) IS
4876 
4877     l_api_version                 CONSTANT NUMBER := 1;
4878     l_api_name                     CONSTANT VARCHAR2(30) := 'V_insert_row';
4879     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4880     l_tcnv_rec                     tcnv_rec_type;
4881     l_def_tcnv_rec                 tcnv_rec_type;
4882     l_tcn_rec                      tcn_rec_type;
4883     lx_tcn_rec                     tcn_rec_type;
4884     -------------------------------
4885     -- FUNCTION fill_who_columns --
4886     -------------------------------
4887     FUNCTION fill_who_columns (
4888       p_tcnv_rec	IN tcnv_rec_type
4889     ) RETURN tcnv_rec_type IS
4890       l_tcnv_rec	tcnv_rec_type := p_tcnv_rec;
4891     BEGIN
4892       l_tcnv_rec.CREATION_DATE := SYSDATE;
4893       l_tcnv_rec.CREATED_BY := Fnd_Global.USER_ID;
4894       l_tcnv_rec.LAST_UPDATE_DATE := SYSDATE;
4895       l_tcnv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
4896       l_tcnv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
4897 
4898       IF (l_tcnv_rec.TRANSACTION_DATE IS NULL) OR
4899 	(l_tcnv_rec.TRANSACTION_DATE = OKL_API.G_MISS_DATE) THEN
4900 		l_tcnv_rec.TRANSACTION_DATE := SYSDATE;
4901       END IF;
4902 
4903       RETURN(l_tcnv_rec);
4904     END fill_who_columns;
4905     --------------------------------------------
4906     -- Set_Attributes for:OKL_TRX_CONTRACTS_V --
4907     --------------------------------------------
4908     FUNCTION Set_Attributes (
4909       p_tcnv_rec IN  tcnv_rec_type,
4910       x_tcnv_rec OUT NOCOPY tcnv_rec_type
4911     ) RETURN VARCHAR2 IS
4912       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
4913       l_request_id 	NUMBER 	:= Fnd_Global.CONC_REQUEST_ID;
4914 	l_prog_app_id 	NUMBER 	:= Fnd_Global.PROG_APPL_ID;
4915 	l_program_id 	NUMBER 	:= Fnd_Global.CONC_PROGRAM_ID;
4916     BEGIN
4917       x_tcnv_rec := p_tcnv_rec;
4918       x_tcnv_rec.OBJECT_VERSION_NUMBER := 1;
4919 
4920 
4921       x_tcnv_rec.ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID();
4922 
4923       SELECT DECODE(l_request_id, -1, NULL, l_request_id),
4924       	DECODE(l_prog_app_id, -1, NULL, l_prog_app_id),
4925 	      DECODE(Fnd_Global.CONC_PROGRAM_ID, -1, NULL, Fnd_Global.CONC_PROGRAM_ID),
4926 	      DECODE(l_request_id, -1, NULL, SYSDATE)
4927       INTO  x_tcnv_rec.REQUEST_ID
4928           	,x_tcnv_rec.PROGRAM_APPLICATION_ID
4929           	,x_tcnv_rec.PROGRAM_ID
4930           	,x_tcnv_rec.PROGRAM_UPDATE_DATE
4931      	FROM DUAL;
4932 -- Commented by zrehman for SLA project (Bug 5707866) 21-Feb-2007
4933 -- The derivation for the column is moved to OKL_TRX_CONTRACTS_PVT which in turn is
4934 -- used to derive representation_name  and representation_code
4935 -- start
4936 	-- x_tcnv_rec.set_of_books_id := okl_accounting_util.get_set_of_books_id;
4937 -- end
4938 
4939 -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
4940         x_tcnv_rec.UPGRADE_STATUS_FLAG := 'N';
4941 
4942         BEGIN
4943 
4944            IF (x_tcnv_rec.trx_number IS NULL) OR
4945               (x_tcnv_rec.trx_number = OKL_API.G_MISS_CHAR) THEN
4946               SELECT OKL_TCN_SEQ.NEXTVAL INTO x_tcnv_rec.trx_number FROM DUAL;
4947            END IF;
4948 
4949            IF (x_tcnv_rec.currency_code IS NULL) OR
4950               (x_tcnv_rec.currency_code = OKL_API.G_MISS_CHAR) THEN
4951               x_tcnv_rec.currency_code := OKL_ACCOUNTING_UTIL.GET_FUNC_CURR_CODE;
4952            END IF;
4953 
4954         EXCEPTION
4955           WHEN OTHERS THEN l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4956         END;
4957 
4958       RETURN(l_return_status);
4959     END Set_Attributes;
4960   BEGIN
4961     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
4962                                               G_PKG_NAME,
4963                                               p_init_msg_list,
4964                                               l_api_version,
4965                                               p_api_version,
4966                                               '_PVT',
4967                                               x_return_status);
4968     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4969       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4970     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4971       RAISE Okc_Api.G_EXCEPTION_ERROR;
4972     END IF;
4973     l_tcnv_rec := null_out_defaults(p_tcnv_rec);
4974     -- Set primary key value
4975     l_tcnv_rec.ID := get_seq_id;
4976     --- Setting item attributes
4977     l_return_status := Set_Attributes(
4978       l_tcnv_rec,                        -- IN
4979       l_def_tcnv_rec);                   -- OUT
4980     --- If any errors happen abort API
4981     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4982       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4983     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4984       RAISE Okc_Api.G_EXCEPTION_ERROR;
4985     END IF;
4986     l_def_tcnv_rec := fill_who_columns(l_def_tcnv_rec);
4987     --- Validate all non-missing attributes (Item Level Validation)
4988     l_return_status := Validate_Attributes(l_def_tcnv_rec);
4989     --- If any errors happen abort API
4990     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4991       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4992     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4993       RAISE Okc_Api.G_EXCEPTION_ERROR;
4994     END IF;
4995     l_return_status := Validate_Record(l_def_tcnv_rec);
4996     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
4997       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
4998     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
4999       RAISE Okc_Api.G_EXCEPTION_ERROR;
5000     END IF;
5001     --------------------------------------
5002     -- Move VIEW record to "Child" records
5003     --------------------------------------
5004     migrate(l_def_tcnv_rec, l_tcn_rec);
5005     --------------------------------------------
5006     -- Call the INSERT_ROW for each child record
5007     --------------------------------------------
5008     insert_row(
5009       p_init_msg_list,
5010       x_return_status,
5011       x_msg_count,
5012       x_msg_data,
5013       l_tcn_rec,
5014       lx_tcn_rec
5015     );
5016     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5017       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5018     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5019       RAISE Okc_Api.G_EXCEPTION_ERROR;
5020     END IF;
5021     migrate(lx_tcn_rec, l_def_tcnv_rec);
5022     -- Set OUT values
5023     x_tcnv_rec := l_def_tcnv_rec;
5024     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
5025   EXCEPTION
5026     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5027       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5028       (
5029         l_api_name,
5030         G_PKG_NAME,
5031         'OKC_API.G_RET_STS_ERROR',
5032         x_msg_count,
5033         x_msg_data,
5034         '_PVT'
5035       );
5036     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5037       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5038       (
5039         l_api_name,
5040         G_PKG_NAME,
5041         'OKC_API.G_RET_STS_UNEXP_ERROR',
5042         x_msg_count,
5043         x_msg_data,
5044         '_PVT'
5045       );
5046     WHEN OTHERS THEN
5047       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5048       (
5049         l_api_name,
5050         G_PKG_NAME,
5051         'OTHERS',
5052         x_msg_count,
5053         x_msg_data,
5054         '_PVT'
5055       );
5056   END insert_row;
5057   ----------------------------------------
5058   -- PL/SQL TBL insert_row for:TCNV_TBL --
5059   ----------------------------------------
5060   PROCEDURE insert_row(
5061     p_api_version                  IN NUMBER,
5062     p_init_msg_list                IN VARCHAR2,
5063     x_return_status                OUT NOCOPY VARCHAR2,
5064     x_msg_count                    OUT NOCOPY NUMBER,
5065     x_msg_data                     OUT NOCOPY VARCHAR2,
5066     p_tcnv_tbl                     IN tcnv_tbl_type,
5067     x_tcnv_tbl                     OUT NOCOPY tcnv_tbl_type) IS
5068 
5069     l_api_version                 CONSTANT NUMBER := 1;
5070     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
5071     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5072     i                              NUMBER := 0;
5073     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5074 
5075   BEGIN
5076     Okc_Api.init_msg_list(p_init_msg_list);
5077     -- Make sure PL/SQL table has records in it before passing
5078     IF (p_tcnv_tbl.COUNT > 0) THEN
5079       i := p_tcnv_tbl.FIRST;
5080       LOOP
5081         insert_row (
5082           p_api_version                  => p_api_version,
5083           p_init_msg_list                => Okc_Api.G_FALSE,
5084           x_return_status                => x_return_status,
5085           x_msg_count                    => x_msg_count,
5086           x_msg_data                     => x_msg_data,
5087           p_tcnv_rec                     => p_tcnv_tbl(i),
5088           x_tcnv_rec                     => x_tcnv_tbl(i));
5089         -- store the highest degree of error
5090 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
5091            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
5092               l_overall_status := x_return_status;
5093            END IF;
5094 	  END IF;
5095 
5096         EXIT WHEN (i = p_tcnv_tbl.LAST);
5097         i := p_tcnv_tbl.NEXT(i);
5098       END LOOP;
5099 	  -- return overall status
5100 	  x_return_status := l_overall_status;
5101 
5102     END IF;
5103   EXCEPTION
5104     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5105       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5106       (
5107         l_api_name,
5108         G_PKG_NAME,
5109         'OKC_API.G_RET_STS_ERROR',
5110         x_msg_count,
5111         x_msg_data,
5112         '_PVT'
5113       );
5114     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5115       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5116       (
5117         l_api_name,
5118         G_PKG_NAME,
5119         'OKC_API.G_RET_STS_UNEXP_ERROR',
5120         x_msg_count,
5121         x_msg_data,
5122         '_PVT'
5123       );
5124     WHEN OTHERS THEN
5125       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5126       (
5127         l_api_name,
5128         G_PKG_NAME,
5129         'OTHERS',
5130         x_msg_count,
5131         x_msg_data,
5132         '_PVT'
5133       );
5134   END insert_row;
5135 
5136   ---------------------------------------------------------------------------
5137   -- PROCEDURE lock_row
5138   ---------------------------------------------------------------------------
5139   ------------------------------------
5140   -- lock_row for:OKL_TRX_CONTRACTS --
5141   ------------------------------------
5142   PROCEDURE lock_row(
5143     p_init_msg_list                IN VARCHAR2,
5144     x_return_status                OUT NOCOPY VARCHAR2,
5145     x_msg_count                    OUT NOCOPY NUMBER,
5146     x_msg_data                     OUT NOCOPY VARCHAR2,
5147     p_tcn_rec                      IN tcn_rec_type) IS
5148 
5149     E_Resource_Busy               EXCEPTION;
5150     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
5151     CURSOR lock_csr (p_tcn_rec IN tcn_rec_type) IS
5152     SELECT OBJECT_VERSION_NUMBER
5153       FROM OKL_TRX_CONTRACTS
5154      WHERE ID = p_tcn_rec.id
5155        AND OBJECT_VERSION_NUMBER = p_tcn_rec.object_version_number
5156     FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
5157 
5158     CURSOR  lchk_csr (p_tcn_rec IN tcn_rec_type) IS
5159     SELECT OBJECT_VERSION_NUMBER
5160       FROM OKL_TRX_CONTRACTS
5161     WHERE ID = p_tcn_rec.id;
5162     l_api_version                 CONSTANT NUMBER := 1;
5163     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_lock_row';
5164     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5165     l_object_version_number       OKL_TRX_CONTRACTS.OBJECT_VERSION_NUMBER%TYPE;
5166     lc_object_version_number      OKL_TRX_CONTRACTS.OBJECT_VERSION_NUMBER%TYPE;
5167     l_row_notfound                BOOLEAN := FALSE;
5168     lc_row_notfound               BOOLEAN := FALSE;
5169   BEGIN
5170     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
5171                                               p_init_msg_list,
5172                                               '_PVT',
5173                                               x_return_status);
5174     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5175       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5176     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5177       RAISE Okc_Api.G_EXCEPTION_ERROR;
5178     END IF;
5179     BEGIN
5180       OPEN lock_csr(p_tcn_rec);
5181       FETCH lock_csr INTO l_object_version_number;
5182       l_row_notfound := lock_csr%NOTFOUND;
5183       CLOSE lock_csr;
5184     EXCEPTION
5185       WHEN E_Resource_Busy THEN
5186         IF (lock_csr%ISOPEN) THEN
5187           CLOSE lock_csr;
5188         END IF;
5189         Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
5190         RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
5191     END;
5192 
5193     IF ( l_row_notfound ) THEN
5194       OPEN lchk_csr(p_tcn_rec);
5195       FETCH lchk_csr INTO lc_object_version_number;
5196       lc_row_notfound := lchk_csr%NOTFOUND;
5197       CLOSE lchk_csr;
5198     END IF;
5199     IF (lc_row_notfound) THEN
5200       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
5201       RAISE Okc_Api.G_EXCEPTION_ERROR;
5202     ELSIF lc_object_version_number > p_tcn_rec.object_version_number THEN
5203       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
5204       RAISE Okc_Api.G_EXCEPTION_ERROR;
5205     ELSIF lc_object_version_number <> p_tcn_rec.object_version_number THEN
5206       Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
5207       RAISE Okc_Api.G_EXCEPTION_ERROR;
5208     ELSIF lc_object_version_number = -1 THEN
5209       Okc_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
5210       RAISE Okc_Api.G_EXCEPTION_ERROR;
5211     END IF;
5212     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
5213   EXCEPTION
5214     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5215       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5216       (
5217         l_api_name,
5218         G_PKG_NAME,
5219         'OKC_API.G_RET_STS_ERROR',
5220         x_msg_count,
5221         x_msg_data,
5222         '_PVT'
5223       );
5224     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5225       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5226       (
5227         l_api_name,
5228         G_PKG_NAME,
5229         'OKC_API.G_RET_STS_UNEXP_ERROR',
5230         x_msg_count,
5231         x_msg_data,
5232         '_PVT'
5233       );
5234     WHEN OTHERS THEN
5235       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5236       (
5237         l_api_name,
5238         G_PKG_NAME,
5239         'OTHERS',
5240         x_msg_count,
5241         x_msg_data,
5242         '_PVT'
5243       );
5244   END lock_row;
5245   --------------------------------------
5246   -- lock_row for:OKL_TRX_CONTRACTS_V --
5247   --------------------------------------
5248   PROCEDURE lock_row(
5249     p_api_version                  IN NUMBER,
5250     p_init_msg_list                IN VARCHAR2,
5251     x_return_status                OUT NOCOPY VARCHAR2,
5252     x_msg_count                    OUT NOCOPY NUMBER,
5253     x_msg_data                     OUT NOCOPY VARCHAR2,
5254     p_tcnv_rec                     IN tcnv_rec_type) IS
5255 
5256     l_api_version                 CONSTANT NUMBER := 1;
5257     l_api_name                     CONSTANT VARCHAR2(30) := 'V_lock_row';
5258     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5259     l_tcn_rec                      tcn_rec_type;
5260   BEGIN
5261     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
5262                                               G_PKG_NAME,
5263                                               p_init_msg_list,
5264                                               l_api_version,
5265                                               p_api_version,
5266                                               '_PVT',
5267                                               x_return_status);
5268     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5269       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5270     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5271       RAISE Okc_Api.G_EXCEPTION_ERROR;
5272     END IF;
5273     --------------------------------------
5274     -- Move VIEW record to "Child" records
5275     --------------------------------------
5276     migrate(p_tcnv_rec, l_tcn_rec);
5277     --------------------------------------------
5278     -- Call the LOCK_ROW for each child record
5279     --------------------------------------------
5280     lock_row(
5281       p_init_msg_list,
5282       x_return_status,
5283       x_msg_count,
5284       x_msg_data,
5285       l_tcn_rec
5286     );
5287     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5288       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5289     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5290       RAISE Okc_Api.G_EXCEPTION_ERROR;
5291     END IF;
5292     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
5293   EXCEPTION
5294     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5295       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5296       (
5297         l_api_name,
5298         G_PKG_NAME,
5299         'OKC_API.G_RET_STS_ERROR',
5300         x_msg_count,
5301         x_msg_data,
5302         '_PVT'
5303       );
5304     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5305       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5306       (
5307         l_api_name,
5308         G_PKG_NAME,
5309         'OKC_API.G_RET_STS_UNEXP_ERROR',
5310         x_msg_count,
5311         x_msg_data,
5312         '_PVT'
5313       );
5314     WHEN OTHERS THEN
5315       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5316       (
5317         l_api_name,
5318         G_PKG_NAME,
5319         'OTHERS',
5320         x_msg_count,
5321         x_msg_data,
5322         '_PVT'
5323       );
5324   END lock_row;
5325   --------------------------------------
5326   -- PL/SQL TBL lock_row for:TCNV_TBL --
5327   --------------------------------------
5328   PROCEDURE lock_row(
5329     p_api_version                  IN NUMBER,
5330     p_init_msg_list                IN VARCHAR2,
5331     x_return_status                OUT NOCOPY VARCHAR2,
5332     x_msg_count                    OUT NOCOPY NUMBER,
5333     x_msg_data                     OUT NOCOPY VARCHAR2,
5334     p_tcnv_tbl                     IN tcnv_tbl_type) IS
5335 
5336     l_api_version                 CONSTANT NUMBER := 1;
5337     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
5338     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5339     i                              NUMBER := 0;
5340     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5341 
5342   BEGIN
5343     Okc_Api.init_msg_list(p_init_msg_list);
5344     -- Make sure PL/SQL table has records in it before passing
5345     IF (p_tcnv_tbl.COUNT > 0) THEN
5346       i := p_tcnv_tbl.FIRST;
5347       LOOP
5348         lock_row (
5349           p_api_version                  => p_api_version,
5350           p_init_msg_list                => Okc_Api.G_FALSE,
5351           x_return_status                => x_return_status,
5352           x_msg_count                    => x_msg_count,
5353           x_msg_data                     => x_msg_data,
5354           p_tcnv_rec                     => p_tcnv_tbl(i));
5355 
5356         -- store the highest degree of error
5357 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
5358            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
5359               l_overall_status := x_return_status;
5360            END IF;
5361 	  END IF;
5362 
5363         EXIT WHEN (i = p_tcnv_tbl.LAST);
5364         i := p_tcnv_tbl.NEXT(i);
5365       END LOOP;
5366 	  -- return overall status
5367 	  x_return_status := l_overall_status;
5368 
5369     END IF;
5370   EXCEPTION
5371     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
5372       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
5373       (
5374         l_api_name,
5375         G_PKG_NAME,
5376         'OKC_API.G_RET_STS_ERROR',
5377         x_msg_count,
5378         x_msg_data,
5379         '_PVT'
5380       );
5381     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
5382       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5383       (
5384         l_api_name,
5385         G_PKG_NAME,
5386         'OKC_API.G_RET_STS_UNEXP_ERROR',
5387         x_msg_count,
5388         x_msg_data,
5389         '_PVT'
5390       );
5391     WHEN OTHERS THEN
5392       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
5393       (
5394         l_api_name,
5395         G_PKG_NAME,
5396         'OTHERS',
5397         x_msg_count,
5398         x_msg_data,
5399         '_PVT'
5400       );
5401   END lock_row;
5402 
5403   ---------------------------------------------------------------------------
5404   -- PROCEDURE update_row
5405   ---------------------------------------------------------------------------
5406   --------------------------------------
5407   -- update_row for:OKL_TRX_CONTRACTS --
5408   --------------------------------------
5409   PROCEDURE update_row(
5410     p_init_msg_list                IN VARCHAR2,
5411     x_return_status                OUT NOCOPY VARCHAR2,
5412     x_msg_count                    OUT NOCOPY NUMBER,
5413     x_msg_data                     OUT NOCOPY VARCHAR2,
5414     p_tcn_rec                      IN tcn_rec_type,
5415     x_tcn_rec                      OUT NOCOPY tcn_rec_type) IS
5416 
5417     l_api_version                 CONSTANT NUMBER := 1;
5418     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_update_row';
5419     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5420     l_tcn_rec                      tcn_rec_type := p_tcn_rec;
5421     l_def_tcn_rec                  tcn_rec_type;
5422     l_row_notfound                 BOOLEAN := TRUE;
5423     ----------------------------------
5424     -- FUNCTION populate_new_record --
5425     ----------------------------------
5426     FUNCTION populate_new_record (
5427       p_tcn_rec	IN tcn_rec_type,
5428       x_tcn_rec	OUT NOCOPY tcn_rec_type
5429     ) RETURN VARCHAR2 IS
5430       l_tcn_rec                      tcn_rec_type;
5431       l_row_notfound                 BOOLEAN := TRUE;
5432       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5433     BEGIN
5434       x_tcn_rec := p_tcn_rec;
5435       -- Get current database values
5436       l_tcn_rec := get_rec(p_tcn_rec, l_row_notfound);
5437       IF (l_row_notfound) THEN
5438         l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
5439       END IF;
5440       IF (x_tcn_rec.id = Okc_Api.G_MISS_NUM)
5441       THEN
5442         x_tcn_rec.id := l_tcn_rec.id;
5443       END IF;
5444       IF (x_tcn_rec.khr_id_new = Okc_Api.G_MISS_NUM)
5445       THEN
5446         x_tcn_rec.khr_id_new := l_tcn_rec.khr_id_new;
5447       END IF;
5448       IF (x_tcn_rec.pvn_id = Okc_Api.G_MISS_NUM)
5449       THEN
5450         x_tcn_rec.pvn_id := l_tcn_rec.pvn_id;
5451       END IF;
5452       IF (x_tcn_rec.pdt_id = Okc_Api.G_MISS_NUM)
5453       THEN
5454         x_tcn_rec.pdt_id := l_tcn_rec.pdt_id;
5455       END IF;
5456       IF (x_tcn_rec.rbr_code = Okc_Api.G_MISS_CHAR)
5457       THEN
5458         x_tcn_rec.rbr_code := l_tcn_rec.rbr_code;
5459       END IF;
5460       IF (x_tcn_rec.rpy_code = Okc_Api.G_MISS_CHAR)
5461       THEN
5462         x_tcn_rec.rpy_code := l_tcn_rec.rpy_code;
5463       END IF;
5464       IF (x_tcn_rec.rvn_code = Okc_Api.G_MISS_CHAR)
5465       THEN
5466         x_tcn_rec.rvn_code := l_tcn_rec.rvn_code;
5467       END IF;
5468       IF (x_tcn_rec.trn_code = Okc_Api.G_MISS_CHAR)
5469       THEN
5470         x_tcn_rec.trn_code := l_tcn_rec.trn_code;
5471       END IF;
5472       IF (x_tcn_rec.qte_id = Okc_Api.G_MISS_NUM)
5473       THEN
5474         x_tcn_rec.qte_id := l_tcn_rec.qte_id;
5475       END IF;
5476       IF (x_tcn_rec.aes_id = Okc_Api.G_MISS_NUM)
5477       THEN
5478         x_tcn_rec.aes_id := l_tcn_rec.aes_id;
5479       END IF;
5480       IF (x_tcn_rec.code_combination_id = Okc_Api.G_MISS_NUM)
5481       THEN
5482         x_tcn_rec.code_combination_id := l_tcn_rec.code_combination_id;
5483       END IF;
5484 
5485       IF (x_tcn_rec.tcn_type = Okc_Api.G_MISS_CHAR)
5486       THEN
5487         x_tcn_rec.tcn_type := l_tcn_rec.tcn_type;
5488       END IF;
5489 
5490       IF (x_tcn_rec.rjn_code = Okc_Api.G_MISS_CHAR) THEN
5491          x_tcn_rec.rjn_code := l_tcn_rec.rjn_code;
5492       END IF;
5493 
5494       IF (x_tcn_rec.party_rel_id1_old = Okc_Api.G_MISS_NUM) THEN
5495         x_tcn_rec.party_rel_id1_old := l_tcn_rec.party_rel_id1_old;
5496       END IF;
5497 
5498       IF (x_tcn_rec.party_rel_id2_old = Okc_Api.G_MISS_CHAR) THEN
5499       x_tcn_rec.party_rel_id2_old := l_tcn_rec.party_rel_id2_old;
5500       END IF;
5501 
5502       IF (x_tcn_rec.party_rel_id1_new = Okc_Api.G_MISS_NUM) THEN
5503         x_tcn_rec.party_rel_id1_new := l_tcn_rec.party_rel_id1_new;
5504       END IF;
5505 
5506       IF (x_tcn_rec.party_rel_id2_new = Okc_Api.G_MISS_CHAR) THEN
5507         x_tcn_rec.party_rel_id2_new := l_tcn_rec.party_rel_id2_new;
5508       END IF;
5509 
5510       IF (x_tcn_rec.complete_transfer_yn = Okc_Api.G_MISS_CHAR) THEN
5511         x_tcn_rec.complete_transfer_yn := l_tcn_rec.complete_transfer_yn;
5512       END IF;
5513 
5514       IF (x_tcn_rec.object_version_number = Okc_Api.G_MISS_NUM)
5515       THEN
5516         x_tcn_rec.object_version_number := l_tcn_rec.object_version_number;
5517       END IF;
5518       IF (x_tcn_rec.created_by = Okc_Api.G_MISS_NUM)
5519       THEN
5520         x_tcn_rec.created_by := l_tcn_rec.created_by;
5521       END IF;
5522       IF (x_tcn_rec.creation_date = Okc_Api.G_MISS_DATE)
5523       THEN
5524         x_tcn_rec.creation_date := l_tcn_rec.creation_date;
5525       END IF;
5526       IF (x_tcn_rec.last_updated_by = Okc_Api.G_MISS_NUM)
5527       THEN
5528         x_tcn_rec.last_updated_by := l_tcn_rec.last_updated_by;
5529       END IF;
5530       IF (x_tcn_rec.last_update_date = Okc_Api.G_MISS_DATE)
5531       THEN
5532         x_tcn_rec.last_update_date := l_tcn_rec.last_update_date;
5533       END IF;
5534       IF (x_tcn_rec.date_accrual = Okc_Api.G_MISS_DATE)
5535       THEN
5536         x_tcn_rec.date_accrual := l_tcn_rec.date_accrual;
5537       END IF;
5538       IF (x_tcn_rec.accrual_status_yn = Okc_Api.G_MISS_CHAR)
5539       THEN
5540         x_tcn_rec.accrual_status_yn := l_tcn_rec.accrual_status_yn;
5541       END IF;
5542       IF (x_tcn_rec.update_status_yn = Okc_Api.G_MISS_CHAR)
5543       THEN
5544         x_tcn_rec.update_status_yn := l_tcn_rec.update_status_yn;
5545       END IF;
5546       IF (x_tcn_rec.org_id = Okc_Api.G_MISS_NUM)
5547       THEN
5548         x_tcn_rec.org_id := l_tcn_rec.org_id;
5549       END IF;
5550       IF (x_tcn_rec.khr_id = Okc_Api.G_MISS_NUM)
5551       THEN
5552         x_tcn_rec.khr_id := l_tcn_rec.khr_id;
5553       END IF;
5554       IF (x_tcn_rec.tax_deductible_local = Okc_Api.G_MISS_CHAR)
5555       THEN
5556         x_tcn_rec.tax_deductible_local := l_tcn_rec.tax_deductible_local;
5557       END IF;
5558       IF (x_tcn_rec.tax_deductible_corporate = Okc_Api.G_MISS_CHAR)
5559       THEN
5560         x_tcn_rec.tax_deductible_corporate := l_tcn_rec.tax_deductible_corporate;
5561       END IF;
5562       IF (x_tcn_rec.amount = Okc_Api.G_MISS_NUM)
5563       THEN
5564         x_tcn_rec.amount := l_tcn_rec.amount;
5565       END IF;
5566       IF (x_tcn_rec.request_id = Okc_Api.G_MISS_NUM)
5567       THEN
5568         x_tcn_rec.request_id := l_tcn_rec.request_id;
5569       END IF;
5570       IF (x_tcn_rec.currency_code = Okc_Api.G_MISS_CHAR)
5571       THEN
5572         x_tcn_rec.currency_code := l_tcn_rec.currency_code;
5573       END IF;
5574       IF (x_tcn_rec.program_application_id = Okc_Api.G_MISS_NUM)
5575       THEN
5576         x_tcn_rec.program_application_id := l_tcn_rec.program_application_id;
5577       END IF;
5578       IF (x_tcn_rec.khr_id_old = Okc_Api.G_MISS_NUM)
5579       THEN
5580         x_tcn_rec.khr_id_old := l_tcn_rec.khr_id_old;
5581       END IF;
5582       IF (x_tcn_rec.program_id = Okc_Api.G_MISS_NUM)
5583       THEN
5584         x_tcn_rec.program_id := l_tcn_rec.program_id;
5585       END IF;
5586       IF (x_tcn_rec.program_update_date = Okc_Api.G_MISS_DATE)
5587       THEN
5588         x_tcn_rec.program_update_date := l_tcn_rec.program_update_date;
5589       END IF;
5590       IF (x_tcn_rec.attribute_category = Okc_Api.G_MISS_CHAR)
5591       THEN
5592         x_tcn_rec.attribute_category := l_tcn_rec.attribute_category;
5593       END IF;
5594       IF (x_tcn_rec.attribute1 = Okc_Api.G_MISS_CHAR)
5595       THEN
5596         x_tcn_rec.attribute1 := l_tcn_rec.attribute1;
5597       END IF;
5598       IF (x_tcn_rec.attribute2 = Okc_Api.G_MISS_CHAR)
5599       THEN
5600         x_tcn_rec.attribute2 := l_tcn_rec.attribute2;
5601       END IF;
5602       IF (x_tcn_rec.attribute3 = Okc_Api.G_MISS_CHAR)
5603       THEN
5604         x_tcn_rec.attribute3 := l_tcn_rec.attribute3;
5605       END IF;
5606       IF (x_tcn_rec.attribute4 = Okc_Api.G_MISS_CHAR)
5607       THEN
5608         x_tcn_rec.attribute4 := l_tcn_rec.attribute4;
5609       END IF;
5610       IF (x_tcn_rec.attribute5 = Okc_Api.G_MISS_CHAR)
5611       THEN
5612         x_tcn_rec.attribute5 := l_tcn_rec.attribute5;
5613       END IF;
5614       IF (x_tcn_rec.attribute6 = Okc_Api.G_MISS_CHAR)
5615       THEN
5616         x_tcn_rec.attribute6 := l_tcn_rec.attribute6;
5617       END IF;
5618       IF (x_tcn_rec.attribute7 = Okc_Api.G_MISS_CHAR)
5619       THEN
5620         x_tcn_rec.attribute7 := l_tcn_rec.attribute7;
5621       END IF;
5622       IF (x_tcn_rec.attribute8 = Okc_Api.G_MISS_CHAR)
5623       THEN
5624         x_tcn_rec.attribute8 := l_tcn_rec.attribute8;
5625       END IF;
5626       IF (x_tcn_rec.attribute9 = Okc_Api.G_MISS_CHAR)
5627       THEN
5628         x_tcn_rec.attribute9 := l_tcn_rec.attribute9;
5629       END IF;
5630       IF (x_tcn_rec.attribute10 = Okc_Api.G_MISS_CHAR)
5631       THEN
5632         x_tcn_rec.attribute10 := l_tcn_rec.attribute10;
5633       END IF;
5634       IF (x_tcn_rec.attribute11 = Okc_Api.G_MISS_CHAR)
5635       THEN
5636         x_tcn_rec.attribute11 := l_tcn_rec.attribute11;
5637       END IF;
5638       IF (x_tcn_rec.attribute12 = Okc_Api.G_MISS_CHAR)
5639       THEN
5640         x_tcn_rec.attribute12 := l_tcn_rec.attribute12;
5641       END IF;
5642       IF (x_tcn_rec.attribute13 = Okc_Api.G_MISS_CHAR)
5643       THEN
5644         x_tcn_rec.attribute13 := l_tcn_rec.attribute13;
5645       END IF;
5646       IF (x_tcn_rec.attribute14 = Okc_Api.G_MISS_CHAR)
5647       THEN
5648         x_tcn_rec.attribute14 := l_tcn_rec.attribute14;
5649       END IF;
5650       IF (x_tcn_rec.attribute15 = Okc_Api.G_MISS_CHAR)
5651       THEN
5652         x_tcn_rec.attribute15 := l_tcn_rec.attribute15;
5653       END IF;
5654       IF (x_tcn_rec.last_update_login = Okc_Api.G_MISS_NUM)
5655       THEN
5656         x_tcn_rec.last_update_login := l_tcn_rec.last_update_login;
5657       END IF;
5658 
5659 	  IF (x_tcn_rec.try_id = Okc_Api.G_MISS_NUM)
5660       THEN
5661         x_tcn_rec.try_id := l_tcn_rec.try_id;
5662       END IF;
5663 	  IF (x_tcn_rec.tsu_code = Okc_Api.G_MISS_CHAR)
5664 	  THEN
5665         x_tcn_rec.tsu_code := l_tcn_rec.tsu_code;
5666       END IF;
5667 	  IF (x_tcn_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
5668       THEN
5669         x_tcn_rec.set_of_books_id := l_tcn_rec.set_of_books_id;
5670       END IF;
5671 	  IF (x_tcn_rec.description = Okc_Api.G_MISS_CHAR)
5672       THEN
5673         x_tcn_rec.description := l_tcn_rec.description;
5674       END IF;
5675 	  IF (x_tcn_rec.date_transaction_occurred = Okc_Api.G_MISS_DATE)
5676       THEN
5677         x_tcn_rec.date_transaction_occurred := l_tcn_rec.date_transaction_occurred;
5678       END IF;
5679 
5680       IF (x_tcn_rec.trx_number = Okc_Api.G_MISS_CHAR)
5681       THEN
5682         x_tcn_rec.trx_number := l_tcn_rec.trx_number;
5683       END IF;
5684 
5685       IF (x_tcn_rec.tmt_evergreen_yn = Okc_Api.G_MISS_CHAR)
5686       THEN
5687         x_tcn_rec.tmt_evergreen_yn := l_tcn_rec.tmt_evergreen_yn;
5688       END IF;
5689 
5690       IF (x_tcn_rec.tmt_close_balances_yn = Okc_Api.G_MISS_CHAR)
5691       THEN
5692         x_tcn_rec.tmt_close_balances_yn := l_tcn_rec.tmt_close_balances_yn;
5693       END IF;
5694 
5695       IF (x_tcn_rec.tmt_accounting_entries_yn  = Okc_Api.G_MISS_CHAR)
5696       THEN
5697         x_tcn_rec.tmt_accounting_entries_yn  := l_tcn_rec.tmt_accounting_entries_yn ;
5698       END IF;
5699 
5700       IF (x_tcn_rec.tmt_cancel_insurance_yn  = Okc_Api.G_MISS_CHAR)
5701       THEN
5702         x_tcn_rec.tmt_cancel_insurance_yn  := l_tcn_rec.tmt_cancel_insurance_yn ;
5703       END IF;
5704 
5705       IF (x_tcn_rec.tmt_asset_disposition_yn  = Okc_Api.G_MISS_CHAR)
5706       THEN
5707         x_tcn_rec.tmt_asset_disposition_yn  := l_tcn_rec.tmt_asset_disposition_yn ;
5708       END IF;
5709 
5710       IF (x_tcn_rec.tmt_amortization_yn  = Okc_Api.G_MISS_CHAR)
5711       THEN
5712         x_tcn_rec.tmt_amortization_yn  := l_tcn_rec.tmt_amortization_yn ;
5713       END IF;
5714 
5715       IF (x_tcn_rec.tmt_asset_return_yn  = Okc_Api.G_MISS_CHAR)
5716       THEN
5717         x_tcn_rec.tmt_asset_return_yn  := l_tcn_rec.tmt_asset_return_yn ;
5718       END IF;
5719 
5720       IF (x_tcn_rec.tmt_contract_updated_yn  = Okc_Api.G_MISS_CHAR)
5721       THEN
5722         x_tcn_rec.tmt_contract_updated_yn  := l_tcn_rec.tmt_contract_updated_yn ;
5723       END IF;
5724 
5725       IF (x_tcn_rec.tmt_recycle_yn  = Okc_Api.G_MISS_CHAR)
5726       THEN
5727         x_tcn_rec.tmt_recycle_yn  := l_tcn_rec.tmt_recycle_yn ;
5728       END IF;
5729 
5730       IF (x_tcn_rec.tmt_validated_yn  = Okc_Api.G_MISS_CHAR)
5731       THEN
5732         x_tcn_rec.tmt_validated_yn  := l_tcn_rec.tmt_validated_yn ;
5733       END IF;
5734 
5735       IF (x_tcn_rec.tmt_streams_updated_yn  = Okc_Api.G_MISS_CHAR)
5736       THEN
5737         x_tcn_rec.tmt_streams_updated_yn  := l_tcn_rec.tmt_streams_updated_yn ;
5738       END IF;
5739 
5740       IF (x_tcn_rec.accrual_activity  = Okc_Api.G_MISS_CHAR)
5741       THEN
5742         x_tcn_rec.accrual_activity  := l_tcn_rec.accrual_activity ;
5743       END IF;
5744 
5745 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
5746     IF (x_tcn_rec.tmt_split_asset_yn   = Okc_Api.G_MISS_CHAR) THEN
5747       x_tcn_rec.tmt_split_asset_yn   := l_tcn_rec.tmt_split_asset_yn;
5748     END IF;
5749     IF (x_tcn_rec.tmt_generic_flag1_yn   = Okc_Api.G_MISS_CHAR) THEN
5750       x_tcn_rec.tmt_generic_flag1_yn   := l_tcn_rec.tmt_generic_flag1_yn;
5751     END IF;
5752     IF (x_tcn_rec.tmt_generic_flag2_yn   = Okc_Api.G_MISS_CHAR) THEN
5753       x_tcn_rec.tmt_generic_flag2_yn   := l_tcn_rec.tmt_generic_flag2_yn;
5754     END IF;
5755     IF (x_tcn_rec.tmt_generic_flag3_yn   = Okc_Api.G_MISS_CHAR) THEN
5756       x_tcn_rec.tmt_generic_flag3_yn   := l_tcn_rec.tmt_generic_flag3_yn;
5757     END IF;
5758 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
5759     IF (x_tcn_rec.currency_conversion_type   = Okc_Api.G_MISS_CHAR) THEN
5760       x_tcn_rec.currency_conversion_type   := l_tcn_rec.currency_conversion_type;
5761     END IF;
5762 	IF (x_tcn_rec.currency_conversion_rate   = Okc_Api.G_MISS_NUM) THEN
5763       x_tcn_rec.currency_conversion_rate   := l_tcn_rec.currency_conversion_rate;
5764     END IF;
5765 	IF (x_tcn_rec.currency_conversion_date   = Okc_Api.G_MISS_DATE) THEN
5766       x_tcn_rec.currency_conversion_date   := l_tcn_rec.currency_conversion_date;
5767     END IF;
5768 --Added by Keerthi 04-SEP-2003
5769     IF (x_tcn_rec.chr_id   = Okc_Api.G_MISS_NUM) THEN
5770       x_tcn_rec.chr_id   := l_tcn_rec.chr_id;
5771     END IF;
5772 --Added by Keerthi for Bug No 3195713
5773     IF (x_tcn_rec.source_trx_id   = Okc_Api.G_MISS_NUM) THEN
5774       x_tcn_rec.source_trx_id   := l_tcn_rec.source_trx_id;
5775     END IF;
5776 
5777     IF (x_tcn_rec.source_trx_type   = Okc_Api.G_MISS_CHAR) THEN
5778       x_tcn_rec.source_trx_type   := l_tcn_rec.source_trx_type;
5779     END IF;
5780 
5781     IF (x_tcn_rec.canceled_date = Okc_Api.G_MISS_DATE)
5782       THEN
5783         x_tcn_rec.canceled_date := l_tcn_rec.canceled_date;
5784       END IF;
5785 
5786        IF (x_tcn_rec.legal_entity_id = Okl_Api.G_MISS_NUM)
5787       THEN
5788         x_tcn_rec.legal_entity_id := l_tcn_rec.legal_entity_id;
5789       END IF;
5790 
5791     --Added by dpsingh for SLA Uptake (Bug 5707866)
5792        IF (x_tcn_rec.accrual_reversal_date = Okl_Api.G_MISS_DATE)
5793       THEN
5794         x_tcn_rec.accrual_reversal_date := l_tcn_rec.accrual_reversal_date;
5795       END IF;
5796 
5797    -- Added by DJANASWA for SLA project
5798        IF (x_tcn_rec.accounting_reversal_yn = Okl_Api.G_MISS_CHAR)
5799       THEN
5800         x_tcn_rec.accounting_reversal_yn := l_tcn_rec.accounting_reversal_yn;
5801       END IF;
5802 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
5803        IF (x_tcn_rec.product_name = Okl_Api.G_MISS_CHAR)
5804       THEN
5805         x_tcn_rec.product_name := l_tcn_rec.product_name;
5806       END IF;
5807 
5808        IF (x_tcn_rec.book_classification_code = Okl_Api.G_MISS_CHAR)
5809       THEN
5810         x_tcn_rec.book_classification_code := l_tcn_rec.book_classification_code;
5811       END IF;
5812 
5813        IF (x_tcn_rec.tax_owner_code = Okl_Api.G_MISS_CHAR)
5814       THEN
5815         x_tcn_rec.tax_owner_code := l_tcn_rec.tax_owner_code;
5816       END IF;
5817 
5818       IF (x_tcn_rec.tmt_status_code = Okl_Api.G_MISS_CHAR)
5819       THEN
5820         x_tcn_rec.tmt_status_code := l_tcn_rec.tmt_status_code;
5821       END IF;
5822       IF (x_tcn_rec.representation_name = Okl_Api.G_MISS_CHAR)
5823       THEN
5824         x_tcn_rec.representation_name := l_tcn_rec.representation_name;
5825       END IF;
5826       IF (x_tcn_rec.representation_code = Okl_Api.G_MISS_CHAR)
5827       THEN
5828         x_tcn_rec.representation_code := l_tcn_rec.representation_code;
5829       END IF;
5830 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
5831       IF (x_tcn_rec.UPGRADE_STATUS_FLAG = Okl_Api.G_MISS_CHAR)
5832       THEN
5833         x_tcn_rec.UPGRADE_STATUS_FLAG := l_tcn_rec.UPGRADE_STATUS_FLAG;
5834       END IF;
5835 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
5836       IF (x_tcn_rec.TRANSACTION_DATE = Okl_Api.G_MISS_DATE)
5837       THEN
5838         x_tcn_rec.TRANSACTION_DATE := l_tcn_rec.TRANSACTION_DATE;
5839       END IF;
5840 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
5841       IF (x_tcn_rec.primary_rep_trx_id = Okl_Api.G_MISS_NUM)
5842       THEN
5843         x_tcn_rec.primary_rep_trx_id := l_tcn_rec.primary_rep_trx_id;
5844       END IF;
5845       IF (x_tcn_rec.REPRESENTATION_TYPE = Okl_Api.G_MISS_CHAR)
5846       THEN
5847         x_tcn_rec.REPRESENTATION_TYPE := l_tcn_rec.REPRESENTATION_TYPE;
5848       END IF;
5849 -- Added by sosharma for Income Account recon- report 01-Nov-2008
5850        IF (x_tcn_rec.TRANSACTION_REVERSAL_DATE = Okl_Api.G_MISS_DATE)
5851       THEN
5852         x_tcn_rec.TRANSACTION_REVERSAL_DATE := l_tcn_rec.TRANSACTION_REVERSAL_DATE;
5853       END IF;
5854 
5855     RETURN(l_return_status);
5856 
5857     END populate_new_record;
5858     ------------------------------------------
5859     -- Set_Attributes for:OKL_TRX_CONTRACTS --
5860     ------------------------------------------
5861     FUNCTION Set_Attributes (
5862       p_tcn_rec IN  tcn_rec_type,
5863       x_tcn_rec OUT NOCOPY tcn_rec_type
5864     ) RETURN VARCHAR2 IS
5865       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
5866     BEGIN
5867       x_tcn_rec := p_tcn_rec;
5868       RETURN(l_return_status);
5869     END Set_Attributes;
5870   BEGIN
5871     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
5872                                               p_init_msg_list,
5873                                               '_PVT',
5874                                               x_return_status);
5875     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5876       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5877     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5878       RAISE Okc_Api.G_EXCEPTION_ERROR;
5879     END IF;
5880     --- Setting item attributes
5881     l_return_status := Set_Attributes(
5882       p_tcn_rec,                         -- IN
5883       l_tcn_rec);                        -- OUT
5884     --- If any errors happen abort API
5885     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5886       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5887     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5888       RAISE Okc_Api.G_EXCEPTION_ERROR;
5889     END IF;
5890     l_return_status := populate_new_record(l_tcn_rec, l_def_tcn_rec);
5891     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
5892       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
5893     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
5894       RAISE Okc_Api.G_EXCEPTION_ERROR;
5895     END IF;
5896 
5897     UPDATE  OKL_TRX_CONTRACTS
5898     SET KHR_ID_NEW = l_def_tcn_rec.khr_id_new,
5899         PVN_ID = l_def_tcn_rec.pvn_id,
5900         PDT_ID = l_def_tcn_rec.pdt_id,
5901         RBR_CODE = l_def_tcn_rec.rbr_code,
5902         RPY_CODE = l_def_tcn_rec.rpy_code,
5903         RVN_CODE = l_def_tcn_rec.rvn_code,
5904         TRN_CODE = l_def_tcn_rec.trn_code,
5905         QTE_ID = l_def_tcn_rec.qte_id,
5906         AES_ID = l_def_tcn_rec.aes_id,
5907         CODE_COMBINATION_ID = l_def_tcn_rec.code_combination_id,
5908         TCN_TYPE = l_def_tcn_rec.tcn_type,
5909         RJN_CODE = l_def_tcn_rec.RJN_CODE,
5910         PARTY_REL_ID1_OLD = l_def_tcn_rec.PARTY_REL_ID1_OLD,
5911         PARTY_REL_ID2_OLD = l_def_tcn_rec.PARTY_REL_ID2_OLD,
5912         PARTY_REL_ID1_NEW = l_def_tcn_rec.PARTY_REL_ID1_NEW,
5913         PARTY_REL_ID2_NEW = l_def_tcn_rec.PARTY_REL_ID2_NEW,
5914         COMPLETE_TRANSFER_YN = l_def_tcn_rec.COMPLETE_TRANSFER_YN,
5915         OBJECT_VERSION_NUMBER = l_def_tcn_rec.object_version_number,
5916         CREATED_BY = l_def_tcn_rec.created_by,
5917         CREATION_DATE = l_def_tcn_rec.creation_date,
5918         LAST_UPDATED_BY = l_def_tcn_rec.last_updated_by,
5919         LAST_UPDATE_DATE = l_def_tcn_rec.last_update_date,
5920         DATE_ACCRUAL = l_def_tcn_rec.date_accrual,
5921         ACCRUAL_STATUS_YN = l_def_tcn_rec.accrual_status_yn,
5922         UPDATE_STATUS_YN = l_def_tcn_rec.update_status_yn,
5923         ORG_ID = l_def_tcn_rec.org_id,
5924         KHR_ID = l_def_tcn_rec.khr_id,
5925         TAX_DEDUCTIBLE_LOCAL = l_def_tcn_rec.tax_deductible_local,
5926         tax_deductible_corporate = l_def_tcn_rec.tax_deductible_corporate,
5927         AMOUNT = l_def_tcn_rec.amount,
5928         REQUEST_ID = l_def_tcn_rec.request_id,
5929         CURRENCY_CODE = l_def_tcn_rec.currency_code,
5930         PROGRAM_APPLICATION_ID = l_def_tcn_rec.program_application_id,
5931         KHR_ID_OLD = l_def_tcn_rec.khr_id_old,
5932         PROGRAM_ID = l_def_tcn_rec.program_id,
5933         PROGRAM_update_DATE = l_def_tcn_rec.program_update_date,
5934         ATTRIBUTE_CATEGORY = l_def_tcn_rec.attribute_category,
5935         ATTRIBUTE1 = l_def_tcn_rec.attribute1,
5936         ATTRIBUTE2 = l_def_tcn_rec.attribute2,
5937         ATTRIBUTE3 = l_def_tcn_rec.attribute3,
5938         ATTRIBUTE4 = l_def_tcn_rec.attribute4,
5939         ATTRIBUTE5 = l_def_tcn_rec.attribute5,
5940         ATTRIBUTE6 = l_def_tcn_rec.attribute6,
5941         ATTRIBUTE7 = l_def_tcn_rec.attribute7,
5942         ATTRIBUTE8 = l_def_tcn_rec.attribute8,
5943         ATTRIBUTE9 = l_def_tcn_rec.attribute9,
5944         ATTRIBUTE10 = l_def_tcn_rec.attribute10,
5945         ATTRIBUTE11 = l_def_tcn_rec.attribute11,
5946         ATTRIBUTE12 = l_def_tcn_rec.attribute12,
5947         ATTRIBUTE13 = l_def_tcn_rec.attribute13,
5948         ATTRIBUTE14 = l_def_tcn_rec.attribute14,
5949         ATTRIBUTE15 = l_def_tcn_rec.attribute15,
5950         LAST_UPDATE_LOGIN = l_def_tcn_rec.last_update_login,
5951 	TRY_ID = l_def_tcn_rec.try_id,
5952 	TSU_CODE = l_def_tcn_rec.tsu_code,
5953 	SET_OF_BOOKS_ID = l_def_tcn_rec.set_of_books_id,
5954 	DESCRIPTION = l_def_tcn_rec.description,
5955 	DATE_TRANSACTION_OCCURRED = l_def_tcn_rec.date_transaction_occurred,
5956         TRX_NUMBER                = l_def_tcn_rec.trx_number,
5957         TMT_EVERGREEN_YN          = l_def_tcn_rec.tmt_evergreen_yn,
5958         TMT_CLOSE_BALANCES_YN     = l_def_tcn_rec.tmt_close_balances_yn,
5959         TMT_ACCOUNTING_ENTRIES_YN = l_def_tcn_rec.tmt_accounting_entries_yn,
5960         TMT_CANCEL_INSURANCE_YN   = l_def_tcn_rec.tmt_cancel_insurance_yn,
5961         TMT_ASSET_DISPOSITION_YN  = l_def_tcn_rec.tmt_asset_disposition_yn,
5962         TMT_AMORTIZATION_YN       = l_def_tcn_rec.tmt_amortization_yn,
5963         TMT_ASSET_RETURN_YN       = l_def_tcn_rec.tmt_asset_return_yn,
5964         TMT_CONTRACT_UPDATED_YN   = l_def_tcn_rec.tmt_contract_updated_yn,
5965         TMT_RECYCLE_YN            = l_def_tcn_rec.tmt_recycle_yn,
5966         TMT_VALIDATED_YN          = l_def_tcn_rec.tmt_validated_yn,
5967         TMT_STREAMS_UPDATED_YN    = l_def_tcn_rec.tmt_streams_updated_yn,
5968         accrual_activity	  = l_def_tcn_rec.accrual_activity,
5969 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
5970 	tmt_split_asset_yn	  = l_def_tcn_rec.tmt_split_asset_yn,
5971 	tmt_generic_flag1_yn	  = l_def_tcn_rec.tmt_generic_flag1_yn,
5972 	tmt_generic_flag2_yn      = l_def_tcn_rec.tmt_generic_flag2_yn,
5973 	tmt_generic_flag3_yn      = l_def_tcn_rec.tmt_generic_flag3_yn,
5974 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
5975    	CURRENCY_CONVERSION_TYPE	  = l_def_tcn_rec.currency_conversion_type,
5976 	CURRENCY_CONVERSION_RATE	  = l_def_tcn_rec.currency_conversion_rate,
5977 	CURRENCY_CONVERSION_DATE	  = l_def_tcn_rec.currency_conversion_date,
5978 -- Added by Keerthi 04-SEP-2003
5979         CHR_ID				  = l_def_tcn_rec.chr_id ,
5980 -- Added by Keerthi for Bug No 3195713
5981     SOURCE_TRX_ID             = l_def_tcn_rec.source_trx_id,
5982     SOURCE_TRX_TYPE           = l_def_tcn_rec.source_trx_type,
5983 -- Added by kmotepal
5984     CANCELED_DATE             = l_def_tcn_rec.canceled_date,
5985     --Added by dpsingh for LE Uptake
5986     LEGAL_ENTITY_ID            = l_def_tcn_rec.legal_entity_id,
5987     --Added by dpsingh for SLA Uptake (Bug 5707866)
5988     ACCRUAL_REVERSAL_DATE = l_def_tcn_rec.accrual_reversal_date,
5989     -- Added by DJANASWA for SLA project
5990     ACCOUNTING_REVERSAL_YN = l_def_tcn_rec.accounting_reversal_yn,
5991 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
5992     PRODUCT_NAME = l_def_tcn_rec.product_name,
5993     BOOK_CLASSIFICATION_CODE = l_def_tcn_rec.book_classification_code,
5994     TAX_OWNER_CODE = l_def_tcn_rec.tax_owner_code,
5995     TMT_STATUS_CODE = l_def_tcn_rec.tmt_status_code,
5996     REPRESENTATION_NAME = l_def_tcn_rec.representation_name,
5997     REPRESENTATION_CODE = l_def_tcn_rec.representation_code,
5998 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
5999     UPGRADE_STATUS_FLAG = l_def_tcn_rec.UPGRADE_STATUS_FLAG,
6000 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
6001     TRANSACTION_DATE = l_def_tcn_rec.transaction_date,
6002 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
6003     primary_rep_trx_id = l_def_tcn_rec.primary_rep_trx_id,
6004     REPRESENTATION_TYPE = l_def_tcn_rec.REPRESENTATION_TYPE,
6005 -- Added by sosharma for Income Account recon- report 01-Nov-2008
6006     TRANSACTION_REVERSAL_DATE  = l_def_tcn_rec.TRANSACTION_REVERSAL_DATE
6007     WHERE ID = l_def_tcn_rec.id;
6008 
6009     x_tcn_rec := l_def_tcn_rec;
6010     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6011   EXCEPTION
6012     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6013       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6014       (
6015         l_api_name,
6016         G_PKG_NAME,
6017         'OKC_API.G_RET_STS_ERROR',
6018         x_msg_count,
6019         x_msg_data,
6020         '_PVT'
6021       );
6022     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6023       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6024       (
6025         l_api_name,
6026         G_PKG_NAME,
6027         'OKC_API.G_RET_STS_UNEXP_ERROR',
6028         x_msg_count,
6029         x_msg_data,
6030         '_PVT'
6031       );
6032     WHEN OTHERS THEN
6033       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6034       (
6035         l_api_name,
6036         G_PKG_NAME,
6037         'OTHERS',
6038         x_msg_count,
6039         x_msg_data,
6040         '_PVT'
6041       );
6042   END update_row;
6043   ----------------------------------------
6044   -- update_row for:OKL_TRX_CONTRACTS_V --
6045   ----------------------------------------
6046   PROCEDURE update_row(
6047     p_api_version                  IN NUMBER,
6048     p_init_msg_list                IN VARCHAR2,
6049     x_return_status                OUT NOCOPY VARCHAR2,
6050     x_msg_count                    OUT NOCOPY NUMBER,
6051     x_msg_data                     OUT NOCOPY VARCHAR2,
6052     p_tcnv_rec                     IN tcnv_rec_type,
6053     x_tcnv_rec                     OUT NOCOPY tcnv_rec_type) IS
6054 
6055     l_api_version                 CONSTANT NUMBER := 1;
6056     l_api_name                     CONSTANT VARCHAR2(30) := 'V_update_row';
6057     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6058     l_tcnv_rec                     tcnv_rec_type := p_tcnv_rec;
6059     l_def_tcnv_rec                 tcnv_rec_type;
6060     l_tcn_rec                      tcn_rec_type;
6061     lx_tcn_rec                     tcn_rec_type;
6062     -------------------------------
6063     -- FUNCTION fill_who_columns --
6064     -------------------------------
6065     FUNCTION fill_who_columns (
6066       p_tcnv_rec	IN tcnv_rec_type
6067     ) RETURN tcnv_rec_type IS
6068       l_tcnv_rec	tcnv_rec_type := p_tcnv_rec;
6069     BEGIN
6070       l_tcnv_rec.LAST_UPDATE_DATE := SYSDATE;
6071       l_tcnv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
6072       l_tcnv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
6073       RETURN(l_tcnv_rec);
6074     END fill_who_columns;
6075     ----------------------------------
6076     -- FUNCTION populate_new_record --
6077     ----------------------------------
6078     FUNCTION populate_new_record (
6079       p_tcnv_rec	IN tcnv_rec_type,
6080       x_tcnv_rec	OUT NOCOPY tcnv_rec_type
6081     ) RETURN VARCHAR2 IS
6082       l_tcnv_rec                     tcnv_rec_type;
6083       l_row_notfound                 BOOLEAN := TRUE;
6084       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6085     BEGIN
6086       x_tcnv_rec := p_tcnv_rec;
6087       -- Get current database values
6088       l_tcnv_rec := get_rec(p_tcnv_rec, l_row_notfound);
6089       IF (l_row_notfound) THEN
6090         l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
6091       END IF;
6092       IF (x_tcnv_rec.id = Okc_Api.G_MISS_NUM)
6093       THEN
6094         x_tcnv_rec.id := l_tcnv_rec.id;
6095       END IF;
6096       IF (x_tcnv_rec.object_version_number = Okc_Api.G_MISS_NUM)
6097       THEN
6098         x_tcnv_rec.object_version_number := l_tcnv_rec.object_version_number;
6099       END IF;
6100       IF (x_tcnv_rec.rbr_code = Okc_Api.G_MISS_CHAR)
6101       THEN
6102         x_tcnv_rec.rbr_code := l_tcnv_rec.rbr_code;
6103       END IF;
6104       IF (x_tcnv_rec.rpy_code = Okc_Api.G_MISS_CHAR)
6105       THEN
6106         x_tcnv_rec.rpy_code := l_tcnv_rec.rpy_code;
6107       END IF;
6108       IF (x_tcnv_rec.rvn_code = Okc_Api.G_MISS_CHAR)
6109       THEN
6110         x_tcnv_rec.rvn_code := l_tcnv_rec.rvn_code;
6111       END IF;
6112       IF (x_tcnv_rec.trn_code = Okc_Api.G_MISS_CHAR)
6113       THEN
6114         x_tcnv_rec.trn_code := l_tcnv_rec.trn_code;
6115       END IF;
6116       IF (x_tcnv_rec.khr_id_new = Okc_Api.G_MISS_NUM)
6117       THEN
6118         x_tcnv_rec.khr_id_new := l_tcnv_rec.khr_id_new;
6119       END IF;
6120       IF (x_tcnv_rec.pvn_id = Okc_Api.G_MISS_NUM)
6121       THEN
6122         x_tcnv_rec.pvn_id := l_tcnv_rec.pvn_id;
6123       END IF;
6124       IF (x_tcnv_rec.pdt_id = Okc_Api.G_MISS_NUM)
6125       THEN
6126         x_tcnv_rec.pdt_id := l_tcnv_rec.pdt_id;
6127       END IF;
6128       IF (x_tcnv_rec.qte_id = Okc_Api.G_MISS_NUM)
6129       THEN
6130         x_tcnv_rec.qte_id := l_tcnv_rec.qte_id;
6131       END IF;
6132       IF (x_tcnv_rec.aes_id = Okc_Api.G_MISS_NUM)
6133       THEN
6134         x_tcnv_rec.aes_id := l_tcnv_rec.aes_id;
6135       END IF;
6136       IF (x_tcnv_rec.code_combination_id = Okc_Api.G_MISS_NUM)
6137       THEN
6138         x_tcnv_rec.code_combination_id := l_tcnv_rec.code_combination_id;
6139       END IF;
6140       IF (x_tcnv_rec.tax_deductible_local = Okc_Api.G_MISS_CHAR)
6141       THEN
6142         x_tcnv_rec.tax_deductible_local := l_tcnv_rec.tax_deductible_local;
6143       END IF;
6144       IF (x_tcnv_rec.tax_deductible_corporate = Okc_Api.G_MISS_CHAR)
6145       THEN
6146         x_tcnv_rec.tax_deductible_corporate := l_tcnv_rec.tax_deductible_corporate;
6147       END IF;
6148       IF (x_tcnv_rec.date_accrual = Okc_Api.G_MISS_DATE)
6149       THEN
6150         x_tcnv_rec.date_accrual := l_tcnv_rec.date_accrual;
6151       END IF;
6152       IF (x_tcnv_rec.accrual_status_yn = Okc_Api.G_MISS_CHAR)
6153       THEN
6154         x_tcnv_rec.accrual_status_yn := l_tcnv_rec.accrual_status_yn;
6155       END IF;
6156       IF (x_tcnv_rec.update_status_yn = Okc_Api.G_MISS_CHAR)
6157       THEN
6158         x_tcnv_rec.update_status_yn := l_tcnv_rec.update_status_yn;
6159       END IF;
6160       IF (x_tcnv_rec.amount = Okc_Api.G_MISS_NUM)
6161       THEN
6162         x_tcnv_rec.amount := l_tcnv_rec.amount;
6163       END IF;
6164       IF (x_tcnv_rec.currency_code = Okc_Api.G_MISS_CHAR)
6165       THEN
6166         x_tcnv_rec.currency_code := l_tcnv_rec.currency_code;
6167       END IF;
6168       IF (x_tcnv_rec.attribute_category = Okc_Api.G_MISS_CHAR)
6169       THEN
6170         x_tcnv_rec.attribute_category := l_tcnv_rec.attribute_category;
6171       END IF;
6172       IF (x_tcnv_rec.attribute1 = Okc_Api.G_MISS_CHAR)
6173       THEN
6174         x_tcnv_rec.attribute1 := l_tcnv_rec.attribute1;
6175       END IF;
6176       IF (x_tcnv_rec.attribute2 = Okc_Api.G_MISS_CHAR)
6177       THEN
6178         x_tcnv_rec.attribute2 := l_tcnv_rec.attribute2;
6179       END IF;
6180       IF (x_tcnv_rec.attribute3 = Okc_Api.G_MISS_CHAR)
6181       THEN
6182         x_tcnv_rec.attribute3 := l_tcnv_rec.attribute3;
6183       END IF;
6184       IF (x_tcnv_rec.attribute4 = Okc_Api.G_MISS_CHAR)
6185       THEN
6186         x_tcnv_rec.attribute4 := l_tcnv_rec.attribute4;
6187       END IF;
6188       IF (x_tcnv_rec.attribute5 = Okc_Api.G_MISS_CHAR)
6189       THEN
6190         x_tcnv_rec.attribute5 := l_tcnv_rec.attribute5;
6191       END IF;
6192       IF (x_tcnv_rec.attribute6 = Okc_Api.G_MISS_CHAR)
6193       THEN
6194         x_tcnv_rec.attribute6 := l_tcnv_rec.attribute6;
6195       END IF;
6196       IF (x_tcnv_rec.attribute7 = Okc_Api.G_MISS_CHAR)
6197       THEN
6198         x_tcnv_rec.attribute7 := l_tcnv_rec.attribute7;
6199       END IF;
6200       IF (x_tcnv_rec.attribute8 = Okc_Api.G_MISS_CHAR)
6201       THEN
6202         x_tcnv_rec.attribute8 := l_tcnv_rec.attribute8;
6203       END IF;
6204       IF (x_tcnv_rec.attribute9 = Okc_Api.G_MISS_CHAR)
6205       THEN
6206         x_tcnv_rec.attribute9 := l_tcnv_rec.attribute9;
6207       END IF;
6208       IF (x_tcnv_rec.attribute10 = Okc_Api.G_MISS_CHAR)
6209       THEN
6210         x_tcnv_rec.attribute10 := l_tcnv_rec.attribute10;
6211       END IF;
6212       IF (x_tcnv_rec.attribute11 = Okc_Api.G_MISS_CHAR)
6213       THEN
6214         x_tcnv_rec.attribute11 := l_tcnv_rec.attribute11;
6215       END IF;
6216       IF (x_tcnv_rec.attribute12 = Okc_Api.G_MISS_CHAR)
6217       THEN
6218         x_tcnv_rec.attribute12 := l_tcnv_rec.attribute12;
6219       END IF;
6220       IF (x_tcnv_rec.attribute13 = Okc_Api.G_MISS_CHAR)
6221       THEN
6222         x_tcnv_rec.attribute13 := l_tcnv_rec.attribute13;
6223       END IF;
6224       IF (x_tcnv_rec.attribute14 = Okc_Api.G_MISS_CHAR)
6225       THEN
6226         x_tcnv_rec.attribute14 := l_tcnv_rec.attribute14;
6227       END IF;
6228       IF (x_tcnv_rec.attribute15 = Okc_Api.G_MISS_CHAR)
6229       THEN
6230         x_tcnv_rec.attribute15 := l_tcnv_rec.attribute15;
6231       END IF;
6232       IF (x_tcnv_rec.tcn_type = Okc_Api.G_MISS_CHAR)
6233       THEN
6234         x_tcnv_rec.tcn_type := l_tcnv_rec.tcn_type;
6235       END IF;
6236 
6237       IF (x_tcnv_rec.rjn_code = Okc_Api.G_MISS_CHAR) THEN
6238          x_tcnv_rec.rjn_code := l_tcnv_rec.rjn_code;
6239       END IF;
6240 
6241       IF (x_tcnv_rec.party_rel_id1_old = Okc_Api.G_MISS_NUM) THEN
6242          x_tcnv_rec.party_rel_id1_old := l_tcnv_rec.party_rel_id1_old;
6243       END IF;
6244 
6245       IF (x_tcnv_rec.party_rel_id2_old = Okc_Api.G_MISS_CHAR) THEN
6246         x_tcnv_rec.party_rel_id2_old := l_tcnv_rec.party_rel_id2_old;
6247       END IF;
6248 
6249       IF (x_tcnv_rec.party_rel_id1_new = Okc_Api.G_MISS_NUM) THEN
6250         x_tcnv_rec.party_rel_id1_new := l_tcnv_rec.party_rel_id1_new;
6251       END IF;
6252 
6253       IF (x_tcnv_rec.party_rel_id2_new = Okc_Api.G_MISS_CHAR) THEN
6254         x_tcnv_rec.party_rel_id2_new := l_tcnv_rec.party_rel_id2_new;
6255       END IF;
6256 
6257       IF (x_tcnv_rec.complete_transfer_yn = Okc_Api.G_MISS_CHAR) THEN
6258         x_tcnv_rec.complete_transfer_yn := l_tcnv_rec.complete_transfer_yn;
6259       END IF;
6260 
6261       IF (x_tcnv_rec.org_id = Okc_Api.G_MISS_NUM)
6262       THEN
6263         x_tcnv_rec.org_id := l_tcnv_rec.org_id;
6264       END IF;
6265       IF (x_tcnv_rec.khr_id = Okc_Api.G_MISS_NUM)
6266       THEN
6267         x_tcnv_rec.khr_id := l_tcnv_rec.khr_id;
6268       END IF;
6269       IF (x_tcnv_rec.request_id = Okc_Api.G_MISS_NUM)
6270       THEN
6271         x_tcnv_rec.request_id := l_tcnv_rec.request_id;
6272       END IF;
6273       IF (x_tcnv_rec.program_application_id = Okc_Api.G_MISS_NUM)
6274       THEN
6275         x_tcnv_rec.program_application_id := l_tcnv_rec.program_application_id;
6276       END IF;
6277       IF (x_tcnv_rec.khr_id_old = Okc_Api.G_MISS_NUM)
6278       THEN
6279         x_tcnv_rec.khr_id_old := l_tcnv_rec.khr_id_old;
6280       END IF;
6281       IF (x_tcnv_rec.program_id = Okc_Api.G_MISS_NUM)
6282       THEN
6283         x_tcnv_rec.program_id := l_tcnv_rec.program_id;
6284       END IF;
6285       IF (x_tcnv_rec.program_update_date = Okc_Api.G_MISS_DATE)
6286       THEN
6287         x_tcnv_rec.program_update_date := l_tcnv_rec.program_update_date;
6288       END IF;
6289       IF (x_tcnv_rec.created_by = Okc_Api.G_MISS_NUM)
6290       THEN
6291         x_tcnv_rec.created_by := l_tcnv_rec.created_by;
6292       END IF;
6293       IF (x_tcnv_rec.creation_date = Okc_Api.G_MISS_DATE)
6294       THEN
6295         x_tcnv_rec.creation_date := l_tcnv_rec.creation_date;
6296       END IF;
6297       IF (x_tcnv_rec.last_updated_by = Okc_Api.G_MISS_NUM)
6298       THEN
6299         x_tcnv_rec.last_updated_by := l_tcnv_rec.last_updated_by;
6300       END IF;
6301       IF (x_tcnv_rec.last_update_date = Okc_Api.G_MISS_DATE)
6302       THEN
6303         x_tcnv_rec.last_update_date := l_tcnv_rec.last_update_date;
6304       END IF;
6305       IF (x_tcnv_rec.last_update_login = Okc_Api.G_MISS_NUM)
6306       THEN
6307         x_tcnv_rec.last_update_login := l_tcnv_rec.last_update_login;
6308       END IF;
6309 
6310 	  IF (x_tcnv_rec.try_id = Okc_Api.G_MISS_NUM)
6311       THEN
6312         x_tcnv_rec.try_id := l_tcnv_rec.try_id;
6313       END IF;
6314 	  IF (x_tcnv_rec.tsu_code = Okc_Api.G_MISS_CHAR)
6315 	  THEN
6316         x_tcnv_rec.tsu_code := l_tcnv_rec.tsu_code;
6317       END IF;
6318 	  IF (x_tcnv_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
6319       THEN
6320         x_tcnv_rec.set_of_books_id := l_tcnv_rec.set_of_books_id;
6321       END IF;
6322 	  IF (x_tcnv_rec.description = Okc_Api.G_MISS_CHAR)
6323       THEN
6324         x_tcnv_rec.description := l_tcnv_rec.description;
6325       END IF;
6326 	  IF (x_tcnv_rec.date_transaction_occurred = Okc_Api.G_MISS_DATE)
6327       THEN
6328         x_tcnv_rec.date_transaction_occurred := l_tcnv_rec.date_transaction_occurred;
6329       END IF;
6330 
6331       IF (x_tcnv_rec.trx_number = Okc_Api.G_MISS_CHAR)
6332       THEN
6333         x_tcnv_rec.trx_number := l_tcnv_rec.trx_number;
6334       END IF;
6335 
6336       IF (x_tcnv_rec.tmt_evergreen_yn  = Okc_Api.G_MISS_CHAR) THEN
6337           x_tcnv_rec.tmt_evergreen_yn  := l_tcnv_rec.tmt_evergreen_yn;
6338       END IF;
6339 
6340       IF (x_tcnv_rec.tmt_close_balances_yn  = Okc_Api.G_MISS_CHAR) THEN
6341           x_tcnv_rec.tmt_close_balances_yn  := l_tcnv_rec.tmt_close_balances_yn;
6342       END IF;
6343 
6344       IF (x_tcnv_rec.tmt_accounting_entries_yn  = Okc_Api.G_MISS_CHAR) THEN
6345           x_tcnv_rec.tmt_accounting_entries_yn  := l_tcnv_rec.tmt_accounting_entries_yn;
6346       END IF;
6347 
6348       IF (x_tcnv_rec.tmt_cancel_insurance_yn  = Okc_Api.G_MISS_CHAR) THEN
6349           x_tcnv_rec.tmt_cancel_insurance_yn  :=  l_tcnv_rec.tmt_cancel_insurance_yn;
6350       END IF;
6351 
6352       IF (x_tcnv_rec.tmt_asset_disposition_yn  = Okc_Api.G_MISS_CHAR) THEN
6353           x_tcnv_rec.tmt_asset_disposition_yn  := l_tcnv_rec.tmt_asset_disposition_yn;
6354       END IF;
6355 
6356       IF (x_tcnv_rec.tmt_amortization_yn  = Okc_Api.G_MISS_CHAR) THEN
6357           x_tcnv_rec.tmt_amortization_yn  :=  l_tcnv_rec.tmt_amortization_yn;
6358       END IF;
6359 
6360       IF (x_tcnv_rec.tmt_asset_return_yn  = Okc_Api.G_MISS_CHAR) THEN
6361           x_tcnv_rec.tmt_asset_return_yn  :=  l_tcnv_rec.tmt_asset_return_yn;
6362       END IF;
6363 
6364       IF (x_tcnv_rec.tmt_contract_updated_yn  = Okc_Api.G_MISS_CHAR) THEN
6365           x_tcnv_rec.tmt_contract_updated_yn  :=  l_tcnv_rec.tmt_contract_updated_yn;
6366       END IF;
6367 
6368       IF (x_tcnv_rec.tmt_recycle_yn   = Okc_Api.G_MISS_CHAR) THEN
6369           x_tcnv_rec.tmt_recycle_yn   :=  l_tcnv_rec.tmt_recycle_yn;
6370       END IF;
6371 
6372       IF (x_tcnv_rec.tmt_validated_yn   = Okc_Api.G_MISS_CHAR) THEN
6373           x_tcnv_rec.tmt_validated_yn   :=  l_tcnv_rec.tmt_validated_yn;
6374       END IF;
6375 
6376       IF (x_tcnv_rec.tmt_streams_updated_yn   = Okc_Api.G_MISS_CHAR) THEN
6377           x_tcnv_rec.tmt_streams_updated_yn   := l_tcnv_rec.tmt_streams_updated_yn;
6378       END IF;
6379 
6380       IF (x_tcnv_rec.accrual_activity   = Okc_Api.G_MISS_CHAR) THEN
6381           x_tcnv_rec.accrual_activity   := l_tcnv_rec.accrual_activity;
6382       END IF;
6383 
6384 -- Added by Santonyr 11-NOV-2002. Fixed bug 2660517
6385     IF (x_tcnv_rec.tmt_split_asset_yn   = Okc_Api.G_MISS_CHAR) THEN
6386       x_tcnv_rec.tmt_split_asset_yn   := l_tcnv_rec.tmt_split_asset_yn;
6387     END IF;
6388     IF (x_tcnv_rec.tmt_generic_flag1_yn   = Okc_Api.G_MISS_CHAR) THEN
6389       x_tcnv_rec.tmt_generic_flag1_yn   := l_tcnv_rec.tmt_generic_flag1_yn;
6390     END IF;
6391     IF (x_tcnv_rec.tmt_generic_flag2_yn   = Okc_Api.G_MISS_CHAR) THEN
6392       x_tcnv_rec.tmt_generic_flag2_yn   := l_tcnv_rec.tmt_generic_flag2_yn;
6393     END IF;
6394     IF (x_tcnv_rec.tmt_generic_flag3_yn   = Okc_Api.G_MISS_CHAR) THEN
6395       x_tcnv_rec.tmt_generic_flag3_yn   := l_tcnv_rec.tmt_generic_flag3_yn;
6396     END IF;
6397 -- Added by HKPATEL 14-NOV-2002.  Multi-Currency Changes
6398     IF (x_tcnv_rec.currency_conversion_type   = Okc_Api.G_MISS_CHAR) THEN
6399       x_tcnv_rec.currency_conversion_type  := l_tcnv_rec.currency_conversion_type;
6400     END IF;
6401     IF (x_tcnv_rec.currency_conversion_rate   = Okc_Api.G_MISS_NUM) THEN
6402       x_tcnv_rec.currency_conversion_rate  := l_tcnv_rec.currency_conversion_rate;
6403     END IF;
6404     IF (x_tcnv_rec.currency_conversion_date   = Okc_Api.G_MISS_DATE) THEN
6405       x_tcnv_rec.currency_conversion_date  := l_tcnv_rec.currency_conversion_date;
6406     END IF;
6407 -- Added be Keerthi 04-SEP-2003
6408     IF (x_tcnv_rec.chr_id   = Okc_Api.G_MISS_NUM) THEN
6409       x_tcnv_rec.chr_id  := l_tcnv_rec.chr_id;
6410     END IF;
6411 -- Added be Keerthi for Bug No 3195713
6412     IF (x_tcnv_rec.source_trx_id  = Okc_Api.G_MISS_NUM) THEN
6413       x_tcnv_rec.source_trx_id  := l_tcnv_rec.source_trx_id;
6414     END IF;
6415 
6416     IF (x_tcnv_rec.source_trx_type  = Okc_Api.G_MISS_CHAR) THEN
6417       x_tcnv_rec.source_trx_type  := l_tcnv_rec.source_trx_type;
6418     END IF;
6419 
6420     IF (x_tcnv_rec.canceled_date   = Okc_Api.G_MISS_DATE) THEN
6421       x_tcnv_rec.canceled_date  := l_tcnv_rec.canceled_date;
6422     END IF;
6423 
6424     --Added by dpsingh for LE Uptake
6425     IF (x_tcnv_rec.legal_entity_id   = Okl_Api.G_MISS_NUM) THEN
6426       x_tcnv_rec.legal_entity_id  := l_tcnv_rec.legal_entity_id;
6427     END IF;
6428 
6429     --Added by dpsingh for SLA Uptake (Bug 5707866)
6430     IF (x_tcnv_rec.accrual_reversal_date   = Okl_Api.G_MISS_DATE) THEN
6431       x_tcnv_rec.accrual_reversal_date  := l_tcnv_rec.accrual_reversal_date;
6432     END IF;
6433 
6434 -- Added by DJANASWA for SLA project
6435     IF (x_tcnv_rec.accounting_reversal_yn = Okl_Api.G_MISS_CHAR) THEN
6436       x_tcnv_rec.accounting_reversal_yn := l_tcnv_rec.accounting_reversal_yn;
6437     END IF;
6438 
6439 -- Added by zrehman for SLA project (Bug 5707866) 8-Feb-2007
6440     IF (x_tcnv_rec.product_name = Okl_Api.G_MISS_CHAR) THEN
6441       x_tcnv_rec.product_name := l_tcnv_rec.product_name;
6442     END IF;
6443 
6444     IF (x_tcnv_rec.book_classification_code = Okl_Api.G_MISS_CHAR) THEN
6445       x_tcnv_rec.book_classification_code := l_tcnv_rec.book_classification_code;
6446     END IF;
6447 
6448     IF (x_tcnv_rec.tax_owner_code = Okl_Api.G_MISS_CHAR) THEN
6449       x_tcnv_rec.tax_owner_code := l_tcnv_rec.tax_owner_code;
6450     END IF;
6451 
6452     IF (x_tcnv_rec.tmt_status_code = Okl_Api.G_MISS_CHAR) THEN
6453       x_tcnv_rec.tmt_status_code := l_tcnv_rec.tmt_status_code;
6454     END IF;
6455 
6456     IF (x_tcnv_rec.representation_name = Okl_Api.G_MISS_CHAR) THEN
6457       x_tcnv_rec.representation_name := l_tcnv_rec.representation_name;
6458     END IF;
6459 
6460     IF (x_tcnv_rec.representation_code = Okl_Api.G_MISS_CHAR) THEN
6461       x_tcnv_rec.representation_code := l_tcnv_rec.representation_code;
6462     END IF;
6463 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
6464     IF (x_tcnv_rec.UPGRADE_STATUS_FLAG = Okl_Api.G_MISS_CHAR) THEN
6465       x_tcnv_rec.UPGRADE_STATUS_FLAG := l_tcnv_rec.UPGRADE_STATUS_FLAG;
6466     END IF;
6467 -- Added by dcshanmu for Transaction Date Stamping 02-Nov-2007
6468     IF (x_tcnv_rec.TRANSACTION_DATE = Okl_Api.G_MISS_DATE) THEN
6469       x_tcnv_rec.TRANSACTION_DATE := SYSDATE;
6470     END IF;
6471 -- Added by smereddy for Multi-GAAP project (Bug 7263041) 04-Aug-2007
6472     IF (x_tcnv_rec.primary_rep_trx_id = Okl_Api.G_MISS_NUM) THEN
6473       x_tcnv_rec.primary_rep_trx_id := l_tcnv_rec.primary_rep_trx_id;
6474     END IF;
6475     IF (x_tcnv_rec.REPRESENTATION_TYPE = Okl_Api.G_MISS_CHAR) THEN
6476       x_tcnv_rec.REPRESENTATION_TYPE := l_tcnv_rec.REPRESENTATION_TYPE;
6477     END IF;
6478 -- Added by sosharma for Income Account recon- report 01-Nov-2008
6479     IF (x_tcnv_rec.TRANSACTION_REVERSAL_DATE = Okl_Api.G_MISS_DATE) THEN
6480       x_tcnv_rec.TRANSACTION_REVERSAL_DATE := l_tcnv_rec.TRANSACTION_REVERSAL_DATE;
6481     END IF;
6482 
6483     RETURN(l_return_status);
6484     END populate_new_record;
6485     --------------------------------------------
6486     -- Set_Attributes for:OKL_TRX_CONTRACTS_V --
6487     --------------------------------------------
6488     FUNCTION Set_Attributes (
6489       p_tcnv_rec IN  tcnv_rec_type,
6490       x_tcnv_rec OUT NOCOPY tcnv_rec_type
6491     ) RETURN VARCHAR2 IS
6492       l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6493       l_request_id 	NUMBER 	:= Fnd_Global.CONC_REQUEST_ID;
6494 	l_prog_app_id 	NUMBER 	:= Fnd_Global.PROG_APPL_ID;
6495 	l_program_id 	NUMBER 	:= Fnd_Global.CONC_PROGRAM_ID;
6496     BEGIN
6497       x_tcnv_rec := p_tcnv_rec;
6498 
6499 
6500      SELECT  NVL(DECODE(l_request_id, -1, NULL, l_request_id) ,p_tcnv_rec.REQUEST_ID)
6501     ,NVL(DECODE(l_prog_app_id, -1, NULL, l_prog_app_id) ,p_tcnv_rec.PROGRAM_APPLICATION_ID)
6502     ,NVL(DECODE(l_program_id, -1, NULL, l_program_id)  ,p_tcnv_rec.PROGRAM_ID)
6503     ,DECODE(DECODE(l_request_id, -1, NULL, SYSDATE) ,NULL, p_tcnv_rec.PROGRAM_UPDATE_DATE,SYSDATE)
6504         INTO x_tcnv_rec.REQUEST_ID
6505     ,x_tcnv_rec.PROGRAM_APPLICATION_ID
6506     ,x_tcnv_rec.PROGRAM_ID
6507     ,x_tcnv_rec.PROGRAM_UPDATE_DATE
6508     FROM DUAL;
6509 
6510       RETURN(l_return_status);
6511     END Set_Attributes;
6512   BEGIN
6513     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
6514                                               G_PKG_NAME,
6515                                               p_init_msg_list,
6516                                               l_api_version,
6517                                               p_api_version,
6518                                               '_PVT',
6519                                               x_return_status);
6520 
6521     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6522       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6523     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6524       RAISE Okc_Api.G_EXCEPTION_ERROR;
6525     END IF;
6526     --- Setting item attributes
6527     l_return_status := Set_Attributes(
6528       p_tcnv_rec,                        -- IN
6529       l_tcnv_rec);                       -- OUT
6530     --- If any errors happen abort API
6531     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6532       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6533     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6534       RAISE Okc_Api.G_EXCEPTION_ERROR;
6535     END IF;
6536     l_return_status := populate_new_record(l_tcnv_rec, l_def_tcnv_rec);
6537     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6538       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6539     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6540       RAISE Okc_Api.G_EXCEPTION_ERROR;
6541     END IF;
6542     l_def_tcnv_rec := fill_who_columns(l_def_tcnv_rec);
6543     --- Validate all non-missing attributes (Item Level Validation)
6544     l_return_status := Validate_Attributes(l_def_tcnv_rec);
6545     --- If any errors happen abort API
6546     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6547       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6548     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6549       RAISE Okc_Api.G_EXCEPTION_ERROR;
6550     END IF;
6551     l_return_status := Validate_Record(l_def_tcnv_rec);
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 
6558     --------------------------------------
6559     -- Move VIEW record to "Child" records
6560     --------------------------------------
6561     migrate(l_def_tcnv_rec, l_tcn_rec);
6562     --------------------------------------------
6563     -- Call the UPDATE_ROW for each child record
6564     --------------------------------------------
6565     update_row(
6566       p_init_msg_list,
6567       x_return_status,
6568       x_msg_count,
6569       x_msg_data,
6570       l_tcn_rec,
6571       lx_tcn_rec
6572     );
6573     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6574       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6575     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6576       RAISE Okc_Api.G_EXCEPTION_ERROR;
6577     END IF;
6578     migrate(lx_tcn_rec, l_def_tcnv_rec);
6579     x_tcnv_rec := l_def_tcnv_rec;
6580     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6581   EXCEPTION
6582     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6583       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6584       (
6585         l_api_name,
6586         G_PKG_NAME,
6587         'OKC_API.G_RET_STS_ERROR',
6588         x_msg_count,
6589         x_msg_data,
6590         '_PVT'
6591       );
6592     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6593       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6594       (
6595         l_api_name,
6596         G_PKG_NAME,
6597         'OKC_API.G_RET_STS_UNEXP_ERROR',
6598         x_msg_count,
6599         x_msg_data,
6600         '_PVT'
6601       );
6602     WHEN OTHERS THEN
6603       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6604       (
6605         l_api_name,
6606         G_PKG_NAME,
6607         'OTHERS',
6608         x_msg_count,
6609         x_msg_data,
6610         '_PVT'
6611       );
6612   END update_row;
6613   ----------------------------------------
6614   -- PL/SQL TBL update_row for:TCNV_TBL --
6615   ----------------------------------------
6616   PROCEDURE update_row(
6617     p_api_version                  IN NUMBER,
6618     p_init_msg_list                IN VARCHAR2,
6619     x_return_status                OUT NOCOPY VARCHAR2,
6620     x_msg_count                    OUT NOCOPY NUMBER,
6621     x_msg_data                     OUT NOCOPY VARCHAR2,
6622     p_tcnv_tbl                     IN tcnv_tbl_type,
6623     x_tcnv_tbl                     OUT NOCOPY tcnv_tbl_type) IS
6624 
6625     l_api_version                 CONSTANT NUMBER := 1;
6626     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
6627     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6628     i                              NUMBER := 0;
6629     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6630 
6631   BEGIN
6632     Okc_Api.init_msg_list(p_init_msg_list);
6633     -- Make sure PL/SQL table has records in it before passing
6634     IF (p_tcnv_tbl.COUNT > 0) THEN
6635       i := p_tcnv_tbl.FIRST;
6636       LOOP
6637         update_row (
6638           p_api_version                  => p_api_version,
6639           p_init_msg_list                => Okc_Api.G_FALSE,
6640           x_return_status                => x_return_status,
6641           x_msg_count                    => x_msg_count,
6642           x_msg_data                     => x_msg_data,
6643           p_tcnv_rec                     => p_tcnv_tbl(i),
6644           x_tcnv_rec                     => x_tcnv_tbl(i));
6645 
6646         -- store the highest degree of error
6647 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
6648            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
6649               l_overall_status := x_return_status;
6650            END IF;
6651 	  END IF;
6652 
6653         EXIT WHEN (i = p_tcnv_tbl.LAST);
6654         i := p_tcnv_tbl.NEXT(i);
6655       END LOOP;
6656 	  -- return overall status
6657 	  x_return_status := l_overall_status;
6658 
6659     END IF;
6660   EXCEPTION
6661     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6662       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6663       (
6664         l_api_name,
6665         G_PKG_NAME,
6666         'OKC_API.G_RET_STS_ERROR',
6667         x_msg_count,
6668         x_msg_data,
6669         '_PVT'
6670       );
6671     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6672       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6673       (
6674         l_api_name,
6675         G_PKG_NAME,
6676         'OKC_API.G_RET_STS_UNEXP_ERROR',
6677         x_msg_count,
6678         x_msg_data,
6679         '_PVT'
6680       );
6681     WHEN OTHERS THEN
6682       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6683       (
6684         l_api_name,
6685         G_PKG_NAME,
6686         'OTHERS',
6687         x_msg_count,
6688         x_msg_data,
6689         '_PVT'
6690       );
6691   END update_row;
6692 
6693   ---------------------------------------------------------------------------
6694   -- PROCEDURE delete_row
6695   ---------------------------------------------------------------------------
6696   --------------------------------------
6697   -- delete_row for:OKL_TRX_CONTRACTS --
6698   --------------------------------------
6699   PROCEDURE delete_row(
6700     p_init_msg_list                IN VARCHAR2,
6701     x_return_status                OUT NOCOPY VARCHAR2,
6702     x_msg_count                    OUT NOCOPY NUMBER,
6703     x_msg_data                     OUT NOCOPY VARCHAR2,
6704     p_tcn_rec                      IN tcn_rec_type) IS
6705 
6706     l_api_version                 CONSTANT NUMBER := 1;
6707     l_api_name                     CONSTANT VARCHAR2(30) := 'CONTRACTS_delete_row';
6708     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6709     l_tcn_rec                      tcn_rec_type:= p_tcn_rec;
6710     l_row_notfound                 BOOLEAN := TRUE;
6711   BEGIN
6712     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
6713                                               p_init_msg_list,
6714                                               '_PVT',
6715                                               x_return_status);
6716     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6717       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6718     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6719       RAISE Okc_Api.G_EXCEPTION_ERROR;
6720     END IF;
6721     DELETE FROM OKL_TRX_CONTRACTS
6722      WHERE ID = l_tcn_rec.id;
6723 
6724     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6725   EXCEPTION
6726     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6727       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6728       (
6729         l_api_name,
6730         G_PKG_NAME,
6731         'OKC_API.G_RET_STS_ERROR',
6732         x_msg_count,
6733         x_msg_data,
6734         '_PVT'
6735       );
6736     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6737       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6738       (
6739         l_api_name,
6740         G_PKG_NAME,
6741         'OKC_API.G_RET_STS_UNEXP_ERROR',
6742         x_msg_count,
6743         x_msg_data,
6744         '_PVT'
6745       );
6746     WHEN OTHERS THEN
6747       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6748       (
6749         l_api_name,
6750         G_PKG_NAME,
6751         'OTHERS',
6752         x_msg_count,
6753         x_msg_data,
6754         '_PVT'
6755       );
6756   END delete_row;
6757   ----------------------------------------
6758   -- delete_row for:OKL_TRX_CONTRACTS_V --
6759   ----------------------------------------
6760   PROCEDURE delete_row(
6761     p_api_version                  IN NUMBER,
6762     p_init_msg_list                IN VARCHAR2,
6763     x_return_status                OUT NOCOPY VARCHAR2,
6764     x_msg_count                    OUT NOCOPY NUMBER,
6765     x_msg_data                     OUT NOCOPY VARCHAR2,
6766     p_tcnv_rec                     IN tcnv_rec_type) IS
6767 
6768     l_api_version                 CONSTANT NUMBER := 1;
6769     l_api_name                     CONSTANT VARCHAR2(30) := 'V_delete_row';
6770     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6771     l_tcnv_rec                     tcnv_rec_type := p_tcnv_rec;
6772     l_tcn_rec                      tcn_rec_type;
6773   BEGIN
6774     l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
6775                                               G_PKG_NAME,
6776                                               p_init_msg_list,
6777                                               l_api_version,
6778                                               p_api_version,
6779                                               '_PVT',
6780                                               x_return_status);
6781     IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6782       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6783     ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6784       RAISE Okc_Api.G_EXCEPTION_ERROR;
6785     END IF;
6786     --------------------------------------
6787     -- Move VIEW record to "Child" records
6788     --------------------------------------
6789     migrate(l_tcnv_rec, l_tcn_rec);
6790     --------------------------------------------
6791     -- Call the DELETE_ROW for each child record
6792     --------------------------------------------
6793     delete_row(
6794       p_init_msg_list,
6795       x_return_status,
6796       x_msg_count,
6797       x_msg_data,
6798       l_tcn_rec
6799     );
6800     IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
6801       RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
6802     ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
6803       RAISE Okc_Api.G_EXCEPTION_ERROR;
6804     END IF;
6805     Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
6806   EXCEPTION
6807     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6808       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6809       (
6810         l_api_name,
6811         G_PKG_NAME,
6812         'OKC_API.G_RET_STS_ERROR',
6813         x_msg_count,
6814         x_msg_data,
6815         '_PVT'
6816       );
6817     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6818       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6819       (
6820         l_api_name,
6821         G_PKG_NAME,
6822         'OKC_API.G_RET_STS_UNEXP_ERROR',
6823         x_msg_count,
6824         x_msg_data,
6825         '_PVT'
6826       );
6827     WHEN OTHERS THEN
6828       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6829       (
6830         l_api_name,
6831         G_PKG_NAME,
6832         'OTHERS',
6833         x_msg_count,
6834         x_msg_data,
6835         '_PVT'
6836       );
6837   END delete_row;
6838   ----------------------------------------
6839   -- PL/SQL TBL delete_row for:TCNV_TBL --
6840   ----------------------------------------
6841   PROCEDURE delete_row(
6842     p_api_version                  IN NUMBER,
6843     p_init_msg_list                IN VARCHAR2,
6844     x_return_status                OUT NOCOPY VARCHAR2,
6845     x_msg_count                    OUT NOCOPY NUMBER,
6846     x_msg_data                     OUT NOCOPY VARCHAR2,
6847     p_tcnv_tbl                     IN tcnv_tbl_type) IS
6848 
6849     l_api_version                 CONSTANT NUMBER := 1;
6850     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
6851     l_return_status                VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6852     i                              NUMBER := 0;
6853     l_overall_status		     VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
6854 
6855   BEGIN
6856     Okc_Api.init_msg_list(p_init_msg_list);
6857     -- Make sure PL/SQL table has records in it before passing
6858     IF (p_tcnv_tbl.COUNT > 0) THEN
6859       i := p_tcnv_tbl.FIRST;
6860       LOOP
6861         delete_row (
6862           p_api_version                  => p_api_version,
6863           p_init_msg_list                => Okc_Api.G_FALSE,
6864           x_return_status                => x_return_status,
6865           x_msg_count                    => x_msg_count,
6866           x_msg_data                     => x_msg_data,
6867           p_tcnv_rec                     => p_tcnv_tbl(i));
6868 
6869         -- store the highest degree of error
6870 	  IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
6871            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
6872               l_overall_status := x_return_status;
6873            END IF;
6874 	  END IF;
6875 
6876         EXIT WHEN (i = p_tcnv_tbl.LAST);
6877         i := p_tcnv_tbl.NEXT(i);
6878       END LOOP;
6879 	  -- return overall status
6880 	  x_return_status := l_overall_status;
6881 
6882     END IF;
6883   EXCEPTION
6884     WHEN Okc_Api.G_EXCEPTION_ERROR THEN
6885       x_return_status := Okc_Api.HANDLE_EXCEPTIONS
6886       (
6887         l_api_name,
6888         G_PKG_NAME,
6889         'OKC_API.G_RET_STS_ERROR',
6890         x_msg_count,
6891         x_msg_data,
6892         '_PVT'
6893       );
6894     WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
6895       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6896       (
6897         l_api_name,
6898         G_PKG_NAME,
6899         'OKC_API.G_RET_STS_UNEXP_ERROR',
6900         x_msg_count,
6901         x_msg_data,
6902         '_PVT'
6903       );
6904     WHEN OTHERS THEN
6905       x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
6906       (
6907         l_api_name,
6908         G_PKG_NAME,
6909         'OTHERS',
6910         x_msg_count,
6911         x_msg_data,
6912         '_PVT'
6913       );
6914   END delete_row;
6915 END Okl_Tcn_Pvt;