[Home] [Help]
PACKAGE BODY: APPS.OKL_VFA_PVT
Source
1 PACKAGE BODY OKL_VFA_PVT AS
2 /* $Header: OKLSVFAB.pls 120.3 2006/11/13 07:37:41 dpsingh noship $ */
3
4 /************************ HAND-CODED *********************************/
5 G_NO_MATCHING_RECORD CONSTANT VARCHAR2(200) := 'OKL_LLA_NO_MATCHING_RECORD';
6 G_TABLE_TOKEN CONSTANT VARCHAR2(200) := 'OKL_API.G_CHILD_TABLE_TOKEN';
7 G_FIN_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FREE_FORM1';
8 G_MODEL_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'ITEM';
9 G_ADDON_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'ADD_ITEM';
10 G_FA_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FIXED_ASSET';
11 G_INST_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FREE_FORM2';
12 G_IB_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'INST_ITEM';
13 G_EXCEPTION_STOP_VALIDATION EXCEPTION;
14 ---------------------------------------------------------------------------------
15 -- Start of Commnets
16 -- Badrinath Kuchibholta
17 -- Procedure Name : Validate_dnz_chr_id
18 -- Description : FK validation with OKL_K_HEADERS_V
19 -- Business Rules :
20 -- Parameters : OUT Return Status, IN Rec Info
21 -- Version : 1.0
22 -- End of Commnets
23
24 PROCEDURE validate_dnz_chr_id(x_return_status OUT NOCOPY VARCHAR2,
25 p_dnz_chr_id IN OKC_K_LINES_V.DNZ_CHR_ID%TYPE) IS
26
27 ln_dummy number := 0;
28
29 CURSOR c_dnz_chr_id_validate(p_dnz_chr_id IN OKC_K_LINES_V.DNZ_CHR_ID%TYPE) IS
30 SELECT 1
31 FROM DUAL
32 WHERE EXISTS (SELECT id
33 FROM okc_k_headers_b
34 WHERE id = p_dnz_chr_id);
35 BEGIN
36 -- initialize return status
37 x_return_status := OKL_API.G_RET_STS_SUCCESS;
38 -- data is required
39 IF (p_dnz_chr_id = OKL_API.G_MISS_NUM) OR
40 (p_dnz_chr_id IS NULL) THEN
41 -- halt validation as it is a required field
42 RAISE G_EXCEPTION_STOP_VALIDATION;
43 END IF;
44 OPEN c_dnz_chr_id_validate(p_dnz_chr_id);
45 IF c_dnz_chr_id_validate%NOTFOUND THEN
46 -- halt validation as it has no parent record
47 RAISE G_EXCEPTION_HALT_VALIDATION;
48 END IF;
49 FETCH c_dnz_chr_id_validate into ln_dummy;
50 CLOSE c_dnz_chr_id_validate;
51 IF (ln_dummy = 0) then
52 -- halt validation as it has no parent record
53 RAISE G_EXCEPTION_HALT_VALIDATION;
54 END IF;
55 EXCEPTION
56 WHEN G_EXCEPTION_STOP_VALIDATION then
57 -- We are here since the field is required
58 -- store SQL error message on message stack
59 OKL_API.set_message(p_app_name => G_APP_NAME,
60 p_msg_name => G_REQUIRED_VALUE,
61 p_token1 => G_COL_NAME_TOKEN,
62 p_token1_value => 'dnz_chr_id');
63 -- Notify Error
64 x_return_status := OKL_API.G_RET_STS_ERROR;
65 WHEN G_EXCEPTION_HALT_VALIDATION then
66 -- We are here b'cause we have no parent record
67 -- store SQL error message on message stack
68 OKL_API.set_message(p_app_name => G_APP_NAME,
69 p_msg_name => G_NO_MATCHING_RECORD,
70 p_token1 => G_COL_NAME_TOKEN,
71 p_token1_value => 'dnz_chr_id');
72 -- If the cursor is open then it has to be closed
73 IF c_dnz_chr_id_validate%ISOPEN THEN
74 CLOSE c_dnz_chr_id_validate;
75 END IF;
76 -- notify caller of an error
77 x_return_status := OKL_API.G_RET_STS_ERROR;
78 WHEN OTHERS THEN
79 -- store SQL error message on message stack
80 OKL_API.SET_MESSAGE(p_app_name => G_APP_NAME,
81 p_msg_name => G_UNEXPECTED_ERROR,
82 p_token1 => G_SQLCODE_TOKEN,
83 p_token1_value => SQLCODE,
84 p_token2 => G_SQLERRM_TOKEN,
85 p_token2_value => SQLERRM);
86 -- If the cursor is open then it has to be closed
87 IF c_dnz_chr_id_validate%ISOPEN THEN
88 CLOSE c_dnz_chr_id_validate;
89 END IF;
90 -- notify caller of an error as UNEXPETED error
91 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
92 END validate_dnz_chr_id;
93 ---------------------------------------------------------------------------------
94 -- Start of Commnets
95 -- Badrinath Kuchibholta
96 -- Procedure Name : Validate_fa_cle_id
97 -- Description : FK validation with OKL_K_LINES_V
98 -- Business Rules :
99 -- Parameters : OUT Return Status, IN Rec Info
100 -- Version : 1.0
101 -- End of Commnets
102
103 PROCEDURE validate_fa_cle_id(x_return_status OUT NOCOPY VARCHAR2,
104 p_id IN OKC_K_LINES_V.ID%TYPE) IS
105
106 ln_dummy number := 0;
107 l_lty_code OKC_LINE_STYLES_V.LTY_CODE%TYPE;
108
109 CURSOR get_lty_code(p_cle_id IN OKC_K_LINES_V.ID%TYPE) IS
110 SELECT lse.lty_code
111 FROM okc_k_lines_b cle,
112 okc_line_styles_b lse
113 WHERE cle.id = p_cle_id
114 AND cle.lse_id = lse.id;
115
116 CURSOR c_cle_id_validate1(p_cle_id IN OKC_K_LINES_V.ID%TYPE,
117 p_code IN OKC_LINE_STYLES_V.LTY_CODE%TYPE) IS
118 SELECT 1
119 FROM DUAL
120 WHERE EXISTS (SELECT t1.id
121 FROM okc_line_styles_b t1
122 ,okc_line_styles_b t2
123 ,okc_subclass_top_line t3
124 ,okc_k_lines_b cle
125 WHERE t1.lty_code = p_code
126 AND cle.id = p_cle_id
127 AND cle.lse_id = t1.id
128 AND t2.lty_code = G_FIN_LINE_LTY_CODE
129 AND t1.lse_parent_id = t2.id
130 AND t3.lse_id = t2.id
131 AND t3.scs_code = 'LEASE');
132
133
134 BEGIN
135 -- initialize return status
136 x_return_status := OKL_API.G_RET_STS_SUCCESS;
137 -- data is required
138 IF (p_id = OKL_API.G_MISS_NUM) OR
139 (p_id IS NULL) THEN
140 -- halt validation as it is a required field
141 RAISE G_EXCEPTION_STOP_VALIDATION;
142 END IF;
143
144 OPEN get_lty_code(p_id);
145 IF get_lty_code%NOTFOUND THEN
146 -- halt validation as it has no parent record
147 RAISE G_EXCEPTION_HALT_VALIDATION;
148 END IF;
149 FETCH get_lty_code into l_lty_code;
150 CLOSE get_lty_code;
151
152 IF l_lty_code = G_FA_LINE_LTY_CODE THEN
153 OPEN c_cle_id_validate1(p_id,
154 l_lty_code);
155 IF c_cle_id_validate1%NOTFOUND THEN
156 -- halt validation as it has no parent record
157 RAISE G_EXCEPTION_HALT_VALIDATION;
158 END IF;
159 FETCH c_cle_id_validate1 into ln_dummy;
160 CLOSE c_cle_id_validate1;
161 IF (ln_dummy = 0) then
162 -- halt validation as it has no parent record
163 RAISE G_EXCEPTION_HALT_VALIDATION;
164 END IF;
165 ELSE
166 -- halt validation as it has no parent record
167 RAISE G_EXCEPTION_HALT_VALIDATION;
168 END IF;
169 EXCEPTION
170 WHEN G_EXCEPTION_STOP_VALIDATION then
171 -- We are here since the field is required
172 -- store SQL error message on message stack
173 OKL_API.set_message(p_app_name => G_APP_NAME,
174 p_msg_name => G_REQUIRED_VALUE,
175 p_token1 => G_COL_NAME_TOKEN,
176 p_token1_value => 'fa_cle_id');
177 -- Notify Error
178 x_return_status := OKL_API.G_RET_STS_ERROR;
179 WHEN G_EXCEPTION_HALT_VALIDATION then
180 -- We are here b'cause we have no parent record
181 -- store SQL error message on message stack
182 OKL_API.set_message(p_app_name => G_APP_NAME,
183 p_msg_name => G_NO_MATCHING_RECORD,
184 p_token1 => G_COL_NAME_TOKEN,
185 p_token1_value => 'fa_cle_id');
186 -- If the cursor is open then it has to be closed
187 IF get_lty_code%ISOPEN THEN
188 CLOSE get_lty_code;
189 END IF;
190 IF c_cle_id_validate1%ISOPEN THEN
191 CLOSE c_cle_id_validate1;
192 END IF;
193 -- notify caller of an error
194 x_return_status := OKL_API.G_RET_STS_ERROR;
195 WHEN OTHERS THEN
196 -- store SQL error message on message stack
197 OKL_API.SET_MESSAGE(p_app_name => G_APP_NAME,
198 p_msg_name => G_UNEXPECTED_ERROR,
199 p_token1 => G_SQLCODE_TOKEN,
200 p_token1_value => SQLCODE,
201 p_token2 => G_SQLERRM_TOKEN,
202 p_token2_value => SQLERRM);
203 -- If the cursor is open then it has to be closed
204 IF get_lty_code%ISOPEN THEN
205 CLOSE get_lty_code;
206 END IF;
207 IF c_cle_id_validate1%ISOPEN THEN
208 CLOSE c_cle_id_validate1;
209 END IF;
210 -- notify caller of an error as UNEXPETED error
211 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
212 END validate_fa_cle_id;
213
214 -- Added by dpsingh
215 ---------------------------------------------------------------------------
216 -- PROCEDURE Validate_LE_Id
217 ---------------------------------------------------------------------------
218 -- Start of comments
219 --
220 -- Procedure Name : Validate_LE_Id
221 -- Description :
222 -- Business Rules :
223 -- Parameters :
224 -- Version : 1.0
225 -- End of comments
226 ---------------------------------------------------------------------------
227 PROCEDURE Validate_LE_Id(p_legal_entity_id IN NUMBER
228 ,x_return_status OUT NOCOPY VARCHAR2)
229 IS
230 l_exists NUMBER(1);
231 item_not_found_error EXCEPTION;
232
233 BEGIN
234
235 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
236 IF (p_legal_entity_id = OKL_API.G_MISS_NUM OR
237 p_legal_entity_id IS NULL)
238 THEN
239 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'legal_entity_id');
240 x_return_status := OKL_API.G_RET_STS_ERROR;
241 ELSIF (p_legal_entity_id IS NOT NULL) AND
242 (p_legal_entity_id <> Okl_Api.G_MISS_NUM) THEN
243 l_exists := OKL_LEGAL_ENTITY_UTIL.check_le_id_exists(p_legal_entity_id) ;
244 IF (l_exists<>1) THEN
245 Okl_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'LEGAL_ENTITY_ID');
246 RAISE item_not_found_error;
247 END IF;
248 END IF;
249
250 EXCEPTION
251 WHEN item_not_found_error THEN
252 x_return_status := Okc_Api.G_RET_STS_ERROR;
253
254 WHEN OTHERS THEN
255 -- store SQL error message on message stack for caller
256 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
257 ,p_msg_name => g_unexpected_error
258 ,p_token1 => g_sqlcode_token
259 ,p_token1_value => SQLCODE
260 ,p_token2 => g_sqlerrm_token
261 ,p_token2_value => SQLERRM);
262
263 -- notify caller of an UNEXPECTED error
264 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
265
266 END Validate_LE_Id;
267
268 ------------------------------------------------------------------------------------------------
269 ---------------------------------------------------------------------------
270 -- FUNCTION get_seq_id
271 ---------------------------------------------------------------------------
272 FUNCTION get_seq_id RETURN NUMBER IS
273 BEGIN
274 RETURN(okc_p_util.raw_to_number(sys_guid()));
275 END get_seq_id;
276
277 ---------------------------------------------------------------------------
278 -- PROCEDURE qc
279 ---------------------------------------------------------------------------
280 PROCEDURE qc IS
281 BEGIN
282 null;
283 END qc;
284
285 ---------------------------------------------------------------------------
286 -- PROCEDURE change_version
287 ---------------------------------------------------------------------------
288 PROCEDURE change_version IS
289 BEGIN
290 null;
291 END change_version;
292
293 ---------------------------------------------------------------------------
294 -- PROCEDURE api_copy
295 ---------------------------------------------------------------------------
296 PROCEDURE api_copy IS
297 BEGIN
298 null;
299 END api_copy;
300
301 ---------------------------------------------------------------------------
302 -- FUNCTION get_rec for: OKL_CONTRACT_ASSET_HV
303 ---------------------------------------------------------------------------
304 FUNCTION get_rec (
305 p_vfav_rec IN vfav_rec_type,
306 x_no_data_found OUT NOCOPY BOOLEAN
307 ) RETURN vfav_rec_type IS
308 CURSOR okl_contract_asset_hv_pk_csr (p_id IN NUMBER) IS
309 SELECT ID,
310 MAJOR_VERSION,
311 OBJECT_VERSION_NUMBER,
312 DNZ_CHR_ID,
313 FA_CLE_ID,
314 NAME,
315 DESCRIPTION,
316 ASSET_ID,
317 ASSET_NUMBER,
318 CORPORATE_BOOK,
319 LIFE_IN_MONTHS,
320 ORIGINAL_COST,
321 COST,
322 ADJUSTED_COST,
323 CURRENT_UNITS,
324 NEW_USED,
325 IN_SERVICE_DATE,
326 MODEL_NUMBER,
327 ASSET_TYPE,
328 SALVAGE_VALUE,
329 PERCENT_SALVAGE_VALUE,
330 DEPRECIATION_CATEGORY,
331 DEPRN_START_DATE,
332 DEPRN_METHOD_CODE,
333 RATE_ADJUSTMENT_FACTOR,
334 BASIC_RATE,
335 ADJUSTED_RATE,
336 START_DATE_ACTIVE,
337 END_DATE_ACTIVE,
338 STATUS,
339 PRIMARY_UOM_CODE,
340 RECOVERABLE_COST,
341 --Bug# 2981308 :
342 ASSET_KEY_ID,
343 ATTRIBUTE_CATEGORY,
344 ATTRIBUTE1,
345 ATTRIBUTE2,
346 ATTRIBUTE3,
347 ATTRIBUTE4,
348 ATTRIBUTE5,
349 ATTRIBUTE6,
350 ATTRIBUTE7,
351 ATTRIBUTE8,
352 ATTRIBUTE9,
353 ATTRIBUTE10,
354 ATTRIBUTE11,
355 ATTRIBUTE12,
356 ATTRIBUTE13,
357 ATTRIBUTE14,
358 ATTRIBUTE15,
359 CREATED_BY,
360 CREATION_DATE,
361 LAST_UPDATED_BY,
362 LAST_UPDATE_DATE,
363 LAST_UPDATE_LOGIN,
364 --Added by dpsingh for LE uptake
365 LEGAL_ENTITY_ID
366 FROM Okl_Contract_Asset_Hv
367 WHERE Okl_Contract_Asset_Hv.ID = p_id;
368 l_okl_contract_asset_hv_pk okl_contract_asset_hv_pk_csr%ROWTYPE;
369 l_vfav_rec vfav_rec_type;
370 BEGIN
371 x_no_data_found := TRUE;
372 -- Get current database values
373 OPEN okl_contract_asset_hv_pk_csr(p_vfav_rec.id);
374 FETCH okl_contract_asset_hv_pk_csr INTO
375 l_vfav_rec.id,
376 l_vfav_rec.major_version,
377 l_vfav_rec.object_version_number,
378 l_vfav_rec.dnz_chr_id,
379 l_vfav_rec.fa_cle_id,
380 l_vfav_rec.name,
381 l_vfav_rec.description,
382 l_vfav_rec.asset_id,
383 l_vfav_rec.asset_number,
384 l_vfav_rec.corporate_book,
385 l_vfav_rec.life_in_months,
386 l_vfav_rec.original_cost,
387 l_vfav_rec.cost,
388 l_vfav_rec.adjusted_cost,
389 l_vfav_rec.current_units,
390 l_vfav_rec.new_used,
391 l_vfav_rec.in_service_date,
392 l_vfav_rec.model_number,
393 l_vfav_rec.asset_type,
394 l_vfav_rec.salvage_value,
395 l_vfav_rec.percent_salvage_value,
396 l_vfav_rec.depreciation_category,
397 l_vfav_rec.deprn_start_date,
398 l_vfav_rec.deprn_method_code,
399 l_vfav_rec.rate_adjustment_factor,
400 l_vfav_rec.basic_rate,
401 l_vfav_rec.adjusted_rate,
402 l_vfav_rec.start_date_active,
403 l_vfav_rec.end_date_active,
404 l_vfav_rec.status,
405 l_vfav_rec.primary_uom_code,
406 l_vfav_rec.recoverable_cost,
407 --Bug# 2981308 :
408 l_vfav_rec.asset_key_id,
409 l_vfav_rec.attribute_category,
410 l_vfav_rec.attribute1,
411 l_vfav_rec.attribute2,
412 l_vfav_rec.attribute3,
413 l_vfav_rec.attribute4,
414 l_vfav_rec.attribute5,
415 l_vfav_rec.attribute6,
416 l_vfav_rec.attribute7,
417 l_vfav_rec.attribute8,
418 l_vfav_rec.attribute9,
419 l_vfav_rec.attribute10,
420 l_vfav_rec.attribute11,
421 l_vfav_rec.attribute12,
422 l_vfav_rec.attribute13,
423 l_vfav_rec.attribute14,
424 l_vfav_rec.attribute15,
425 l_vfav_rec.created_by,
426 l_vfav_rec.creation_date,
427 l_vfav_rec.last_updated_by,
428 l_vfav_rec.last_update_date,
429 l_vfav_rec.last_update_login,
430 --Added by dpsingh for LE uptake
431 l_vfav_rec.legal_entity_id;
432 x_no_data_found := okl_contract_asset_hv_pk_csr%NOTFOUND;
433 CLOSE okl_contract_asset_hv_pk_csr;
434 RETURN(l_vfav_rec);
435 END get_rec;
436 ------------------------------------------------------------------
437 -- This version of get_rec sets error messages if no data found --
438 ------------------------------------------------------------------
439 FUNCTION get_rec (
440 p_vfav_rec IN vfav_rec_type,
441 x_return_status OUT NOCOPY VARCHAR2
442 ) RETURN vfav_rec_type IS
443 l_vfav_rec vfav_rec_type;
444 l_row_notfound BOOLEAN := TRUE;
445 l_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
446 BEGIN
447 l_vfav_rec := get_rec(p_vfav_rec, l_row_notfound);
448 IF (l_row_notfound) THEN
449 x_return_status := OKL_API.G_RET_STS_ERROR;
450 END IF;
451 x_return_status:= l_return_status;
452 RETURN(l_vfav_rec);
453 END get_rec;
454 -----------------------------------------------------------
455 -- So we don't have to pass an "l_row_notfound" variable --
456 -----------------------------------------------------------
457 FUNCTION get_rec (
458 p_vfav_rec IN vfav_rec_type
459 ) RETURN vfav_rec_type IS
460 l_row_not_found BOOLEAN := TRUE;
461 BEGIN
462 RETURN(get_rec(p_vfav_rec, l_row_not_found));
463 END get_rec;
464 ---------------------------------------------------------------------------
465 -- FUNCTION get_rec for: OKL_CONTRACT_ASSET_H
466 ---------------------------------------------------------------------------
467 FUNCTION get_rec (
468 p_vfa_rec IN vfa_rec_type,
469 x_no_data_found OUT NOCOPY BOOLEAN
470 ) RETURN vfa_rec_type IS
471 CURSOR okl_contract_asset_h_pk_csr (p_id IN NUMBER) IS
472 SELECT ID,
473 MAJOR_VERSION,
474 OBJECT_VERSION_NUMBER,
475 DNZ_CHR_ID,
476 FA_CLE_ID,
477 NAME,
478 DESCRIPTION,
479 ASSET_ID,
480 ASSET_NUMBER,
481 CORPORATE_BOOK,
482 LIFE_IN_MONTHS,
483 ORIGINAL_COST,
484 COST,
485 ADJUSTED_COST,
486 CURRENT_UNITS,
487 NEW_USED,
488 IN_SERVICE_DATE,
489 MODEL_NUMBER,
490 ASSET_TYPE,
491 SALVAGE_VALUE,
492 PERCENT_SALVAGE_VALUE,
493 DEPRECIATION_CATEGORY,
494 DEPRN_START_DATE,
495 DEPRN_METHOD_CODE,
496 RATE_ADJUSTMENT_FACTOR,
497 BASIC_RATE,
498 ADJUSTED_RATE,
499 START_DATE_ACTIVE,
500 END_DATE_ACTIVE,
501 STATUS,
502 PRIMARY_UOM_CODE,
503 RECOVERABLE_COST,
504 --Bug# 2981308 :
505 ASSET_KEY_ID,
506 ATTRIBUTE_CATEGORY,
507 ATTRIBUTE1,
508 ATTRIBUTE2,
509 ATTRIBUTE3,
510 ATTRIBUTE4,
511 ATTRIBUTE5,
512 ATTRIBUTE6,
513 ATTRIBUTE7,
514 ATTRIBUTE8,
515 ATTRIBUTE9,
516 ATTRIBUTE10,
517 ATTRIBUTE11,
518 ATTRIBUTE12,
519 ATTRIBUTE13,
520 ATTRIBUTE14,
521 ATTRIBUTE15,
522 CREATED_BY,
523 CREATION_DATE,
524 LAST_UPDATED_BY,
525 LAST_UPDATE_DATE,
526 LAST_UPDATE_LOGIN,
527 --Added by dpsingh for LE uptake
528 LEGAL_ENTITY_ID
529 FROM Okl_Contract_Asset_H
530 WHERE Okl_Contract_Asset_H.ID = p_id;
531 l_okl_contract_asset_h_pk okl_contract_asset_h_pk_csr%ROWTYPE;
532 l_vfa_rec vfa_rec_type;
533 BEGIN
534 x_no_data_found := TRUE;
535 -- Get current database values
536 OPEN okl_contract_asset_h_pk_csr(p_vfa_rec.id);
537 FETCH okl_contract_asset_h_pk_csr INTO
538 l_vfa_rec.id,
539 l_vfa_rec.major_version,
540 l_vfa_rec.object_version_number,
541 l_vfa_rec.dnz_chr_id,
542 l_vfa_rec.fa_cle_id,
543 l_vfa_rec.name,
544 l_vfa_rec.description,
545 l_vfa_rec.asset_id,
546 l_vfa_rec.asset_number,
547 l_vfa_rec.corporate_book,
548 l_vfa_rec.life_in_months,
549 l_vfa_rec.original_cost,
550 l_vfa_rec.cost,
551 l_vfa_rec.adjusted_cost,
552 l_vfa_rec.current_units,
553 l_vfa_rec.new_used,
554 l_vfa_rec.in_service_date,
555 l_vfa_rec.model_number,
556 l_vfa_rec.asset_type,
557 l_vfa_rec.salvage_value,
558 l_vfa_rec.percent_salvage_value,
559 l_vfa_rec.depreciation_category,
560 l_vfa_rec.deprn_start_date,
561 l_vfa_rec.deprn_method_code,
562 l_vfa_rec.rate_adjustment_factor,
563 l_vfa_rec.basic_rate,
564 l_vfa_rec.adjusted_rate,
565 l_vfa_rec.start_date_active,
566 l_vfa_rec.end_date_active,
567 l_vfa_rec.status,
568 l_vfa_rec.primary_uom_code,
569 l_vfa_rec.recoverable_cost,
570 --Bug# 2981308
571 l_vfa_rec.asset_key_id,
572 l_vfa_rec.attribute_category,
573 l_vfa_rec.attribute1,
574 l_vfa_rec.attribute2,
575 l_vfa_rec.attribute3,
576 l_vfa_rec.attribute4,
577 l_vfa_rec.attribute5,
578 l_vfa_rec.attribute6,
579 l_vfa_rec.attribute7,
580 l_vfa_rec.attribute8,
581 l_vfa_rec.attribute9,
582 l_vfa_rec.attribute10,
583 l_vfa_rec.attribute11,
584 l_vfa_rec.attribute12,
585 l_vfa_rec.attribute13,
586 l_vfa_rec.attribute14,
587 l_vfa_rec.attribute15,
588 l_vfa_rec.created_by,
589 l_vfa_rec.creation_date,
590 l_vfa_rec.last_updated_by,
591 l_vfa_rec.last_update_date,
592 l_vfa_rec.last_update_login,
593 --Added by dpsingh for LE uptake
594 l_vfa_rec.legal_entity_id;
595 x_no_data_found := okl_contract_asset_h_pk_csr%NOTFOUND;
596 CLOSE okl_contract_asset_h_pk_csr;
597 RETURN(l_vfa_rec);
598 END get_rec;
599 ------------------------------------------------------------------
600 -- This version of get_rec sets error messages if no data found --
601 ------------------------------------------------------------------
602 FUNCTION get_rec (
603 p_vfa_rec IN vfa_rec_type,
604 x_return_status OUT NOCOPY VARCHAR2
605 ) RETURN vfa_rec_type IS
606 l_vfa_rec vfa_rec_type;
607 l_row_notfound BOOLEAN := TRUE;
608 l_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
609 BEGIN
610 l_vfa_rec := get_rec(p_vfa_rec, l_row_notfound);
611 IF (l_row_notfound) THEN
612 x_return_status := OKL_API.G_RET_STS_ERROR;
613 END IF;
614 x_return_status := l_return_status;
615 RETURN(l_vfa_rec);
616 END get_rec;
617 -----------------------------------------------------------
618 -- So we don't have to pass an "l_row_notfound" variable --
619 -----------------------------------------------------------
620 FUNCTION get_rec (
621 p_vfa_rec IN vfa_rec_type
622 ) RETURN vfa_rec_type IS
623 l_row_not_found BOOLEAN := TRUE;
624 BEGIN
625 RETURN(get_rec(p_vfa_rec, l_row_not_found));
626 END get_rec;
627 ---------------------------------------------------------------------------
628 -- FUNCTION null_out_defaults for: OKL_CONTRACT_ASSET_HV
629 ---------------------------------------------------------------------------
630 FUNCTION null_out_defaults (
631 p_vfav_rec IN vfav_rec_type
632 ) RETURN vfav_rec_type IS
633 l_vfav_rec vfav_rec_type := p_vfav_rec;
634 BEGIN
635 IF (l_vfav_rec.id = OKL_API.G_MISS_NUM ) THEN
636 l_vfav_rec.id := NULL;
637 END IF;
638 IF (l_vfav_rec.major_version = OKL_API.G_MISS_NUM ) THEN
639 l_vfav_rec.major_version := NULL;
640 END IF;
641 IF (l_vfav_rec.object_version_number = OKL_API.G_MISS_NUM ) THEN
642 l_vfav_rec.object_version_number := NULL;
643 END IF;
644 IF (l_vfav_rec.dnz_chr_id = OKL_API.G_MISS_NUM ) THEN
645 l_vfav_rec.dnz_chr_id := NULL;
646 END IF;
647 IF (l_vfav_rec.fa_cle_id = OKL_API.G_MISS_NUM ) THEN
648 l_vfav_rec.fa_cle_id := NULL;
649 END IF;
650 IF (l_vfav_rec.name = OKL_API.G_MISS_CHAR ) THEN
651 l_vfav_rec.name := NULL;
652 END IF;
653 IF (l_vfav_rec.description = OKL_API.G_MISS_CHAR ) THEN
654 l_vfav_rec.description := NULL;
655 END IF;
656 IF (l_vfav_rec.asset_id = OKL_API.G_MISS_NUM ) THEN
657 l_vfav_rec.asset_id := NULL;
658 END IF;
659 IF (l_vfav_rec.asset_number = OKL_API.G_MISS_CHAR ) THEN
660 l_vfav_rec.asset_number := NULL;
661 END IF;
662 IF (l_vfav_rec.corporate_book = OKL_API.G_MISS_CHAR ) THEN
663 l_vfav_rec.corporate_book := NULL;
664 END IF;
665 IF (l_vfav_rec.life_in_months = OKL_API.G_MISS_NUM ) THEN
666 l_vfav_rec.life_in_months := NULL;
667 END IF;
668 IF (l_vfav_rec.original_cost = OKL_API.G_MISS_NUM ) THEN
669 l_vfav_rec.original_cost := NULL;
670 END IF;
671 IF (l_vfav_rec.cost = OKL_API.G_MISS_NUM ) THEN
672 l_vfav_rec.cost := NULL;
673 END IF;
674 IF (l_vfav_rec.adjusted_cost = OKL_API.G_MISS_NUM ) THEN
675 l_vfav_rec.adjusted_cost := NULL;
676 END IF;
677 IF (l_vfav_rec.current_units = OKL_API.G_MISS_NUM ) THEN
678 l_vfav_rec.current_units := NULL;
679 END IF;
680 IF (l_vfav_rec.new_used = OKL_API.G_MISS_CHAR ) THEN
681 l_vfav_rec.new_used := NULL;
682 END IF;
683 IF (l_vfav_rec.in_service_date = OKL_API.G_MISS_DATE ) THEN
684 l_vfav_rec.in_service_date := NULL;
685 END IF;
686 IF (l_vfav_rec.model_number = OKL_API.G_MISS_CHAR ) THEN
687 l_vfav_rec.model_number := NULL;
688 END IF;
689 IF (l_vfav_rec.asset_type = OKL_API.G_MISS_CHAR ) THEN
690 l_vfav_rec.asset_type := NULL;
691 END IF;
692 IF (l_vfav_rec.salvage_value = OKL_API.G_MISS_NUM ) THEN
693 l_vfav_rec.salvage_value := NULL;
694 END IF;
695 IF (l_vfav_rec.percent_salvage_value = OKL_API.G_MISS_NUM ) THEN
696 l_vfav_rec.percent_salvage_value := NULL;
697 END IF;
698 IF (l_vfav_rec.depreciation_category = OKL_API.G_MISS_NUM ) THEN
699 l_vfav_rec.depreciation_category := NULL;
700 END IF;
701 IF (l_vfav_rec.deprn_start_date = OKL_API.G_MISS_DATE ) THEN
702 l_vfav_rec.deprn_start_date := NULL;
703 END IF;
704 IF (l_vfav_rec.deprn_method_code = OKL_API.G_MISS_CHAR ) THEN
705 l_vfav_rec.deprn_method_code := NULL;
706 END IF;
707 IF (l_vfav_rec.rate_adjustment_factor = OKL_API.G_MISS_NUM ) THEN
708 l_vfav_rec.rate_adjustment_factor := NULL;
709 END IF;
710 IF (l_vfav_rec.basic_rate = OKL_API.G_MISS_NUM ) THEN
711 l_vfav_rec.basic_rate := NULL;
712 END IF;
713 IF (l_vfav_rec.adjusted_rate = OKL_API.G_MISS_NUM ) THEN
714 l_vfav_rec.adjusted_rate := NULL;
715 END IF;
716 IF (l_vfav_rec.start_date_active = OKL_API.G_MISS_DATE ) THEN
717 l_vfav_rec.start_date_active := NULL;
718 END IF;
719 IF (l_vfav_rec.end_date_active = OKL_API.G_MISS_DATE ) THEN
720 l_vfav_rec.end_date_active := NULL;
721 END IF;
722 IF (l_vfav_rec.status = OKL_API.G_MISS_CHAR ) THEN
723 l_vfav_rec.status := NULL;
724 END IF;
725 IF (l_vfav_rec.primary_uom_code = OKL_API.G_MISS_CHAR ) THEN
726 l_vfav_rec.primary_uom_code := NULL;
727 END IF;
728 IF (l_vfav_rec.recoverable_cost = OKL_API.G_MISS_NUM ) THEN
729 l_vfav_rec.recoverable_cost := NULL;
730 END IF;
731 --Bug# 2981308:
732 IF (l_vfav_rec.asset_key_id = OKL_API.G_MISS_NUM ) THEN
733 l_vfav_rec.asset_key_id := NULL;
734 END IF;
735 IF (l_vfav_rec.attribute_category = OKL_API.G_MISS_CHAR ) THEN
736 l_vfav_rec.attribute_category := NULL;
737 END IF;
738 IF (l_vfav_rec.attribute1 = OKL_API.G_MISS_CHAR ) THEN
739 l_vfav_rec.attribute1 := NULL;
740 END IF;
741 IF (l_vfav_rec.attribute2 = OKL_API.G_MISS_CHAR ) THEN
742 l_vfav_rec.attribute2 := NULL;
743 END IF;
744 IF (l_vfav_rec.attribute3 = OKL_API.G_MISS_CHAR ) THEN
745 l_vfav_rec.attribute3 := NULL;
746 END IF;
747 IF (l_vfav_rec.attribute4 = OKL_API.G_MISS_CHAR ) THEN
748 l_vfav_rec.attribute4 := NULL;
749 END IF;
750 IF (l_vfav_rec.attribute5 = OKL_API.G_MISS_CHAR ) THEN
751 l_vfav_rec.attribute5 := NULL;
752 END IF;
753 IF (l_vfav_rec.attribute6 = OKL_API.G_MISS_CHAR ) THEN
754 l_vfav_rec.attribute6 := NULL;
755 END IF;
756 IF (l_vfav_rec.attribute7 = OKL_API.G_MISS_CHAR ) THEN
757 l_vfav_rec.attribute7 := NULL;
758 END IF;
759 IF (l_vfav_rec.attribute8 = OKL_API.G_MISS_CHAR ) THEN
760 l_vfav_rec.attribute8 := NULL;
761 END IF;
762 IF (l_vfav_rec.attribute9 = OKL_API.G_MISS_CHAR ) THEN
763 l_vfav_rec.attribute9 := NULL;
764 END IF;
765 IF (l_vfav_rec.attribute10 = OKL_API.G_MISS_CHAR ) THEN
766 l_vfav_rec.attribute10 := NULL;
767 END IF;
768 IF (l_vfav_rec.attribute11 = OKL_API.G_MISS_CHAR ) THEN
769 l_vfav_rec.attribute11 := NULL;
770 END IF;
771 IF (l_vfav_rec.attribute12 = OKL_API.G_MISS_CHAR ) THEN
772 l_vfav_rec.attribute12 := NULL;
773 END IF;
774 IF (l_vfav_rec.attribute13 = OKL_API.G_MISS_CHAR ) THEN
775 l_vfav_rec.attribute13 := NULL;
776 END IF;
777 IF (l_vfav_rec.attribute14 = OKL_API.G_MISS_CHAR ) THEN
778 l_vfav_rec.attribute14 := NULL;
779 END IF;
780 IF (l_vfav_rec.attribute15 = OKL_API.G_MISS_CHAR ) THEN
781 l_vfav_rec.attribute15 := NULL;
782 END IF;
783 IF (l_vfav_rec.created_by = OKL_API.G_MISS_NUM ) THEN
784 l_vfav_rec.created_by := NULL;
785 END IF;
786 IF (l_vfav_rec.creation_date = OKL_API.G_MISS_DATE ) THEN
787 l_vfav_rec.creation_date := NULL;
788 END IF;
789 IF (l_vfav_rec.last_updated_by = OKL_API.G_MISS_NUM ) THEN
790 l_vfav_rec.last_updated_by := NULL;
791 END IF;
792 IF (l_vfav_rec.last_update_date = OKL_API.G_MISS_DATE ) THEN
793 l_vfav_rec.last_update_date := NULL;
794 END IF;
795 IF (l_vfav_rec.last_update_login = OKL_API.G_MISS_NUM ) THEN
796 l_vfav_rec.last_update_login := NULL;
797 END IF;
798 --Added by dpsingh for LE uptake
799 IF (l_vfav_rec.legal_entity_id = OKL_API.G_MISS_NUM ) THEN
800 l_vfav_rec.legal_entity_id := NULL;
801 END IF;
802 RETURN(l_vfav_rec);
803 END null_out_defaults;
804 ---------------------------------------------------------------------------
805 -- FUNCTION Validate_Attributes
806 ---------------------------------------------------------------------------
807 ---------------------------------------------------
808 -- Validate_Attributes for:OKL_CONTRACT_ASSET_HV --
809 ---------------------------------------------------
810 FUNCTION Validate_Attributes (
811 p_vfav_rec IN vfav_rec_type
812 ) RETURN VARCHAR2 IS
813 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
814 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
815 BEGIN
816 -- Call OKC_UTIL.ADD_VIEW to prepare the PL/SQL table to hold columns of view
817 OKC_UTIL.ADD_VIEW('OKL_CONTRACT_ASSET_HV', x_return_status);
818 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
819 l_return_status := x_return_status;
820 END IF;
821 IF p_vfav_rec.id = OKL_API.G_MISS_NUM OR
822 p_vfav_rec.id IS NULL THEN
823 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
824 x_return_status := OKL_API.G_RET_STS_ERROR;
825 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
826 l_return_status := x_return_status;
827 END IF;
828 ELSIF p_vfav_rec.major_version = OKL_API.G_MISS_NUM OR
829 p_vfav_rec.major_version IS NULL THEN
830 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'major_version');
831 x_return_status := OKL_API.G_RET_STS_ERROR;
832 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
833 l_return_status := x_return_status;
834 END IF;
835 ELSIF p_vfav_rec.object_version_number = OKL_API.G_MISS_NUM OR
836 p_vfav_rec.object_version_number IS NULL THEN
837 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
838 x_return_status := OKL_API.G_RET_STS_ERROR;
839 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
840 l_return_status := x_return_status;
841 END IF;
842 END IF;
843 --*******************************Hand Code ***********************************--
844 validate_dnz_chr_id(x_return_status, p_vfav_rec.dnz_chr_id);
845 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
846 l_return_status := x_return_status;
847 END IF;
848 validate_fa_cle_id(x_return_status, p_vfav_rec.fa_cle_id);
849 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
850 l_return_status := x_return_status;
851 END IF;
852
853 --Added by dpsingh
854
855 -- Validate_LE_Id
856 Validate_LE_Id(p_vfav_rec.legal_entity_id, x_return_status);
857 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
858 l_return_status := x_return_status;
859 END IF;
860 --*******************************Hand Code ***********************************--
861 RETURN(l_return_status);
862 EXCEPTION
863 WHEN OTHERS THEN
864 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
865 ,p_msg_name => G_UNEXPECTED_ERROR
866 ,p_token1 => G_SQLCODE_TOKEN
867 ,p_token1_value => SQLCODE
868 ,p_token2 => G_SQLERRM_TOKEN
869 ,p_token2_value => SQLERRM);
870 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
871 RETURN(l_return_status);
872 END Validate_Attributes;
873 ---------------------------------------------------------------------------
874 -- PROCEDURE Validate_Record
875 ---------------------------------------------------------------------------
876 -----------------------------------------------
877 -- Validate Record for:OKL_CONTRACT_ASSET_HV --
878 -----------------------------------------------
879 FUNCTION Validate_Record (p_vfav_rec IN vfav_rec_type)
880 RETURN VARCHAR2 IS
881 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
882 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
883 BEGIN
884 RETURN (l_return_status);
885 EXCEPTION
886 WHEN G_EXCEPTION_HALT_VALIDATION THEN
887 RETURN(l_return_status);
888 WHEN OTHERS THEN
889 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
890 ,p_msg_name => G_UNEXPECTED_ERROR
891 ,p_token1 => G_SQLCODE_TOKEN
892 ,p_token1_value => SQLCODE
893 ,p_token2 => G_SQLERRM_TOKEN
894 ,p_token2_value => SQLERRM);
895 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
896 RETURN(l_return_status);
897 END Validate_Record;
898 ---------------------------------------------------------------------------
899 -- PROCEDURE Migrate
900 ---------------------------------------------------------------------------
901 PROCEDURE migrate (
902 p_from IN vfav_rec_type,
903 p_to IN OUT NOCOPY vfa_rec_type
904 ) IS
905 BEGIN
906 p_to.id := p_from.id;
907 p_to.major_version := p_from.major_version;
908 p_to.object_version_number := p_from.object_version_number;
909 p_to.dnz_chr_id := p_from.dnz_chr_id;
910 p_to.fa_cle_id := p_from.fa_cle_id;
911 p_to.name := p_from.name;
912 p_to.description := p_from.description;
913 p_to.asset_id := p_from.asset_id;
914 p_to.asset_number := p_from.asset_number;
915 p_to.corporate_book := p_from.corporate_book;
916 p_to.life_in_months := p_from.life_in_months;
917 p_to.original_cost := p_from.original_cost;
918 p_to.cost := p_from.cost;
919 p_to.adjusted_cost := p_from.adjusted_cost;
920 p_to.current_units := p_from.current_units;
921 p_to.new_used := p_from.new_used;
922 p_to.in_service_date := p_from.in_service_date;
923 p_to.model_number := p_from.model_number;
924 p_to.asset_type := p_from.asset_type;
925 p_to.salvage_value := p_from.salvage_value;
926 p_to.percent_salvage_value := p_from.percent_salvage_value;
927 p_to.depreciation_category := p_from.depreciation_category;
928 p_to.deprn_start_date := p_from.deprn_start_date;
929 p_to.deprn_method_code := p_from.deprn_method_code;
930 p_to.rate_adjustment_factor := p_from.rate_adjustment_factor;
931 p_to.basic_rate := p_from.basic_rate;
932 p_to.adjusted_rate := p_from.adjusted_rate;
933 p_to.start_date_active := p_from.start_date_active;
934 p_to.end_date_active := p_from.end_date_active;
935 p_to.status := p_from.status;
936 p_to.primary_uom_code := p_from.primary_uom_code;
937 p_to.recoverable_cost := p_from.recoverable_cost;
938 --Bug# 2981308 :
939 p_to.asset_key_id := p_from.asset_key_id;
940 p_to.attribute_category := p_from.attribute_category;
941 p_to.attribute1 := p_from.attribute1;
942 p_to.attribute2 := p_from.attribute2;
943 p_to.attribute3 := p_from.attribute3;
944 p_to.attribute4 := p_from.attribute4;
945 p_to.attribute5 := p_from.attribute5;
946 p_to.attribute6 := p_from.attribute6;
947 p_to.attribute7 := p_from.attribute7;
948 p_to.attribute8 := p_from.attribute8;
949 p_to.attribute9 := p_from.attribute9;
950 p_to.attribute10 := p_from.attribute10;
951 p_to.attribute11 := p_from.attribute11;
952 p_to.attribute12 := p_from.attribute12;
953 p_to.attribute13 := p_from.attribute13;
954 p_to.attribute14 := p_from.attribute14;
955 p_to.attribute15 := p_from.attribute15;
956 p_to.created_by := p_from.created_by;
957 p_to.creation_date := p_from.creation_date;
958 p_to.last_updated_by := p_from.last_updated_by;
959 p_to.last_update_date := p_from.last_update_date;
960 p_to.last_update_login := p_from.last_update_login;
961 --Added by dpsingh for LE uptake
962 p_to.legal_entity_id := p_from.legal_entity_id;
963 END migrate;
964 PROCEDURE migrate (
965 p_from IN vfa_rec_type,
966 p_to IN OUT NOCOPY vfav_rec_type
967 ) IS
968 BEGIN
969 p_to.id := p_from.id;
970 p_to.major_version := p_from.major_version;
971 p_to.object_version_number := p_from.object_version_number;
972 p_to.dnz_chr_id := p_from.dnz_chr_id;
973 p_to.fa_cle_id := p_from.fa_cle_id;
974 p_to.name := p_from.name;
975 p_to.description := p_from.description;
976 p_to.asset_id := p_from.asset_id;
977 p_to.asset_number := p_from.asset_number;
978 p_to.corporate_book := p_from.corporate_book;
979 p_to.life_in_months := p_from.life_in_months;
980 p_to.original_cost := p_from.original_cost;
981 p_to.cost := p_from.cost;
982 p_to.adjusted_cost := p_from.adjusted_cost;
983 p_to.current_units := p_from.current_units;
984 p_to.new_used := p_from.new_used;
985 p_to.in_service_date := p_from.in_service_date;
986 p_to.model_number := p_from.model_number;
987 p_to.asset_type := p_from.asset_type;
988 p_to.salvage_value := p_from.salvage_value;
989 p_to.percent_salvage_value := p_from.percent_salvage_value;
990 p_to.depreciation_category := p_from.depreciation_category;
991 p_to.deprn_start_date := p_from.deprn_start_date;
992 p_to.deprn_method_code := p_from.deprn_method_code;
993 p_to.rate_adjustment_factor := p_from.rate_adjustment_factor;
994 p_to.basic_rate := p_from.basic_rate;
995 p_to.adjusted_rate := p_from.adjusted_rate;
996 p_to.start_date_active := p_from.start_date_active;
997 p_to.end_date_active := p_from.end_date_active;
998 p_to.status := p_from.status;
999 p_to.primary_uom_code := p_from.primary_uom_code;
1000 p_to.recoverable_cost := p_from.recoverable_cost;
1001 --Bug# 2981308
1002 p_to.asset_key_id := p_from.asset_key_id;
1003 p_to.attribute_category := p_from.attribute_category;
1004 p_to.attribute1 := p_from.attribute1;
1005 p_to.attribute2 := p_from.attribute2;
1006 p_to.attribute3 := p_from.attribute3;
1007 p_to.attribute4 := p_from.attribute4;
1008 p_to.attribute5 := p_from.attribute5;
1009 p_to.attribute6 := p_from.attribute6;
1010 p_to.attribute7 := p_from.attribute7;
1011 p_to.attribute8 := p_from.attribute8;
1012 p_to.attribute9 := p_from.attribute9;
1013 p_to.attribute10 := p_from.attribute10;
1014 p_to.attribute11 := p_from.attribute11;
1015 p_to.attribute12 := p_from.attribute12;
1016 p_to.attribute13 := p_from.attribute13;
1017 p_to.attribute14 := p_from.attribute14;
1018 p_to.attribute15 := p_from.attribute15;
1019 p_to.created_by := p_from.created_by;
1020 p_to.creation_date := p_from.creation_date;
1021 p_to.last_updated_by := p_from.last_updated_by;
1022 p_to.last_update_date := p_from.last_update_date;
1023 p_to.last_update_login := p_from.last_update_login;
1024 --Added by dpsingh for LE uptake
1025 p_to.legal_entity_id := p_from.legal_entity_id;
1026 END migrate;
1027 ---------------------------------------------------------------------------
1028 -- PROCEDURE validate_row
1029 ---------------------------------------------------------------------------
1030 --------------------------------------------
1031 -- validate_row for:OKL_CONTRACT_ASSET_HV --
1032 --------------------------------------------
1033 PROCEDURE validate_row(
1034 p_api_version IN NUMBER,
1035 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1036 x_return_status OUT NOCOPY VARCHAR2,
1037 x_msg_count OUT NOCOPY NUMBER,
1038 x_msg_data OUT NOCOPY VARCHAR2,
1039 p_vfav_rec IN vfav_rec_type) IS
1040
1041 l_api_version CONSTANT NUMBER := 1;
1042 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1043 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1044 l_vfav_rec vfav_rec_type := p_vfav_rec;
1045 l_vfa_rec vfa_rec_type;
1046 BEGIN
1047 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1048 G_PKG_NAME,
1049 p_init_msg_list,
1050 l_api_version,
1051 p_api_version,
1052 '_PVT',
1053 x_return_status);
1054 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1055 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1056 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1057 RAISE OKL_API.G_EXCEPTION_ERROR;
1058 END IF;
1059 --- Validate all non-missing attributes (Item Level Validation)
1060 l_return_status := Validate_Attributes(l_vfav_rec);
1061 --- If any errors happen abort API
1062 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1063 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1064 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1065 RAISE OKL_API.G_EXCEPTION_ERROR;
1066 END IF;
1067 l_return_status := Validate_Record(l_vfav_rec);
1068 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1069 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1070 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1071 RAISE OKL_API.G_EXCEPTION_ERROR;
1072 END IF;
1073 x_return_status := l_return_status;
1074 EXCEPTION
1075 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1076 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1077 (
1078 l_api_name,
1079 G_PKG_NAME,
1080 'OKL_API.G_RET_STS_ERROR',
1081 x_msg_count,
1082 x_msg_data,
1083 '_PVT'
1084 );
1085 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1086 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1087 (
1088 l_api_name,
1089 G_PKG_NAME,
1090 'OKL_API.G_RET_STS_UNEXP_ERROR',
1091 x_msg_count,
1092 x_msg_data,
1093 '_PVT'
1094 );
1095 WHEN OTHERS THEN
1096 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1097 (
1098 l_api_name,
1099 G_PKG_NAME,
1100 'OTHERS',
1101 x_msg_count,
1102 x_msg_data,
1103 '_PVT'
1104 );
1105 END validate_row;
1106 -------------------------------------------------------
1107 -- PL/SQL TBL validate_row for:OKL_CONTRACT_ASSET_HV --
1108 -------------------------------------------------------
1109 PROCEDURE validate_row(
1110 p_api_version IN NUMBER,
1111 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1112 x_return_status OUT NOCOPY VARCHAR2,
1113 x_msg_count OUT NOCOPY NUMBER,
1114 x_msg_data OUT NOCOPY VARCHAR2,
1115 p_vfav_tbl IN vfav_tbl_type) IS
1116
1117 l_api_version CONSTANT NUMBER := 1;
1118 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
1119 i NUMBER := 0;
1120 BEGIN
1121 OKL_API.init_msg_list(p_init_msg_list);
1122 -- Make sure PL/SQL table has records in it before passing
1123 IF (p_vfav_tbl.COUNT > 0) THEN
1124 i := p_vfav_tbl.FIRST;
1125 LOOP
1126 validate_row (
1127 p_api_version => p_api_version,
1128 p_init_msg_list => p_init_msg_list,
1129 x_return_status => x_return_status,
1130 x_msg_count => x_msg_count,
1131 x_msg_data => x_msg_data,
1132 p_vfav_rec => p_vfav_tbl(i));
1133 EXIT WHEN (i = p_vfav_tbl.LAST);
1134 i := p_vfav_tbl.NEXT(i);
1135 END LOOP;
1136 END IF;
1137 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1138 EXCEPTION
1139 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1140 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1141 (
1142 l_api_name,
1143 G_PKG_NAME,
1144 'OKL_API.G_RET_STS_ERROR',
1145 x_msg_count,
1146 x_msg_data,
1147 '_PVT'
1148 );
1149 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1150 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1151 (
1152 l_api_name,
1153 G_PKG_NAME,
1154 'OKL_API.G_RET_STS_UNEXP_ERROR',
1155 x_msg_count,
1156 x_msg_data,
1157 '_PVT'
1158 );
1159 WHEN OTHERS THEN
1160 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1161 (
1162 l_api_name,
1163 G_PKG_NAME,
1164 'OTHERS',
1165 x_msg_count,
1166 x_msg_data,
1167 '_PVT'
1168 );
1169 END validate_row;
1170 ---------------------------------------------------------------------------
1171 -- PROCEDURE insert_row
1172 ---------------------------------------------------------------------------
1173 ------------------------------------------
1174 -- insert_row for:OKL_CONTRACT_ASSET_HV --
1175 ------------------------------------------
1176 PROCEDURE insert_row(
1177 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1178 x_return_status OUT NOCOPY VARCHAR2,
1179 x_msg_count OUT NOCOPY NUMBER,
1180 x_msg_data OUT NOCOPY VARCHAR2,
1181 p_vfa_rec IN vfa_rec_type,
1182 x_vfa_rec OUT NOCOPY vfa_rec_type) IS
1183
1184 l_api_version CONSTANT NUMBER := 1;
1185 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1186 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1187 l_vfa_rec vfa_rec_type := p_vfa_rec;
1188 l_def_vfa_rec vfa_rec_type;
1189 ----------------------------------------------
1190 -- Set_Attributes for:OKL_CONTRACT_ASSET_HV --
1191 ----------------------------------------------
1192 FUNCTION Set_Attributes (
1193 p_vfa_rec IN vfa_rec_type,
1194 x_vfa_rec OUT NOCOPY vfa_rec_type
1195 ) RETURN VARCHAR2 IS
1196 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1197 BEGIN
1198 x_vfa_rec := p_vfa_rec;
1199 RETURN(l_return_status);
1200 END Set_Attributes;
1201 BEGIN
1202 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1203 p_init_msg_list,
1204 '_PVT',
1205 x_return_status);
1206 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1207 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1208 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1209 RAISE OKL_API.G_EXCEPTION_ERROR;
1210 END IF;
1211 --- Setting item atributes
1212 l_return_status := Set_Attributes(
1213 p_vfa_rec, -- IN
1214 l_vfa_rec); -- OUT
1215 --- If any errors happen abort API
1216 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1217 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1218 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1219 RAISE OKL_API.G_EXCEPTION_ERROR;
1220 END IF;
1221 INSERT INTO OKL_CONTRACT_ASSET_H(
1222 id,
1223 major_version,
1224 object_version_number,
1225 dnz_chr_id,
1226 fa_cle_id,
1227 name,
1228 description,
1229 asset_id,
1230 asset_number,
1231 corporate_book,
1232 life_in_months,
1233 original_cost,
1234 cost,
1235 adjusted_cost,
1236 current_units,
1237 new_used,
1238 in_service_date,
1239 model_number,
1240 asset_type,
1241 salvage_value,
1242 percent_salvage_value,
1243 depreciation_category,
1244 deprn_start_date,
1245 deprn_method_code,
1246 rate_adjustment_factor,
1247 basic_rate,
1248 adjusted_rate,
1249 start_date_active,
1250 end_date_active,
1251 status,
1252 primary_uom_code,
1253 recoverable_cost,
1254 --Bug# 2981308
1255 asset_key_id,
1256 attribute_category,
1257 attribute1,
1258 attribute2,
1259 attribute3,
1260 attribute4,
1261 attribute5,
1262 attribute6,
1263 attribute7,
1264 attribute8,
1265 attribute9,
1266 attribute10,
1267 attribute11,
1268 attribute12,
1269 attribute13,
1270 attribute14,
1271 attribute15,
1272 created_by,
1273 creation_date,
1274 last_updated_by,
1275 last_update_date,
1276 last_update_login,
1277 --Added by dpsingh for LE uptake
1278 legal_entity_id)
1279 VALUES (
1280 l_vfa_rec.id,
1281 l_vfa_rec.major_version,
1282 l_vfa_rec.object_version_number,
1283 l_vfa_rec.dnz_chr_id,
1284 l_vfa_rec.fa_cle_id,
1285 l_vfa_rec.name,
1286 l_vfa_rec.description,
1287 l_vfa_rec.asset_id,
1288 l_vfa_rec.asset_number,
1289 l_vfa_rec.corporate_book,
1290 l_vfa_rec.life_in_months,
1291 l_vfa_rec.original_cost,
1292 l_vfa_rec.cost,
1293 l_vfa_rec.adjusted_cost,
1294 l_vfa_rec.current_units,
1295 l_vfa_rec.new_used,
1296 l_vfa_rec.in_service_date,
1297 l_vfa_rec.model_number,
1298 l_vfa_rec.asset_type,
1299 l_vfa_rec.salvage_value,
1300 l_vfa_rec.percent_salvage_value,
1301 l_vfa_rec.depreciation_category,
1302 l_vfa_rec.deprn_start_date,
1303 l_vfa_rec.deprn_method_code,
1304 l_vfa_rec.rate_adjustment_factor,
1305 l_vfa_rec.basic_rate,
1306 l_vfa_rec.adjusted_rate,
1307 l_vfa_rec.start_date_active,
1308 l_vfa_rec.end_date_active,
1309 l_vfa_rec.status,
1310 l_vfa_rec.primary_uom_code,
1311 l_vfa_rec.recoverable_cost,
1312 --bug# 2981308
1313 l_vfa_rec.asset_key_id,
1314 l_vfa_rec.attribute_category,
1315 l_vfa_rec.attribute1,
1316 l_vfa_rec.attribute2,
1317 l_vfa_rec.attribute3,
1318 l_vfa_rec.attribute4,
1319 l_vfa_rec.attribute5,
1320 l_vfa_rec.attribute6,
1321 l_vfa_rec.attribute7,
1322 l_vfa_rec.attribute8,
1323 l_vfa_rec.attribute9,
1324 l_vfa_rec.attribute10,
1325 l_vfa_rec.attribute11,
1326 l_vfa_rec.attribute12,
1327 l_vfa_rec.attribute13,
1328 l_vfa_rec.attribute14,
1329 l_vfa_rec.attribute15,
1330 l_vfa_rec.created_by,
1331 l_vfa_rec.creation_date,
1332 l_vfa_rec.last_updated_by,
1333 l_vfa_rec.last_update_date,
1334 l_vfa_rec.last_update_login,
1335 --Added by dpsingh for LE uptake
1336 l_vfa_rec.legal_entity_id);
1337 -- Set OUT values
1338 x_vfa_rec := l_vfa_rec;
1339 x_return_status := l_return_status;
1340 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1341 EXCEPTION
1342 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1343 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1344 (
1345 l_api_name,
1346 G_PKG_NAME,
1347 'OKL_API.G_RET_STS_ERROR',
1348 x_msg_count,
1349 x_msg_data,
1350 '_PVT'
1351 );
1352 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1353 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1354 (
1355 l_api_name,
1356 G_PKG_NAME,
1357 'OKL_API.G_RET_STS_UNEXP_ERROR',
1358 x_msg_count,
1359 x_msg_data,
1360 '_PVT'
1361 );
1362 WHEN OTHERS THEN
1363 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1364 (
1365 l_api_name,
1366 G_PKG_NAME,
1367 'OTHERS',
1368 x_msg_count,
1369 x_msg_data,
1370 '_PVT'
1371 );
1372 END insert_row;
1373 ---------------------------------------------
1374 -- insert_row for :OKL_SUPP_INVOICE_DTLS_V --
1375 ---------------------------------------------
1376 PROCEDURE insert_row(
1377 p_api_version IN NUMBER,
1378 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1379 x_return_status OUT NOCOPY VARCHAR2,
1380 x_msg_count OUT NOCOPY NUMBER,
1381 x_msg_data OUT NOCOPY VARCHAR2,
1382 p_vfav_rec IN vfav_rec_type,
1383 x_vfav_rec OUT NOCOPY vfav_rec_type) IS
1384
1385 l_api_version CONSTANT NUMBER := 1;
1386 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1387 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1388 l_vfav_rec vfav_rec_type := p_vfav_rec;
1389 l_def_vfav_rec vfav_rec_type;
1390 l_vfa_rec vfa_rec_type;
1391 lx_vfa_rec vfa_rec_type;
1392 -------------------------------
1393 -- FUNCTION fill_who_columns --
1394 -------------------------------
1395 FUNCTION fill_who_columns (
1396 p_vfav_rec IN vfav_rec_type
1397 ) RETURN vfav_rec_type IS
1398 l_vfav_rec vfav_rec_type := p_vfav_rec;
1399 BEGIN
1400 l_vfav_rec.CREATION_DATE := SYSDATE;
1401 l_vfav_rec.CREATED_BY := FND_GLOBAL.USER_ID;
1402 l_vfav_rec.LAST_UPDATE_DATE := l_vfav_rec.CREATION_DATE;
1403 l_vfav_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1404 l_vfav_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
1405 RETURN(l_vfav_rec);
1406 END fill_who_columns;
1407 ------------------------------------------------
1408 -- Set_Attributes for:OKL_CONTRACT_ASSET_HV --
1409 ------------------------------------------------
1410 FUNCTION Set_Attributes (
1411 p_vfav_rec IN vfav_rec_type,
1412 x_vfav_rec OUT NOCOPY vfav_rec_type
1413 ) RETURN VARCHAR2 IS
1414 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1415 BEGIN
1416 x_vfav_rec := p_vfav_rec;
1417 x_vfav_rec.OBJECT_VERSION_NUMBER := 1;
1418 RETURN(l_return_status);
1419 END Set_Attributes;
1420 BEGIN
1421 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1422 G_PKG_NAME,
1423 p_init_msg_list,
1424 l_api_version,
1425 p_api_version,
1426 '_PVT',
1427 x_return_status);
1428 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1429 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1430 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1431 RAISE OKL_API.G_EXCEPTION_ERROR;
1432 END IF;
1433 l_vfav_rec := null_out_defaults(p_vfav_rec);
1434 -- Set primary key value
1435 l_vfav_rec.ID := get_seq_id;
1436 -- Setting item attributes
1437 l_return_Status := Set_Attributes(
1438 l_vfav_rec, -- IN
1439 l_def_vfav_rec); -- OUT
1440 --- If any errors happen abort API
1441 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1442 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1443 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1444 RAISE OKL_API.G_EXCEPTION_ERROR;
1445 END IF;
1446 l_def_vfav_rec := fill_who_columns(l_def_vfav_rec);
1447 --- Validate all non-missing attributes (Item Level Validation)
1448 l_return_status := Validate_Attributes(l_def_vfav_rec);
1449 --- If any errors happen abort API
1450 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1451 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1452 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1453 RAISE OKL_API.G_EXCEPTION_ERROR;
1454 END IF;
1455 l_return_status := Validate_Record(l_def_vfav_rec);
1456 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1457 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1458 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1459 RAISE OKL_API.G_EXCEPTION_ERROR;
1460 END IF;
1461 -----------------------------------------
1462 -- Move VIEW record to "Child" records --
1463 -----------------------------------------
1464 migrate(l_def_vfav_rec, l_vfa_rec);
1465 -----------------------------------------------
1466 -- Call the INSERT_ROW for each child record --
1467 -----------------------------------------------
1468 insert_row(
1469 p_init_msg_list,
1470 l_return_status,
1471 x_msg_count,
1472 x_msg_data,
1473 l_vfa_rec,
1474 lx_vfa_rec
1475 );
1476 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1477 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1478 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1479 RAISE OKL_API.G_EXCEPTION_ERROR;
1480 END IF;
1481 migrate(lx_vfa_rec, l_def_vfav_rec);
1482 -- Set OUT values
1483 x_vfav_rec := l_def_vfav_rec;
1484 x_return_status := l_return_status;
1485 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1486 EXCEPTION
1487 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1488 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1489 (
1490 l_api_name,
1491 G_PKG_NAME,
1492 'OKL_API.G_RET_STS_ERROR',
1493 x_msg_count,
1494 x_msg_data,
1495 '_PVT'
1496 );
1497 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1498 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1499 (
1500 l_api_name,
1501 G_PKG_NAME,
1502 'OKL_API.G_RET_STS_UNEXP_ERROR',
1503 x_msg_count,
1504 x_msg_data,
1505 '_PVT'
1506 );
1507 WHEN OTHERS THEN
1508 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1509 (
1510 l_api_name,
1511 G_PKG_NAME,
1512 'OTHERS',
1513 x_msg_count,
1514 x_msg_data,
1515 '_PVT'
1516 );
1517 END insert_row;
1518 ----------------------------------------
1519 -- PL/SQL TBL insert_row for:vfaV_TBL --
1520 ----------------------------------------
1521 PROCEDURE insert_row(
1522 p_api_version IN NUMBER,
1523 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1524 x_return_status OUT NOCOPY VARCHAR2,
1525 x_msg_count OUT NOCOPY NUMBER,
1526 x_msg_data OUT NOCOPY VARCHAR2,
1527 p_vfav_tbl IN vfav_tbl_type,
1528 x_vfav_tbl OUT NOCOPY vfav_tbl_type) IS
1529
1530 l_api_version CONSTANT NUMBER := 1;
1531 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
1532 i NUMBER := 0;
1533 BEGIN
1534 OKL_API.init_msg_list(p_init_msg_list);
1535 -- Make sure PL/SQL table has records in it before passing
1536 IF (p_vfav_tbl.COUNT > 0) THEN
1537 i := p_vfav_tbl.FIRST;
1538 LOOP
1539 insert_row (
1540 p_api_version => p_api_version,
1541 p_init_msg_list => p_init_msg_list,
1542 x_return_status => x_return_status,
1543 x_msg_count => x_msg_count,
1544 x_msg_data => x_msg_data,
1545 p_vfav_rec => p_vfav_tbl(i),
1546 x_vfav_rec => x_vfav_tbl(i));
1547 EXIT WHEN (i = p_vfav_tbl.LAST);
1548 i := p_vfav_tbl.NEXT(i);
1549 END LOOP;
1550 END IF;
1551 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1552 EXCEPTION
1553 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1554 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1555 (
1556 l_api_name,
1557 G_PKG_NAME,
1558 'OKL_API.G_RET_STS_ERROR',
1559 x_msg_count,
1560 x_msg_data,
1561 '_PVT'
1562 );
1563 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1564 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1565 (
1566 l_api_name,
1567 G_PKG_NAME,
1568 'OKL_API.G_RET_STS_UNEXP_ERROR',
1569 x_msg_count,
1570 x_msg_data,
1571 '_PVT'
1572 );
1573 WHEN OTHERS THEN
1574 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1575 (
1576 l_api_name,
1577 G_PKG_NAME,
1578 'OTHERS',
1579 x_msg_count,
1580 x_msg_data,
1581 '_PVT'
1582 );
1583 END insert_row;
1584 ---------------------------------------------------------------------------
1585 -- PROCEDURE lock_row
1586 ---------------------------------------------------------------------------
1587 ----------------------------------------
1588 -- lock_row for:OKL_CONTRACT_ASSET_HV --
1589 ----------------------------------------
1590 PROCEDURE lock_row(
1591 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1592 x_return_status OUT NOCOPY VARCHAR2,
1593 x_msg_count OUT NOCOPY NUMBER,
1594 x_msg_data OUT NOCOPY VARCHAR2,
1595 p_vfa_rec IN vfa_rec_type) IS
1596
1597 E_Resource_Busy EXCEPTION;
1598 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1599 CURSOR lock_csr (p_vfa_rec IN vfa_rec_type) IS
1600 SELECT OBJECT_VERSION_NUMBER
1601 FROM OKL_CONTRACT_ASSET_H
1602 WHERE OBJECT_VERSION_NUMBER = p_vfa_rec.object_version_number
1603 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1604
1605 CURSOR lchk_csr (p_vfa_rec IN vfa_rec_type) IS
1606 SELECT OBJECT_VERSION_NUMBER
1607 FROM OKL_CONTRACT_ASSET_H
1608 WHERE ID = p_vfa_rec.id;
1609 l_api_version CONSTANT NUMBER := 1;
1610 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
1611 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1612 l_object_version_number OKL_CONTRACT_ASSET_H.OBJECT_VERSION_NUMBER%TYPE;
1613 lc_object_version_number OKL_CONTRACT_ASSET_H.OBJECT_VERSION_NUMBER%TYPE;
1614 l_row_notfound BOOLEAN := FALSE;
1615 lc_row_notfound BOOLEAN := FALSE;
1616 BEGIN
1617 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1618 p_init_msg_list,
1619 '_PVT',
1620 x_return_status);
1621 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1622 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1623 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1624 RAISE OKL_API.G_EXCEPTION_ERROR;
1625 END IF;
1626 BEGIN
1627 OPEN lock_csr(p_vfa_rec);
1628 FETCH lock_csr INTO l_object_version_number;
1629 l_row_notfound := lock_csr%NOTFOUND;
1630 CLOSE lock_csr;
1631 EXCEPTION
1632 WHEN E_Resource_Busy THEN
1633 IF (lock_csr%ISOPEN) THEN
1634 CLOSE lock_csr;
1635 END IF;
1636 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1637 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1638 END;
1639
1640 IF ( l_row_notfound ) THEN
1641 OPEN lchk_csr(p_vfa_rec);
1642 FETCH lchk_csr INTO lc_object_version_number;
1643 lc_row_notfound := lchk_csr%NOTFOUND;
1644 CLOSE lchk_csr;
1645 END IF;
1646 IF (lc_row_notfound) THEN
1647 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1648 RAISE OKL_API.G_EXCEPTION_ERROR;
1649 ELSIF lc_object_version_number > p_vfa_rec.object_version_number THEN
1650 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1651 RAISE OKL_API.G_EXCEPTION_ERROR;
1652 ELSIF lc_object_version_number <> p_vfa_rec.object_version_number THEN
1653 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1654 RAISE OKL_API.G_EXCEPTION_ERROR;
1655 ELSIF lc_object_version_number = -1 THEN
1656 OKL_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1657 RAISE OKL_API.G_EXCEPTION_ERROR;
1658 END IF;
1659 x_return_status := l_return_status;
1660 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1661 EXCEPTION
1662 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1663 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1664 (
1665 l_api_name,
1666 G_PKG_NAME,
1667 'OKL_API.G_RET_STS_ERROR',
1668 x_msg_count,
1669 x_msg_data,
1670 '_PVT'
1671 );
1672 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1673 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1674 (
1675 l_api_name,
1676 G_PKG_NAME,
1677 'OKL_API.G_RET_STS_UNEXP_ERROR',
1678 x_msg_count,
1679 x_msg_data,
1680 '_PVT'
1681 );
1682 WHEN OTHERS THEN
1683 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1684 (
1685 l_api_name,
1686 G_PKG_NAME,
1687 'OTHERS',
1688 x_msg_count,
1689 x_msg_data,
1690 '_PVT'
1691 );
1692 END lock_row;
1693 -----------------------------------------
1694 -- lock_row for: OKL_CONTRACT_ASSET_HV --
1695 -----------------------------------------
1696 PROCEDURE lock_row(
1697 p_api_version IN NUMBER,
1698 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1699 x_return_status OUT NOCOPY VARCHAR2,
1700 x_msg_count OUT NOCOPY NUMBER,
1701 x_msg_data OUT NOCOPY VARCHAR2,
1702 p_vfav_rec IN vfav_rec_type) IS
1703
1704 l_api_version CONSTANT NUMBER := 1;
1705 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
1706 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1707 l_vfav_rec vfav_rec_type;
1708 l_vfa_rec vfa_rec_type;
1709 BEGIN
1710 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1711 G_PKG_NAME,
1712 p_init_msg_list,
1713 l_api_version,
1714 p_api_version,
1715 '_PVT',
1716 x_return_status);
1717 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1718 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1719 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1720 RAISE OKL_API.G_EXCEPTION_ERROR;
1721 END IF;
1722 -----------------------------------------
1723 -- Move VIEW record to "Child" records --
1724 -----------------------------------------
1725 migrate(p_vfav_rec, l_vfa_rec);
1726 ---------------------------------------------
1727 -- Call the LOCK_ROW for each child record --
1728 ---------------------------------------------
1729 lock_row(
1730 p_init_msg_list,
1731 l_return_status,
1732 x_msg_count,
1733 x_msg_data,
1734 l_vfa_rec
1735 );
1736 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1737 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1738 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1739 RAISE OKL_API.G_EXCEPTION_ERROR;
1740 END IF;
1741 x_return_status := l_return_status;
1742 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1743 EXCEPTION
1744 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1745 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1746 (
1747 l_api_name,
1748 G_PKG_NAME,
1749 'OKL_API.G_RET_STS_ERROR',
1750 x_msg_count,
1751 x_msg_data,
1752 '_PVT'
1753 );
1754 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1755 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1756 (
1757 l_api_name,
1758 G_PKG_NAME,
1759 'OKL_API.G_RET_STS_UNEXP_ERROR',
1760 x_msg_count,
1761 x_msg_data,
1762 '_PVT'
1763 );
1764 WHEN OTHERS THEN
1765 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1766 (
1767 l_api_name,
1768 G_PKG_NAME,
1769 'OTHERS',
1770 x_msg_count,
1771 x_msg_data,
1772 '_PVT'
1773 );
1774 END lock_row;
1775 --------------------------------------
1776 -- PL/SQL TBL lock_row for:VFAV_TBL --
1777 --------------------------------------
1778 PROCEDURE lock_row(
1779 p_api_version IN NUMBER,
1780 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1781 x_return_status OUT NOCOPY VARCHAR2,
1782 x_msg_count OUT NOCOPY NUMBER,
1783 x_msg_data OUT NOCOPY VARCHAR2,
1784 p_vfav_tbl IN vfav_tbl_type) IS
1785
1786 l_api_version CONSTANT NUMBER := 1;
1787 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
1788 i NUMBER := 0;
1789 BEGIN
1790 OKL_API.init_msg_list(p_init_msg_list);
1791 -- Make sure PL/SQL table has recrods in it before passing
1792 IF (p_vfav_tbl.COUNT > 0) THEN
1793 i := p_vfav_tbl.FIRST;
1794 LOOP
1795 lock_row(
1796 p_api_version => p_api_version,
1797 p_init_msg_list => p_init_msg_list,
1798 x_return_status => x_return_status,
1799 x_msg_count => x_msg_count,
1800 x_msg_data => x_msg_data,
1801 p_vfav_rec => p_vfav_tbl(i));
1802 EXIT WHEN (i = p_vfav_tbl.LAST);
1803 i := p_vfav_tbl.NEXT(i);
1804 END LOOP;
1805 END IF;
1806 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1807 EXCEPTION
1808 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1809 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1810 (
1811 l_api_name,
1812 G_PKG_NAME,
1813 'OKL_API.G_RET_STS_ERROR',
1814 x_msg_count,
1815 x_msg_data,
1816 '_PVT'
1817 );
1818 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1819 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1820 (
1821 l_api_name,
1822 G_PKG_NAME,
1823 'OKL_API.G_RET_STS_UNEXP_ERROR',
1824 x_msg_count,
1825 x_msg_data,
1826 '_PVT'
1827 );
1828 WHEN OTHERS THEN
1829 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1830 (
1831 l_api_name,
1832 G_PKG_NAME,
1833 'OTHERS',
1834 x_msg_count,
1835 x_msg_data,
1836 '_PVT'
1837 );
1838 END lock_row;
1839 ---------------------------------------------------------------------------
1840 -- PROCEDURE update_row
1841 ---------------------------------------------------------------------------
1842 ------------------------------------------
1843 -- update_row for:OKL_CONTRACT_ASSET_HV --
1844 ------------------------------------------
1845 PROCEDURE update_row(
1846 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1847 x_return_status OUT NOCOPY VARCHAR2,
1848 x_msg_count OUT NOCOPY NUMBER,
1849 x_msg_data OUT NOCOPY VARCHAR2,
1850 p_vfa_rec IN vfa_rec_type,
1851 x_vfa_rec OUT NOCOPY vfa_rec_type) IS
1852
1853 l_api_version CONSTANT NUMBER := 1;
1854 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
1855 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1856 l_vfa_rec vfa_rec_type := p_vfa_rec;
1857 l_def_vfa_rec vfa_rec_type;
1858 l_row_notfound BOOLEAN := TRUE;
1859 ----------------------------------
1860 -- FUNCTION populate_new_record --
1861 ----------------------------------
1862 FUNCTION populate_new_record (
1863 p_vfa_rec IN vfa_rec_type,
1864 x_vfa_rec OUT NOCOPY vfa_rec_type
1865 ) RETURN VARCHAR2 IS
1866 l_vfa_rec vfa_rec_type;
1867 l_row_notfound BOOLEAN := TRUE;
1868 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1869 BEGIN
1870 x_vfa_rec := p_vfa_rec;
1871 -- Get current database values
1872 l_vfa_rec := get_rec(p_vfa_rec, l_return_status);
1873 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
1874 IF (x_vfa_rec.id = OKL_API.G_MISS_NUM)
1875 THEN
1876 x_vfa_rec.id := l_vfa_rec.id;
1877 END IF;
1878 IF (x_vfa_rec.major_version = OKL_API.G_MISS_NUM)
1879 THEN
1880 x_vfa_rec.major_version := l_vfa_rec.major_version;
1881 END IF;
1882 IF (x_vfa_rec.object_version_number = OKL_API.G_MISS_NUM)
1883 THEN
1884 x_vfa_rec.object_version_number := l_vfa_rec.object_version_number;
1885 END IF;
1886 IF (x_vfa_rec.dnz_chr_id = OKL_API.G_MISS_NUM)
1887 THEN
1888 x_vfa_rec.dnz_chr_id := l_vfa_rec.dnz_chr_id;
1889 END IF;
1890 IF (x_vfa_rec.fa_cle_id = OKL_API.G_MISS_NUM)
1891 THEN
1892 x_vfa_rec.fa_cle_id := l_vfa_rec.fa_cle_id;
1893 END IF;
1894 IF (x_vfa_rec.name = OKL_API.G_MISS_CHAR)
1895 THEN
1896 x_vfa_rec.name := l_vfa_rec.name;
1897 END IF;
1898 IF (x_vfa_rec.description = OKL_API.G_MISS_CHAR)
1899 THEN
1900 x_vfa_rec.description := l_vfa_rec.description;
1901 END IF;
1902 IF (x_vfa_rec.asset_id = OKL_API.G_MISS_NUM)
1903 THEN
1904 x_vfa_rec.asset_id := l_vfa_rec.asset_id;
1905 END IF;
1906 IF (x_vfa_rec.asset_number = OKL_API.G_MISS_CHAR)
1907 THEN
1908 x_vfa_rec.asset_number := l_vfa_rec.asset_number;
1909 END IF;
1910 IF (x_vfa_rec.corporate_book = OKL_API.G_MISS_CHAR)
1911 THEN
1912 x_vfa_rec.corporate_book := l_vfa_rec.corporate_book;
1913 END IF;
1914 IF (x_vfa_rec.life_in_months = OKL_API.G_MISS_NUM)
1915 THEN
1916 x_vfa_rec.life_in_months := l_vfa_rec.life_in_months;
1917 END IF;
1918 IF (x_vfa_rec.original_cost = OKL_API.G_MISS_NUM)
1919 THEN
1920 x_vfa_rec.original_cost := l_vfa_rec.original_cost;
1921 END IF;
1922 IF (x_vfa_rec.cost = OKL_API.G_MISS_NUM)
1923 THEN
1924 x_vfa_rec.cost := l_vfa_rec.cost;
1925 END IF;
1926 IF (x_vfa_rec.adjusted_cost = OKL_API.G_MISS_NUM)
1927 THEN
1928 x_vfa_rec.adjusted_cost := l_vfa_rec.adjusted_cost;
1929 END IF;
1930 IF (x_vfa_rec.current_units = OKL_API.G_MISS_NUM)
1931 THEN
1932 x_vfa_rec.current_units := l_vfa_rec.current_units;
1933 END IF;
1934 IF (x_vfa_rec.new_used = OKL_API.G_MISS_CHAR)
1935 THEN
1936 x_vfa_rec.new_used := l_vfa_rec.new_used;
1937 END IF;
1938 IF (x_vfa_rec.in_service_date = OKL_API.G_MISS_DATE)
1939 THEN
1940 x_vfa_rec.in_service_date := l_vfa_rec.in_service_date;
1941 END IF;
1942 IF (x_vfa_rec.model_number = OKL_API.G_MISS_CHAR)
1943 THEN
1944 x_vfa_rec.model_number := l_vfa_rec.model_number;
1945 END IF;
1946 IF (x_vfa_rec.asset_type = OKL_API.G_MISS_CHAR)
1947 THEN
1948 x_vfa_rec.asset_type := l_vfa_rec.asset_type;
1949 END IF;
1950 IF (x_vfa_rec.salvage_value = OKL_API.G_MISS_NUM)
1951 THEN
1952 x_vfa_rec.salvage_value := l_vfa_rec.salvage_value;
1953 END IF;
1954 IF (x_vfa_rec.percent_salvage_value = OKL_API.G_MISS_NUM)
1955 THEN
1956 x_vfa_rec.percent_salvage_value := l_vfa_rec.percent_salvage_value;
1957 END IF;
1958 IF (x_vfa_rec.depreciation_category = OKL_API.G_MISS_NUM)
1959 THEN
1960 x_vfa_rec.depreciation_category := l_vfa_rec.depreciation_category;
1961 END IF;
1962 IF (x_vfa_rec.deprn_start_date = OKL_API.G_MISS_DATE)
1963 THEN
1964 x_vfa_rec.deprn_start_date := l_vfa_rec.deprn_start_date;
1965 END IF;
1966 IF (x_vfa_rec.deprn_method_code = OKL_API.G_MISS_CHAR)
1967 THEN
1968 x_vfa_rec.deprn_method_code := l_vfa_rec.deprn_method_code;
1969 END IF;
1970 IF (x_vfa_rec.rate_adjustment_factor = OKL_API.G_MISS_NUM)
1971 THEN
1972 x_vfa_rec.rate_adjustment_factor := l_vfa_rec.rate_adjustment_factor;
1973 END IF;
1974 IF (x_vfa_rec.basic_rate = OKL_API.G_MISS_NUM)
1975 THEN
1976 x_vfa_rec.basic_rate := l_vfa_rec.basic_rate;
1977 END IF;
1978 IF (x_vfa_rec.adjusted_rate = OKL_API.G_MISS_NUM)
1979 THEN
1980 x_vfa_rec.adjusted_rate := l_vfa_rec.adjusted_rate;
1981 END IF;
1982 IF (x_vfa_rec.start_date_active = OKL_API.G_MISS_DATE)
1983 THEN
1984 x_vfa_rec.start_date_active := l_vfa_rec.start_date_active;
1985 END IF;
1986 IF (x_vfa_rec.end_date_active = OKL_API.G_MISS_DATE)
1987 THEN
1988 x_vfa_rec.end_date_active := l_vfa_rec.end_date_active;
1989 END IF;
1990 IF (x_vfa_rec.status = OKL_API.G_MISS_CHAR)
1991 THEN
1992 x_vfa_rec.status := l_vfa_rec.status;
1993 END IF;
1994 IF (x_vfa_rec.primary_uom_code = OKL_API.G_MISS_CHAR)
1995 THEN
1996 x_vfa_rec.primary_uom_code := l_vfa_rec.primary_uom_code;
1997 END IF;
1998 IF (x_vfa_rec.recoverable_cost = OKL_API.G_MISS_NUM)
1999 THEN
2000 x_vfa_rec.recoverable_cost := l_vfa_rec.recoverable_cost;
2001 END IF;
2002 --Bug# 2981308
2003 IF (x_vfa_rec.asset_key_id = OKL_API.G_MISS_NUM)
2004 THEN
2005 x_vfa_rec.asset_key_id := l_vfa_rec.asset_key_id;
2006 END IF;
2007 IF (x_vfa_rec.attribute_category = OKL_API.G_MISS_CHAR)
2008 THEN
2009 x_vfa_rec.attribute_category := l_vfa_rec.attribute_category;
2010 END IF;
2011 IF (x_vfa_rec.attribute1 = OKL_API.G_MISS_CHAR)
2012 THEN
2013 x_vfa_rec.attribute1 := l_vfa_rec.attribute1;
2014 END IF;
2015 IF (x_vfa_rec.attribute2 = OKL_API.G_MISS_CHAR)
2016 THEN
2017 x_vfa_rec.attribute2 := l_vfa_rec.attribute2;
2018 END IF;
2019 IF (x_vfa_rec.attribute3 = OKL_API.G_MISS_CHAR)
2020 THEN
2021 x_vfa_rec.attribute3 := l_vfa_rec.attribute3;
2022 END IF;
2023 IF (x_vfa_rec.attribute4 = OKL_API.G_MISS_CHAR)
2024 THEN
2025 x_vfa_rec.attribute4 := l_vfa_rec.attribute4;
2026 END IF;
2027 IF (x_vfa_rec.attribute5 = OKL_API.G_MISS_CHAR)
2028 THEN
2029 x_vfa_rec.attribute5 := l_vfa_rec.attribute5;
2030 END IF;
2031 IF (x_vfa_rec.attribute6 = OKL_API.G_MISS_CHAR)
2032 THEN
2033 x_vfa_rec.attribute6 := l_vfa_rec.attribute6;
2034 END IF;
2035 IF (x_vfa_rec.attribute7 = OKL_API.G_MISS_CHAR)
2036 THEN
2037 x_vfa_rec.attribute7 := l_vfa_rec.attribute7;
2038 END IF;
2039 IF (x_vfa_rec.attribute8 = OKL_API.G_MISS_CHAR)
2040 THEN
2041 x_vfa_rec.attribute8 := l_vfa_rec.attribute8;
2042 END IF;
2043 IF (x_vfa_rec.attribute9 = OKL_API.G_MISS_CHAR)
2044 THEN
2045 x_vfa_rec.attribute9 := l_vfa_rec.attribute9;
2046 END IF;
2047 IF (x_vfa_rec.attribute10 = OKL_API.G_MISS_CHAR)
2048 THEN
2049 x_vfa_rec.attribute10 := l_vfa_rec.attribute10;
2050 END IF;
2051 IF (x_vfa_rec.attribute11 = OKL_API.G_MISS_CHAR)
2052 THEN
2053 x_vfa_rec.attribute11 := l_vfa_rec.attribute11;
2054 END IF;
2055 IF (x_vfa_rec.attribute12 = OKL_API.G_MISS_CHAR)
2056 THEN
2057 x_vfa_rec.attribute12 := l_vfa_rec.attribute12;
2058 END IF;
2059 IF (x_vfa_rec.attribute13 = OKL_API.G_MISS_CHAR)
2060 THEN
2061 x_vfa_rec.attribute13 := l_vfa_rec.attribute13;
2062 END IF;
2063 IF (x_vfa_rec.attribute14 = OKL_API.G_MISS_CHAR)
2064 THEN
2065 x_vfa_rec.attribute14 := l_vfa_rec.attribute14;
2066 END IF;
2067 IF (x_vfa_rec.attribute15 = OKL_API.G_MISS_CHAR)
2068 THEN
2069 x_vfa_rec.attribute15 := l_vfa_rec.attribute15;
2070 END IF;
2071 IF (x_vfa_rec.created_by = OKL_API.G_MISS_NUM)
2072 THEN
2073 x_vfa_rec.created_by := l_vfa_rec.created_by;
2074 END IF;
2075 IF (x_vfa_rec.creation_date = OKL_API.G_MISS_DATE)
2076 THEN
2077 x_vfa_rec.creation_date := l_vfa_rec.creation_date;
2078 END IF;
2079 IF (x_vfa_rec.last_updated_by = OKL_API.G_MISS_NUM)
2080 THEN
2081 x_vfa_rec.last_updated_by := l_vfa_rec.last_updated_by;
2082 END IF;
2083 IF (x_vfa_rec.last_update_date = OKL_API.G_MISS_DATE)
2084 THEN
2085 x_vfa_rec.last_update_date := l_vfa_rec.last_update_date;
2086 END IF;
2087 IF (x_vfa_rec.last_update_login = OKL_API.G_MISS_NUM)
2088 THEN
2089 x_vfa_rec.last_update_login := l_vfa_rec.last_update_login;
2090 END IF;
2091 --Added by dpsingh for LE uptake
2092 IF (x_vfa_rec.legal_entity_id = OKL_API.G_MISS_NUM)
2093 THEN
2094 x_vfa_rec.legal_entity_id := l_vfa_rec.legal_entity_id;
2095 END IF;
2096 END IF;
2097 RETURN(l_return_status);
2098 END populate_new_record;
2099 ----------------------------------------------
2100 -- Set_Attributes for:OKL_CONTRACT_ASSET_HV --
2101 ----------------------------------------------
2102 FUNCTION Set_Attributes (
2103 p_vfa_rec IN vfa_rec_type,
2104 x_vfa_rec OUT NOCOPY vfa_rec_type
2105 ) RETURN VARCHAR2 IS
2106 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2107 BEGIN
2108 x_vfa_rec := p_vfa_rec;
2109 x_vfa_rec.OBJECT_VERSION_NUMBER := p_vfa_rec.OBJECT_VERSION_NUMBER + 1;
2110 RETURN(l_return_status);
2111 END Set_Attributes;
2112 BEGIN
2113 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2114 p_init_msg_list,
2115 '_PVT',
2116 x_return_status);
2117 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2118 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2119 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2120 RAISE OKL_API.G_EXCEPTION_ERROR;
2121 END IF;
2122 --- Setting item attributes
2123 l_return_status := Set_Attributes(
2124 p_vfa_rec, -- IN
2125 l_vfa_rec); -- OUT
2126 --- If any errors happen abort API
2127 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2128 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2129 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2130 RAISE OKL_API.G_EXCEPTION_ERROR;
2131 END IF;
2132 l_return_status := populate_new_record(l_vfa_rec, l_def_vfa_rec);
2133 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2134 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2135 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2136 RAISE OKL_API.G_EXCEPTION_ERROR;
2137 END IF;
2138 UPDATE OKL_CONTRACT_ASSET_H
2139 SET ID = l_def_vfa_rec.id,
2140 MAJOR_VERSION = l_def_vfa_rec.major_version,
2141 OBJECT_VERSION_NUMBER = l_def_vfa_rec.object_version_number,
2142 DNZ_CHR_ID = l_def_vfa_rec.dnz_chr_id,
2143 FA_CLE_ID = l_def_vfa_rec.fa_cle_id,
2144 NAME = l_def_vfa_rec.name,
2145 DESCRIPTION = l_def_vfa_rec.description,
2146 ASSET_ID = l_def_vfa_rec.asset_id,
2147 ASSET_NUMBER = l_def_vfa_rec.asset_number,
2148 CORPORATE_BOOK = l_def_vfa_rec.corporate_book,
2149 LIFE_IN_MONTHS = l_def_vfa_rec.life_in_months,
2150 ORIGINAL_COST = l_def_vfa_rec.original_cost,
2151 COST = l_def_vfa_rec.cost,
2152 ADJUSTED_COST = l_def_vfa_rec.adjusted_cost,
2153 CURRENT_UNITS = l_def_vfa_rec.current_units,
2154 NEW_USED = l_def_vfa_rec.new_used,
2155 IN_SERVICE_DATE = l_def_vfa_rec.in_service_date,
2156 MODEL_NUMBER = l_def_vfa_rec.model_number,
2157 ASSET_TYPE = l_def_vfa_rec.asset_type,
2158 SALVAGE_VALUE = l_def_vfa_rec.salvage_value,
2159 PERCENT_SALVAGE_VALUE = l_def_vfa_rec.percent_salvage_value,
2160 DEPRECIATION_CATEGORY = l_def_vfa_rec.depreciation_category,
2161 DEPRN_START_DATE = l_def_vfa_rec.deprn_start_date,
2162 DEPRN_METHOD_CODE = l_def_vfa_rec.deprn_method_code,
2163 RATE_ADJUSTMENT_FACTOR = l_def_vfa_rec.rate_adjustment_factor,
2164 BASIC_RATE = l_def_vfa_rec.basic_rate,
2165 ADJUSTED_RATE = l_def_vfa_rec.adjusted_rate,
2166 START_DATE_ACTIVE = l_def_vfa_rec.start_date_active,
2167 END_DATE_ACTIVE = l_def_vfa_rec.end_date_active,
2168 STATUS = l_def_vfa_rec.status,
2169 PRIMARY_UOM_CODE = l_def_vfa_rec.primary_uom_code,
2170 RECOVERABLE_COST = l_def_vfa_rec.recoverable_cost,
2171 --Bug# 2981308:
2172 ASSET_KEY_ID = l_def_vfa_rec.asset_key_id,
2173 ATTRIBUTE_CATEGORY = l_def_vfa_rec.attribute_category,
2174 ATTRIBUTE1 = l_def_vfa_rec.attribute1,
2175 ATTRIBUTE2 = l_def_vfa_rec.attribute2,
2176 ATTRIBUTE3 = l_def_vfa_rec.attribute3,
2177 ATTRIBUTE4 = l_def_vfa_rec.attribute4,
2178 ATTRIBUTE5 = l_def_vfa_rec.attribute5,
2179 ATTRIBUTE6 = l_def_vfa_rec.attribute6,
2180 ATTRIBUTE7 = l_def_vfa_rec.attribute7,
2181 ATTRIBUTE8 = l_def_vfa_rec.attribute8,
2182 ATTRIBUTE9 = l_def_vfa_rec.attribute9,
2183 ATTRIBUTE10 = l_def_vfa_rec.attribute10,
2184 ATTRIBUTE11 = l_def_vfa_rec.attribute11,
2185 ATTRIBUTE12 = l_def_vfa_rec.attribute12,
2186 ATTRIBUTE13 = l_def_vfa_rec.attribute13,
2187 ATTRIBUTE14 = l_def_vfa_rec.attribute14,
2188 ATTRIBUTE15 = l_def_vfa_rec.attribute15,
2189 CREATED_BY = l_def_vfa_rec.created_by,
2190 CREATION_DATE = l_def_vfa_rec.creation_date,
2191 LAST_UPDATED_BY = l_def_vfa_rec.last_updated_by,
2192 LAST_UPDATE_DATE = l_def_vfa_rec.last_update_date,
2193 LAST_UPDATE_LOGIN = l_def_vfa_rec.last_update_login,
2194 --Added by dpsingh for LE uptake
2195 LEGAL_ENTITY_ID = l_def_vfa_rec.legal_entity_id
2196 WHERE ID = l_def_vfa_rec.id;
2197 x_vfa_rec := l_vfa_rec;
2198 x_return_status := l_return_status;
2199 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2200 EXCEPTION
2201 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2202 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2203 (
2204 l_api_name,
2205 G_PKG_NAME,
2206 'OKL_API.G_RET_STS_ERROR',
2207 x_msg_count,
2208 x_msg_data,
2209 '_PVT'
2210 );
2211 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2212 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2213 (
2214 l_api_name,
2215 G_PKG_NAME,
2216 'OKL_API.G_RET_STS_UNEXP_ERROR',
2217 x_msg_count,
2218 x_msg_data,
2219 '_PVT'
2220 );
2221 WHEN OTHERS THEN
2222 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2223 (
2224 l_api_name,
2225 G_PKG_NAME,
2226 'OTHERS',
2227 x_msg_count,
2228 x_msg_data,
2229 '_PVT'
2230 );
2231 END update_row;
2232 ------------------------------------------
2233 -- update_row for:OKL_CONTRACT_ASSET_HV --
2234 ------------------------------------------
2235 PROCEDURE update_row(
2236 p_api_version IN NUMBER,
2237 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2238 x_return_status OUT NOCOPY VARCHAR2,
2239 x_msg_count OUT NOCOPY NUMBER,
2240 x_msg_data OUT NOCOPY VARCHAR2,
2241 p_vfav_rec IN vfav_rec_type,
2242 x_vfav_rec OUT NOCOPY vfav_rec_type) IS
2243
2244 l_api_version CONSTANT NUMBER := 1;
2245 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
2246 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2247 l_vfav_rec vfav_rec_type := p_vfav_rec;
2248 l_def_vfav_rec vfav_rec_type;
2249 l_db_vfav_rec vfav_rec_type;
2250 l_vfa_rec vfa_rec_type;
2251 lx_vfa_rec vfa_rec_type;
2252 -------------------------------
2253 -- FUNCTION fill_who_columns --
2254 -------------------------------
2255 FUNCTION fill_who_columns (
2256 p_vfav_rec IN vfav_rec_type
2257 ) RETURN vfav_rec_type IS
2258 l_vfav_rec vfav_rec_type := p_vfav_rec;
2259 BEGIN
2260 l_vfav_rec.LAST_UPDATE_DATE := SYSDATE;
2261 l_vfav_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2262 l_vfav_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2263 RETURN(l_vfav_rec);
2264 END fill_who_columns;
2265 ----------------------------------
2266 -- FUNCTION populate_new_record --
2267 ----------------------------------
2268 FUNCTION populate_new_record (
2269 p_vfav_rec IN vfav_rec_type,
2270 x_vfav_rec OUT NOCOPY vfav_rec_type
2271 ) RETURN VARCHAR2 IS
2272 l_row_notfound BOOLEAN := TRUE;
2273 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2274 BEGIN
2275 x_vfav_rec := p_vfav_rec;
2276 l_db_vfav_rec := get_rec(p_vfav_rec, l_return_status);
2277 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
2278 IF (x_vfav_rec.id = OKL_API.G_MISS_NUM)
2279 THEN
2280 x_vfav_rec.id := l_db_vfav_rec.id;
2281 END IF;
2282 IF (x_vfav_rec.object_version_number = OKL_API.G_MISS_NUM)
2283 THEN
2284 x_vfav_rec.object_version_number := l_db_vfav_rec.object_version_number;
2285 END IF;
2286 IF (x_vfav_rec.major_version = OKL_API.G_MISS_NUM)
2287 THEN
2288 x_vfav_rec.major_version := l_db_vfav_rec.major_version;
2289 END IF;
2290 IF (x_vfav_rec.dnz_chr_id = OKL_API.G_MISS_NUM)
2291 THEN
2292 x_vfav_rec.dnz_chr_id := l_db_vfav_rec.dnz_chr_id;
2293 END IF;
2294 IF (x_vfav_rec.fa_cle_id = OKL_API.G_MISS_NUM)
2295 THEN
2296 x_vfav_rec.fa_cle_id := l_db_vfav_rec.fa_cle_id;
2297 END IF;
2298 IF (x_vfav_rec.name = OKL_API.G_MISS_CHAR)
2299 THEN
2300 x_vfav_rec.name := l_db_vfav_rec.name;
2301 END IF;
2302 IF (x_vfav_rec.description = OKL_API.G_MISS_CHAR)
2303 THEN
2304 x_vfav_rec.description := l_db_vfav_rec.description;
2305 END IF;
2306 IF (x_vfav_rec.asset_id = OKL_API.G_MISS_NUM)
2307 THEN
2308 x_vfav_rec.asset_id := l_db_vfav_rec.asset_id;
2309 END IF;
2310 IF (x_vfav_rec.asset_number = OKL_API.G_MISS_CHAR)
2311 THEN
2312 x_vfav_rec.asset_number := l_db_vfav_rec.asset_number;
2313 END IF;
2314 IF (x_vfav_rec.corporate_book = OKL_API.G_MISS_CHAR)
2315 THEN
2316 x_vfav_rec.corporate_book := l_db_vfav_rec.corporate_book;
2317 END IF;
2318 IF (x_vfav_rec.life_in_months = OKL_API.G_MISS_NUM)
2319 THEN
2320 x_vfav_rec.life_in_months := l_db_vfav_rec.life_in_months;
2321 END IF;
2322 IF (x_vfav_rec.original_cost = OKL_API.G_MISS_NUM)
2323 THEN
2324 x_vfav_rec.original_cost := l_db_vfav_rec.original_cost;
2325 END IF;
2326 IF (x_vfav_rec.cost = OKL_API.G_MISS_NUM)
2327 THEN
2328 x_vfav_rec.cost := l_db_vfav_rec.cost;
2329 END IF;
2330 IF (x_vfav_rec.adjusted_cost = OKL_API.G_MISS_NUM)
2331 THEN
2332 x_vfav_rec.adjusted_cost := l_db_vfav_rec.adjusted_cost;
2333 END IF;
2334 IF (x_vfav_rec.current_units = OKL_API.G_MISS_NUM)
2335 THEN
2336 x_vfav_rec.current_units := l_db_vfav_rec.current_units;
2337 END IF;
2338 IF (x_vfav_rec.new_used = OKL_API.G_MISS_CHAR)
2339 THEN
2340 x_vfav_rec.new_used := l_db_vfav_rec.new_used;
2341 END IF;
2342 IF (x_vfav_rec.in_service_date = OKL_API.G_MISS_DATE)
2343 THEN
2344 x_vfav_rec.in_service_date := l_db_vfav_rec.in_service_date;
2345 END IF;
2346 IF (x_vfav_rec.model_number = OKL_API.G_MISS_CHAR)
2347 THEN
2348 x_vfav_rec.model_number := l_db_vfav_rec.model_number;
2349 END IF;
2350 IF (x_vfav_rec.asset_type = OKL_API.G_MISS_CHAR)
2351 THEN
2352 x_vfav_rec.asset_type := l_db_vfav_rec.asset_type;
2353 END IF;
2354 IF (x_vfav_rec.salvage_value = OKL_API.G_MISS_NUM)
2355 THEN
2356 x_vfav_rec.salvage_value := l_db_vfav_rec.salvage_value;
2357 END IF;
2358 IF (x_vfav_rec.percent_salvage_value = OKL_API.G_MISS_NUM)
2359 THEN
2360 x_vfav_rec.percent_salvage_value := l_db_vfav_rec.percent_salvage_value;
2361 END IF;
2362 IF (x_vfav_rec.depreciation_category = OKL_API.G_MISS_NUM)
2363 THEN
2364 x_vfav_rec.depreciation_category := l_db_vfav_rec.depreciation_category;
2365 END IF;
2366 IF (x_vfav_rec.deprn_start_date = OKL_API.G_MISS_DATE)
2367 THEN
2368 x_vfav_rec.deprn_start_date := l_db_vfav_rec.deprn_start_date;
2369 END IF;
2370 IF (x_vfav_rec.deprn_method_code = OKL_API.G_MISS_CHAR)
2371 THEN
2372 x_vfav_rec.deprn_method_code := l_db_vfav_rec.deprn_method_code;
2373 END IF;
2374 IF (x_vfav_rec.rate_adjustment_factor = OKL_API.G_MISS_NUM)
2375 THEN
2376 x_vfav_rec.rate_adjustment_factor := l_db_vfav_rec.rate_adjustment_factor;
2377 END IF;
2378 IF (x_vfav_rec.basic_rate = OKL_API.G_MISS_NUM)
2379 THEN
2380 x_vfav_rec.basic_rate := l_db_vfav_rec.basic_rate;
2381 END IF;
2382 IF (x_vfav_rec.adjusted_rate = OKL_API.G_MISS_NUM)
2383 THEN
2384 x_vfav_rec.adjusted_rate := l_db_vfav_rec.adjusted_rate;
2385 END IF;
2386 IF (x_vfav_rec.start_date_active = OKL_API.G_MISS_DATE)
2387 THEN
2388 x_vfav_rec.start_date_active := l_db_vfav_rec.start_date_active;
2389 END IF;
2390 IF (x_vfav_rec.end_date_active = OKL_API.G_MISS_DATE)
2391 THEN
2392 x_vfav_rec.end_date_active := l_db_vfav_rec.end_date_active;
2393 END IF;
2394 IF (x_vfav_rec.status = OKL_API.G_MISS_CHAR)
2395 THEN
2396 x_vfav_rec.status := l_db_vfav_rec.status;
2397 END IF;
2398 IF (x_vfav_rec.primary_uom_code = OKL_API.G_MISS_CHAR)
2399 THEN
2400 x_vfav_rec.primary_uom_code := l_db_vfav_rec.primary_uom_code;
2401 END IF;
2402 IF (x_vfav_rec.recoverable_cost = OKL_API.G_MISS_NUM)
2403 THEN
2404 x_vfav_rec.recoverable_cost := l_db_vfav_rec.recoverable_cost;
2405 END IF;
2406 --Bug# 2981308:
2407 IF (x_vfav_rec.asset_key_id = OKL_API.G_MISS_NUM)
2408 THEN
2409 x_vfav_rec.asset_key_id := l_db_vfav_rec.asset_key_id;
2410 END IF;
2411 IF (x_vfav_rec.attribute_category = OKL_API.G_MISS_CHAR)
2412 THEN
2413 x_vfav_rec.attribute_category := l_db_vfav_rec.attribute_category;
2414 END IF;
2415 IF (x_vfav_rec.attribute1 = OKL_API.G_MISS_CHAR)
2416 THEN
2417 x_vfav_rec.attribute1 := l_db_vfav_rec.attribute1;
2418 END IF;
2419 IF (x_vfav_rec.attribute2 = OKL_API.G_MISS_CHAR)
2420 THEN
2421 x_vfav_rec.attribute2 := l_db_vfav_rec.attribute2;
2422 END IF;
2423 IF (x_vfav_rec.attribute3 = OKL_API.G_MISS_CHAR)
2424 THEN
2425 x_vfav_rec.attribute3 := l_db_vfav_rec.attribute3;
2426 END IF;
2427 IF (x_vfav_rec.attribute4 = OKL_API.G_MISS_CHAR)
2428 THEN
2429 x_vfav_rec.attribute4 := l_db_vfav_rec.attribute4;
2430 END IF;
2431 IF (x_vfav_rec.attribute5 = OKL_API.G_MISS_CHAR)
2432 THEN
2433 x_vfav_rec.attribute5 := l_db_vfav_rec.attribute5;
2434 END IF;
2435 IF (x_vfav_rec.attribute6 = OKL_API.G_MISS_CHAR)
2436 THEN
2437 x_vfav_rec.attribute6 := l_db_vfav_rec.attribute6;
2438 END IF;
2439 IF (x_vfav_rec.attribute7 = OKL_API.G_MISS_CHAR)
2440 THEN
2441 x_vfav_rec.attribute7 := l_db_vfav_rec.attribute7;
2442 END IF;
2443 IF (x_vfav_rec.attribute8 = OKL_API.G_MISS_CHAR)
2444 THEN
2445 x_vfav_rec.attribute8 := l_db_vfav_rec.attribute8;
2446 END IF;
2447 IF (x_vfav_rec.attribute9 = OKL_API.G_MISS_CHAR)
2448 THEN
2449 x_vfav_rec.attribute9 := l_db_vfav_rec.attribute9;
2450 END IF;
2451 IF (x_vfav_rec.attribute10 = OKL_API.G_MISS_CHAR)
2452 THEN
2453 x_vfav_rec.attribute10 := l_db_vfav_rec.attribute10;
2454 END IF;
2455 IF (x_vfav_rec.attribute11 = OKL_API.G_MISS_CHAR)
2456 THEN
2457 x_vfav_rec.attribute11 := l_db_vfav_rec.attribute11;
2458 END IF;
2459 IF (x_vfav_rec.attribute12 = OKL_API.G_MISS_CHAR)
2460 THEN
2461 x_vfav_rec.attribute12 := l_db_vfav_rec.attribute12;
2462 END IF;
2463 IF (x_vfav_rec.attribute13 = OKL_API.G_MISS_CHAR)
2464 THEN
2465 x_vfav_rec.attribute13 := l_db_vfav_rec.attribute13;
2466 END IF;
2467 IF (x_vfav_rec.attribute14 = OKL_API.G_MISS_CHAR)
2468 THEN
2469 x_vfav_rec.attribute14 := l_db_vfav_rec.attribute14;
2470 END IF;
2471 IF (x_vfav_rec.attribute15 = OKL_API.G_MISS_CHAR)
2472 THEN
2473 x_vfav_rec.attribute15 := l_db_vfav_rec.attribute15;
2474 END IF;
2475 IF (x_vfav_rec.created_by = OKL_API.G_MISS_NUM)
2476 THEN
2477 x_vfav_rec.created_by := l_db_vfav_rec.created_by;
2478 END IF;
2479 IF (x_vfav_rec.creation_date = OKL_API.G_MISS_DATE)
2480 THEN
2481 x_vfav_rec.creation_date := l_db_vfav_rec.creation_date;
2482 END IF;
2483 IF (x_vfav_rec.last_updated_by = OKL_API.G_MISS_NUM)
2484 THEN
2485 x_vfav_rec.last_updated_by := l_db_vfav_rec.last_updated_by;
2486 END IF;
2487 IF (x_vfav_rec.last_update_date = OKL_API.G_MISS_DATE)
2488 THEN
2489 x_vfav_rec.last_update_date := l_db_vfav_rec.last_update_date;
2490 END IF;
2491 IF (x_vfav_rec.last_update_login = OKL_API.G_MISS_NUM)
2492 THEN
2493 x_vfav_rec.last_update_login := l_db_vfav_rec.last_update_login;
2494 END IF;
2495 --Added by dpsingh for LE uptake
2496 IF (x_vfav_rec.legal_entity_id = OKL_API.G_MISS_NUM)
2497 THEN
2498 x_vfav_rec.legal_entity_id := l_db_vfav_rec.legal_entity_id;
2499 END IF;
2500 END IF;
2501 RETURN(l_return_status);
2502 END populate_new_record;
2503 ----------------------------------------------
2504 -- Set_Attributes for:OKL_CONTRACT_ASSET_HV --
2505 ----------------------------------------------
2506 FUNCTION Set_Attributes (
2507 p_vfav_rec IN vfav_rec_type,
2508 x_vfav_rec OUT NOCOPY vfav_rec_type
2509 ) RETURN VARCHAR2 IS
2510 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2511 BEGIN
2512 x_vfav_rec := p_vfav_rec;
2513 RETURN(l_return_status);
2514 END Set_Attributes;
2515 BEGIN
2516 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2517 G_PKG_NAME,
2518 p_init_msg_list,
2519 l_api_version,
2520 p_api_version,
2521 '_PVT',
2522 x_return_status);
2523 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2524 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2525 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2526 RAISE OKL_API.G_EXCEPTION_ERROR;
2527 END IF;
2528 --- Setting item attributes
2529 l_return_status := Set_Attributes(
2530 p_vfav_rec, -- IN
2531 x_vfav_rec); -- OUT
2532 --- If any errors happen abort API
2533 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2534 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2535 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2536 RAISE OKL_API.G_EXCEPTION_ERROR;
2537 END IF;
2538 l_return_status := populate_new_record(l_vfav_rec, l_def_vfav_rec);
2539 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2540 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2541 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2542 RAISE OKL_API.G_EXCEPTION_ERROR;
2543 END IF;
2544 l_def_vfav_rec := fill_who_columns(l_def_vfav_rec);
2545 --- Validate all non-missing attributes (Item Level Validation)
2546 l_return_status := Validate_Attributes(l_def_vfav_rec);
2547 --- If any errors happen abort API
2548 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2549 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2550 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2551 RAISE OKL_API.G_EXCEPTION_ERROR;
2552 END IF;
2553 l_return_status := Validate_Record(l_def_vfav_rec);
2554 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2555 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2556 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2557 RAISE OKL_API.G_EXCEPTION_ERROR;
2558 END IF;
2559 -----------------------------------------
2560 -- Move VIEW record to "Child" records --
2561 -----------------------------------------
2562 migrate(l_def_vfav_rec, l_vfa_rec);
2563 -----------------------------------------------
2564 -- Call the UPDATE_ROW for each child record --
2565 -----------------------------------------------
2566
2567 update_row(
2568 p_init_msg_list,
2569 l_return_status,
2570 x_msg_count,
2571 x_msg_data,
2572 l_vfa_rec,
2573 lx_vfa_rec
2574 );
2575 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2576 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2577 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2578 RAISE OKL_API.G_EXCEPTION_ERROR;
2579 END IF;
2580 migrate(lx_vfa_rec, l_def_vfav_rec);
2581 x_vfav_rec := l_def_vfav_rec;
2582 x_return_status := l_return_status;
2583 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2584 EXCEPTION
2585 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2586 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2587 (
2588 l_api_name,
2589 G_PKG_NAME,
2590 'OKL_API.G_RET_STS_ERROR',
2591 x_msg_count,
2592 x_msg_data,
2593 '_PVT'
2594 );
2595 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2596 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2597 (
2598 l_api_name,
2599 G_PKG_NAME,
2600 'OKL_API.G_RET_STS_UNEXP_ERROR',
2601 x_msg_count,
2602 x_msg_data,
2603 '_PVT'
2604 );
2605 WHEN OTHERS THEN
2606 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2607 (
2608 l_api_name,
2609 G_PKG_NAME,
2610 'OTHERS',
2611 x_msg_count,
2612 x_msg_data,
2613 '_PVT'
2614 );
2615 END update_row;
2616 ----------------------------------------
2617 -- PL/SQL TBL update_row for:vfav_tbl --
2618 ----------------------------------------
2619 PROCEDURE update_row(
2620 p_api_version IN NUMBER,
2621 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2622 x_return_status OUT NOCOPY VARCHAR2,
2623 x_msg_count OUT NOCOPY NUMBER,
2624 x_msg_data OUT NOCOPY VARCHAR2,
2625 p_vfav_tbl IN vfav_tbl_type,
2626 x_vfav_tbl OUT NOCOPY vfav_tbl_type) IS
2627
2628 l_api_version CONSTANT NUMBER := 1;
2629 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
2630 i NUMBER := 0;
2631 BEGIN
2632 OKL_API.init_msg_list(p_init_msg_list);
2633 -- Make sure PL/SQL table has records in it before passing
2634 IF (p_vfav_tbl.COUNT > 0) THEN
2635 i := p_vfav_tbl.FIRST;
2636 LOOP
2637 update_row (
2638 p_api_version => p_api_version,
2639 p_init_msg_list => p_init_msg_list,
2640 x_return_status => x_return_status,
2641 x_msg_count => x_msg_count,
2642 x_msg_data => x_msg_data,
2643 p_vfav_rec => p_vfav_tbl(i),
2644 x_vfav_rec => x_vfav_tbl(i));
2645 EXIT WHEN (i = p_vfav_tbl.LAST);
2646 i := p_vfav_tbl.NEXT(i);
2647 END LOOP;
2648 END IF;
2649 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2650 EXCEPTION
2651 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2652 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2653 (
2654 l_api_name,
2655 G_PKG_NAME,
2656 'OKL_API.G_RET_STS_ERROR',
2657 x_msg_count,
2658 x_msg_data,
2659 '_PVT'
2660 );
2661 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2662 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2663 (
2664 l_api_name,
2665 G_PKG_NAME,
2666 'OKL_API.G_RET_STS_UNEXP_ERROR',
2667 x_msg_count,
2668 x_msg_data,
2669 '_PVT'
2670 );
2671 WHEN OTHERS THEN
2672 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2673 (
2674 l_api_name,
2675 G_PKG_NAME,
2676 'OTHERS',
2677 x_msg_count,
2678 x_msg_data,
2679 '_PVT'
2680 );
2681 END update_row;
2682 ---------------------------------------------------------------------------
2683 -- PROCEDURE delete_row
2684 ---------------------------------------------------------------------------
2685 ------------------------------------------
2686 -- delete_row for:OKL_CONTRACT_ASSET_HV --
2687 ------------------------------------------
2688 PROCEDURE delete_row(
2689 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2690 x_return_status OUT NOCOPY VARCHAR2,
2691 x_msg_count OUT NOCOPY NUMBER,
2692 x_msg_data OUT NOCOPY VARCHAR2,
2693 p_vfa_rec IN vfa_rec_type) IS
2694
2695 l_api_version CONSTANT NUMBER := 1;
2696 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
2697 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2698 l_vfa_rec vfa_rec_type := p_vfa_rec;
2699 l_row_notfound BOOLEAN := TRUE;
2700 BEGIN
2701 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2702 p_init_msg_list,
2703 '_PVT',
2704 x_return_status);
2705 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2706 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2707 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2708 RAISE OKL_API.G_EXCEPTION_ERROR;
2709 END IF;
2710
2711 DELETE FROM OKL_CONTRACT_ASSET_H
2712 WHERE ID = p_vfa_rec.id;
2713 x_return_status := l_return_status;
2714 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2715 EXCEPTION
2716 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2717 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2718 (
2719 l_api_name,
2720 G_PKG_NAME,
2721 'OKL_API.G_RET_STS_ERROR',
2722 x_msg_count,
2723 x_msg_data,
2724 '_PVT'
2725 );
2726 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2727 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2728 (
2729 l_api_name,
2730 G_PKG_NAME,
2731 'OKL_API.G_RET_STS_UNEXP_ERROR',
2732 x_msg_count,
2733 x_msg_data,
2734 '_PVT'
2735 );
2736 WHEN OTHERS THEN
2737 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2738 (
2739 l_api_name,
2740 G_PKG_NAME,
2741 'OTHERS',
2742 x_msg_count,
2743 x_msg_data,
2744 '_PVT'
2745 );
2746 END delete_row;
2747 ------------------------------------------
2748 -- delete_row for:OKL_CONTRACT_ASSET_HV --
2749 ------------------------------------------
2750 PROCEDURE delete_row(
2751 p_api_version IN NUMBER,
2752 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2753 x_return_status OUT NOCOPY VARCHAR2,
2754 x_msg_count OUT NOCOPY NUMBER,
2755 x_msg_data OUT NOCOPY VARCHAR2,
2756 p_vfav_rec IN vfav_rec_type) IS
2757
2758 l_api_version CONSTANT NUMBER := 1;
2759 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
2760 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2761 l_vfav_rec vfav_rec_type := p_vfav_rec;
2762 l_vfa_rec vfa_rec_type;
2763 BEGIN
2764 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2765 G_PKG_NAME,
2766 p_init_msg_list,
2767 l_api_version,
2768 p_api_version,
2769 '_PVT',
2770 x_return_status);
2771 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2772 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2773 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2774 RAISE OKL_API.G_EXCEPTION_ERROR;
2775 END IF;
2776 -----------------------------------------
2777 -- Move VIEW record to "Child" records --
2778 -----------------------------------------
2779 migrate(l_vfav_rec, l_vfa_rec);
2780 -----------------------------------------------
2781 -- Call the DELETE_ROW for each child record --
2782 -----------------------------------------------
2783 delete_row(
2784 p_init_msg_list,
2785 l_return_status,
2786 x_msg_count,
2787 x_msg_data,
2788 l_vfa_rec
2789 );
2790 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2791 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2792 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2793 RAISE OKL_API.G_EXCEPTION_ERROR;
2794 END IF;
2795 x_return_status := l_return_status;
2796 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2797 EXCEPTION
2798 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2799 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2800 (
2801 l_api_name,
2802 G_PKG_NAME,
2803 'OKL_API.G_RET_STS_ERROR',
2804 x_msg_count,
2805 x_msg_data,
2806 '_PVT'
2807 );
2808 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2809 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2810 (
2811 l_api_name,
2812 G_PKG_NAME,
2813 'OKL_API.G_RET_STS_UNEXP_ERROR',
2814 x_msg_count,
2815 x_msg_data,
2816 '_PVT'
2817 );
2818 WHEN OTHERS THEN
2819 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2820 (
2821 l_api_name,
2822 G_PKG_NAME,
2823 'OTHERS',
2824 x_msg_count,
2825 x_msg_data,
2826 '_PVT'
2827 );
2828 END delete_row;
2829 -----------------------------------------------------
2830 -- PL/SQL TBL delete_row for:OKL_CONTRACT_ASSET_HV --
2831 -----------------------------------------------------
2832 PROCEDURE delete_row(
2833 p_api_version IN NUMBER,
2834 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2835 x_return_status OUT NOCOPY VARCHAR2,
2836 x_msg_count OUT NOCOPY NUMBER,
2837 x_msg_data OUT NOCOPY VARCHAR2,
2838 p_vfav_tbl IN vfav_tbl_type) IS
2839
2840 l_api_version CONSTANT NUMBER := 1;
2841 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
2842 i NUMBER := 0;
2843 BEGIN
2844 OKL_API.init_msg_list(p_init_msg_list);
2845 -- Make sure PL/SQL table has records in it before passing
2846 IF (p_vfav_tbl.COUNT > 0) THEN
2847 i := p_vfav_tbl.FIRST;
2848 LOOP
2849 delete_row (
2850 p_api_version => p_api_version,
2851 p_init_msg_list => p_init_msg_list,
2852 x_return_status => x_return_status,
2853 x_msg_count => x_msg_count,
2854 x_msg_data => x_msg_data,
2855 p_vfav_rec => p_vfav_tbl(i));
2856 EXIT WHEN (i = p_vfav_tbl.LAST);
2857 i := p_vfav_tbl.NEXT(i);
2858 END LOOP;
2859 END IF;
2860 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2861 EXCEPTION
2862 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2863 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2864 (
2865 l_api_name,
2866 G_PKG_NAME,
2867 'OKL_API.G_RET_STS_ERROR',
2868 x_msg_count,
2869 x_msg_data,
2870 '_PVT'
2871 );
2872 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2873 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2874 (
2875 l_api_name,
2876 G_PKG_NAME,
2877 'OKL_API.G_RET_STS_UNEXP_ERROR',
2878 x_msg_count,
2879 x_msg_data,
2880 '_PVT'
2881 );
2882 WHEN OTHERS THEN
2883 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2884 (
2885 l_api_name,
2886 G_PKG_NAME,
2887 'OTHERS',
2888 x_msg_count,
2889 x_msg_data,
2890 '_PVT'
2891 );
2892 END delete_row;
2893 END OKL_VFA_PVT;