DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_KLE_PVT

Source


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