[Home] [Help]
PACKAGE BODY: APPS.OKL_ACN_PVT
Source
1 PACKAGE BODY OKL_ACN_PVT AS
2 /* $Header: OKLSACNB.pls 120.6 2007/08/08 12:41:32 arajagop noship $ */
3
4
5
6 ----------------------------------------
7 -- Developer Generated Code here --
8 -- Reason : Added code so that the validation functionality is accomplished --
9 ----------------------------------------
10
11 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) :='OKC_NO_PARENT_RECORD';
12 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) :='OKC_CONTRACTS_UNEXPECTED_ERROR';
13 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
14 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
15 G_EXCEPTION_HALT_VALIDATION exception;
16
17 -- Start of comments
18 --
19 -- Procedure Name : validate_currency_record
20 -- Description : Used for validation of Currency Code Conversion Coulms
21 -- Business Rules : If transaction currency <> functional currency, then conversion columns
22 -- are mandatory
23 -- Else If transaction currency = functional currency, then conversion columns
24 -- should all be NULL
25 -- Parameters :
26 -- Version : 1.0
27 -- History : RABHUPAT 13-DEC-2002 2667636:Added new procedure
28 -- End of comments
29
30 PROCEDURE validate_currency_record(p_acnv_rec IN acnv_rec_type,
31 x_return_status OUT NOCOPY VARCHAR2) IS
32 BEGIN
33 x_return_status := OKC_API.G_RET_STS_SUCCESS;
34 -- If transaction currency <> functional currency, then conversion columns
35 -- are mandatory
36 IF (p_acnv_rec.currency_code <> p_acnv_rec.currency_conversion_code) THEN
37 IF (p_acnv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR OR
38 p_acnv_rec.currency_conversion_type IS NULL) THEN
39 --SET MESSAGE
40 OKC_API.set_message(p_app_name => G_APP_NAME,
41 p_msg_name => G_REQUIRED_VALUE,
42 p_token1 => G_COL_NAME_TOKEN,
43 p_token1_value => 'currency_conversion_type');
44 x_return_status := OKC_API.G_RET_STS_ERROR;
45 END IF;
46 IF (p_acnv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM OR
47 p_acnv_rec.currency_conversion_rate IS NULL) THEN
48 --SET MESSAGE
49 OKC_API.set_message(p_app_name => G_APP_NAME,
50 p_msg_name => G_REQUIRED_VALUE,
51 p_token1 => G_COL_NAME_TOKEN,
52 p_token1_value => 'currency_conversion_rate');
53 x_return_status := OKC_API.G_RET_STS_ERROR;
54 END IF;
55 IF (p_acnv_rec.currency_conversion_date = OKC_API.G_MISS_DATE OR
56 p_acnv_rec.currency_conversion_date IS NULL) THEN
57 --SET MESSAGE
58 OKC_API.set_message(p_app_name => G_APP_NAME,
59 p_msg_name => G_REQUIRED_VALUE,
60 p_token1 => G_COL_NAME_TOKEN,
61 p_token1_value => 'currency_conversion_date');
62 x_return_status := OKC_API.G_RET_STS_ERROR;
63 END IF;
64 -- Else If transaction currency = functional currency, then conversion columns
65 -- should all be NULL
66 ELSIF (p_acnv_rec.currency_code = p_acnv_rec.currency_conversion_code) THEN
67 IF (p_acnv_rec.currency_conversion_type IS NOT NULL) OR
68 (p_acnv_rec.currency_conversion_rate IS NOT NULL) OR
69 (p_acnv_rec.currency_conversion_date IS NOT NULL) THEN
70 --SET MESSAGE
71 -- Currency conversion columns should be all null
72 IF p_acnv_rec.currency_conversion_rate IS NOT NULL THEN
73 OKC_API.set_message(p_app_name => G_APP_NAME,
74 p_msg_name => G_INVALID_VALUE,
75 p_token1 => G_COL_NAME_TOKEN,
76 p_token1_value => 'currency_conversion_rate');
77 END IF;
78 IF p_acnv_rec.currency_conversion_date IS NOT NULL THEN
79 OKC_API.set_message(p_app_name => G_APP_NAME,
80 p_msg_name => G_INVALID_VALUE,
81 p_token1 => G_COL_NAME_TOKEN,
82 p_token1_value => 'currency_conversion_date');
83 END IF;
84 IF p_acnv_rec.currency_conversion_type IS NOT NULL THEN
85 OKC_API.set_message(p_app_name => G_APP_NAME,
86 p_msg_name => G_INVALID_VALUE,
87 p_token1 => G_COL_NAME_TOKEN,
88 p_token1_value => 'currency_conversion_type');
89 END IF;
90 x_return_status := OKC_API.G_RET_STS_ERROR;
91 END IF;
92 ELSE
93 x_return_status := OKC_API.G_RET_STS_ERROR;
94 END IF;
95 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
96 RAISE G_EXCEPTION_HALT_VALIDATION;
97 END IF;
98 EXCEPTION
99 WHEN G_EXCEPTION_HALT_VALIDATION THEN
100 x_return_status := OKC_API.G_RET_STS_ERROR;
101 WHEN OTHERS THEN
102 -- store SQL error message on message stack for caller
103 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
104 p_msg_name => g_unexpected_error,
105 p_token1 => g_sqlcode_token,
106 p_token1_value => sqlcode,
107 p_token2 => g_sqlerrm_token,
108 p_token2_value => sqlerrm);
109 -- notify caller of an UNEXPECTED error
110 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
111 END validate_currency_record;
112 ---------------------------------------------------------------------------------
113 -- Start of comments
114 --
115 -- Procedure Name : validate_currency_code
116 -- Description : Validation of Currency Code
117 -- Business Rules :
118 -- Parameters :
119 -- Version : 1.0
120 -- History : RABHUPAT 13-DEC-2002 2667636:Added new procedure
121 -- End of comments
122
123 PROCEDURE validate_currency_code(p_acnv_rec IN acnv_rec_type,
124 x_return_status OUT NOCOPY VARCHAR2) IS
125 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
126 BEGIN
127 -- initialize return status
128 x_return_status := OKC_API.G_RET_STS_SUCCESS;
129 -- data is required
130 IF (p_acnv_rec.currency_code IS NULL) OR
131 (p_acnv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
132 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
133 ,p_msg_name => G_REQUIRED_VALUE
134 ,p_token1 => G_COL_NAME_TOKEN
135 ,p_token1_value => 'currency_code');
136
137 -- halt further validation of this column
138 RAISE G_EXCEPTION_HALT_VALIDATION;
139 END IF;
140 -- check from currency values using the generic okl_util.validate_currency_code
141 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_code(p_acnv_rec.currency_code);
142 IF (l_return_status <> OKC_API.G_TRUE) THEN
143
144 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
145 p_msg_name => g_invalid_value,
146 p_token1 => g_col_name_token,
147 p_token1_value => 'currency_code');
148
149 -- halt further validation of this column
150 RAISE G_EXCEPTION_HALT_VALIDATION;
151 END IF;
152 EXCEPTION
153 WHEN G_EXCEPTION_HALT_VALIDATION THEN
154 x_return_status := OKC_API.G_RET_STS_ERROR;
155 WHEN OTHERS THEN
156 -- store SQL error message on message stack for caller
157 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
158 p_msg_name => g_unexpected_error,
159 p_token1 => g_sqlcode_token,
160 p_token1_value => sqlcode,
161 p_token2 => g_sqlerrm_token,
162 p_token2_value => sqlerrm);
163 -- notify caller of an UNEXPECTED error
164 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
165 END validate_currency_code;
166 ---------------------------------------------------------------------------------
167 -- Start of comments
168 --
169 -- Procedure Name : validate_currency_con_code
170 -- Description : Validation of Currency Conversion Code
171 -- Business Rules :
172 -- Parameters :
173 -- Version : 1.0
174 -- History : RABHUPAT 13-DEC-2002 2667636:Added new procedure
175 -- End of comments
176
177 PROCEDURE validate_currency_con_code(p_acnv_rec IN acnv_rec_type,
178 x_return_status OUT NOCOPY VARCHAR2) IS
179 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
180 BEGIN
181 -- initialize return status
182 x_return_status := OKC_API.G_RET_STS_SUCCESS;
183 -- data is required
184 IF (p_acnv_rec.currency_conversion_code IS NULL) OR
185 (p_acnv_rec.currency_conversion_code = OKC_API.G_MISS_CHAR) THEN
186 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
187 ,p_msg_name => G_REQUIRED_VALUE
188 ,p_token1 => G_COL_NAME_TOKEN
189 ,p_token1_value => 'currency_conversion_code');
190 -- halt further validation of this column
191 RAISE G_EXCEPTION_HALT_VALIDATION;
192 END IF;
193 -- check from currency values using the generic okl_util.validate_currency_code
194 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_code(p_acnv_rec.currency_conversion_code);
195 IF (l_return_status <> OKC_API.G_TRUE) THEN
196 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
197 p_msg_name => g_invalid_value,
198 p_token1 => g_col_name_token,
199 p_token1_value => 'currency_conversion_code');
200 -- halt further validation of this column
201 RAISE G_EXCEPTION_HALT_VALIDATION;
202 END IF;
203 EXCEPTION
204 WHEN G_EXCEPTION_HALT_VALIDATION THEN
205 x_return_status := OKC_API.G_RET_STS_ERROR;
206 WHEN OTHERS THEN
207 -- store SQL error message on message stack for caller
208 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
209 p_msg_name => g_unexpected_error,
210 p_token1 => g_sqlcode_token,
211 p_token1_value => sqlcode,
212 p_token2 => g_sqlerrm_token,
213 p_token2_value => sqlerrm);
214
215 -- notify caller of an UNEXPECTED error
216 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
217 END validate_currency_con_code;
218 ---------------------------------------------------------------------------------
219 -- Start of comments
220 --
221 -- Procedure Name : validate_currency_con_type
222 -- Description : Validation of Currency Conversion type
223 -- Business Rules :
224 -- Parameters :
225 -- Version : 1.0
226 -- History : RABHUPAT 13-DEC-2002 2667636:Added new procedure
227 -- End of comments
228
229 PROCEDURE validate_currency_con_type(p_acnv_rec IN acnv_rec_type,
230 x_return_status OUT NOCOPY VARCHAR2) IS
231 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
232 BEGIN
233 -- initialize return status
234 x_return_status := OKC_API.G_RET_STS_SUCCESS;
235 IF (p_acnv_rec.currency_conversion_type <> OKL_API.G_MISS_CHAR AND
236 p_acnv_rec.currency_conversion_type IS NOT NULL) THEN
237 -- check from currency values using the generic okl_util.validate_currency_code
238 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_con_type(p_acnv_rec.currency_conversion_type);
239 IF (l_return_status <> OKC_API.G_TRUE) THEN
240 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
241 p_msg_name => g_invalid_value,
242 p_token1 => g_col_name_token,
243 p_token1_value => 'currency_conversion_type');
244 -- halt further validation of this column
245 RAISE G_EXCEPTION_HALT_VALIDATION;
246 END IF;
247 END IF;
248 EXCEPTION
249 WHEN G_EXCEPTION_HALT_VALIDATION THEN
250 x_return_status := OKC_API.G_RET_STS_ERROR;
251 WHEN OTHERS THEN
252 -- store SQL error message on message stack for caller
253 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
254 p_msg_name => g_unexpected_error,
255 p_token1 => g_sqlcode_token,
256 p_token1_value => sqlcode,
257 p_token2 => g_sqlerrm_token,
258 p_token2_value => sqlerrm);
259 -- notify caller of an UNEXPECTED error
260 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
261 END validate_currency_con_type;
262
263
264
265 -- Start of comments
266 --
267 -- Procedure Name : validate_id
268 -- Description :
269 -- Business Rules :
270 -- Parameters :
271 -- Version : 1.0
272 -- End of comments
273 procedure validate_id(
274 x_return_status out nocopy VARCHAR2,
275 p_acnv_rec in acnv_rec_type) is
276
277 begin
278
279 -- initialize return status
280 x_return_status := OKC_API.G_RET_STS_SUCCESS;
281
282 -- data is required
283 if (p_acnv_rec.id is null) or (p_acnv_rec.id = OKC_API.G_MISS_NUM) then
284 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
285 p_msg_name => g_required_value,
286 p_token1 => g_col_name_token,
287 p_token1_value => 'id');
288
289 -- notify caller of an error
290 x_return_status := OKC_API.G_RET_STS_ERROR;
291
292 -- halt further validation of this column
293 raise G_EXCEPTION_HALT_VALIDATION;
294 end if;
295
296 exception
297 when G_EXCEPTION_HALT_VALIDATION then
298 -- no processing necessary; validation can continue
299 -- with the next column
300 null;
301
302 when OTHERS then
303 -- store SQL error message on message stack for caller
304 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
305 p_msg_name => g_unexpected_error,
306 p_token1 => g_sqlcode_token,
307 p_token1_value => sqlcode,
308 p_token2 => g_sqlerrm_token,
309 p_token2_value => sqlerrm);
310
311 -- notify caller of an UNEXPECTED error
312 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
313
314 end validate_id;
315
316
317 -- Start of comments
318 --
319 -- Procedure Name : validate_object_version_number
320 -- Description :
321 -- Business Rules :
322 -- Parameters :
323 -- Version : 1.0
324 -- End of comments
325 procedure validate_object_version_number(
326 x_return_status out nocopy VARCHAR2,
327 p_acnv_rec in acnv_rec_type) is
328
329 begin
330
331 -- initialize return status
332 x_return_status := OKC_API.G_RET_STS_SUCCESS;
333
334 -- data is required
335 if (p_acnv_rec.object_version_number is null) or (p_acnv_rec.object_version_number = OKC_API.G_MISS_NUM) then
336 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
337 p_msg_name => g_required_value,
338 p_token1 => g_col_name_token,
339 p_token1_value => 'object_version_number');
340
341 -- notify caller of an error
342 x_return_status := OKC_API.G_RET_STS_ERROR;
343
344 -- halt further validation of this column
345 raise G_EXCEPTION_HALT_VALIDATION;
346 end if;
347
348 exception
349 when G_EXCEPTION_HALT_VALIDATION then
350 -- no processing necessary; validation can continue
351 -- with the next column
352 null;
353
354 when OTHERS then
355 -- store SQL error message on message stack for caller
356 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
357 p_msg_name => g_unexpected_error,
358 p_token1 => g_sqlcode_token,
359 p_token1_value => sqlcode,
360 p_token2 => g_sqlerrm_token,
361 p_token2_value => sqlerrm);
362
363 -- notify caller of an UNEXPECTED error
364 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
365
366 end validate_object_version_number;
367
368
369 ------------------------------------------------------------------------
370 -- PROCEDURE validate_sfwt_flag
371 -- Post-Generation Change
372 ------------------------------------------------------------------------
373 PROCEDURE validate_sfwt_flag(
374 x_return_status OUT NOCOPY VARCHAR2,
375 p_acnv_rec IN acnv_rec_type) IS
376
377 BEGIN
378
379 -- initialize return status
380 x_return_status := OKC_API.G_RET_STS_SUCCESS;
381
382 -- data is required
383 IF (p_acnv_rec.sfwt_flag IS NULL)
384 OR (p_acnv_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
385 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
386 p_msg_name => g_required_value,
387 p_token1 => g_col_name_token,
388 p_token1_value => 'sfwt_flag');
389
390 -- notify caller of an error
391 x_return_status := OKC_API.G_RET_STS_ERROR;
392
393 -- halt further validation of this column
394 RAISE G_EXCEPTION_HALT_VALIDATION;
395
396 END IF;
397
398 EXCEPTION
399 WHEN G_EXCEPTION_HALT_VALIDATION THEN
400 -- no processing necessary; validation can continue
401 -- with the next column
402 NULL;
403 WHEN OTHERS THEN
404 -- store SQL error message on message stack for caller
405 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
406 p_msg_name => g_unexpected_error,
407 p_token1 => g_sqlcode_token,
408 p_token1_value => sqlcode,
409 p_token2 => g_sqlerrm_token,
410 p_token2_value => sqlerrm);
411
412 -- notify caller of an UNEXPECTED error
413 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
414
415 END validate_sfwt_flag;
416
417
418
419
420 -- Start of comments
421 --
422 -- Procedure Name : validate_dty_code
423 -- Description :
424 -- Business Rules :
425 -- Parameters :
426 -- Version : 1.0
427 -- End of comments
428 procedure validate_dty_code(
429 x_return_status out nocopy VARCHAR2,
430 p_acnv_rec in acnv_rec_type) is
431
432 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
433
434 begin
435
436 -- initialize return status
437 x_return_status := OKC_API.G_RET_STS_SUCCESS;
438
439
440 -- If value passed
441 IF p_acnv_rec.dty_code IS NOT NULL
442 AND p_acnv_rec.dty_code <> OKC_API.G_MISS_CHAR THEN
443
444 l_return_status := OKL_UTIL.check_lookup_code(
445 p_lookup_type => 'OKL_DAMAGE_TYPE'
446 ,p_lookup_code => p_acnv_rec.dty_code);
447
448 IF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
449 OKC_API.SET_MESSAGE( p_app_name => g_app_name,
450 p_msg_name => g_invalid_value,
451 p_token1 => g_col_name_token,
452 p_token1_value => 'dty_code');
453
454 -- notify caller of an error
455 x_return_status := OKC_API.G_RET_STS_ERROR;
456 RAISE G_EXCEPTION_HALT_VALIDATION;
457
458 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
459
460 -- notify caller of an error
461 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
462 RAISE G_EXCEPTION_HALT_VALIDATION;
463
464 END IF;
465 END IF;
466
467 exception
468 when G_EXCEPTION_HALT_VALIDATION then
469 -- no processing necessary; validation can continue
470 -- with the next column
471 null;
472
473 when OTHERS then
474 -- store SQL error message on message stack for caller
475 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
476 p_msg_name => g_unexpected_error,
477 p_token1 => g_sqlcode_token,
478 p_token1_value => sqlcode,
479 p_token2 => g_sqlerrm_token,
480 p_token2_value => sqlerrm);
481
482 -- notify caller of an UNEXPECTED error
483 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
484
485 end validate_dty_code;
486
487
488
489 -- Start of comments
490 --
491 -- Procedure Name : validate_cdn_code
492 -- Description :
493 -- Business Rules :
494 -- Parameters :
495 -- Version : 1.0
496 -- End of comments
497 procedure validate_cdn_code(
498 x_return_status out nocopy VARCHAR2,
499 p_acnv_rec in acnv_rec_type) is
500
501 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
502
503 begin
504 -- initialize return status
505 x_return_status := OKC_API.G_RET_STS_SUCCESS;
506
507 -- data is required
508 if (p_acnv_rec.cdn_code is null) or (p_acnv_rec.cdn_code = OKC_API.G_MISS_CHAR) then
509 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
510 p_msg_name => g_required_value,
511 p_token1 => g_col_name_token,
512 p_token1_value => 'cdn_code');
513
514 -- notify caller of an error
515 x_return_status := OKC_API.G_RET_STS_ERROR;
516
517 -- halt further validation of this column
518 raise G_EXCEPTION_HALT_VALIDATION;
519 end if;
520
521
522 -- Foreign Key Validation
523 l_return_status := OKL_UTIL.check_lookup_code(
524 p_lookup_type => 'OKL_ASSET_CONDITION'
525 ,p_lookup_code => p_acnv_rec.cdn_code);
526
527 IF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
528 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
529 p_msg_name => g_invalid_value,
530 p_token1 => g_col_name_token,
531 p_token1_value => 'cdn_code');
532
533 -- notify caller of an error
534 x_return_status := OKC_API.G_RET_STS_ERROR;
535 raise G_EXCEPTION_HALT_VALIDATION;
536
537 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
538
539 -- notify caller of an error
540 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
541 raise G_EXCEPTION_HALT_VALIDATION;
542
543 end if;
544
545 exception
546 when G_EXCEPTION_HALT_VALIDATION then
547 -- no processing necessary; validation can continue
548 -- with the next column
549 null;
550
551 when OTHERS then
552 -- store SQL error message on message stack for caller
553 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
554 p_msg_name => g_unexpected_error,
555 p_token1 => g_sqlcode_token,
556 p_token1_value => sqlcode,
557 p_token2 => g_sqlerrm_token,
558 p_token2_value => sqlerrm);
559
560 -- notify caller of an UNEXPECTED error
561 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
562
563 end validate_cdn_code;
564
565
566 -- Start of comments
567 --
568 -- Procedure Name : validate_acs_code
569 -- Description :
570 -- Business Rules :
571 -- Parameters :
572 -- Version : 1.0
573 -- End of comments
574 procedure validate_acs_code(
575 x_return_status out nocopy VARCHAR2,
576 p_acnv_rec in acnv_rec_type) is
577 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
578
579 begin
580 -- initialize return status
581 x_return_status := OKC_API.G_RET_STS_SUCCESS;
582
583 -- data is required
584 if (p_acnv_rec.acs_code is null) or (p_acnv_rec.acs_code = OKC_API.G_MISS_CHAR) then
585 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
586 p_msg_name => g_required_value,
587 p_token1 => g_col_name_token,
588 p_token1_value => 'acs_code');
589
590 -- notify caller of an error
591 x_return_status := OKC_API.G_RET_STS_ERROR;
592
593 -- halt further validation of this column
594 raise G_EXCEPTION_HALT_VALIDATION;
595 end if;
596
597 -- Foreign Key Validation
598 l_return_status := OKL_UTIL.check_lookup_code(
599 p_lookup_type => 'OKL_ASSET_CNDN_LINE_STATUS'
600 ,p_lookup_code => p_acnv_rec.acs_code);
601
602 IF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
603 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
604 p_msg_name => g_invalid_value,
605 p_token1 => g_col_name_token,
606 p_token1_value => 'acs_code');
607
608
609 -- notify caller of an error
610 x_return_status := OKC_API.G_RET_STS_ERROR;
611 raise G_EXCEPTION_HALT_VALIDATION;
612
613 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
614
615 -- notify caller of an error
616 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
617 raise G_EXCEPTION_HALT_VALIDATION;
618
619 end if;
620
621 exception
622 when G_EXCEPTION_HALT_VALIDATION then
623 -- no processing necessary; validation can continue
624 -- with the next column
625 null;
626
627 when OTHERS then
628 -- store SQL error message on message stack for caller
629 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
630 p_msg_name => g_unexpected_error,
631 p_token1 => g_sqlcode_token,
632 p_token1_value => sqlcode,
633 p_token2 => g_sqlerrm_token,
634 p_token2_value => sqlerrm);
635
636 -- notify caller of an UNEXPECTED error
637 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
638
639 end validate_acs_code;
640
641
642 -- Start of comments
643 --
644 -- Procedure Name : validate_acd_id
645 -- Description :
646 -- Business Rules :
647 -- Parameters :
648 -- Version : 1.0
649 -- End of comments
650 procedure validate_acd_id(
651 x_return_status out nocopy VARCHAR2,
652 p_acnv_rec in acnv_rec_type) is
653 l_dummy_var VARCHAR2(1) := '?';
654
655 -- select the ID of the parent record from the parent table
656 CURSOR l_acnv_csr IS
657 select 'x' FROM OKL_ASSET_CNDTNS
658 where ID = p_acnv_rec.acd_id;
659
660 begin
661 -- initialize return status
662 x_return_status := OKC_API.G_RET_STS_SUCCESS;
663
664 -- data is required
665 if (p_acnv_rec.acd_id is null) or (p_acnv_rec.acd_id = OKC_API.G_MISS_NUM) then
666 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
667 p_msg_name => g_required_value,
668 p_token1 => g_col_name_token,
669 p_token1_value => 'acd_id');
670
671 -- notify caller of an error
672 x_return_status := OKC_API.G_RET_STS_ERROR;
673
674 -- halt further validation of this column
675 raise G_EXCEPTION_HALT_VALIDATION;
676 end if;
677
678 -- enforce foreign key
679 OPEN l_acnv_csr;
680 FETCH l_acnv_csr INTO l_dummy_var;
681 CLOSE l_acnv_csr;
682
683 -- if l_dummy_var is still set to default, data was not found
684 IF (l_dummy_var = '?') THEN
685 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
686 p_msg_name => G_NO_PARENT_RECORD,
687 p_token1 => G_COL_NAME_TOKEN,
688 p_token1_value => 'acd_id',
689 p_token2 => G_CHILD_TABLE_TOKEN,
690 p_token2_value => 'OKL_ASSET_CNDTN_LNS_V',
691 p_token3 => G_PARENT_TABLE_TOKEN,
692 p_token3_value => 'OKL_ASSET_CNDTNS');
693
694 -- notify caller of an error
695 x_return_status := OKC_API.G_RET_STS_ERROR;
696 END IF;
697 exception
698 when G_EXCEPTION_HALT_VALIDATION then
699 -- no processing necessary; validation can continue
700 -- with the next column
701 null;
702
703 when OTHERS then
704 -- store SQL error message on message stack for caller
705 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
706 p_msg_name => g_unexpected_error,
707 p_token1 => g_sqlcode_token,
708 p_token1_value => sqlcode,
709 p_token2 => g_sqlerrm_token,
710 p_token2_value => sqlerrm);
711
712 -- notify caller of an UNEXPECTED error
713 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
714 -- verify that cursor was closed
715 IF l_acnv_csr%ISOPEN THEN
716 CLOSE l_acnv_csr;
717 END IF;
718
719 end validate_acd_id;
720
721 -- Start of comments
722 --
723 -- Procedure Name : validate_estimated_repair_cost
724 -- Description : Checks if input >=0
725 -- Business Rules :
726 -- Parameters :
727 -- Version : 1.0
728 -- End of comments
729 procedure validate_estimated_repair_cost(
730 x_return_status out nocopy VARCHAR2,
731 p_acnv_rec in acnv_rec_type) is
732
733 begin
734 -- initialize return status
735 x_return_status := OKC_API.G_RET_STS_SUCCESS;
736
737 -- data is required
738 if (p_acnv_rec.estimated_repair_cost is not null)
739 and (p_acnv_rec.estimated_repair_cost <> okc_api.g_miss_num)then
740 if (p_acnv_rec.estimated_repair_cost < 0) then
741 OKC_API.SET_MESSAGE( p_app_name => g_app_name,
742 p_msg_name => g_invalid_value,
743 p_token1 => g_col_name_token,
744 p_token1_value => 'estimated_repair_cost');
745
746 -- notify caller of an error
747 x_return_status := OKC_API.G_RET_STS_ERROR;
748
749 -- halt further validation of this column
750 raise G_EXCEPTION_HALT_VALIDATION;
751 end if;
752 end if;
753
754 exception
755 when G_EXCEPTION_HALT_VALIDATION then
756 -- no processing necessary; validation can continue
757 -- with the next column
758 null;
759
760 when OTHERS then
761 -- store SQL error message on message stack for caller
762 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
763 p_msg_name => g_unexpected_error,
764 p_token1 => g_sqlcode_token,
765 p_token1_value => sqlcode,
766 p_token2 => g_sqlerrm_token,
767 p_token2_value => sqlerrm);
768
769 -- notify caller of an UNEXPECTED error
770 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
771
772 end validate_estimated_repair_cost;
773
774
775
776 -- Start of comments
777 --
778 -- Procedure Name : validate_actual_repair_cost
779 -- Description : Checks if input >=0
780 -- Business Rules :
781 -- Parameters :
782 -- Version : 1.0
783 -- End of comments
784 procedure validate_actual_repair_cost(
785 x_return_status out nocopy VARCHAR2,
786 p_acnv_rec in acnv_rec_type) is
787
788 begin
789 -- initialize return status
790 x_return_status := OKC_API.G_RET_STS_SUCCESS;
791
792 -- data is required
793 if (p_acnv_rec.actual_repair_cost is not null)
794 and (p_acnv_rec.actual_repair_cost <> okc_api.g_miss_num)then
795 if (p_acnv_rec.actual_repair_cost < 0) then
796 OKC_API.SET_MESSAGE( p_app_name => g_app_name,
797 p_msg_name => g_invalid_value,
798 p_token1 => g_col_name_token,
799 p_token1_value => 'actual_repair_cost');
800
801
802 -- notify caller of an error
803 x_return_status := OKC_API.G_RET_STS_ERROR;
804
805 -- halt further validation of this column
806 raise G_EXCEPTION_HALT_VALIDATION;
807 end if;
808 end if;
809
810 exception
811 when G_EXCEPTION_HALT_VALIDATION then
812 -- no processing necessary; validation can continue
813 -- with the next column
814 null;
815
816 when OTHERS then
817 -- store SQL error message on message stack for caller
818 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
819 p_msg_name => g_unexpected_error,
820 p_token1 => g_sqlcode_token,
821 p_token1_value => sqlcode,
822 p_token2 => g_sqlerrm_token,
823 p_token2_value => sqlerrm);
824
825 -- notify caller of an UNEXPECTED error
826 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
827
828 end validate_actual_repair_cost;
829
830
831
832 PROCEDURE validate_org_id(
833 x_return_status OUT NOCOPY VARCHAR2,
834 p_acnv_rec IN acnv_rec_type) IS
835 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
836 BEGIN
837 -- initialize return status
838 x_return_status := OKC_API.G_RET_STS_SUCCESS;
839
840 -- check org id validity using the generic function okl_util.check_org_id()
841 l_return_status := OKL_UTIL.check_org_id (p_acnv_rec.org_id);
842
843 IF ( l_return_status = OKC_API.G_RET_STS_ERROR) THEN
844 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
845 p_msg_name => g_invalid_value,
846 p_token1 => g_col_name_token,
847 p_token1_value => 'org_id');
848
849 -- notify caller of an error
850 x_return_status := OKC_API.G_RET_STS_ERROR;
851 raise G_EXCEPTION_HALT_VALIDATION;
852
853 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
854
855 -- notify caller of an error
856 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
857 raise G_EXCEPTION_HALT_VALIDATION;
858
859 END IF;
860
861 EXCEPTION
862 WHEN G_EXCEPTION_HALT_VALIDATION then
863 -- No action necessary. Validation can continue to next attribute/column
864 null;
865
866 WHEN OTHERS THEN
867 -- store SQL error message on message stack for caller
868 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
869 p_msg_name => g_unexpected_error,
870 p_token1 => g_sqlcode_token,
871 p_token1_value => sqlcode,
872 p_token2 => g_sqlerrm_token,
873 p_token2_value => sqlerrm);
874
875 -- notify caller of an UNEXPECTED error
876 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
877
878 END validate_org_id;
879
880
881 -- Start of comments
882 --
883 -- Procedure Name : validate_isq_id
884 -- Description :
885 -- Business Rules :
886 -- Parameters :
887 -- Version : 1.0
888 -- End of comments
889
890 procedure validate_isq_id(
891 x_return_status OUT NOCOPY VARCHAR2,
892 p_acnv_rec IN acnv_rec_type
893 ) IS
894 /* -- Check here --
895 CURSOR l_isq_csr IS
896 select 'x' FROM OKX_SRVC_REQUESTS_V
897 where ID = p_acnv_rec.isq_id;
898 */
899 l_dummy_var VARCHAR2(1) := '?';
900
901 begin
902 null;
903 /*
904 -- initialize return status
905 x_return_status := OKC_API.G_RET_STS_SUCCESS;
906
907 -- enforce foreign key
908 IF (p_acnv_rec.isq_id IS NOT NULL) THEN
909 OPEN l_isq_csr;
910 FETCH l_isq_csr INTO l_dummy_var;
911 CLOSE l_isq_csr;
912
913 -- if l_dummy_var is still set to default, data was not found
914 IF (l_dummy_var = '?') THEN
915 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
916 p_msg_name => G_NO_PARENT_RECORD,
917 p_token1 => G_COL_NAME_TOKEN,
918 p_token1_value => 'isq_id',
919 p_token2 => G_CHILD_TABLE_TOKEN,
920 p_token2_value => 'OKL_ASSET_CNDTNS_V',
921 p_token3 => G_PARENT_TABLE_TOKEN,
922 p_token3_value => 'OKX_SRVC_REQUESTS_V');
923
924 -- notify caller of an error
925 x_return_status := OKC_API.G_RET_STS_ERROR;
926 END IF;
927 END IF;
928
929 EXCEPTION
930 WHEN OTHERS THEN
931 -- store SQL error message on message stack for caller
932 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
933 p_msg_name => g_unexpected_error,
934 p_token1 => g_sqlcode_token,
935 p_token1_value => sqlcode,
936 p_token2 => g_sqlerrm_token,
937 p_token2_value => sqlerrm);
938
939 -- notify caller of an UNEXPECTED error
940 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
941
942 -- verify that cursor was closed
943 IF l_isq_csr%ISOPEN THEN
944 CLOSE l_isq_csr;
945 END IF; */
946 end validate_isq_id;
947
948
949 -- Start of comments
950 --
951 -- Procedure Name : validate_ctp_code
952 -- Description :
953 -- Business Rules :
954 -- Parameters :
955 -- Version : 1.0
956 -- End of comments
957 procedure validate_ctp_code(
958 x_return_status OUT NOCOPY VARCHAR2,
959 p_acnv_rec IN acnv_rec_type
960 )IS
961 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
962 begin
963 -- initialize return status
964 x_return_status := OKC_API.G_RET_STS_SUCCESS;
965
966 -- If value passed
967 IF p_acnv_rec.ctp_code IS NOT NULL
968 AND p_acnv_rec.ctp_code <> OKC_API.G_MISS_CHAR THEN
969
970 -- Foreign Key Validation
971 l_return_status := OKL_UTIL.check_lookup_code(
972 p_lookup_type => 'OKL_CLAIM_TYPE'
973 ,p_lookup_code => p_acnv_rec.ctp_code);
974
975 IF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
976 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
977 p_msg_name => g_invalid_value,
978 p_token1 => g_col_name_token,
979 p_token1_value => 'ctp_code');
980
981 -- notify caller of an error
982 x_return_status := OKC_API.G_RET_STS_ERROR;
983 raise G_EXCEPTION_HALT_VALIDATION;
984
985 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
986
987 -- notify caller of an error
988 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
989 raise G_EXCEPTION_HALT_VALIDATION;
990
991 END IF;
992 END IF;
993
994 EXCEPTION
995 WHEN G_EXCEPTION_HALT_VALIDATION then
996 -- No action necessary. Validation can continue to next attribute/column
997 null;
998
999 WHEN OTHERS THEN
1000 -- store SQL error message on message stack for caller
1001 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1002 p_msg_name => g_unexpected_error,
1003 p_token1 => g_sqlcode_token,
1004 p_token1_value => sqlcode,
1005 p_token2 => g_sqlerrm_token,
1006 p_token2_value => sqlerrm);
1007
1008 -- notify caller of an UNEXPECTED error
1009 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1010 end validate_ctp_code;
1011
1012
1013
1014 -- Start of comments
1015 --
1016 -- Procedure Name : validate_pzt_id
1017 -- Description :
1018 -- Business Rules :
1019 -- Parameters :
1020 -- Version : 1.0
1021 -- End of comments
1022
1023 procedure validate_pzt_id(
1024 x_return_status OUT NOCOPY VARCHAR2,
1025 p_acnv_rec IN acnv_rec_type
1026 ) IS
1027 /* -- Check here --
1028 CURSOR l_pzt_csr IS
1029 select 'x' FROM OKX_PARTS_V
1030 where ID = p_acnv_rec.pzt_id; */
1031
1032 l_dummy_var VARCHAR2(1) := '?';
1033
1034 begin
1035 null;
1036 /*
1037 -- initialize return status
1038 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1039
1040 -- enforce foreign key
1041 IF (p_acnv_rec.pzt_id IS NOT NULL) THEN
1042 OPEN l_pzt_csr;
1043 FETCH l_pzt_csr INTO l_dummy_var;
1044 CLOSE l_pzt_csr;
1045
1046 -- if l_dummy_var is still set to default, data was not found
1047 IF (l_dummy_var = '?') THEN
1048 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1049 p_msg_name => G_NO_PARENT_RECORD,
1050 p_token1 => G_COL_NAME_TOKEN,
1051 p_token1_value => 'pzt_id',
1052 p_token2 => G_CHILD_TABLE_TOKEN,
1053 p_token2_value => 'OKL_ASSET_CNDTNS_V',
1054 p_token3 => G_PARENT_TABLE_TOKEN,
1055 p_token3_value => 'OKX_PARTS_V');
1056
1057 -- notify caller of an error
1058 x_return_status := OKC_API.G_RET_STS_ERROR;
1059 END IF;
1060 END IF;
1061
1062 EXCEPTION
1063 WHEN OTHERS THEN
1064 -- store SQL error message on message stack for caller
1065 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1066 p_msg_name => g_unexpected_error,
1067 p_token1 => g_sqlcode_token,
1068 p_token1_value => sqlcode,
1069 p_token2 => g_sqlerrm_token,
1070 p_token2_value => sqlerrm);
1071
1072 -- notify caller of an UNEXPECTED error
1073 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1074
1075 -- verify that cursor was closed
1076 IF l_pzt_csr%ISOPEN THEN
1077 CLOSE l_pzt_csr;
1078 END IF; */
1079 end validate_pzt_id;
1080
1081
1082
1083
1084 -- Start of comments
1085 --
1086 -- Procedure Name : validate_rpc_id
1087 -- Description :
1088 -- Business Rules :
1089 -- Parameters :
1090 -- Version : 1.0
1091 -- End of comments
1092
1093 procedure validate_rpc_id(
1094 x_return_status OUT NOCOPY VARCHAR2,
1095 p_acnv_rec IN acnv_rec_type
1096 ) IS
1097 /* -- Check here --
1098 CURSOR l_rpc_csr IS
1099 select 'x' FROM OKL_REPAIR_COSTS_V
1100 where ID = p_acnv_rec.rpc_id; */
1101
1102 l_dummy_var VARCHAR2(1) := '?';
1103
1104 begin
1105 null;
1106 /*
1107 -- initialize return status
1108 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1109
1110 -- enforce foreign key
1111 IF (p_acnv_rec.rpc_id IS NOT NULL) THEN
1112 OPEN l_rpc_csr;
1113 FETCH l_rpc_csr INTO l_dummy_var;
1114 CLOSE l_rpc_csr;
1115
1116 -- if l_dummy_var is still set to default, data was not found
1117 IF (l_dummy_var = '?') THEN
1118 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1119 p_msg_name => G_NO_PARENT_RECORD,
1120 p_token1 => G_COL_NAME_TOKEN,
1121 p_token1_value => 'rpc_id',
1122 p_token2 => G_CHILD_TABLE_TOKEN,
1123 p_token2_value => 'OKL_ASSET_CNDTNS_V',
1124 p_token3 => G_PARENT_TABLE_TOKEN,
1125 p_token3_value => 'OKL_REPAIR_COSTS_V');
1126
1127 -- notify caller of an error
1128 x_return_status := OKC_API.G_RET_STS_ERROR;
1129 END IF;
1130 END IF;
1131
1132 EXCEPTION
1133 WHEN OTHERS THEN
1134 -- store SQL error message on message stack for caller
1135 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1136 p_msg_name => g_unexpected_error,
1137 p_token1 => g_sqlcode_token,
1138 p_token1_value => sqlcode,
1139 p_token2 => g_sqlerrm_token,
1140 p_token2_value => sqlerrm);
1141
1142 -- notify caller of an UNEXPECTED error
1143 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1144
1145 -- verify that cursor was closed
1146 IF l_rpc_csr%ISOPEN THEN
1147 CLOSE l_rpc_csr;
1148 END IF; */
1149 end validate_rpc_id;
1150
1151
1152
1153 -- Start of comments
1154 --
1155 -- Procedure Name : validate_approved_yn
1156 -- Description :
1157 -- Business Rules :
1158 -- Parameters :
1159 -- Version : 1.0
1160 -- End of comments
1161 procedure validate_approved_yn(
1162 x_return_status OUT NOCOPY VARCHAR2,
1163 p_acnv_rec IN acnv_rec_type
1164 )IS
1165 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1166 begin
1167 -- initialize return status
1168 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1169
1170
1171 l_return_status := OKL_UTIL.check_domain_yn(
1172 p_col_value => p_acnv_rec.approved_yn);
1173
1174 IF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1175 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1176 p_msg_name => g_invalid_value,
1177 p_token1 => g_col_name_token,
1178 p_token1_value => 'approved_yn');
1179
1180 -- notify caller of an error
1181 x_return_status := OKC_API.G_RET_STS_ERROR;
1182 raise G_EXCEPTION_HALT_VALIDATION;
1183
1184 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1185 -- notify caller of an error
1186 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1187 raise G_EXCEPTION_HALT_VALIDATION;
1188
1189 END IF;
1190
1191 EXCEPTION
1192 WHEN G_EXCEPTION_HALT_VALIDATION then
1193 -- No action necessary. Validation can continue to next attribute/column
1194 null;
1195
1196 WHEN OTHERS THEN
1197 -- store SQL error message on message stack for caller
1198 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1199 p_msg_name => g_unexpected_error,
1200 p_token1 => g_sqlcode_token,
1201 p_token1_value => sqlcode,
1202 p_token2 => g_sqlerrm_token,
1203 p_token2_value => sqlerrm);
1204
1205 -- notify caller of an UNEXPECTED error
1206 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1207 end validate_approved_yn;
1208
1209 ---------------------------------------------------------------------------
1210 -- FUNCTION get_seq_id
1211 ---------------------------------------------------------------------------
1212 FUNCTION get_seq_id RETURN NUMBER IS
1213 BEGIN
1214 RETURN(okc_p_util.raw_to_number(sys_guid()));
1215 END get_seq_id;
1216
1217 ---------------------------------------------------------------------------
1218 -- PROCEDURE qc
1219 ---------------------------------------------------------------------------
1220 PROCEDURE qc IS
1221 BEGIN
1222 null;
1223 END qc;
1224
1225 ---------------------------------------------------------------------------
1226 -- PROCEDURE change_version
1227 ---------------------------------------------------------------------------
1228 PROCEDURE change_version IS
1229 BEGIN
1230 null;
1231 END change_version;
1232
1233 ---------------------------------------------------------------------------
1234 -- PROCEDURE api_copy
1235 ---------------------------------------------------------------------------
1236 PROCEDURE api_copy IS
1237 BEGIN
1238 null;
1239 END api_copy;
1240
1241 ---------------------------------------------------------------------------
1242 -- PROCEDURE add_language
1243 ---------------------------------------------------------------------------
1244 PROCEDURE add_language IS
1245 BEGIN
1246 DELETE FROM OKL_ASSET_CNDTN_LNS_TL T
1247 WHERE NOT EXISTS (
1248 SELECT NULL
1249 FROM OKL_AST_CNDTN_LNS_ALL_B B
1250 WHERE B.ID = T.ID
1251 );
1252
1253 UPDATE OKL_ASSET_CNDTN_LNS_TL T SET (
1254 DAMAGE_DESCRIPTION,
1255 CLAIM_DESCRIPTION,
1256 RECOMMENDED_REPAIR,
1257 PART_NAME) = (SELECT
1258 B.DAMAGE_DESCRIPTION,
1259 B.CLAIM_DESCRIPTION,
1260 B.RECOMMENDED_REPAIR,
1261 B.PART_NAME
1262 FROM OKL_ASSET_CNDTN_LNS_TL B
1263 WHERE B.ID = T.ID
1264 AND B.LANGUAGE = T.SOURCE_LANG)
1265 WHERE (
1266 T.ID,
1267 T.LANGUAGE)
1268 IN (SELECT
1269 SUBT.ID,
1270 SUBT.LANGUAGE
1271 FROM OKL_ASSET_CNDTN_LNS_TL SUBB, OKL_ASSET_CNDTN_LNS_TL SUBT
1272 WHERE SUBB.ID = SUBT.ID
1273 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
1274 AND (SUBB.DAMAGE_DESCRIPTION <> SUBT.DAMAGE_DESCRIPTION
1275 OR SUBB.CLAIM_DESCRIPTION <> SUBT.CLAIM_DESCRIPTION
1276 OR SUBB.RECOMMENDED_REPAIR <> SUBT.RECOMMENDED_REPAIR
1277 OR SUBB.PART_NAME <> SUBT.PART_NAME
1278 OR (SUBB.DAMAGE_DESCRIPTION IS NULL AND SUBT.DAMAGE_DESCRIPTION IS NOT NULL)
1279 OR (SUBB.DAMAGE_DESCRIPTION IS NOT NULL AND SUBT.DAMAGE_DESCRIPTION IS NULL)
1280 OR (SUBB.CLAIM_DESCRIPTION IS NULL AND SUBT.CLAIM_DESCRIPTION IS NOT NULL)
1281 OR (SUBB.CLAIM_DESCRIPTION IS NOT NULL AND SUBT.CLAIM_DESCRIPTION IS NULL)
1282 OR (SUBB.RECOMMENDED_REPAIR IS NULL AND SUBT.RECOMMENDED_REPAIR IS NOT NULL)
1283 OR (SUBB.RECOMMENDED_REPAIR IS NOT NULL AND SUBT.RECOMMENDED_REPAIR IS NULL)
1284 OR (SUBB.PART_NAME IS NULL AND SUBT.PART_NAME IS NOT NULL)
1285 OR (SUBB.PART_NAME IS NOT NULL AND SUBT.PART_NAME IS NULL)
1286 ));
1287
1288 INSERT INTO OKL_ASSET_CNDTN_LNS_TL (
1289 ID,
1290 LANGUAGE,
1291 SOURCE_LANG,
1292 SFWT_FLAG,
1293 DAMAGE_DESCRIPTION,
1294 CLAIM_DESCRIPTION,
1295 RECOMMENDED_REPAIR,
1296 PART_NAME,
1297 CREATED_BY,
1298 CREATION_DATE,
1299 LAST_UPDATED_BY,
1300 LAST_UPDATE_DATE,
1301 LAST_UPDATE_LOGIN)
1302 SELECT
1303 B.ID,
1304 L.LANGUAGE_CODE,
1305 B.SOURCE_LANG,
1306 B.SFWT_FLAG,
1307 B.DAMAGE_DESCRIPTION,
1308 B.CLAIM_DESCRIPTION,
1309 B.RECOMMENDED_REPAIR,
1310 B.PART_NAME,
1311 B.CREATED_BY,
1312 B.CREATION_DATE,
1313 B.LAST_UPDATED_BY,
1314 B.LAST_UPDATE_DATE,
1315 B.LAST_UPDATE_LOGIN
1316 FROM OKL_ASSET_CNDTN_LNS_TL B, FND_LANGUAGES L
1317 WHERE L.INSTALLED_FLAG IN ('I', 'B')
1318 AND B.LANGUAGE = USERENV('LANG')
1319 AND NOT EXISTS(
1320 SELECT NULL
1321 FROM OKL_ASSET_CNDTN_LNS_TL T
1322 WHERE T.ID = B.ID
1323 AND T.LANGUAGE = L.LANGUAGE_CODE
1324 );
1325
1326 END add_language;
1327
1328 ---------------------------------------------------------------------------
1329 -- FUNCTION get_rec for: OKL_ASSET_CNDTN_LNS_B
1330 ---------------------------------------------------------------------------
1331 -- Start of comments
1332 --
1333 -- Function Name : get_rec
1334 -- Description : for: OKL_ASSET_CNDTN_LNS_B
1335 -- Business Rules :
1336 -- Parameters :
1337 -- Version : 1.0
1338 -- History : RABHUPAT 13-DEC-2002 2667636
1339 -- :modified for multicurrency changes
1340 -- End of comments
1341
1342 FUNCTION get_rec (
1343 p_acn_rec IN acn_rec_type,
1344 x_no_data_found OUT NOCOPY BOOLEAN
1345 ) RETURN acn_rec_type IS
1346 CURSOR okl_asset_cndtn_lns_b_pk_csr (p_id IN NUMBER) IS
1347 SELECT
1348 ID,
1349 SEQUENCE_NUMBER,
1350 ACD_ID,
1351 CTP_CODE,
1352 CDN_CODE,
1353 DTY_CODE,
1354 ACS_CODE,
1355 ISQ_ID,
1356 PZT_ID,
1357 RPC_ID,
1358 ESTIMATED_REPAIR_COST,
1359 ACTUAL_REPAIR_COST,
1360 OBJECT_VERSION_NUMBER,
1361 APPROVED_BY,
1362 APPROVED_YN,
1363 DATE_APPROVED,
1364 DATE_REPORTED,
1365 ORG_ID,
1366 REQUEST_ID,
1367 PROGRAM_APPLICATION_ID,
1368 PROGRAM_ID,
1369 PROGRAM_UPDATE_DATE,
1370 ATTRIBUTE_CATEGORY,
1371 ATTRIBUTE1,
1372 ATTRIBUTE2,
1373 ATTRIBUTE3,
1374 ATTRIBUTE4,
1375 ATTRIBUTE5,
1376 ATTRIBUTE6,
1377 ATTRIBUTE7,
1378 ATTRIBUTE8,
1379 ATTRIBUTE9,
1380 ATTRIBUTE10,
1381 ATTRIBUTE11,
1382 ATTRIBUTE12,
1383 ATTRIBUTE13,
1384 ATTRIBUTE14,
1385 ATTRIBUTE15,
1386 CREATED_BY,
1387 CREATION_DATE,
1388 LAST_UPDATED_BY,
1389 LAST_UPDATE_DATE,
1390 LAST_UPDATE_LOGIN,
1391 -- RABHUPAT - 2667636 - Start
1392 CURRENCY_CODE,
1393 CURRENCY_CONVERSION_CODE,
1394 CURRENCY_CONVERSION_TYPE,
1395 CURRENCY_CONVERSION_RATE,
1396 CURRENCY_CONVERSION_DATE
1397 -- RABHUPAT - 2667636 - End
1398 FROM Okl_Asset_Cndtn_Lns_B
1399 WHERE okl_asset_cndtn_lns_b.id = p_id;
1400 l_okl_asset_cndtn_lns_b_pk okl_asset_cndtn_lns_b_pk_csr%ROWTYPE;
1401 l_acn_rec acn_rec_type;
1402 BEGIN
1403 x_no_data_found := TRUE;
1404 -- Get current database values
1405 OPEN okl_asset_cndtn_lns_b_pk_csr (p_acn_rec.id);
1406 FETCH okl_asset_cndtn_lns_b_pk_csr INTO
1407 l_acn_rec.ID,
1408 l_acn_rec.SEQUENCE_NUMBER,
1409 l_acn_rec.ACD_ID,
1410 l_acn_rec.CTP_CODE,
1411 l_acn_rec.CDN_CODE,
1412 l_acn_rec.DTY_CODE,
1413 l_acn_rec.ACS_CODE,
1414 l_acn_rec.ISQ_ID,
1415 l_acn_rec.PZT_ID,
1416 l_acn_rec.RPC_ID,
1417 l_acn_rec.ESTIMATED_REPAIR_COST,
1418 l_acn_rec.ACTUAL_REPAIR_COST,
1419 l_acn_rec.OBJECT_VERSION_NUMBER,
1420 l_acn_rec.APPROVED_BY,
1421 l_acn_rec.APPROVED_YN,
1422 l_acn_rec.DATE_APPROVED,
1423 l_acn_rec.DATE_REPORTED,
1424 l_acn_rec.ORG_ID,
1425 l_acn_rec.REQUEST_ID,
1426 l_acn_rec.PROGRAM_APPLICATION_ID,
1427 l_acn_rec.PROGRAM_ID,
1428 l_acn_rec.PROGRAM_UPDATE_DATE,
1429 l_acn_rec.ATTRIBUTE_CATEGORY,
1430 l_acn_rec.ATTRIBUTE1,
1431 l_acn_rec.ATTRIBUTE2,
1432 l_acn_rec.ATTRIBUTE3,
1433 l_acn_rec.ATTRIBUTE4,
1434 l_acn_rec.ATTRIBUTE5,
1435 l_acn_rec.ATTRIBUTE6,
1436 l_acn_rec.ATTRIBUTE7,
1437 l_acn_rec.ATTRIBUTE8,
1438 l_acn_rec.ATTRIBUTE9,
1439 l_acn_rec.ATTRIBUTE10,
1440 l_acn_rec.ATTRIBUTE11,
1441 l_acn_rec.ATTRIBUTE12,
1442 l_acn_rec.ATTRIBUTE13,
1443 l_acn_rec.ATTRIBUTE14,
1444 l_acn_rec.ATTRIBUTE15,
1445 l_acn_rec.CREATED_BY,
1446 l_acn_rec.CREATION_DATE,
1447 l_acn_rec.LAST_UPDATED_BY,
1448 l_acn_rec.LAST_UPDATE_DATE,
1449 l_acn_rec.LAST_UPDATE_LOGIN,
1450 -- RABHUPAT - 2667636 - Start
1451 l_acn_rec.CURRENCY_CODE,
1452 l_acn_rec.CURRENCY_CONVERSION_CODE,
1453 l_acn_rec.CURRENCY_CONVERSION_TYPE,
1454 l_acn_rec.CURRENCY_CONVERSION_RATE,
1455 l_acn_rec.CURRENCY_CONVERSION_DATE;
1456 -- RABHUPAT - 2667636 - End
1457 x_no_data_found := okl_asset_cndtn_lns_b_pk_csr%NOTFOUND;
1458 CLOSE okl_asset_cndtn_lns_b_pk_csr;
1459 RETURN(l_acn_rec);
1460 END get_rec;
1461
1462 FUNCTION get_rec (
1463 p_acn_rec IN acn_rec_type
1464 ) RETURN acn_rec_type IS
1465 l_row_notfound BOOLEAN := TRUE;
1466 BEGIN
1467 RETURN(get_rec(p_acn_rec, l_row_notfound));
1468 END get_rec;
1469 ---------------------------------------------------------------------------
1470 -- FUNCTION get_rec for: OKL_ASSET_CNDTN_LNS_TL
1471 ---------------------------------------------------------------------------
1472 FUNCTION get_rec (
1473 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType,
1474 x_no_data_found OUT NOCOPY BOOLEAN
1475 ) RETURN OklAssetCndtnLnsTlRecType IS
1476 CURSOR okl_asset_cndtn_lns_tl_pk_csr (p_id IN NUMBER,
1477 p_language IN VARCHAR2) IS
1478 SELECT
1479 ID,
1480 LANGUAGE,
1481 SOURCE_LANG,
1482 SFWT_FLAG,
1483 DAMAGE_DESCRIPTION,
1484 CLAIM_DESCRIPTION,
1485 RECOMMENDED_REPAIR,
1486 PART_NAME,
1487 CREATED_BY,
1488 CREATION_DATE,
1489 LAST_UPDATED_BY,
1490 LAST_UPDATE_DATE,
1491 LAST_UPDATE_LOGIN
1492 FROM Okl_Asset_Cndtn_Lns_Tl
1493 WHERE okl_asset_cndtn_lns_tl.id = p_id
1494 AND okl_asset_cndtn_lns_tl.language = p_language;
1495 l_okl_asset_cndtn_lns_tl_pk okl_asset_cndtn_lns_tl_pk_csr%ROWTYPE;
1496 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
1497 BEGIN
1498 x_no_data_found := TRUE;
1499 -- Get current database values
1500 OPEN okl_asset_cndtn_lns_tl_pk_csr (p_okl_asset_cndtn_lns_tl_rec.id,
1501 p_okl_asset_cndtn_lns_tl_rec.language);
1502 FETCH okl_asset_cndtn_lns_tl_pk_csr INTO
1503 l_okl_asset_cndtn_lns_tl_rec.ID,
1504 l_okl_asset_cndtn_lns_tl_rec.LANGUAGE,
1505 l_okl_asset_cndtn_lns_tl_rec.SOURCE_LANG,
1506 l_okl_asset_cndtn_lns_tl_rec.SFWT_FLAG,
1507 l_okl_asset_cndtn_lns_tl_rec.DAMAGE_DESCRIPTION,
1508 l_okl_asset_cndtn_lns_tl_rec.CLAIM_DESCRIPTION,
1509 l_okl_asset_cndtn_lns_tl_rec.RECOMMENDED_REPAIR,
1510 l_okl_asset_cndtn_lns_tl_rec.PART_NAME,
1511 l_okl_asset_cndtn_lns_tl_rec.CREATED_BY,
1512 l_okl_asset_cndtn_lns_tl_rec.CREATION_DATE,
1513 l_okl_asset_cndtn_lns_tl_rec.LAST_UPDATED_BY,
1514 l_okl_asset_cndtn_lns_tl_rec.LAST_UPDATE_DATE,
1515 l_okl_asset_cndtn_lns_tl_rec.LAST_UPDATE_LOGIN;
1516 x_no_data_found := okl_asset_cndtn_lns_tl_pk_csr%NOTFOUND;
1517 CLOSE okl_asset_cndtn_lns_tl_pk_csr;
1518 RETURN(l_okl_asset_cndtn_lns_tl_rec);
1519 END get_rec;
1520
1521 FUNCTION get_rec (
1522 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType
1523 ) RETURN OklAssetCndtnLnsTlRecType IS
1524 l_row_notfound BOOLEAN := TRUE;
1525 BEGIN
1526 RETURN(get_rec(p_okl_asset_cndtn_lns_tl_rec, l_row_notfound));
1527 END get_rec;
1528 ---------------------------------------------------------------------------
1529 -- FUNCTION get_rec for: OKL_ASSET_CNDTN_LNS_V
1530 ---------------------------------------------------------------------------
1531 -- Start of comments
1532 --
1533 -- Function Name : get_rec
1534 -- Description : for: OKL_ASSET_CNDTN_LNS_V
1535 -- Business Rules :
1536 -- Parameters :
1537 -- Version : 1.0
1538 -- History : RABHUPAT 13-DEC-2002 2667636
1539 -- :modified for multicurrency changes
1540 -- End of comments
1541 FUNCTION get_rec (
1542 p_acnv_rec IN acnv_rec_type,
1543 x_no_data_found OUT NOCOPY BOOLEAN
1544 ) RETURN acnv_rec_type IS
1545 CURSOR okl_acnv_pk_csr (p_id IN NUMBER) IS
1546 SELECT
1547 ID,
1548 OBJECT_VERSION_NUMBER,
1549 SFWT_FLAG,
1550 CTP_CODE,
1551 DTY_CODE,
1552 CDN_CODE,
1553 ACS_CODE,
1554 ISQ_ID,
1555 PZT_ID,
1556 ACD_ID,
1557 RPC_ID,
1558 SEQUENCE_NUMBER,
1559 DAMAGE_DESCRIPTION,
1560 CLAIM_DESCRIPTION,
1561 ESTIMATED_REPAIR_COST,
1562 ACTUAL_REPAIR_COST,
1563 APPROVED_BY,
1564 APPROVED_YN,
1565 DATE_APPROVED,
1566 DATE_REPORTED,
1567 RECOMMENDED_REPAIR,
1568 PART_NAME,
1569 ATTRIBUTE_CATEGORY,
1570 ATTRIBUTE1,
1571 ATTRIBUTE2,
1572 ATTRIBUTE3,
1573 ATTRIBUTE4,
1574 ATTRIBUTE5,
1575 ATTRIBUTE6,
1576 ATTRIBUTE7,
1577 ATTRIBUTE8,
1578 ATTRIBUTE9,
1579 ATTRIBUTE10,
1580 ATTRIBUTE11,
1581 ATTRIBUTE12,
1582 ATTRIBUTE13,
1583 ATTRIBUTE14,
1584 ATTRIBUTE15,
1585 ORG_ID,
1586 REQUEST_ID,
1587 PROGRAM_APPLICATION_ID,
1588 PROGRAM_ID,
1589 PROGRAM_UPDATE_DATE,
1590 CREATED_BY,
1591 CREATION_DATE,
1592 LAST_UPDATED_BY,
1593 LAST_UPDATE_DATE,
1594 LAST_UPDATE_LOGIN,
1595 -- RABHUPAT - 2667636 - Start
1596 CURRENCY_CODE,
1597 CURRENCY_CONVERSION_CODE,
1598 CURRENCY_CONVERSION_TYPE,
1599 CURRENCY_CONVERSION_RATE,
1600 CURRENCY_CONVERSION_DATE
1601 -- RABHUPAT - 2667636 - End
1602 FROM Okl_Asset_Cndtn_Lns_V
1603 WHERE okl_asset_cndtn_lns_v.id = p_id;
1604 l_okl_acnv_pk okl_acnv_pk_csr%ROWTYPE;
1605 l_acnv_rec acnv_rec_type;
1606 BEGIN
1607 x_no_data_found := TRUE;
1608 -- Get current database values
1609 OPEN okl_acnv_pk_csr (p_acnv_rec.id);
1610 FETCH okl_acnv_pk_csr INTO
1611 l_acnv_rec.ID,
1612 l_acnv_rec.OBJECT_VERSION_NUMBER,
1613 l_acnv_rec.SFWT_FLAG,
1614 l_acnv_rec.CTP_CODE,
1615 l_acnv_rec.DTY_CODE,
1616 l_acnv_rec.CDN_CODE,
1617 l_acnv_rec.ACS_CODE,
1618 l_acnv_rec.ISQ_ID,
1619 l_acnv_rec.PZT_ID,
1620 l_acnv_rec.ACD_ID,
1621 l_acnv_rec.RPC_ID,
1622 l_acnv_rec.SEQUENCE_NUMBER,
1623 l_acnv_rec.DAMAGE_DESCRIPTION,
1624 l_acnv_rec.CLAIM_DESCRIPTION,
1625 l_acnv_rec.ESTIMATED_REPAIR_COST,
1626 l_acnv_rec.ACTUAL_REPAIR_COST,
1627 l_acnv_rec.APPROVED_BY,
1628 l_acnv_rec.APPROVED_YN,
1629 l_acnv_rec.DATE_APPROVED,
1630 l_acnv_rec.DATE_REPORTED,
1631 l_acnv_rec.RECOMMENDED_REPAIR,
1632 l_acnv_rec.PART_NAME,
1633 l_acnv_rec.ATTRIBUTE_CATEGORY,
1634 l_acnv_rec.ATTRIBUTE1,
1635 l_acnv_rec.ATTRIBUTE2,
1636 l_acnv_rec.ATTRIBUTE3,
1637 l_acnv_rec.ATTRIBUTE4,
1638 l_acnv_rec.ATTRIBUTE5,
1639 l_acnv_rec.ATTRIBUTE6,
1640 l_acnv_rec.ATTRIBUTE7,
1641 l_acnv_rec.ATTRIBUTE8,
1642 l_acnv_rec.ATTRIBUTE9,
1643 l_acnv_rec.ATTRIBUTE10,
1644 l_acnv_rec.ATTRIBUTE11,
1645 l_acnv_rec.ATTRIBUTE12,
1646 l_acnv_rec.ATTRIBUTE13,
1647 l_acnv_rec.ATTRIBUTE14,
1648 l_acnv_rec.ATTRIBUTE15,
1649 l_acnv_rec.ORG_ID,
1650 l_acnv_rec.REQUEST_ID,
1651 l_acnv_rec.PROGRAM_APPLICATION_ID,
1652 l_acnv_rec.PROGRAM_ID,
1653 l_acnv_rec.PROGRAM_UPDATE_DATE,
1654 l_acnv_rec.CREATED_BY,
1655 l_acnv_rec.CREATION_DATE,
1656 l_acnv_rec.LAST_UPDATED_BY,
1657 l_acnv_rec.LAST_UPDATE_DATE,
1658 l_acnv_rec.LAST_UPDATE_LOGIN,
1659 -- RABHUPAT - 2667636 - Start
1660 l_acnv_rec.CURRENCY_CODE,
1661 l_acnv_rec.CURRENCY_CONVERSION_CODE,
1662 l_acnv_rec.CURRENCY_CONVERSION_TYPE,
1663 l_acnv_rec.CURRENCY_CONVERSION_RATE,
1664 l_acnv_rec.CURRENCY_CONVERSION_DATE;
1665 -- RABHUPAT - 2667636 - End
1666 x_no_data_found := okl_acnv_pk_csr%NOTFOUND;
1667 CLOSE okl_acnv_pk_csr;
1668 RETURN(l_acnv_rec);
1669 END get_rec;
1670
1671 FUNCTION get_rec (
1672 p_acnv_rec IN acnv_rec_type
1673 ) RETURN acnv_rec_type IS
1674 l_row_notfound BOOLEAN := TRUE;
1675 BEGIN
1676 RETURN(get_rec(p_acnv_rec, l_row_notfound));
1677 END get_rec;
1678
1679 -----------------------------------------------------------
1680 -- FUNCTION null_out_defaults for: OKL_ASSET_CNDTN_LNS_V --
1681 -----------------------------------------------------------
1682 -- Start of comments
1683 --
1684 -- Function Name : null_out_defaults
1685 -- Description : for: OKL_ASSET_CNDTN_LNS_V
1686 -- Business Rules :
1687 -- Parameters :
1688 -- Version : 1.0
1689 -- History : RABHUPAT 13-DEC-2002 2667636
1690 -- :modified for multicurrency changes
1691 -- End of comments
1692 FUNCTION null_out_defaults (
1693 p_acnv_rec IN acnv_rec_type
1694 ) RETURN acnv_rec_type IS
1695 l_acnv_rec acnv_rec_type := p_acnv_rec;
1696 BEGIN
1697 IF (l_acnv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
1698 l_acnv_rec.object_version_number := NULL;
1699 END IF;
1700 IF (l_acnv_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
1701 l_acnv_rec.sfwt_flag := NULL;
1702 END IF;
1703 IF (l_acnv_rec.ctp_code = OKC_API.G_MISS_CHAR) THEN
1704 l_acnv_rec.ctp_code := NULL;
1705 END IF;
1706 IF (l_acnv_rec.dty_code = OKC_API.G_MISS_CHAR) THEN
1707 l_acnv_rec.dty_code := NULL;
1708 END IF;
1709 IF (l_acnv_rec.cdn_code = OKC_API.G_MISS_CHAR) THEN
1710 l_acnv_rec.cdn_code := NULL;
1711 END IF;
1712 IF (l_acnv_rec.acs_code = OKC_API.G_MISS_CHAR) THEN
1713 l_acnv_rec.acs_code := NULL;
1714 END IF;
1715 IF (l_acnv_rec.isq_id = OKC_API.G_MISS_NUM) THEN
1716 l_acnv_rec.isq_id := NULL;
1717 END IF;
1718 IF (l_acnv_rec.pzt_id = OKC_API.G_MISS_NUM) THEN
1719 l_acnv_rec.pzt_id := NULL;
1720 END IF;
1721 IF (l_acnv_rec.acd_id = OKC_API.G_MISS_NUM) THEN
1722 l_acnv_rec.acd_id := NULL;
1723 END IF;
1724 IF (l_acnv_rec.rpc_id = OKC_API.G_MISS_NUM) THEN
1725 l_acnv_rec.rpc_id := NULL;
1726 END IF;
1727 IF (l_acnv_rec.sequence_number = OKC_API.G_MISS_NUM) THEN
1728 l_acnv_rec.sequence_number := NULL;
1729 END IF;
1730 IF (l_acnv_rec.damage_description = OKC_API.G_MISS_CHAR) THEN
1731 l_acnv_rec.damage_description := NULL;
1732 END IF;
1733 IF (l_acnv_rec.claim_description = OKC_API.G_MISS_CHAR) THEN
1734 l_acnv_rec.claim_description := NULL;
1735 END IF;
1736 IF (l_acnv_rec.estimated_repair_cost = OKC_API.G_MISS_NUM) THEN
1737 l_acnv_rec.estimated_repair_cost := NULL;
1738 END IF;
1739 IF (l_acnv_rec.actual_repair_cost = OKC_API.G_MISS_NUM) THEN
1740 l_acnv_rec.actual_repair_cost := NULL;
1741 END IF;
1742 IF (l_acnv_rec.approved_by = OKC_API.G_MISS_NUM) THEN
1743 l_acnv_rec.approved_by := NULL;
1744 END IF;
1745 IF (l_acnv_rec.approved_yn = OKC_API.G_MISS_CHAR) THEN
1746 l_acnv_rec.approved_yn := NULL;
1747 END IF;
1748 IF (l_acnv_rec.date_approved = OKC_API.G_MISS_DATE) THEN
1749 l_acnv_rec.date_approved := NULL;
1750 END IF;
1751 IF (l_acnv_rec.date_reported = OKC_API.G_MISS_DATE) THEN
1752 l_acnv_rec.date_reported := NULL;
1753 END IF;
1754 IF (l_acnv_rec.recommended_repair = OKC_API.G_MISS_CHAR) THEN
1755 l_acnv_rec.recommended_repair := NULL;
1756 END IF;
1757 IF (l_acnv_rec.part_name = OKC_API.G_MISS_CHAR) THEN
1758 l_acnv_rec.part_name := NULL;
1759 END IF;
1760 IF (l_acnv_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
1761 l_acnv_rec.attribute_category := NULL;
1762 END IF;
1763 IF (l_acnv_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
1764 l_acnv_rec.attribute1 := NULL;
1765 END IF;
1766 IF (l_acnv_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
1767 l_acnv_rec.attribute2 := NULL;
1768 END IF;
1769 IF (l_acnv_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
1770 l_acnv_rec.attribute3 := NULL;
1771 END IF;
1772 IF (l_acnv_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
1773 l_acnv_rec.attribute4 := NULL;
1774 END IF;
1775 IF (l_acnv_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
1776 l_acnv_rec.attribute5 := NULL;
1777 END IF;
1778 IF (l_acnv_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
1779 l_acnv_rec.attribute6 := NULL;
1780 END IF;
1781 IF (l_acnv_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
1782 l_acnv_rec.attribute7 := NULL;
1783 END IF;
1784 IF (l_acnv_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
1785 l_acnv_rec.attribute8 := NULL;
1786 END IF;
1787 IF (l_acnv_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
1788 l_acnv_rec.attribute9 := NULL;
1789 END IF;
1790 IF (l_acnv_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
1791 l_acnv_rec.attribute10 := NULL;
1792 END IF;
1793 IF (l_acnv_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
1794 l_acnv_rec.attribute11 := NULL;
1795 END IF;
1796 IF (l_acnv_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
1797 l_acnv_rec.attribute12 := NULL;
1798 END IF;
1799 IF (l_acnv_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
1800 l_acnv_rec.attribute13 := NULL;
1801 END IF;
1802 IF (l_acnv_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
1803 l_acnv_rec.attribute14 := NULL;
1804 END IF;
1805 IF (l_acnv_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
1806 l_acnv_rec.attribute15 := NULL;
1807 END IF;
1808 IF (l_acnv_rec.org_id = OKC_API.G_MISS_NUM) THEN
1809 l_acnv_rec.org_id := NULL;
1810 END IF;
1811 /*
1812 IF (l_acnv_rec.request_id = OKC_API.G_MISS_NUM) THEN
1813 l_acnv_rec.request_id := NULL;
1814 END IF;
1815 IF (l_acnv_rec.program_application_id = OKC_API.G_MISS_NUM) THEN
1816 l_acnv_rec.program_application_id := NULL;
1817 END IF;
1818 IF (l_acnv_rec.program_id = OKC_API.G_MISS_NUM) THEN
1819 l_acnv_rec.program_id := NULL;
1820 END IF;
1821 IF (l_acnv_rec.program_update_date = OKC_API.G_MISS_DATE) THEN
1822 l_acnv_rec.program_update_date := NULL;
1823 END IF;
1824 */
1825 IF (l_acnv_rec.created_by = OKC_API.G_MISS_NUM) THEN
1826 l_acnv_rec.created_by := NULL;
1827 END IF;
1828 IF (l_acnv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
1829 l_acnv_rec.creation_date := NULL;
1830 END IF;
1831 IF (l_acnv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
1832 l_acnv_rec.last_updated_by := NULL;
1833 END IF;
1834 IF (l_acnv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
1835 l_acnv_rec.last_update_date := NULL;
1836 END IF;
1837 IF (l_acnv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
1838 l_acnv_rec.last_update_login := NULL;
1839 END IF;
1840 -- RABHUPAT - 2667636 -Start
1841 IF (l_acnv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
1842 l_acnv_rec.currency_code := NULL;
1843 END IF;
1844 IF (l_acnv_rec.currency_conversion_code = OKC_API.G_MISS_CHAR) THEN
1845 l_acnv_rec.currency_conversion_code := NULL;
1846 END IF;
1847 IF (l_acnv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR) THEN
1848 l_acnv_rec.currency_conversion_type := NULL;
1849 END IF;
1850 IF (l_acnv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM) THEN
1851 l_acnv_rec.currency_conversion_rate := NULL;
1852 END IF;
1853 IF (l_acnv_rec.currency_conversion_date = OKC_API.G_MISS_DATE) THEN
1854 l_acnv_rec.currency_conversion_date := NULL;
1855 END IF;
1856 -- RABHUPAT - 2667636 -End
1857 RETURN(l_acnv_rec);
1858 END null_out_defaults;
1859 ---------------------------------------------------------------------------
1860 -- PROCEDURE Validate_Attributes
1861 ---------------------------------------------------------------------------
1862 ------------------------------------------------
1863 -- Validate_Attributes for:OKL_ASSET_CNDTN_LNS_V --
1864 ------------------------------------------------
1865 -- Start of comments
1866 --
1867 -- Procedure Name : validate_attributes
1868 -- Description : for:OKL_ASSET_CNDTN_LNS_V
1869 -- Business Rules :
1870 -- Parameters :
1871 -- Version : 1.0
1872 -- History : Modified by : Ravi Munjuluri
1873 -- : RABHUPAT 13-DEC-2002 2667636
1874 -- : modified for multicurrency changes
1875 -- End of comments
1876
1877 FUNCTION Validate_Attributes (
1878 p_acnv_rec IN acnv_rec_type
1879 ) RETURN VARCHAR2 IS
1880 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1881 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1882
1883 begin
1884 -- call each column-level validation
1885 validate_id(x_return_status => l_return_status,
1886 p_acnv_rec => p_acnv_rec);
1887
1888 -- store the highest degree of error
1889 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1890 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1891 x_return_status := l_return_status;
1892 end if;
1893 end if;
1894
1895 validate_object_version_number(x_return_status => l_return_status,
1896 p_acnv_rec => p_acnv_rec);
1897
1898 -- store the highest degree of error
1899 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1900 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1901 x_return_status := l_return_status;
1902 end if;
1903 end if;
1904
1905
1906 validate_sfwt_flag(x_return_status => l_return_status,
1907 p_acnv_rec => p_acnv_rec);
1908
1909 -- store the highest degree of error
1910 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1911 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1912 x_return_status := l_return_status;
1913 end if;
1914 end if;
1915
1916
1917
1918 validate_dty_code(x_return_status => l_return_status,
1919 p_acnv_rec => p_acnv_rec);
1920
1921 -- store the highest degree of error
1922 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1923 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1924 x_return_status := l_return_status;
1925 end if;
1926 end if;
1927
1928 validate_cdn_code(x_return_status => l_return_status,
1929 p_acnv_rec => p_acnv_rec);
1930
1931 -- store the highest degree of error
1932 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1933 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1934 x_return_status := l_return_status;
1935 end if;
1936 end if;
1937
1938
1939 validate_acs_code(x_return_status => l_return_status,
1940 p_acnv_rec => p_acnv_rec);
1941
1942 -- store the highest degree of error
1943 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1944 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1945 x_return_status := l_return_status;
1946 end if;
1947 end if;
1948
1949 validate_acd_id(x_return_status => l_return_status,
1950 p_acnv_rec => p_acnv_rec);
1951
1952 -- store the highest degree of error
1953 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1954 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1955 x_return_status := l_return_status;
1956 end if;
1957 end if;
1958
1959
1960 validate_estimated_repair_cost(x_return_status => l_return_status,
1961 p_acnv_rec => p_acnv_rec);
1962
1963 -- store the highest degree of error
1964 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1965 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1966 x_return_status := l_return_status;
1967 end if;
1968 end if;
1969
1970 validate_actual_repair_cost(x_return_status => l_return_status,
1971 p_acnv_rec => p_acnv_rec);
1972
1973 -- store the highest degree of error
1974 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1975 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1976 x_return_status := l_return_status;
1977 end if;
1978 end if;
1979
1980 validate_org_id(x_return_status => l_return_status,
1981 p_acnv_rec => p_acnv_rec);
1982
1983 -- store the highest degree of error
1984 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1985 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1986 x_return_status := l_return_status;
1987 end if;
1988 end if;
1989
1990 validate_isq_id(x_return_status => l_return_status,
1991 p_acnv_rec => p_acnv_rec);
1992
1993 -- store the highest degree of error
1994 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1995 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1996 x_return_status := l_return_status;
1997 end if;
1998 end if;
1999
2000 validate_ctp_code(x_return_status => l_return_status,
2001 p_acnv_rec => p_acnv_rec);
2002
2003 -- store the highest degree of error
2004 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
2005 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
2006 x_return_status := l_return_status;
2007 end if;
2008 end if;
2009
2010 validate_pzt_id(x_return_status => l_return_status,
2011 p_acnv_rec => p_acnv_rec);
2012
2013 -- store the highest degree of error
2014 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
2015 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
2016 x_return_status := l_return_status;
2017 end if;
2018 end if;
2019
2020 validate_rpc_id(x_return_status => l_return_status,
2021 p_acnv_rec => p_acnv_rec);
2022
2023 -- store the highest degree of error
2024 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
2025 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
2026 x_return_status := l_return_status;
2027 end if;
2028 end if;
2029
2030 validate_approved_yn(x_return_status => l_return_status,
2031 p_acnv_rec => p_acnv_rec);
2032
2033 -- store the highest degree of error
2034 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
2035 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
2036 x_return_status := l_return_status;
2037 end if;
2038 end if;
2039
2040 -- RABHUPAT - 2667636 - Start
2041 validate_currency_code(p_acnv_rec => p_acnv_rec,
2042 x_return_status => l_return_status);
2043 -- store the highest degree of error
2044 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2045 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2046 x_return_status := l_return_status;
2047 END IF;
2048 END IF;
2049 validate_currency_con_code(p_acnv_rec => p_acnv_rec,
2050 x_return_status => l_return_status);
2051 -- store the highest degree of error
2052 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2053 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2054 x_return_status := l_return_status;
2055 END IF;
2056 END IF;
2057 validate_currency_con_type(p_acnv_rec => p_acnv_rec,
2058 x_return_status => l_return_status);
2059 -- store the highest degree of error
2060 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2061 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2062 x_return_status := l_return_status;
2063 END IF;
2064 END IF;
2065 -- RABHUPAT - 2667636 - End
2066
2067 RETURN(x_return_status);
2068
2069 END Validate_Attributes;
2070
2071 ---------------------------------------------------------------------------
2072 -- PROCEDURE Validate_Record
2073 ---------------------------------------------------------------------------
2074 -----------------------------------------------
2075 -- Validate_Record for:OKL_ASSET_CNDTN_LNS_V --
2076 -----------------------------------------------
2077 -- Start of comments
2078 --
2079 -- Function Name : Validate_Record
2080 -- Description : for:OKL_ASSET_CNDTN_LNS_V
2081 -- Business Rules :
2082 -- Parameters :
2083 -- Version : 1.0
2084 -- History : RABHUPAT 13-DEC-2002 2667636
2085 -- :modified for multicurrency changes
2086 -- End of comments
2087
2088 FUNCTION Validate_Record (
2089 p_acnv_rec IN acnv_rec_type
2090 ) RETURN VARCHAR2 IS
2091 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2092 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2093 BEGIN
2094 -- RABHUPAT - 2667636 - Start
2095 -- Validate Currency conversion Code,type,rate and Date
2096
2097 validate_currency_record(p_acnv_rec => p_acnv_rec,
2098 x_return_status => l_return_status);
2099 -- store the highest degree of error
2100 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2101 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2102 x_return_status := l_return_status;
2103 END IF;
2104 END IF;
2105 -- RABHUPAT - 2667636 - End
2106 RETURN (x_return_status);
2107 END Validate_Record;
2108
2109 ---------------------------------------------------------------------------
2110 -- PROCEDURE Migrate
2111 ---------------------------------------------------------------------------
2112 -- Start of comments
2113 --
2114 -- Procedure Name : Migrate
2115 -- Description : from _V to _B
2116 -- Business Rules :
2117 -- Parameters :
2118 -- Version : 1.0
2119 -- History : RABHUPAT 13-DEC-2002 2667636
2120 -- : modified for multicurrency changes
2121 -- End of comments
2122
2123 PROCEDURE migrate (
2124 p_from IN acnv_rec_type,
2125 p_to IN OUT NOCOPY acn_rec_type
2126 ) IS
2127 BEGIN
2128 p_to.id := p_from.id;
2129 p_to.sequence_number := p_from.sequence_number;
2130 p_to.acd_id := p_from.acd_id;
2131 p_to.ctp_code := p_from.ctp_code;
2132 p_to.cdn_code := p_from.cdn_code;
2133 p_to.dty_code := p_from.dty_code;
2134 p_to.acs_code := p_from.acs_code;
2135 p_to.isq_id := p_from.isq_id;
2136 p_to.pzt_id := p_from.pzt_id;
2137 p_to.rpc_id := p_from.rpc_id;
2138 p_to.estimated_repair_cost := p_from.estimated_repair_cost;
2139 p_to.actual_repair_cost := p_from.actual_repair_cost;
2140 p_to.object_version_number := p_from.object_version_number;
2141 p_to.approved_by := p_from.approved_by;
2142 p_to.approved_yn := p_from.approved_yn;
2143 p_to.date_approved := p_from.date_approved;
2144 p_to.date_reported := p_from.date_reported;
2145 p_to.org_id := p_from.org_id;
2146 p_to.request_id := p_from.request_id;
2147 p_to.program_application_id := p_from.program_application_id;
2148 p_to.program_id := p_from.program_id;
2149 p_to.program_update_date := p_from.program_update_date;
2150 p_to.attribute_category := p_from.attribute_category;
2151 p_to.attribute1 := p_from.attribute1;
2152 p_to.attribute2 := p_from.attribute2;
2153 p_to.attribute3 := p_from.attribute3;
2154 p_to.attribute4 := p_from.attribute4;
2155 p_to.attribute5 := p_from.attribute5;
2156 p_to.attribute6 := p_from.attribute6;
2157 p_to.attribute7 := p_from.attribute7;
2158 p_to.attribute8 := p_from.attribute8;
2159 p_to.attribute9 := p_from.attribute9;
2160 p_to.attribute10 := p_from.attribute10;
2161 p_to.attribute11 := p_from.attribute11;
2162 p_to.attribute12 := p_from.attribute12;
2163 p_to.attribute13 := p_from.attribute13;
2164 p_to.attribute14 := p_from.attribute14;
2165 p_to.attribute15 := p_from.attribute15;
2166 p_to.created_by := p_from.created_by;
2167 p_to.creation_date := p_from.creation_date;
2168 p_to.last_updated_by := p_from.last_updated_by;
2169 p_to.last_update_date := p_from.last_update_date;
2170 p_to.last_update_login := p_from.last_update_login;
2171 -- RABHUPAT - 2667636 - Start
2172 p_to.currency_code := p_from.currency_code;
2173 p_to.currency_conversion_code := p_from.currency_conversion_code;
2174 p_to.currency_conversion_type := p_from.currency_conversion_type;
2175 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
2176 p_to.currency_conversion_date := p_from.currency_conversion_date;
2177 -- RABHUPAT - 2667636 - End
2178 END migrate;
2179
2180 -- Start of comments
2181 --
2182 -- Procedure Name : Migrate
2183 -- Description : from _B to _V
2184 -- Business Rules :
2185 -- Parameters :
2186 -- Version : 1.0
2187 -- History : RABHUPAT 13-DEC-2002 2667636
2188 -- : modified for multicurrency changes
2189 -- End of comments
2190 PROCEDURE migrate (
2191 p_from IN acn_rec_type,
2192 p_to IN OUT NOCOPY acnv_rec_type
2193 ) IS
2194 BEGIN
2195 p_to.id := p_from.id;
2196 p_to.sequence_number := p_from.sequence_number;
2197 p_to.acd_id := p_from.acd_id;
2198 p_to.ctp_code := p_from.ctp_code;
2199 p_to.cdn_code := p_from.cdn_code;
2200 p_to.dty_code := p_from.dty_code;
2201 p_to.acs_code := p_from.acs_code;
2202 p_to.isq_id := p_from.isq_id;
2203 p_to.pzt_id := p_from.pzt_id;
2204 p_to.rpc_id := p_from.rpc_id;
2205 p_to.estimated_repair_cost := p_from.estimated_repair_cost;
2206 p_to.actual_repair_cost := p_from.actual_repair_cost;
2207 p_to.object_version_number := p_from.object_version_number;
2208 p_to.approved_by := p_from.approved_by;
2209 p_to.approved_yn := p_from.approved_yn;
2210 p_to.date_approved := p_from.date_approved;
2211 p_to.date_reported := p_from.date_reported;
2212 p_to.org_id := p_from.org_id;
2213 p_to.request_id := p_from.request_id;
2214 p_to.program_application_id := p_from.program_application_id;
2215 p_to.program_id := p_from.program_id;
2216 p_to.program_update_date := p_from.program_update_date;
2217 p_to.attribute_category := p_from.attribute_category;
2218 p_to.attribute1 := p_from.attribute1;
2219 p_to.attribute2 := p_from.attribute2;
2220 p_to.attribute3 := p_from.attribute3;
2221 p_to.attribute4 := p_from.attribute4;
2222 p_to.attribute5 := p_from.attribute5;
2223 p_to.attribute6 := p_from.attribute6;
2224 p_to.attribute7 := p_from.attribute7;
2225 p_to.attribute8 := p_from.attribute8;
2226 p_to.attribute9 := p_from.attribute9;
2227 p_to.attribute10 := p_from.attribute10;
2228 p_to.attribute11 := p_from.attribute11;
2229 p_to.attribute12 := p_from.attribute12;
2230 p_to.attribute13 := p_from.attribute13;
2231 p_to.attribute14 := p_from.attribute14;
2232 p_to.attribute15 := p_from.attribute15;
2233 p_to.created_by := p_from.created_by;
2234 p_to.creation_date := p_from.creation_date;
2235 p_to.last_updated_by := p_from.last_updated_by;
2236 p_to.last_update_date := p_from.last_update_date;
2237 p_to.last_update_login := p_from.last_update_login;
2238 -- RABHUPAT - 2667636 - Start
2239 p_to.currency_code := p_from.currency_code;
2240 p_to.currency_conversion_code := p_from.currency_conversion_code;
2241 p_to.currency_conversion_type := p_from.currency_conversion_type;
2242 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
2243 p_to.currency_conversion_date := p_from.currency_conversion_date;
2244 -- RABHUPAT - 2667636 - End
2245 END migrate;
2246 PROCEDURE migrate (
2247 p_from IN acnv_rec_type,
2248 p_to IN OUT NOCOPY OklAssetCndtnLnsTlRecType
2249 ) IS
2250 BEGIN
2251 p_to.id := p_from.id;
2252 p_to.sfwt_flag := p_from.sfwt_flag;
2253 p_to.damage_description := p_from.damage_description;
2254 p_to.claim_description := p_from.claim_description;
2255 p_to.recommended_repair := p_from.recommended_repair;
2256 p_to.part_name := p_from.part_name;
2257 p_to.created_by := p_from.created_by;
2258 p_to.creation_date := p_from.creation_date;
2259 p_to.last_updated_by := p_from.last_updated_by;
2260 p_to.last_update_date := p_from.last_update_date;
2261 p_to.last_update_login := p_from.last_update_login;
2262 END migrate;
2263 PROCEDURE migrate (
2264 p_from IN OklAssetCndtnLnsTlRecType,
2265 p_to IN OUT NOCOPY acnv_rec_type
2266 ) IS
2267 BEGIN
2268 p_to.id := p_from.id;
2269 p_to.sfwt_flag := p_from.sfwt_flag;
2270 p_to.damage_description := p_from.damage_description;
2271 p_to.claim_description := p_from.claim_description;
2272 p_to.recommended_repair := p_from.recommended_repair;
2273 p_to.part_name := p_from.part_name;
2274 p_to.created_by := p_from.created_by;
2275 p_to.creation_date := p_from.creation_date;
2276 p_to.last_updated_by := p_from.last_updated_by;
2277 p_to.last_update_date := p_from.last_update_date;
2278 p_to.last_update_login := p_from.last_update_login;
2279 END migrate;
2280
2281 ---------------------------------------------------------------------------
2282 -- PROCEDURE validate_row
2283 ---------------------------------------------------------------------------
2284 --------------------------------------------
2285 -- validate_row for:OKL_ASSET_CNDTN_LNS_V --
2286 --------------------------------------------
2287 PROCEDURE validate_row(
2288 p_api_version IN NUMBER,
2289 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2290 x_return_status OUT NOCOPY VARCHAR2,
2291 x_msg_count OUT NOCOPY NUMBER,
2292 x_msg_data OUT NOCOPY VARCHAR2,
2293 p_acnv_rec IN acnv_rec_type) IS
2294
2295 l_api_version CONSTANT NUMBER := 1;
2296 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
2297 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2298 l_acnv_rec acnv_rec_type := p_acnv_rec;
2299 l_acn_rec acn_rec_type;
2300 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
2301 BEGIN
2302 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2303 G_PKG_NAME,
2304 p_init_msg_list,
2305 l_api_version,
2306 p_api_version,
2307 '_PVT',
2308 x_return_status);
2309 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2310 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2311 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2312 RAISE OKC_API.G_EXCEPTION_ERROR;
2313 END IF;
2314 --- Validate all non-missing attributes (Item Level Validation)
2315 l_return_status := Validate_Attributes(l_acnv_rec);
2316 --- If any errors happen abort API
2317 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2318 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2319 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2320 RAISE OKC_API.G_EXCEPTION_ERROR;
2321 END IF;
2322 l_return_status := Validate_Record(l_acnv_rec);
2323 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2324 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2325 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2326 RAISE OKC_API.G_EXCEPTION_ERROR;
2327 END IF;
2328 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2329 EXCEPTION
2330 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2331 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2332 (
2333 l_api_name,
2334 G_PKG_NAME,
2335 'OKC_API.G_RET_STS_ERROR',
2336 x_msg_count,
2337 x_msg_data,
2338 '_PVT'
2339 );
2340 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2341 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2342 (
2343 l_api_name,
2344 G_PKG_NAME,
2345 'OKC_API.G_RET_STS_UNEXP_ERROR',
2346 x_msg_count,
2347 x_msg_data,
2348 '_PVT'
2349 );
2350 WHEN OTHERS THEN
2351 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2352 (
2353 l_api_name,
2354 G_PKG_NAME,
2355 'OTHERS',
2356 x_msg_count,
2357 x_msg_data,
2358 '_PVT'
2359 );
2360 END validate_row;
2361 ------------------------------------------
2362 -- PL/SQL TBL validate_row for:ACNV_TBL --
2363 ------------------------------------------
2364 PROCEDURE validate_row(
2365 p_api_version IN NUMBER,
2366 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2367 x_return_status OUT NOCOPY VARCHAR2,
2368 x_msg_count OUT NOCOPY NUMBER,
2369 x_msg_data OUT NOCOPY VARCHAR2,
2370 p_acnv_tbl IN acnv_tbl_type) IS
2371
2372 l_api_version CONSTANT NUMBER := 1;
2373 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
2374 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2375 i NUMBER := 0;
2376 -- Begin Post-Generation Change
2377 -- overall error status
2378 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2379 -- End Post-Generation Change
2380 BEGIN
2381 OKC_API.init_msg_list(p_init_msg_list);
2382 -- Make sure PL/SQL table has records in it before passing
2383 IF (p_acnv_tbl.COUNT > 0) THEN
2384 i := p_acnv_tbl.FIRST;
2385 LOOP
2386 validate_row (
2387 p_api_version => p_api_version,
2388 p_init_msg_list => OKC_API.G_FALSE,
2389 x_return_status => x_return_status,
2390 x_msg_count => x_msg_count,
2391 x_msg_data => x_msg_data,
2392 p_acnv_rec => p_acnv_tbl(i));
2393 -- Begin Post-Generation Change
2394 -- store the highest degree of error
2395 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
2396 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
2397 l_overall_status := x_return_status;
2398 END IF;
2399 END IF;
2400 -- End Post-Generation Change
2401 EXIT WHEN (i = p_acnv_tbl.LAST);
2402 i := p_acnv_tbl.NEXT(i);
2403 END LOOP;
2404 -- Begin Post-Generation Change
2405 -- return overall status
2406 x_return_status := l_overall_status;
2407 -- End Post-Generation Change
2408 END IF;
2409 EXCEPTION
2410 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2411 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2412 (
2413 l_api_name,
2414 G_PKG_NAME,
2415 'OKC_API.G_RET_STS_ERROR',
2416 x_msg_count,
2417 x_msg_data,
2418 '_PVT'
2419 );
2420 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2421 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2422 (
2423 l_api_name,
2424 G_PKG_NAME,
2425 'OKC_API.G_RET_STS_UNEXP_ERROR',
2426 x_msg_count,
2427 x_msg_data,
2428 '_PVT'
2429 );
2430 WHEN OTHERS THEN
2431 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2432 (
2433 l_api_name,
2434 G_PKG_NAME,
2435 'OTHERS',
2436 x_msg_count,
2437 x_msg_data,
2438 '_PVT'
2439 );
2440 END validate_row;
2441
2442 ---------------------------------------------------------------------------
2443 -- PROCEDURE insert_row
2444 ---------------------------------------------------------------------------
2445 ------------------------------------------
2446 -- insert_row for:OKL_ASSET_CNDTN_LNS_B --
2447 ------------------------------------------
2448 -- Start of comments
2449 --
2450 -- Procedure Name : insert_row
2451 -- Description : for OKL_ASSET_CNDTN_LNS_B
2452 -- Business Rules :
2453 -- Parameters :
2454 -- Version : 1.0
2455 -- History : RABHUPAT 13-DEC-2002 2667636
2456 -- : modified for multicurrency changes
2457 -- End of comments
2458 PROCEDURE insert_row(
2459 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2460 x_return_status OUT NOCOPY VARCHAR2,
2461 x_msg_count OUT NOCOPY NUMBER,
2462 x_msg_data OUT NOCOPY VARCHAR2,
2463 p_acn_rec IN acn_rec_type,
2464 x_acn_rec OUT NOCOPY acn_rec_type) IS
2465
2466 l_api_version CONSTANT NUMBER := 1;
2467 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
2468 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2469 l_acn_rec acn_rec_type := p_acn_rec;
2470 l_def_acn_rec acn_rec_type;
2471 ----------------------------------------------
2472 -- Set_Attributes for:OKL_ASSET_CNDTN_LNS_B --
2473 ----------------------------------------------
2474 FUNCTION Set_Attributes (
2475 p_acn_rec IN acn_rec_type,
2476 x_acn_rec OUT NOCOPY acn_rec_type
2477 ) RETURN VARCHAR2 IS
2478 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2479 BEGIN
2480 x_acn_rec := p_acn_rec;
2481 RETURN(l_return_status);
2482 END Set_Attributes;
2483 BEGIN
2484 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2485 p_init_msg_list,
2486 '_PVT',
2487 x_return_status);
2488 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2489 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2490 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2491 RAISE OKC_API.G_EXCEPTION_ERROR;
2492 END IF;
2493 --- Setting item attributes
2494 l_return_status := Set_Attributes(
2495 p_acn_rec, -- IN
2496 l_acn_rec); -- OUT
2497 --- If any errors happen abort API
2498 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2499 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2500 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2501 RAISE OKC_API.G_EXCEPTION_ERROR;
2502 END IF;
2503 INSERT INTO OKL_ASSET_CNDTN_LNS_B(
2504 id,
2505 sequence_number,
2506 acd_id,
2507 ctp_code,
2508 cdn_code,
2509 dty_code,
2510 acs_code,
2511 isq_id,
2512 pzt_id,
2513 rpc_id,
2514 estimated_repair_cost,
2515 actual_repair_cost,
2516 object_version_number,
2517 approved_by,
2518 approved_yn,
2519 date_approved,
2520 date_reported,
2521 org_id,
2522 request_id,
2523 program_application_id,
2524 program_id,
2525 program_update_date,
2526 attribute_category,
2527 attribute1,
2528 attribute2,
2529 attribute3,
2530 attribute4,
2531 attribute5,
2532 attribute6,
2533 attribute7,
2534 attribute8,
2535 attribute9,
2536 attribute10,
2537 attribute11,
2538 attribute12,
2539 attribute13,
2540 attribute14,
2541 attribute15,
2542 created_by,
2543 creation_date,
2544 last_updated_by,
2545 last_update_date,
2546 last_update_login,
2547 -- RABHUPAT - 2667636 - Start
2548 currency_code,
2549 currency_conversion_code,
2550 currency_conversion_type,
2551 currency_conversion_rate,
2552 currency_conversion_date)
2553 -- RABHUPAT - 2667636 - End
2554 VALUES (
2555 l_acn_rec.id,
2556 l_acn_rec.sequence_number,
2557 l_acn_rec.acd_id,
2558 l_acn_rec.ctp_code,
2559 l_acn_rec.cdn_code,
2560 l_acn_rec.dty_code,
2561 l_acn_rec.acs_code,
2562 l_acn_rec.isq_id,
2563 l_acn_rec.pzt_id,
2564 l_acn_rec.rpc_id,
2565 l_acn_rec.estimated_repair_cost,
2566 l_acn_rec.actual_repair_cost,
2567 l_acn_rec.object_version_number,
2568 l_acn_rec.approved_by,
2569 l_acn_rec.approved_yn,
2570 l_acn_rec.date_approved,
2571 l_acn_rec.date_reported,
2572 l_acn_rec.org_id,
2573 -- Begin Post Gen Changes
2574 /*
2575 l_acn_rec.request_id,
2576 l_acn_rec.program_application_id,
2577 l_acn_rec.program_id,
2578 l_acn_rec.program_update_date,
2579 */
2580 decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,FND_GLOBAL.CONC_REQUEST_ID),
2581 decode(FND_GLOBAL.PROG_APPL_ID,-1,NULL,FND_GLOBAL.PROG_APPL_ID),
2582 decode(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,FND_GLOBAL.CONC_PROGRAM_ID),
2583 decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,SYSDATE),
2584 -- End Post Gen Changes
2585 l_acn_rec.attribute_category,
2586 l_acn_rec.attribute1,
2587 l_acn_rec.attribute2,
2588 l_acn_rec.attribute3,
2589 l_acn_rec.attribute4,
2590 l_acn_rec.attribute5,
2591 l_acn_rec.attribute6,
2592 l_acn_rec.attribute7,
2593 l_acn_rec.attribute8,
2594 l_acn_rec.attribute9,
2595 l_acn_rec.attribute10,
2596 l_acn_rec.attribute11,
2597 l_acn_rec.attribute12,
2598 l_acn_rec.attribute13,
2599 l_acn_rec.attribute14,
2600 l_acn_rec.attribute15,
2601 l_acn_rec.created_by,
2602 l_acn_rec.creation_date,
2603 l_acn_rec.last_updated_by,
2604 l_acn_rec.last_update_date,
2605 l_acn_rec.last_update_login,
2606 -- RABHUPAT - 2667636 - Start
2607 l_acn_rec.currency_code,
2608 l_acn_rec.currency_conversion_code,
2609 l_acn_rec.currency_conversion_type,
2610 l_acn_rec.currency_conversion_rate,
2611 l_acn_rec.currency_conversion_date);
2612 -- RABHUPAT - 2667636 - End
2613 -- Set OUT values
2614 x_acn_rec := l_acn_rec;
2615 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2616 EXCEPTION
2617 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2618 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2619 (
2620 l_api_name,
2621 G_PKG_NAME,
2622 'OKC_API.G_RET_STS_ERROR',
2623 x_msg_count,
2624 x_msg_data,
2625 '_PVT'
2626 );
2627 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2628 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2629 (
2630 l_api_name,
2631 G_PKG_NAME,
2632 'OKC_API.G_RET_STS_UNEXP_ERROR',
2633 x_msg_count,
2634 x_msg_data,
2635 '_PVT'
2636 );
2637 WHEN OTHERS THEN
2638 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2639 (
2640 l_api_name,
2641 G_PKG_NAME,
2642 'OTHERS',
2643 x_msg_count,
2644 x_msg_data,
2645 '_PVT'
2646 );
2647 END insert_row;
2648 -------------------------------------------
2649 -- insert_row for:OKL_ASSET_CNDTN_LNS_TL --
2650 -------------------------------------------
2651 PROCEDURE insert_row(
2652 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2653 x_return_status OUT NOCOPY VARCHAR2,
2654 x_msg_count OUT NOCOPY NUMBER,
2655 x_msg_data OUT NOCOPY VARCHAR2,
2656 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType,
2657 x_okl_asset_cndtn_lns_tl_rec OUT NOCOPY OklAssetCndtnLnsTlRecType) IS
2658
2659 l_api_version CONSTANT NUMBER := 1;
2660 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
2661 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2662 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType := p_okl_asset_cndtn_lns_tl_rec;
2663 ldefoklassetcndtnlnstlrec OklAssetCndtnLnsTlRecType;
2664 CURSOR get_languages IS
2665 SELECT *
2666 FROM FND_LANGUAGES
2667 WHERE INSTALLED_FLAG IN ('I', 'B');
2668 -----------------------------------------------
2669 -- Set_Attributes for:OKL_ASSET_CNDTN_LNS_TL --
2670 -----------------------------------------------
2671 FUNCTION Set_Attributes (
2672 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType,
2673 x_okl_asset_cndtn_lns_tl_rec OUT NOCOPY OklAssetCndtnLnsTlRecType
2674 ) RETURN VARCHAR2 IS
2675 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2676 BEGIN
2677 x_okl_asset_cndtn_lns_tl_rec := p_okl_asset_cndtn_lns_tl_rec;
2678 x_okl_asset_cndtn_lns_tl_rec.LANGUAGE := USERENV('LANG');
2679 x_okl_asset_cndtn_lns_tl_rec.SOURCE_LANG := USERENV('LANG');
2680 RETURN(l_return_status);
2681 END Set_Attributes;
2682 BEGIN
2683 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2684 p_init_msg_list,
2685 '_PVT',
2686 x_return_status);
2687 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2688 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2689 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2690 RAISE OKC_API.G_EXCEPTION_ERROR;
2691 END IF;
2692 --- Setting item attributes
2693 l_return_status := Set_Attributes(
2694 p_okl_asset_cndtn_lns_tl_rec, -- IN
2695 l_okl_asset_cndtn_lns_tl_rec); -- OUT
2696 --- If any errors happen abort API
2697 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2698 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2699 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2700 RAISE OKC_API.G_EXCEPTION_ERROR;
2701 END IF;
2702 FOR l_lang_rec IN get_languages LOOP
2703 l_okl_asset_cndtn_lns_tl_rec.language := l_lang_rec.language_code;
2704 INSERT INTO OKL_ASSET_CNDTN_LNS_TL(
2705 id,
2706 language,
2707 source_lang,
2708 sfwt_flag,
2709 damage_description,
2710 claim_description,
2711 recommended_repair,
2712 part_name,
2713 created_by,
2714 creation_date,
2715 last_updated_by,
2716 last_update_date,
2717 last_update_login)
2718 VALUES (
2719 l_okl_asset_cndtn_lns_tl_rec.id,
2720 l_okl_asset_cndtn_lns_tl_rec.language,
2721 l_okl_asset_cndtn_lns_tl_rec.source_lang,
2722 l_okl_asset_cndtn_lns_tl_rec.sfwt_flag,
2723 l_okl_asset_cndtn_lns_tl_rec.damage_description,
2724 l_okl_asset_cndtn_lns_tl_rec.claim_description,
2725 l_okl_asset_cndtn_lns_tl_rec.recommended_repair,
2726 l_okl_asset_cndtn_lns_tl_rec.part_name,
2727 l_okl_asset_cndtn_lns_tl_rec.created_by,
2728 l_okl_asset_cndtn_lns_tl_rec.creation_date,
2729 l_okl_asset_cndtn_lns_tl_rec.last_updated_by,
2730 l_okl_asset_cndtn_lns_tl_rec.last_update_date,
2731 l_okl_asset_cndtn_lns_tl_rec.last_update_login);
2732 END LOOP;
2733 -- Set OUT values
2734 x_okl_asset_cndtn_lns_tl_rec := l_okl_asset_cndtn_lns_tl_rec;
2735 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2736 EXCEPTION
2737 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2738 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2739 (
2740 l_api_name,
2741 G_PKG_NAME,
2742 'OKC_API.G_RET_STS_ERROR',
2743 x_msg_count,
2744 x_msg_data,
2745 '_PVT'
2746 );
2747 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2748 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2749 (
2750 l_api_name,
2751 G_PKG_NAME,
2752 'OKC_API.G_RET_STS_UNEXP_ERROR',
2753 x_msg_count,
2754 x_msg_data,
2755 '_PVT'
2756 );
2757 WHEN OTHERS THEN
2758 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2759 (
2760 l_api_name,
2761 G_PKG_NAME,
2762 'OTHERS',
2763 x_msg_count,
2764 x_msg_data,
2765 '_PVT'
2766 );
2767 END insert_row;
2768 ------------------------------------------
2769 -- insert_row for:OKL_ASSET_CNDTN_LNS_V --
2770 ------------------------------------------
2771 -- Start of comments
2772 --
2773 -- Procedure Name : insert_row
2774 -- Description : for OKL_ASSET_CNDTN_LNS_V
2775 -- Business Rules :
2776 -- Parameters :
2777 -- Version : 1.0
2778 -- History : RABHUPAT 13-DEC-2002 2667636
2779 -- : modified for multicurrency changes
2780 -- End of comments
2781 PROCEDURE insert_row(
2782 p_api_version IN NUMBER,
2783 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2784 x_return_status OUT NOCOPY VARCHAR2,
2785 x_msg_count OUT NOCOPY NUMBER,
2786 x_msg_data OUT NOCOPY VARCHAR2,
2787 p_acnv_rec IN acnv_rec_type,
2788 x_acnv_rec OUT NOCOPY acnv_rec_type) IS
2789
2790 l_api_version CONSTANT NUMBER := 1;
2791 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
2792 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2793 l_acnv_rec acnv_rec_type;
2794 l_def_acnv_rec acnv_rec_type;
2795 l_acn_rec acn_rec_type;
2796 lx_acn_rec acn_rec_type;
2797 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
2798 lx_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
2799 -------------------------------
2800 -- FUNCTION fill_who_columns --
2801 -------------------------------
2802 FUNCTION fill_who_columns (
2803 p_acnv_rec IN acnv_rec_type
2804 ) RETURN acnv_rec_type IS
2805 l_acnv_rec acnv_rec_type := p_acnv_rec;
2806 BEGIN
2807 l_acnv_rec.CREATION_DATE := SYSDATE;
2808 l_acnv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
2809 l_acnv_rec.LAST_UPDATE_DATE := SYSDATE;
2810 l_acnv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2811 l_acnv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2812 RETURN(l_acnv_rec);
2813 END fill_who_columns;
2814 ----------------------------------------------
2815 -- Set_Attributes for:OKL_ASSET_CNDTN_LNS_V --
2816 ----------------------------------------------
2817 FUNCTION Set_Attributes (
2818 p_acnv_rec IN acnv_rec_type,
2819 x_acnv_rec OUT NOCOPY acnv_rec_type
2820 ) RETURN VARCHAR2 IS
2821 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2822 BEGIN
2823 x_acnv_rec := p_acnv_rec;
2824 x_acnv_rec.OBJECT_VERSION_NUMBER := 1;
2825 x_acnv_rec.SFWT_FLAG := 'N';
2826
2827 -- Default the YN columns if value not passed
2828 IF p_acnv_rec.approved_yn IS NULL
2829 OR p_acnv_rec.approved_yn = OKC_API.G_MISS_CHAR THEN
2830 x_acnv_rec.approved_yn := 'N';
2831 END IF;
2832
2833 -- Default the ORG ID if a value is not passed
2834 IF p_acnv_rec.org_id IS NULL
2835 OR p_acnv_rec.org_id = OKC_API.G_MISS_NUM THEN
2836 x_acnv_rec.org_id := MO_GLOBAL.GET_CURRENT_ORG_ID();
2837 END IF;
2838
2839 -- RABHUPAT - 2667636 - Start
2840 x_acnv_rec.currency_conversion_code := OKL_AM_UTIL_PVT.get_functional_currency;
2841
2842 IF p_acnv_rec.currency_code IS NULL
2843 OR p_acnv_rec.currency_code = OKC_API.G_MISS_CHAR THEN
2844 x_acnv_rec.currency_code := x_acnv_rec.currency_conversion_code;
2845 END IF;
2846 -- RABHUPAT- 2667636 - End
2847
2848 RETURN(l_return_status);
2849 END Set_Attributes;
2850 BEGIN
2851 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2852 G_PKG_NAME,
2853 p_init_msg_list,
2854 l_api_version,
2855 p_api_version,
2856 '_PVT',
2857 x_return_status);
2858 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2859 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2860 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2861 RAISE OKC_API.G_EXCEPTION_ERROR;
2862 END IF;
2863 l_acnv_rec := null_out_defaults(p_acnv_rec);
2864 -- Set primary key value
2865 l_acnv_rec.ID := get_seq_id;
2866 --- Setting item attributes
2867 l_return_status := Set_Attributes(
2868 l_acnv_rec, -- IN
2869 l_def_acnv_rec); -- OUT
2870 --- If any errors happen abort API
2871 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2872 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2873 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2874 RAISE OKC_API.G_EXCEPTION_ERROR;
2875 END IF;
2876 l_def_acnv_rec := fill_who_columns(l_def_acnv_rec);
2877 --- Validate all non-missing attributes (Item Level Validation)
2878 l_return_status := Validate_Attributes(l_def_acnv_rec);
2879 --- If any errors happen abort API
2880 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2881 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2882 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2883 RAISE OKC_API.G_EXCEPTION_ERROR;
2884 END IF;
2885 --gkadarka Fixes for 3559327
2886 l_def_acnv_rec.currency_conversion_type := NULL;
2887 l_def_acnv_rec.currency_conversion_rate := NULL;
2888 l_def_acnv_rec.currency_conversion_date := NULL;
2889 --gkdarka
2890 l_return_status := Validate_Record(l_def_acnv_rec);
2891 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2892 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2893 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2894 RAISE OKC_API.G_EXCEPTION_ERROR;
2895 END IF;
2896 --------------------------------------
2897 -- Move VIEW record to "Child" records
2898 --------------------------------------
2899 migrate(l_def_acnv_rec, l_acn_rec);
2900 migrate(l_def_acnv_rec, l_okl_asset_cndtn_lns_tl_rec);
2901 --------------------------------------------
2902 -- Call the INSERT_ROW for each child record
2903 --------------------------------------------
2904 insert_row(
2905 p_init_msg_list,
2906 x_return_status,
2907 x_msg_count,
2908 x_msg_data,
2909 l_acn_rec,
2910 lx_acn_rec
2911 );
2912 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2913 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2914 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2915 RAISE OKC_API.G_EXCEPTION_ERROR;
2916 END IF;
2917 migrate(lx_acn_rec, l_def_acnv_rec);
2918 insert_row(
2919 p_init_msg_list,
2920 x_return_status,
2921 x_msg_count,
2922 x_msg_data,
2923 l_okl_asset_cndtn_lns_tl_rec,
2924 lx_okl_asset_cndtn_lns_tl_rec
2925 );
2926 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2927 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2928 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2929 RAISE OKC_API.G_EXCEPTION_ERROR;
2930 END IF;
2931 migrate(lx_okl_asset_cndtn_lns_tl_rec, l_def_acnv_rec);
2932 -- Set OUT values
2933 x_acnv_rec := l_def_acnv_rec;
2934 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2935 EXCEPTION
2936 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2937 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2938 (
2939 l_api_name,
2940 G_PKG_NAME,
2941 'OKC_API.G_RET_STS_ERROR',
2942 x_msg_count,
2943 x_msg_data,
2944 '_PVT'
2945 );
2946 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2947 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2948 (
2949 l_api_name,
2950 G_PKG_NAME,
2951 'OKC_API.G_RET_STS_UNEXP_ERROR',
2952 x_msg_count,
2953 x_msg_data,
2954 '_PVT'
2955 );
2956 WHEN OTHERS THEN
2957 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2958 (
2959 l_api_name,
2960 G_PKG_NAME,
2961 'OTHERS',
2962 x_msg_count,
2963 x_msg_data,
2964 '_PVT'
2965 );
2966 END insert_row;
2967 ----------------------------------------
2968 -- PL/SQL TBL insert_row for:ACNV_TBL --
2969 ----------------------------------------
2970 PROCEDURE insert_row(
2971 p_api_version IN NUMBER,
2972 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2973 x_return_status OUT NOCOPY VARCHAR2,
2974 x_msg_count OUT NOCOPY NUMBER,
2975 x_msg_data OUT NOCOPY VARCHAR2,
2976 p_acnv_tbl IN acnv_tbl_type,
2977 x_acnv_tbl OUT NOCOPY acnv_tbl_type) IS
2978
2979 l_api_version CONSTANT NUMBER := 1;
2980 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2981 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2982 i NUMBER := 0;
2983 -- Begin Post-Generation Change
2984 -- overall error status
2985 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2986 -- End Post-Generation Change
2987 BEGIN
2988 OKC_API.init_msg_list(p_init_msg_list);
2989 -- Make sure PL/SQL table has records in it before passing
2990 IF (p_acnv_tbl.COUNT > 0) THEN
2991 i := p_acnv_tbl.FIRST;
2992 LOOP
2993 insert_row (
2994 p_api_version => p_api_version,
2995 p_init_msg_list => OKC_API.G_FALSE,
2996 x_return_status => x_return_status,
2997 x_msg_count => x_msg_count,
2998 x_msg_data => x_msg_data,
2999 p_acnv_rec => p_acnv_tbl(i),
3000 x_acnv_rec => x_acnv_tbl(i));
3001 -- Begin Post-Generation Change
3002 -- store the highest degree of error
3003 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3004 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3005 l_overall_status := x_return_status;
3006 END IF;
3007 END IF;
3008 -- End Post-Generation Change
3009 EXIT WHEN (i = p_acnv_tbl.LAST);
3010 i := p_acnv_tbl.NEXT(i);
3011 END LOOP;
3012 -- Begin Post-Generation Change
3013 -- return overall status
3014 x_return_status := l_overall_status;
3015 -- End Post-Generation Change
3016 END IF;
3017 EXCEPTION
3018 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3019 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3020 (
3021 l_api_name,
3022 G_PKG_NAME,
3023 'OKC_API.G_RET_STS_ERROR',
3024 x_msg_count,
3025 x_msg_data,
3026 '_PVT'
3027 );
3028 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3029 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3030 (
3031 l_api_name,
3032 G_PKG_NAME,
3033 'OKC_API.G_RET_STS_UNEXP_ERROR',
3034 x_msg_count,
3035 x_msg_data,
3036 '_PVT'
3037 );
3038 WHEN OTHERS THEN
3039 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3040 (
3041 l_api_name,
3042 G_PKG_NAME,
3043 'OTHERS',
3044 x_msg_count,
3045 x_msg_data,
3046 '_PVT'
3047 );
3048 END insert_row;
3049
3050 ---------------------------------------------------------------------------
3051 -- PROCEDURE lock_row
3052 ---------------------------------------------------------------------------
3053 ----------------------------------------
3054 -- lock_row for:OKL_ASSET_CNDTN_LNS_B --
3055 ----------------------------------------
3056 PROCEDURE lock_row(
3057 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3058 x_return_status OUT NOCOPY VARCHAR2,
3059 x_msg_count OUT NOCOPY NUMBER,
3060 x_msg_data OUT NOCOPY VARCHAR2,
3061 p_acn_rec IN acn_rec_type) IS
3062
3063 E_Resource_Busy EXCEPTION;
3064 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3065 CURSOR lock_csr (p_acn_rec IN acn_rec_type) IS
3066 SELECT OBJECT_VERSION_NUMBER
3067 FROM OKL_ASSET_CNDTN_LNS_B
3068 WHERE ID = p_acn_rec.id
3069 AND OBJECT_VERSION_NUMBER = p_acn_rec.object_version_number
3070 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
3071
3072 CURSOR lchk_csr (p_acn_rec IN acn_rec_type) IS
3073 SELECT OBJECT_VERSION_NUMBER
3074 FROM OKL_ASSET_CNDTN_LNS_B
3075 WHERE ID = p_acn_rec.id;
3076 l_api_version CONSTANT NUMBER := 1;
3077 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
3078 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3079 l_object_version_number OKL_ASSET_CNDTN_LNS_B.OBJECT_VERSION_NUMBER%TYPE;
3080 lc_object_version_number OKL_ASSET_CNDTN_LNS_B.OBJECT_VERSION_NUMBER%TYPE;
3081 l_row_notfound BOOLEAN := FALSE;
3082 lc_row_notfound BOOLEAN := FALSE;
3083 BEGIN
3084 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3085 p_init_msg_list,
3086 '_PVT',
3087 x_return_status);
3088 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3089 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3090 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3091 RAISE OKC_API.G_EXCEPTION_ERROR;
3092 END IF;
3093 BEGIN
3094 OPEN lock_csr(p_acn_rec);
3095 FETCH lock_csr INTO l_object_version_number;
3096 l_row_notfound := lock_csr%NOTFOUND;
3097 CLOSE lock_csr;
3098 EXCEPTION
3099 WHEN E_Resource_Busy THEN
3100 IF (lock_csr%ISOPEN) THEN
3101 CLOSE lock_csr;
3102 END IF;
3103 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3104 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3105 END;
3106
3107 IF ( l_row_notfound ) THEN
3108 OPEN lchk_csr(p_acn_rec);
3109 FETCH lchk_csr INTO lc_object_version_number;
3110 lc_row_notfound := lchk_csr%NOTFOUND;
3111 CLOSE lchk_csr;
3112 END IF;
3113 IF (lc_row_notfound) THEN
3114 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3115 RAISE OKC_API.G_EXCEPTION_ERROR;
3116 ELSIF lc_object_version_number > p_acn_rec.object_version_number THEN
3117 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3118 RAISE OKC_API.G_EXCEPTION_ERROR;
3119 ELSIF lc_object_version_number <> p_acn_rec.object_version_number THEN
3120 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3121 RAISE OKC_API.G_EXCEPTION_ERROR;
3122 ELSIF lc_object_version_number = -1 THEN
3123 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
3124 RAISE OKC_API.G_EXCEPTION_ERROR;
3125 END IF;
3126 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3127 EXCEPTION
3128 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3129 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3130 (
3131 l_api_name,
3132 G_PKG_NAME,
3133 'OKC_API.G_RET_STS_ERROR',
3134 x_msg_count,
3135 x_msg_data,
3136 '_PVT'
3137 );
3138 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3139 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3140 (
3141 l_api_name,
3142 G_PKG_NAME,
3143 'OKC_API.G_RET_STS_UNEXP_ERROR',
3144 x_msg_count,
3145 x_msg_data,
3146 '_PVT'
3147 );
3148 WHEN OTHERS THEN
3149 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3150 (
3151 l_api_name,
3152 G_PKG_NAME,
3153 'OTHERS',
3154 x_msg_count,
3155 x_msg_data,
3156 '_PVT'
3157 );
3158 END lock_row;
3159 -----------------------------------------
3160 -- lock_row for:OKL_ASSET_CNDTN_LNS_TL --
3161 -----------------------------------------
3162 PROCEDURE lock_row(
3163 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3164 x_return_status OUT NOCOPY VARCHAR2,
3165 x_msg_count OUT NOCOPY NUMBER,
3166 x_msg_data OUT NOCOPY VARCHAR2,
3167 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType) IS
3168
3169 E_Resource_Busy EXCEPTION;
3170 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3171 CURSOR lock_csr (p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType) IS
3172 SELECT *
3173 FROM OKL_ASSET_CNDTN_LNS_TL
3174 WHERE ID = p_okl_asset_cndtn_lns_tl_rec.id
3175 FOR UPDATE NOWAIT;
3176
3177 l_api_version CONSTANT NUMBER := 1;
3178 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
3179 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3180 l_lock_var lock_csr%ROWTYPE;
3181 l_row_notfound BOOLEAN := FALSE;
3182 lc_row_notfound BOOLEAN := FALSE;
3183 BEGIN
3184 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3185 p_init_msg_list,
3186 '_PVT',
3187 x_return_status);
3188 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3189 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3190 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3191 RAISE OKC_API.G_EXCEPTION_ERROR;
3192 END IF;
3193 BEGIN
3194 OPEN lock_csr(p_okl_asset_cndtn_lns_tl_rec);
3195 FETCH lock_csr INTO l_lock_var;
3196 l_row_notfound := lock_csr%NOTFOUND;
3197 CLOSE lock_csr;
3198 EXCEPTION
3199 WHEN E_Resource_Busy THEN
3200 IF (lock_csr%ISOPEN) THEN
3201 CLOSE lock_csr;
3202 END IF;
3203 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3204 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3205 END;
3206
3207 IF ( l_row_notfound ) THEN
3208 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3209 RAISE OKC_API.G_EXCEPTION_ERROR;
3210 END IF;
3211 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3212 EXCEPTION
3213 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3214 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3215 (
3216 l_api_name,
3217 G_PKG_NAME,
3218 'OKC_API.G_RET_STS_ERROR',
3219 x_msg_count,
3220 x_msg_data,
3221 '_PVT'
3222 );
3223 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3224 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3225 (
3226 l_api_name,
3227 G_PKG_NAME,
3228 'OKC_API.G_RET_STS_UNEXP_ERROR',
3229 x_msg_count,
3230 x_msg_data,
3231 '_PVT'
3232 );
3233 WHEN OTHERS THEN
3234 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3235 (
3236 l_api_name,
3237 G_PKG_NAME,
3238 'OTHERS',
3239 x_msg_count,
3240 x_msg_data,
3241 '_PVT'
3242 );
3243 END lock_row;
3244 ----------------------------------------
3245 -- lock_row for:OKL_ASSET_CNDTN_LNS_V --
3246 ----------------------------------------
3247 PROCEDURE lock_row(
3248 p_api_version IN NUMBER,
3249 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3250 x_return_status OUT NOCOPY VARCHAR2,
3251 x_msg_count OUT NOCOPY NUMBER,
3252 x_msg_data OUT NOCOPY VARCHAR2,
3253 p_acnv_rec IN acnv_rec_type) IS
3254
3255 l_api_version CONSTANT NUMBER := 1;
3256 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
3257 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3258 l_acn_rec acn_rec_type;
3259 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
3260 BEGIN
3261 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3262 G_PKG_NAME,
3263 p_init_msg_list,
3264 l_api_version,
3265 p_api_version,
3266 '_PVT',
3267 x_return_status);
3268 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3269 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3270 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3271 RAISE OKC_API.G_EXCEPTION_ERROR;
3272 END IF;
3273 --------------------------------------
3274 -- Move VIEW record to "Child" records
3275 --------------------------------------
3276 migrate(p_acnv_rec, l_acn_rec);
3277 migrate(p_acnv_rec, l_okl_asset_cndtn_lns_tl_rec);
3278 --------------------------------------------
3279 -- Call the LOCK_ROW for each child record
3280 --------------------------------------------
3281 lock_row(
3282 p_init_msg_list,
3283 x_return_status,
3284 x_msg_count,
3285 x_msg_data,
3286 l_acn_rec
3287 );
3288 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3289 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3290 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3291 RAISE OKC_API.G_EXCEPTION_ERROR;
3292 END IF;
3293 lock_row(
3294 p_init_msg_list,
3295 x_return_status,
3296 x_msg_count,
3297 x_msg_data,
3298 l_okl_asset_cndtn_lns_tl_rec
3299 );
3300 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3301 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3302 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3303 RAISE OKC_API.G_EXCEPTION_ERROR;
3304 END IF;
3305 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3306 EXCEPTION
3307 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3308 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3309 (
3310 l_api_name,
3311 G_PKG_NAME,
3312 'OKC_API.G_RET_STS_ERROR',
3313 x_msg_count,
3314 x_msg_data,
3315 '_PVT'
3316 );
3317 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3318 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3319 (
3320 l_api_name,
3321 G_PKG_NAME,
3322 'OKC_API.G_RET_STS_UNEXP_ERROR',
3323 x_msg_count,
3324 x_msg_data,
3325 '_PVT'
3326 );
3327 WHEN OTHERS THEN
3328 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3329 (
3330 l_api_name,
3331 G_PKG_NAME,
3332 'OTHERS',
3333 x_msg_count,
3334 x_msg_data,
3335 '_PVT'
3336 );
3337 END lock_row;
3338 --------------------------------------
3339 -- PL/SQL TBL lock_row for:ACNV_TBL --
3340 --------------------------------------
3341 PROCEDURE lock_row(
3342 p_api_version IN NUMBER,
3343 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3344 x_return_status OUT NOCOPY VARCHAR2,
3345 x_msg_count OUT NOCOPY NUMBER,
3346 x_msg_data OUT NOCOPY VARCHAR2,
3347 p_acnv_tbl IN acnv_tbl_type) IS
3348
3349 l_api_version CONSTANT NUMBER := 1;
3350 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
3351 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3352 i NUMBER := 0;
3353 -- Begin Post-Generation Change
3354 -- overall error status
3355 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3356 -- End Post-Generation Change
3357
3358 BEGIN
3359 OKC_API.init_msg_list(p_init_msg_list);
3360 -- Make sure PL/SQL table has records in it before passing
3361 IF (p_acnv_tbl.COUNT > 0) THEN
3362 i := p_acnv_tbl.FIRST;
3363 LOOP
3364 lock_row (
3365 p_api_version => p_api_version,
3366 p_init_msg_list => OKC_API.G_FALSE,
3367 x_return_status => x_return_status,
3368 x_msg_count => x_msg_count,
3369 x_msg_data => x_msg_data,
3370 p_acnv_rec => p_acnv_tbl(i));
3371 -- Begin Post-Generation Change
3372 -- store the highest degree of error
3373 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3374 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3375 l_overall_status := x_return_status;
3376 END IF;
3377 END IF;
3378 -- End Post-Generation Change
3379 EXIT WHEN (i = p_acnv_tbl.LAST);
3380 i := p_acnv_tbl.NEXT(i);
3381 END LOOP;
3382 -- Begin Post-Generation Change
3383 -- return overall status
3384 x_return_status := l_overall_status;
3385 -- End Post-Generation Change
3386 END IF;
3387 EXCEPTION
3388 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3389 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3390 (
3391 l_api_name,
3392 G_PKG_NAME,
3393 'OKC_API.G_RET_STS_ERROR',
3394 x_msg_count,
3395 x_msg_data,
3396 '_PVT'
3397 );
3398 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3399 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3400 (
3401 l_api_name,
3402 G_PKG_NAME,
3403 'OKC_API.G_RET_STS_UNEXP_ERROR',
3404 x_msg_count,
3405 x_msg_data,
3406 '_PVT'
3407 );
3408 WHEN OTHERS THEN
3409 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3410 (
3411 l_api_name,
3412 G_PKG_NAME,
3413 'OTHERS',
3414 x_msg_count,
3415 x_msg_data,
3416 '_PVT'
3417 );
3418 END lock_row;
3419
3420 ---------------------------------------------------------------------------
3421 -- PROCEDURE update_row
3422 ---------------------------------------------------------------------------
3423 ------------------------------------------
3424 -- update_row for:OKL_ASSET_CNDTN_LNS_B --
3425 ------------------------------------------
3426 -- Start of comments
3427 --
3428 -- Procedure Name : update_row
3429 -- Description : for OKL_ASSET_CNDTN_LNS_B
3430 -- Business Rules :
3431 -- Parameters :
3432 -- Version : 1.0
3433 -- History : RABHUPAT 13-DEC-2002 2667636
3434 -- : modified for multicurrency changes
3435 -- End of comments
3436 PROCEDURE update_row(
3437 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3438 x_return_status OUT NOCOPY VARCHAR2,
3439 x_msg_count OUT NOCOPY NUMBER,
3440 x_msg_data OUT NOCOPY VARCHAR2,
3441 p_acn_rec IN acn_rec_type,
3442 x_acn_rec OUT NOCOPY acn_rec_type) IS
3443
3444 l_api_version CONSTANT NUMBER := 1;
3445 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
3446 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3447 l_acn_rec acn_rec_type := p_acn_rec;
3448 l_def_acn_rec acn_rec_type;
3449 l_row_notfound BOOLEAN := TRUE;
3450 ----------------------------------
3451 -- FUNCTION populate_new_record --
3452 ----------------------------------
3453 FUNCTION populate_new_record (
3454 p_acn_rec IN acn_rec_type,
3455 x_acn_rec OUT NOCOPY acn_rec_type
3456 ) RETURN VARCHAR2 IS
3457 l_acn_rec acn_rec_type;
3458 l_row_notfound BOOLEAN := TRUE;
3459 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3460 BEGIN
3461 x_acn_rec := p_acn_rec;
3462 -- Get current database values
3463 l_acn_rec := get_rec(p_acn_rec, l_row_notfound);
3464 IF (l_row_notfound) THEN
3465 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3466 END IF;
3467 IF (x_acn_rec.id = OKC_API.G_MISS_NUM)
3468 THEN
3469 x_acn_rec.id := l_acn_rec.id;
3470 END IF;
3471 IF (x_acn_rec.sequence_number = OKC_API.G_MISS_NUM)
3472 THEN
3473 x_acn_rec.sequence_number := l_acn_rec.sequence_number;
3474 END IF;
3475 IF (x_acn_rec.acd_id = OKC_API.G_MISS_NUM)
3476 THEN
3477 x_acn_rec.acd_id := l_acn_rec.acd_id;
3478 END IF;
3479 IF (x_acn_rec.ctp_code = OKC_API.G_MISS_CHAR)
3480 THEN
3481 x_acn_rec.ctp_code := l_acn_rec.ctp_code;
3482 END IF;
3483 IF (x_acn_rec.cdn_code = OKC_API.G_MISS_CHAR)
3484 THEN
3485 x_acn_rec.cdn_code := l_acn_rec.cdn_code;
3486 END IF;
3487 IF (x_acn_rec.dty_code = OKC_API.G_MISS_CHAR)
3488 THEN
3489 x_acn_rec.dty_code := l_acn_rec.dty_code;
3490 END IF;
3491 IF (x_acn_rec.acs_code = OKC_API.G_MISS_CHAR)
3492 THEN
3493 x_acn_rec.acs_code := l_acn_rec.acs_code;
3494 END IF;
3495 IF (x_acn_rec.isq_id = OKC_API.G_MISS_NUM)
3496 THEN
3497 x_acn_rec.isq_id := l_acn_rec.isq_id;
3498 END IF;
3499 IF (x_acn_rec.pzt_id = OKC_API.G_MISS_NUM)
3500 THEN
3501 x_acn_rec.pzt_id := l_acn_rec.pzt_id;
3502 END IF;
3503 IF (x_acn_rec.rpc_id = OKC_API.G_MISS_NUM)
3504 THEN
3505 x_acn_rec.rpc_id := l_acn_rec.rpc_id;
3506 END IF;
3507 IF (x_acn_rec.estimated_repair_cost = OKC_API.G_MISS_NUM)
3508 THEN
3509 x_acn_rec.estimated_repair_cost := l_acn_rec.estimated_repair_cost;
3510 END IF;
3511 IF (x_acn_rec.actual_repair_cost = OKC_API.G_MISS_NUM)
3512 THEN
3513 x_acn_rec.actual_repair_cost := l_acn_rec.actual_repair_cost;
3514 END IF;
3515 IF (x_acn_rec.object_version_number = OKC_API.G_MISS_NUM)
3516 THEN
3517 x_acn_rec.object_version_number := l_acn_rec.object_version_number;
3518 END IF;
3519 IF (x_acn_rec.approved_by = OKC_API.G_MISS_NUM)
3520 THEN
3521 x_acn_rec.approved_by := l_acn_rec.approved_by;
3522 END IF;
3523 IF (x_acn_rec.approved_yn = OKC_API.G_MISS_CHAR)
3524 THEN
3525 x_acn_rec.approved_yn := l_acn_rec.approved_yn;
3526 END IF;
3527 IF (x_acn_rec.date_approved = OKC_API.G_MISS_DATE)
3528 THEN
3529 x_acn_rec.date_approved := l_acn_rec.date_approved;
3530 END IF;
3531 IF (x_acn_rec.date_reported = OKC_API.G_MISS_DATE)
3532 THEN
3533 x_acn_rec.date_reported := l_acn_rec.date_reported;
3534 END IF;
3535 IF (x_acn_rec.org_id = OKC_API.G_MISS_NUM)
3536 THEN
3537 x_acn_rec.org_id := l_acn_rec.org_id;
3538 END IF;
3539 IF (x_acn_rec.request_id = OKC_API.G_MISS_NUM)
3540 THEN
3541 x_acn_rec.request_id := l_acn_rec.request_id;
3542 END IF;
3543 IF (x_acn_rec.program_application_id = OKC_API.G_MISS_NUM)
3544 THEN
3545 x_acn_rec.program_application_id := l_acn_rec.program_application_id;
3546 END IF;
3547 IF (x_acn_rec.program_id = OKC_API.G_MISS_NUM)
3548 THEN
3549 x_acn_rec.program_id := l_acn_rec.program_id;
3550 END IF;
3551 IF (x_acn_rec.program_update_date = OKC_API.G_MISS_DATE)
3552 THEN
3553 x_acn_rec.program_update_date := l_acn_rec.program_update_date;
3554 END IF;
3555 IF (x_acn_rec.attribute_category = OKC_API.G_MISS_CHAR)
3556 THEN
3557 x_acn_rec.attribute_category := l_acn_rec.attribute_category;
3558 END IF;
3559 IF (x_acn_rec.attribute1 = OKC_API.G_MISS_CHAR)
3560 THEN
3561 x_acn_rec.attribute1 := l_acn_rec.attribute1;
3562 END IF;
3563 IF (x_acn_rec.attribute2 = OKC_API.G_MISS_CHAR)
3564 THEN
3565 x_acn_rec.attribute2 := l_acn_rec.attribute2;
3566 END IF;
3567 IF (x_acn_rec.attribute3 = OKC_API.G_MISS_CHAR)
3568 THEN
3569 x_acn_rec.attribute3 := l_acn_rec.attribute3;
3570 END IF;
3571 IF (x_acn_rec.attribute4 = OKC_API.G_MISS_CHAR)
3572 THEN
3573 x_acn_rec.attribute4 := l_acn_rec.attribute4;
3574 END IF;
3575 IF (x_acn_rec.attribute5 = OKC_API.G_MISS_CHAR)
3576 THEN
3577 x_acn_rec.attribute5 := l_acn_rec.attribute5;
3578 END IF;
3579 IF (x_acn_rec.attribute6 = OKC_API.G_MISS_CHAR)
3580 THEN
3581 x_acn_rec.attribute6 := l_acn_rec.attribute6;
3582 END IF;
3583 IF (x_acn_rec.attribute7 = OKC_API.G_MISS_CHAR)
3584 THEN
3585 x_acn_rec.attribute7 := l_acn_rec.attribute7;
3586 END IF;
3587 IF (x_acn_rec.attribute8 = OKC_API.G_MISS_CHAR)
3588 THEN
3589 x_acn_rec.attribute8 := l_acn_rec.attribute8;
3590 END IF;
3591 IF (x_acn_rec.attribute9 = OKC_API.G_MISS_CHAR)
3592 THEN
3593 x_acn_rec.attribute9 := l_acn_rec.attribute9;
3594 END IF;
3595 IF (x_acn_rec.attribute10 = OKC_API.G_MISS_CHAR)
3596 THEN
3597 x_acn_rec.attribute10 := l_acn_rec.attribute10;
3598 END IF;
3599 IF (x_acn_rec.attribute11 = OKC_API.G_MISS_CHAR)
3600 THEN
3601 x_acn_rec.attribute11 := l_acn_rec.attribute11;
3602 END IF;
3603 IF (x_acn_rec.attribute12 = OKC_API.G_MISS_CHAR)
3604 THEN
3605 x_acn_rec.attribute12 := l_acn_rec.attribute12;
3606 END IF;
3607 IF (x_acn_rec.attribute13 = OKC_API.G_MISS_CHAR)
3608 THEN
3609 x_acn_rec.attribute13 := l_acn_rec.attribute13;
3610 END IF;
3611 IF (x_acn_rec.attribute14 = OKC_API.G_MISS_CHAR)
3612 THEN
3613 x_acn_rec.attribute14 := l_acn_rec.attribute14;
3614 END IF;
3615 IF (x_acn_rec.attribute15 = OKC_API.G_MISS_CHAR)
3616 THEN
3617 x_acn_rec.attribute15 := l_acn_rec.attribute15;
3618 END IF;
3619 IF (x_acn_rec.created_by = OKC_API.G_MISS_NUM)
3620 THEN
3621 x_acn_rec.created_by := l_acn_rec.created_by;
3622 END IF;
3623 IF (x_acn_rec.creation_date = OKC_API.G_MISS_DATE)
3624 THEN
3625 x_acn_rec.creation_date := l_acn_rec.creation_date;
3626 END IF;
3627 IF (x_acn_rec.last_updated_by = OKC_API.G_MISS_NUM)
3628 THEN
3629 x_acn_rec.last_updated_by := l_acn_rec.last_updated_by;
3630 END IF;
3631 IF (x_acn_rec.last_update_date = OKC_API.G_MISS_DATE)
3632 THEN
3633 x_acn_rec.last_update_date := l_acn_rec.last_update_date;
3634 END IF;
3635 IF (x_acn_rec.last_update_login = OKC_API.G_MISS_NUM)
3636 THEN
3637 x_acn_rec.last_update_login := l_acn_rec.last_update_login;
3638 END IF;
3639 -- RABHUPAT - 2667636 - Start
3640 IF (x_acn_rec.currency_code = OKC_API.G_MISS_CHAR)
3641 THEN
3642 x_acn_rec.currency_code := l_acn_rec.currency_code;
3643 END IF;
3644 IF (x_acn_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
3645 THEN
3646 x_acn_rec.currency_conversion_code := l_acn_rec.currency_conversion_code;
3647 END IF;
3648 IF (x_acn_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
3649 THEN
3650 x_acn_rec.currency_conversion_type := l_acn_rec.currency_conversion_type;
3651 END IF;
3652 IF (x_acn_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
3653 THEN
3654 x_acn_rec.currency_conversion_rate := l_acn_rec.currency_conversion_rate;
3655 END IF;
3656 IF (x_acn_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
3657 THEN
3658 x_acn_rec.currency_conversion_date := l_acn_rec.currency_conversion_date;
3659 END IF;
3660 -- RABHUPAT - 2667636 - End
3661 RETURN(l_return_status);
3662 END populate_new_record;
3663 ----------------------------------------------
3664 -- Set_Attributes for:OKL_ASSET_CNDTN_LNS_B --
3665 ----------------------------------------------
3666 FUNCTION Set_Attributes (
3667 p_acn_rec IN acn_rec_type,
3668 x_acn_rec OUT NOCOPY acn_rec_type
3669 ) RETURN VARCHAR2 IS
3670 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3671 BEGIN
3672 x_acn_rec := p_acn_rec;
3673 RETURN(l_return_status);
3674 END Set_Attributes;
3675 BEGIN
3676 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3677 p_init_msg_list,
3678 '_PVT',
3679 x_return_status);
3680 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3681 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3682 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3683 RAISE OKC_API.G_EXCEPTION_ERROR;
3684 END IF;
3685 --- Setting item attributes
3686 l_return_status := Set_Attributes(
3687 p_acn_rec, -- IN
3688 l_acn_rec); -- OUT
3689 --- If any errors happen abort API
3690 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3691 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3692 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3693 RAISE OKC_API.G_EXCEPTION_ERROR;
3694 END IF;
3695 l_return_status := populate_new_record(l_acn_rec, l_def_acn_rec);
3696 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3697 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3698 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3699 RAISE OKC_API.G_EXCEPTION_ERROR;
3700 END IF;
3701 UPDATE OKL_ASSET_CNDTN_LNS_B
3702 SET SEQUENCE_NUMBER = l_def_acn_rec.sequence_number,
3703 ACD_ID = l_def_acn_rec.acd_id,
3704 CTP_CODE = l_def_acn_rec.ctp_code,
3705 CDN_CODE = l_def_acn_rec.cdn_code,
3706 DTY_CODE = l_def_acn_rec.dty_code,
3707 ACS_CODE = l_def_acn_rec.acs_code,
3708 ISQ_ID = l_def_acn_rec.isq_id,
3709 PZT_ID = l_def_acn_rec.pzt_id,
3710 RPC_ID = l_def_acn_rec.rpc_id,
3711 ESTIMATED_REPAIR_COST = l_def_acn_rec.estimated_repair_cost,
3712 ACTUAL_REPAIR_COST = l_def_acn_rec.actual_repair_cost,
3713 OBJECT_VERSION_NUMBER = l_def_acn_rec.object_version_number,
3714 APPROVED_BY = l_def_acn_rec.approved_by,
3715 APPROVED_YN = l_def_acn_rec.approved_yn,
3716 DATE_APPROVED = l_def_acn_rec.date_approved,
3717 DATE_REPORTED = l_def_acn_rec.date_reported,
3718 ORG_ID = l_def_acn_rec.org_id,
3719 REQUEST_ID = l_def_acn_rec.request_id,
3720 PROGRAM_APPLICATION_ID = l_def_acn_rec.program_application_id,
3721 PROGRAM_ID = l_def_acn_rec.program_id,
3722 PROGRAM_UPDATE_DATE = l_def_acn_rec.program_update_date,
3723 ATTRIBUTE_CATEGORY = l_def_acn_rec.attribute_category,
3724 ATTRIBUTE1 = l_def_acn_rec.attribute1,
3725 ATTRIBUTE2 = l_def_acn_rec.attribute2,
3726 ATTRIBUTE3 = l_def_acn_rec.attribute3,
3727 ATTRIBUTE4 = l_def_acn_rec.attribute4,
3728 ATTRIBUTE5 = l_def_acn_rec.attribute5,
3729 ATTRIBUTE6 = l_def_acn_rec.attribute6,
3730 ATTRIBUTE7 = l_def_acn_rec.attribute7,
3731 ATTRIBUTE8 = l_def_acn_rec.attribute8,
3732 ATTRIBUTE9 = l_def_acn_rec.attribute9,
3733 ATTRIBUTE10 = l_def_acn_rec.attribute10,
3734 ATTRIBUTE11 = l_def_acn_rec.attribute11,
3735 ATTRIBUTE12 = l_def_acn_rec.attribute12,
3736 ATTRIBUTE13 = l_def_acn_rec.attribute13,
3737 ATTRIBUTE14 = l_def_acn_rec.attribute14,
3738 ATTRIBUTE15 = l_def_acn_rec.attribute15,
3739 CREATED_BY = l_def_acn_rec.created_by,
3740 CREATION_DATE = l_def_acn_rec.creation_date,
3741 LAST_UPDATED_BY = l_def_acn_rec.last_updated_by,
3742 LAST_UPDATE_DATE = l_def_acn_rec.last_update_date,
3743 LAST_UPDATE_LOGIN = l_def_acn_rec.last_update_login,
3744 -- RABHUPAT - 2667636 - Start
3745 CURRENCY_CODE = l_def_acn_rec.currency_code,
3746 CURRENCY_CONVERSION_CODE = l_def_acn_rec.currency_conversion_code,
3747 CURRENCY_CONVERSION_TYPE = l_def_acn_rec.currency_conversion_type,
3748 CURRENCY_CONVERSION_RATE = l_def_acn_rec.currency_conversion_rate,
3749 CURRENCY_CONVERSION_DATE = l_def_acn_rec.currency_conversion_date
3750 -- RABHUPAT - 2667636 - End
3751 WHERE ID = l_def_acn_rec.id;
3752
3753 x_acn_rec := l_def_acn_rec;
3754 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3755 EXCEPTION
3756 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3757 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3758 (
3759 l_api_name,
3760 G_PKG_NAME,
3761 'OKC_API.G_RET_STS_ERROR',
3762 x_msg_count,
3763 x_msg_data,
3764 '_PVT'
3765 );
3766 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3767 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3768 (
3769 l_api_name,
3770 G_PKG_NAME,
3771 'OKC_API.G_RET_STS_UNEXP_ERROR',
3772 x_msg_count,
3773 x_msg_data,
3774 '_PVT'
3775 );
3776 WHEN OTHERS THEN
3777 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3778 (
3779 l_api_name,
3780 G_PKG_NAME,
3781 'OTHERS',
3782 x_msg_count,
3783 x_msg_data,
3784 '_PVT'
3785 );
3786 END update_row;
3787 -------------------------------------------
3788 -- update_row for:OKL_ASSET_CNDTN_LNS_TL --
3789 -------------------------------------------
3790 PROCEDURE update_row(
3791 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3792 x_return_status OUT NOCOPY VARCHAR2,
3793 x_msg_count OUT NOCOPY NUMBER,
3794 x_msg_data OUT NOCOPY VARCHAR2,
3795 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType,
3796 x_okl_asset_cndtn_lns_tl_rec OUT NOCOPY OklAssetCndtnLnsTlRecType) IS
3797
3798 l_api_version CONSTANT NUMBER := 1;
3799 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
3800 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3801 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType := p_okl_asset_cndtn_lns_tl_rec;
3802 ldefoklassetcndtnlnstlrec OklAssetCndtnLnsTlRecType;
3803 l_row_notfound BOOLEAN := TRUE;
3804 ----------------------------------
3805 -- FUNCTION populate_new_record --
3806 ----------------------------------
3807 FUNCTION populate_new_record (
3808 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType,
3809 x_okl_asset_cndtn_lns_tl_rec OUT NOCOPY OklAssetCndtnLnsTlRecType
3810 ) RETURN VARCHAR2 IS
3811 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
3812 l_row_notfound BOOLEAN := TRUE;
3813 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3814 BEGIN
3815 x_okl_asset_cndtn_lns_tl_rec := p_okl_asset_cndtn_lns_tl_rec;
3816 -- Get current database values
3817 l_okl_asset_cndtn_lns_tl_rec := get_rec(p_okl_asset_cndtn_lns_tl_rec, l_row_notfound);
3818 IF (l_row_notfound) THEN
3819 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3820 END IF;
3821 IF (x_okl_asset_cndtn_lns_tl_rec.id = OKC_API.G_MISS_NUM)
3822 THEN
3823 x_okl_asset_cndtn_lns_tl_rec.id := l_okl_asset_cndtn_lns_tl_rec.id;
3824 END IF;
3825 IF (x_okl_asset_cndtn_lns_tl_rec.language = OKC_API.G_MISS_CHAR)
3826 THEN
3827 x_okl_asset_cndtn_lns_tl_rec.language := l_okl_asset_cndtn_lns_tl_rec.language;
3828 END IF;
3829 IF (x_okl_asset_cndtn_lns_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
3830 THEN
3831 x_okl_asset_cndtn_lns_tl_rec.source_lang := l_okl_asset_cndtn_lns_tl_rec.source_lang;
3832 END IF;
3833 IF (x_okl_asset_cndtn_lns_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
3834 THEN
3835 x_okl_asset_cndtn_lns_tl_rec.sfwt_flag := l_okl_asset_cndtn_lns_tl_rec.sfwt_flag;
3836 END IF;
3837 IF (x_okl_asset_cndtn_lns_tl_rec.damage_description = OKC_API.G_MISS_CHAR)
3838 THEN
3839 x_okl_asset_cndtn_lns_tl_rec.damage_description := l_okl_asset_cndtn_lns_tl_rec.damage_description;
3840 END IF;
3841 IF (x_okl_asset_cndtn_lns_tl_rec.claim_description = OKC_API.G_MISS_CHAR)
3842 THEN
3843 x_okl_asset_cndtn_lns_tl_rec.claim_description := l_okl_asset_cndtn_lns_tl_rec.claim_description;
3844 END IF;
3845 IF (x_okl_asset_cndtn_lns_tl_rec.recommended_repair = OKC_API.G_MISS_CHAR)
3846 THEN
3847 x_okl_asset_cndtn_lns_tl_rec.recommended_repair := l_okl_asset_cndtn_lns_tl_rec.recommended_repair;
3848 END IF;
3849 IF (x_okl_asset_cndtn_lns_tl_rec.part_name = OKC_API.G_MISS_CHAR)
3850 THEN
3851 x_okl_asset_cndtn_lns_tl_rec.part_name := l_okl_asset_cndtn_lns_tl_rec.part_name;
3852 END IF;
3853 IF (x_okl_asset_cndtn_lns_tl_rec.created_by = OKC_API.G_MISS_NUM)
3854 THEN
3855 x_okl_asset_cndtn_lns_tl_rec.created_by := l_okl_asset_cndtn_lns_tl_rec.created_by;
3856 END IF;
3857 IF (x_okl_asset_cndtn_lns_tl_rec.creation_date = OKC_API.G_MISS_DATE)
3858 THEN
3859 x_okl_asset_cndtn_lns_tl_rec.creation_date := l_okl_asset_cndtn_lns_tl_rec.creation_date;
3860 END IF;
3861 IF (x_okl_asset_cndtn_lns_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
3862 THEN
3863 x_okl_asset_cndtn_lns_tl_rec.last_updated_by := l_okl_asset_cndtn_lns_tl_rec.last_updated_by;
3864 END IF;
3865 IF (x_okl_asset_cndtn_lns_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
3866 THEN
3867 x_okl_asset_cndtn_lns_tl_rec.last_update_date := l_okl_asset_cndtn_lns_tl_rec.last_update_date;
3868 END IF;
3869 IF (x_okl_asset_cndtn_lns_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
3870 THEN
3871 x_okl_asset_cndtn_lns_tl_rec.last_update_login := l_okl_asset_cndtn_lns_tl_rec.last_update_login;
3872 END IF;
3873 RETURN(l_return_status);
3874 END populate_new_record;
3875 -----------------------------------------------
3876 -- Set_Attributes for:OKL_ASSET_CNDTN_LNS_TL --
3877 -----------------------------------------------
3878 FUNCTION Set_Attributes (
3879 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType,
3880 x_okl_asset_cndtn_lns_tl_rec OUT NOCOPY OklAssetCndtnLnsTlRecType
3881 ) RETURN VARCHAR2 IS
3882 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3883 BEGIN
3884 x_okl_asset_cndtn_lns_tl_rec := p_okl_asset_cndtn_lns_tl_rec;
3885 x_okl_asset_cndtn_lns_tl_rec.LANGUAGE := USERENV('LANG');
3886 x_okl_asset_cndtn_lns_tl_rec.SOURCE_LANG := USERENV('LANG');
3887 RETURN(l_return_status);
3888 END Set_Attributes;
3889 BEGIN
3890 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3891 p_init_msg_list,
3892 '_PVT',
3893 x_return_status);
3894 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3895 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3896 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3897 RAISE OKC_API.G_EXCEPTION_ERROR;
3898 END IF;
3899 --- Setting item attributes
3900 l_return_status := Set_Attributes(
3901 p_okl_asset_cndtn_lns_tl_rec, -- IN
3902 l_okl_asset_cndtn_lns_tl_rec); -- OUT
3903 --- If any errors happen abort API
3904 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3905 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3906 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3907 RAISE OKC_API.G_EXCEPTION_ERROR;
3908 END IF;
3909 l_return_status := populate_new_record(l_okl_asset_cndtn_lns_tl_rec, ldefoklassetcndtnlnstlrec);
3910 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3911 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3912 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3913 RAISE OKC_API.G_EXCEPTION_ERROR;
3914 END IF;
3915 UPDATE OKL_ASSET_CNDTN_LNS_TL
3916 SET DAMAGE_DESCRIPTION = ldefoklassetcndtnlnstlrec.damage_description,
3917 CLAIM_DESCRIPTION = ldefoklassetcndtnlnstlrec.claim_description,
3918 SOURCE_LANG = ldefoklassetcndtnlnstlrec.source_lang, --Added for fix 3637102
3919 RECOMMENDED_REPAIR = ldefoklassetcndtnlnstlrec.recommended_repair,
3920 PART_NAME = ldefoklassetcndtnlnstlrec.part_name,
3921 CREATED_BY = ldefoklassetcndtnlnstlrec.created_by,
3922 CREATION_DATE = ldefoklassetcndtnlnstlrec.creation_date,
3923 LAST_UPDATED_BY = ldefoklassetcndtnlnstlrec.last_updated_by,
3924 LAST_UPDATE_DATE = ldefoklassetcndtnlnstlrec.last_update_date,
3925 LAST_UPDATE_LOGIN = ldefoklassetcndtnlnstlrec.last_update_login
3926 WHERE ID = ldefoklassetcndtnlnstlrec.id
3927 AND USERENV('LANG') in (SOURCE_LANG,LANGUAGE); --Fix for 3637102
3928 --AND SOURCE_LANG = USERENV('LANG');
3929
3930 UPDATE OKL_ASSET_CNDTN_LNS_TL
3931 SET SFWT_FLAG = 'Y'
3932 WHERE ID = ldefoklassetcndtnlnstlrec.id
3933 AND SOURCE_LANG <> USERENV('LANG');
3934
3935 x_okl_asset_cndtn_lns_tl_rec := ldefoklassetcndtnlnstlrec;
3936 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3937 EXCEPTION
3938 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3939 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3940 (
3941 l_api_name,
3942 G_PKG_NAME,
3943 'OKC_API.G_RET_STS_ERROR',
3944 x_msg_count,
3945 x_msg_data,
3946 '_PVT'
3947 );
3948 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3949 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3950 (
3951 l_api_name,
3952 G_PKG_NAME,
3953 'OKC_API.G_RET_STS_UNEXP_ERROR',
3954 x_msg_count,
3955 x_msg_data,
3956 '_PVT'
3957 );
3958 WHEN OTHERS THEN
3959 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3960 (
3961 l_api_name,
3962 G_PKG_NAME,
3963 'OTHERS',
3964 x_msg_count,
3965 x_msg_data,
3966 '_PVT'
3967 );
3968 END update_row;
3969 ------------------------------------------
3970 -- update_row for:OKL_ASSET_CNDTN_LNS_V --
3971 ------------------------------------------
3972 -- Start of comments
3973 --
3974 -- Procedure Name : update_row
3975 -- Description : for OKL_ASSET_CNDTN_LNS_V
3976 -- Business Rules :
3977 -- Parameters :
3978 -- Version : 1.0
3979 -- History : RABHUPAT 13-DEC-2002 2667636
3980 -- : modified for multicurrency changes
3981 -- End of comments
3982 PROCEDURE update_row(
3983 p_api_version IN NUMBER,
3984 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3985 x_return_status OUT NOCOPY VARCHAR2,
3986 x_msg_count OUT NOCOPY NUMBER,
3987 x_msg_data OUT NOCOPY VARCHAR2,
3988 p_acnv_rec IN acnv_rec_type,
3989 x_acnv_rec OUT NOCOPY acnv_rec_type) IS
3990
3991 l_api_version CONSTANT NUMBER := 1;
3992 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3993 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3994 l_acnv_rec acnv_rec_type := p_acnv_rec;
3995 l_def_acnv_rec acnv_rec_type;
3996 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
3997 lx_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
3998 l_acn_rec acn_rec_type;
3999 lx_acn_rec acn_rec_type;
4000 -------------------------------
4001 -- FUNCTION fill_who_columns --
4002 -------------------------------
4003 FUNCTION fill_who_columns (
4004 p_acnv_rec IN acnv_rec_type
4005 ) RETURN acnv_rec_type IS
4006 l_acnv_rec acnv_rec_type := p_acnv_rec;
4007 BEGIN
4008 l_acnv_rec.LAST_UPDATE_DATE := SYSDATE;
4009 l_acnv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4010 l_acnv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4011 RETURN(l_acnv_rec);
4012 END fill_who_columns;
4013 ----------------------------------
4014 -- FUNCTION populate_new_record --
4015 ----------------------------------
4016 FUNCTION populate_new_record (
4017 p_acnv_rec IN acnv_rec_type,
4018 x_acnv_rec OUT NOCOPY acnv_rec_type
4019 ) RETURN VARCHAR2 IS
4020 l_acnv_rec acnv_rec_type;
4021 l_row_notfound BOOLEAN := TRUE;
4022 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4023 BEGIN
4024 x_acnv_rec := p_acnv_rec;
4025 -- Get current database values
4026 l_acnv_rec := get_rec(p_acnv_rec, l_row_notfound);
4027 IF (l_row_notfound) THEN
4028 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4029 END IF;
4030 IF (x_acnv_rec.id = OKC_API.G_MISS_NUM)
4031 THEN
4032 x_acnv_rec.id := l_acnv_rec.id;
4033 END IF;
4034 IF (x_acnv_rec.object_version_number = OKC_API.G_MISS_NUM)
4035 THEN
4036 x_acnv_rec.object_version_number := l_acnv_rec.object_version_number;
4037 END IF;
4038 IF (x_acnv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
4039 THEN
4040 x_acnv_rec.sfwt_flag := l_acnv_rec.sfwt_flag;
4041 END IF;
4042 IF (x_acnv_rec.ctp_code = OKC_API.G_MISS_CHAR)
4043 THEN
4044 x_acnv_rec.ctp_code := l_acnv_rec.ctp_code;
4045 END IF;
4046 IF (x_acnv_rec.dty_code = OKC_API.G_MISS_CHAR)
4047 THEN
4048 x_acnv_rec.dty_code := l_acnv_rec.dty_code;
4049 END IF;
4050 IF (x_acnv_rec.cdn_code = OKC_API.G_MISS_CHAR)
4051 THEN
4052 x_acnv_rec.cdn_code := l_acnv_rec.cdn_code;
4053 END IF;
4054 IF (x_acnv_rec.acs_code = OKC_API.G_MISS_CHAR)
4055 THEN
4056 x_acnv_rec.acs_code := l_acnv_rec.acs_code;
4057 END IF;
4058 IF (x_acnv_rec.isq_id = OKC_API.G_MISS_NUM)
4059 THEN
4060 x_acnv_rec.isq_id := l_acnv_rec.isq_id;
4061 END IF;
4062 IF (x_acnv_rec.pzt_id = OKC_API.G_MISS_NUM)
4063 THEN
4064 x_acnv_rec.pzt_id := l_acnv_rec.pzt_id;
4065 END IF;
4066 IF (x_acnv_rec.acd_id = OKC_API.G_MISS_NUM)
4067 THEN
4068 x_acnv_rec.acd_id := l_acnv_rec.acd_id;
4069 END IF;
4070 IF (x_acnv_rec.rpc_id = OKC_API.G_MISS_NUM)
4071 THEN
4072 x_acnv_rec.rpc_id := l_acnv_rec.rpc_id;
4073 END IF;
4074 IF (x_acnv_rec.sequence_number = OKC_API.G_MISS_NUM)
4075 THEN
4076 x_acnv_rec.sequence_number := l_acnv_rec.sequence_number;
4077 END IF;
4078 IF (x_acnv_rec.damage_description = OKC_API.G_MISS_CHAR)
4079 THEN
4080 x_acnv_rec.damage_description := l_acnv_rec.damage_description;
4081 END IF;
4082 IF (x_acnv_rec.claim_description = OKC_API.G_MISS_CHAR)
4083 THEN
4084 x_acnv_rec.claim_description := l_acnv_rec.claim_description;
4085 END IF;
4086 IF (x_acnv_rec.estimated_repair_cost = OKC_API.G_MISS_NUM)
4087 THEN
4088 x_acnv_rec.estimated_repair_cost := l_acnv_rec.estimated_repair_cost;
4089 END IF;
4090 IF (x_acnv_rec.actual_repair_cost = OKC_API.G_MISS_NUM)
4091 THEN
4092 x_acnv_rec.actual_repair_cost := l_acnv_rec.actual_repair_cost;
4093 END IF;
4094 IF (x_acnv_rec.approved_by = OKC_API.G_MISS_NUM)
4095 THEN
4096 x_acnv_rec.approved_by := l_acnv_rec.approved_by;
4097 END IF;
4098 IF (x_acnv_rec.approved_yn = OKC_API.G_MISS_CHAR)
4099 THEN
4100 x_acnv_rec.approved_yn := l_acnv_rec.approved_yn;
4101 END IF;
4102 IF (x_acnv_rec.date_approved = OKC_API.G_MISS_DATE)
4103 THEN
4104 x_acnv_rec.date_approved := l_acnv_rec.date_approved;
4105 END IF;
4106 IF (x_acnv_rec.date_reported = OKC_API.G_MISS_DATE)
4107 THEN
4108 x_acnv_rec.date_reported := l_acnv_rec.date_reported;
4109 END IF;
4110 IF (x_acnv_rec.recommended_repair = OKC_API.G_MISS_CHAR)
4111 THEN
4112 x_acnv_rec.recommended_repair := l_acnv_rec.recommended_repair;
4113 END IF;
4114 IF (x_acnv_rec.part_name = OKC_API.G_MISS_CHAR)
4115 THEN
4116 x_acnv_rec.part_name := l_acnv_rec.part_name;
4117 END IF;
4118 IF (x_acnv_rec.attribute_category = OKC_API.G_MISS_CHAR)
4119 THEN
4120 x_acnv_rec.attribute_category := l_acnv_rec.attribute_category;
4121 END IF;
4122 IF (x_acnv_rec.attribute1 = OKC_API.G_MISS_CHAR)
4123 THEN
4124 x_acnv_rec.attribute1 := l_acnv_rec.attribute1;
4125 END IF;
4126 IF (x_acnv_rec.attribute2 = OKC_API.G_MISS_CHAR)
4127 THEN
4128 x_acnv_rec.attribute2 := l_acnv_rec.attribute2;
4129 END IF;
4130 IF (x_acnv_rec.attribute3 = OKC_API.G_MISS_CHAR)
4131 THEN
4132 x_acnv_rec.attribute3 := l_acnv_rec.attribute3;
4133 END IF;
4134 IF (x_acnv_rec.attribute4 = OKC_API.G_MISS_CHAR)
4135 THEN
4136 x_acnv_rec.attribute4 := l_acnv_rec.attribute4;
4137 END IF;
4138 IF (x_acnv_rec.attribute5 = OKC_API.G_MISS_CHAR)
4139 THEN
4140 x_acnv_rec.attribute5 := l_acnv_rec.attribute5;
4141 END IF;
4142 IF (x_acnv_rec.attribute6 = OKC_API.G_MISS_CHAR)
4143 THEN
4144 x_acnv_rec.attribute6 := l_acnv_rec.attribute6;
4145 END IF;
4146 IF (x_acnv_rec.attribute7 = OKC_API.G_MISS_CHAR)
4147 THEN
4148 x_acnv_rec.attribute7 := l_acnv_rec.attribute7;
4149 END IF;
4150 IF (x_acnv_rec.attribute8 = OKC_API.G_MISS_CHAR)
4151 THEN
4152 x_acnv_rec.attribute8 := l_acnv_rec.attribute8;
4153 END IF;
4154 IF (x_acnv_rec.attribute9 = OKC_API.G_MISS_CHAR)
4155 THEN
4156 x_acnv_rec.attribute9 := l_acnv_rec.attribute9;
4157 END IF;
4158 IF (x_acnv_rec.attribute10 = OKC_API.G_MISS_CHAR)
4159 THEN
4160 x_acnv_rec.attribute10 := l_acnv_rec.attribute10;
4161 END IF;
4162 IF (x_acnv_rec.attribute11 = OKC_API.G_MISS_CHAR)
4163 THEN
4164 x_acnv_rec.attribute11 := l_acnv_rec.attribute11;
4165 END IF;
4166 IF (x_acnv_rec.attribute12 = OKC_API.G_MISS_CHAR)
4167 THEN
4168 x_acnv_rec.attribute12 := l_acnv_rec.attribute12;
4169 END IF;
4170 IF (x_acnv_rec.attribute13 = OKC_API.G_MISS_CHAR)
4171 THEN
4172 x_acnv_rec.attribute13 := l_acnv_rec.attribute13;
4173 END IF;
4174 IF (x_acnv_rec.attribute14 = OKC_API.G_MISS_CHAR)
4175 THEN
4176 x_acnv_rec.attribute14 := l_acnv_rec.attribute14;
4177 END IF;
4178 IF (x_acnv_rec.attribute15 = OKC_API.G_MISS_CHAR)
4179 THEN
4180 x_acnv_rec.attribute15 := l_acnv_rec.attribute15;
4181 END IF;
4182 IF (x_acnv_rec.org_id = OKC_API.G_MISS_NUM)
4183 THEN
4184 x_acnv_rec.org_id := l_acnv_rec.org_id;
4185 END IF;
4186 IF (x_acnv_rec.request_id = OKC_API.G_MISS_NUM)
4187 THEN
4188 x_acnv_rec.request_id := l_acnv_rec.request_id;
4189 END IF;
4190 IF (x_acnv_rec.program_application_id = OKC_API.G_MISS_NUM)
4191 THEN
4192 x_acnv_rec.program_application_id := l_acnv_rec.program_application_id;
4193 END IF;
4194 IF (x_acnv_rec.program_id = OKC_API.G_MISS_NUM)
4195 THEN
4196 x_acnv_rec.program_id := l_acnv_rec.program_id;
4197 END IF;
4198 IF (x_acnv_rec.program_update_date = OKC_API.G_MISS_DATE)
4199 THEN
4200 x_acnv_rec.program_update_date := l_acnv_rec.program_update_date;
4201 END IF;
4202 IF (x_acnv_rec.created_by = OKC_API.G_MISS_NUM)
4203 THEN
4204 x_acnv_rec.created_by := l_acnv_rec.created_by;
4205 END IF;
4206 IF (x_acnv_rec.creation_date = OKC_API.G_MISS_DATE)
4207 THEN
4208 x_acnv_rec.creation_date := l_acnv_rec.creation_date;
4209 END IF;
4210 IF (x_acnv_rec.last_updated_by = OKC_API.G_MISS_NUM)
4211 THEN
4212 x_acnv_rec.last_updated_by := l_acnv_rec.last_updated_by;
4213 END IF;
4214 IF (x_acnv_rec.last_update_date = OKC_API.G_MISS_DATE)
4215 THEN
4216 x_acnv_rec.last_update_date := l_acnv_rec.last_update_date;
4217 END IF;
4218 IF (x_acnv_rec.last_update_login = OKC_API.G_MISS_NUM)
4219 THEN
4220 x_acnv_rec.last_update_login := l_acnv_rec.last_update_login;
4221 END IF;
4222 -- RABHUPAT - 2667636 - Start
4223 IF (x_acnv_rec.currency_code = OKC_API.G_MISS_CHAR)
4224 THEN
4225 x_acnv_rec.currency_code := l_acnv_rec.currency_code;
4226 END IF;
4227 IF (x_acnv_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
4228 THEN
4229 x_acnv_rec.currency_conversion_code := l_acnv_rec.currency_conversion_code;
4230 END IF;
4231 IF (x_acnv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
4232 THEN
4233 x_acnv_rec.currency_conversion_type := l_acnv_rec.currency_conversion_type;
4234 END IF;
4235 IF (x_acnv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
4236 THEN
4237 x_acnv_rec.currency_conversion_rate := l_acnv_rec.currency_conversion_rate;
4238 END IF;
4239 IF (x_acnv_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
4240 THEN
4241 x_acnv_rec.currency_conversion_date := l_acnv_rec.currency_conversion_date;
4242 END IF;
4243 -- RABHUPAT - 2667636 - End
4244 RETURN(l_return_status);
4245 END populate_new_record;
4246 ----------------------------------------------
4247 -- Set_Attributes for:OKL_ASSET_CNDTN_LNS_V --
4248 ----------------------------------------------
4249 FUNCTION Set_Attributes (
4250 p_acnv_rec IN acnv_rec_type,
4251 x_acnv_rec OUT NOCOPY acnv_rec_type
4252 ) RETURN VARCHAR2 IS
4253 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4254 BEGIN
4255 x_acnv_rec := p_acnv_rec;
4256 x_acnv_rec.OBJECT_VERSION_NUMBER := NVL(x_acnv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
4257 RETURN(l_return_status);
4258 END Set_Attributes;
4259 BEGIN
4260 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4261 G_PKG_NAME,
4262 p_init_msg_list,
4263 l_api_version,
4264 p_api_version,
4265 '_PVT',
4266 x_return_status);
4267 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4268 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4269 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4270 RAISE OKC_API.G_EXCEPTION_ERROR;
4271 END IF;
4272 --- Setting item attributes
4273 l_return_status := Set_Attributes(
4274 p_acnv_rec, -- IN
4275 l_acnv_rec); -- OUT
4276 --- If any errors happen abort API
4277 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4278 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4279 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4280 RAISE OKC_API.G_EXCEPTION_ERROR;
4281 END IF;
4282 l_return_status := populate_new_record(l_acnv_rec, l_def_acnv_rec);
4283 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4284 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4285 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4286 RAISE OKC_API.G_EXCEPTION_ERROR;
4287 END IF;
4288 l_def_acnv_rec := fill_who_columns(l_def_acnv_rec);
4289 --- Validate all non-missing attributes (Item Level Validation)
4290 l_return_status := Validate_Attributes(l_def_acnv_rec);
4291 --- If any errors happen abort API
4292 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4293 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4294 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4295 RAISE OKC_API.G_EXCEPTION_ERROR;
4296 END IF;
4297 --gkadarka Fixes for 3559327
4298 l_def_acnv_rec.currency_conversion_type := NULL;
4299 l_def_acnv_rec.currency_conversion_rate := NULL;
4300 l_def_acnv_rec.currency_conversion_date := NULL;
4301 --gkdarka
4302 l_return_status := Validate_Record(l_def_acnv_rec);
4303 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4304 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4305 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4306 RAISE OKC_API.G_EXCEPTION_ERROR;
4307 END IF;
4308
4309 --------------------------------------
4310 -- Move VIEW record to "Child" records
4311 --------------------------------------
4312 migrate(l_def_acnv_rec, l_okl_asset_cndtn_lns_tl_rec);
4313 migrate(l_def_acnv_rec, l_acn_rec);
4314 --------------------------------------------
4315 -- Call the UPDATE_ROW for each child record
4316 --------------------------------------------
4317 update_row(
4318 p_init_msg_list,
4319 x_return_status,
4320 x_msg_count,
4321 x_msg_data,
4322 l_okl_asset_cndtn_lns_tl_rec,
4323 lx_okl_asset_cndtn_lns_tl_rec
4324 );
4325 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4326 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4327 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4328 RAISE OKC_API.G_EXCEPTION_ERROR;
4329 END IF;
4330 migrate(lx_okl_asset_cndtn_lns_tl_rec, l_def_acnv_rec);
4331 update_row(
4332 p_init_msg_list,
4333 x_return_status,
4334 x_msg_count,
4335 x_msg_data,
4336 l_acn_rec,
4337 lx_acn_rec
4338 );
4339 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4340 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4341 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4342 RAISE OKC_API.G_EXCEPTION_ERROR;
4343 END IF;
4344 migrate(lx_acn_rec, l_def_acnv_rec);
4345 x_acnv_rec := l_def_acnv_rec;
4346 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4347 EXCEPTION
4348 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4349 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4350 (
4351 l_api_name,
4352 G_PKG_NAME,
4353 'OKC_API.G_RET_STS_ERROR',
4354 x_msg_count,
4355 x_msg_data,
4356 '_PVT'
4357 );
4358 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4359 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4360 (
4361 l_api_name,
4362 G_PKG_NAME,
4363 'OKC_API.G_RET_STS_UNEXP_ERROR',
4364 x_msg_count,
4365 x_msg_data,
4366 '_PVT'
4367 );
4368 WHEN OTHERS THEN
4369 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4370 (
4371 l_api_name,
4372 G_PKG_NAME,
4373 'OTHERS',
4374 x_msg_count,
4375 x_msg_data,
4376 '_PVT'
4377 );
4378 END update_row;
4379 ----------------------------------------
4380 -- PL/SQL TBL update_row for:ACNV_TBL --
4381 ----------------------------------------
4382 PROCEDURE update_row(
4383 p_api_version IN NUMBER,
4384 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4385 x_return_status OUT NOCOPY VARCHAR2,
4386 x_msg_count OUT NOCOPY NUMBER,
4387 x_msg_data OUT NOCOPY VARCHAR2,
4388 p_acnv_tbl IN acnv_tbl_type,
4389 x_acnv_tbl OUT NOCOPY acnv_tbl_type) IS
4390
4391 l_api_version CONSTANT NUMBER := 1;
4392 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
4393 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4394 i NUMBER := 0;
4395 -- Begin Post-Generation Change
4396 -- overall error status
4397 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4398 -- End Post-Generation Change
4399 BEGIN
4400 OKC_API.init_msg_list(p_init_msg_list);
4401 -- Make sure PL/SQL table has records in it before passing
4402 IF (p_acnv_tbl.COUNT > 0) THEN
4403 i := p_acnv_tbl.FIRST;
4404 LOOP
4405 update_row (
4406 p_api_version => p_api_version,
4407 p_init_msg_list => OKC_API.G_FALSE,
4408 x_return_status => x_return_status,
4409 x_msg_count => x_msg_count,
4410 x_msg_data => x_msg_data,
4411 p_acnv_rec => p_acnv_tbl(i),
4412 x_acnv_rec => x_acnv_tbl(i));
4413 -- Begin Post-Generation Change
4414 -- store the highest degree of error
4415 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
4416 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
4417 l_overall_status := x_return_status;
4418 END IF;
4419 END IF;
4420 -- End Post-Generation Change
4421 EXIT WHEN (i = p_acnv_tbl.LAST);
4422 i := p_acnv_tbl.NEXT(i);
4423 END LOOP;
4424 -- Begin Post-Generation Change
4425 -- return overall status
4426 x_return_status := l_overall_status;
4427 -- End Post-Generation Change
4428 END IF;
4429 EXCEPTION
4430 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4431 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4432 (
4433 l_api_name,
4434 G_PKG_NAME,
4435 'OKC_API.G_RET_STS_ERROR',
4436 x_msg_count,
4437 x_msg_data,
4438 '_PVT'
4439 );
4440 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4441 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4442 (
4443 l_api_name,
4444 G_PKG_NAME,
4445 'OKC_API.G_RET_STS_UNEXP_ERROR',
4446 x_msg_count,
4447 x_msg_data,
4448 '_PVT'
4449 );
4450 WHEN OTHERS THEN
4451 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4452 (
4453 l_api_name,
4454 G_PKG_NAME,
4455 'OTHERS',
4456 x_msg_count,
4457 x_msg_data,
4458 '_PVT'
4459 );
4460 END update_row;
4461
4462 ---------------------------------------------------------------------------
4463 -- PROCEDURE delete_row
4464 ---------------------------------------------------------------------------
4465 ------------------------------------------
4466 -- delete_row for:OKL_ASSET_CNDTN_LNS_B --
4467 ------------------------------------------
4468 PROCEDURE delete_row(
4469 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4470 x_return_status OUT NOCOPY VARCHAR2,
4471 x_msg_count OUT NOCOPY NUMBER,
4472 x_msg_data OUT NOCOPY VARCHAR2,
4473 p_acn_rec IN acn_rec_type) IS
4474
4475 l_api_version CONSTANT NUMBER := 1;
4476 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
4477 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4478 l_acn_rec acn_rec_type:= p_acn_rec;
4479 l_row_notfound BOOLEAN := TRUE;
4480 BEGIN
4481 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4482 p_init_msg_list,
4483 '_PVT',
4484 x_return_status);
4485 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4486 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4487 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4488 RAISE OKC_API.G_EXCEPTION_ERROR;
4489 END IF;
4490 DELETE FROM OKL_ASSET_CNDTN_LNS_B
4491 WHERE ID = l_acn_rec.id;
4492
4493 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4494 EXCEPTION
4495 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4496 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4497 (
4498 l_api_name,
4499 G_PKG_NAME,
4500 'OKC_API.G_RET_STS_ERROR',
4501 x_msg_count,
4502 x_msg_data,
4503 '_PVT'
4504 );
4505 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4506 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4507 (
4508 l_api_name,
4509 G_PKG_NAME,
4510 'OKC_API.G_RET_STS_UNEXP_ERROR',
4511 x_msg_count,
4512 x_msg_data,
4513 '_PVT'
4514 );
4515 WHEN OTHERS THEN
4516 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4517 (
4518 l_api_name,
4519 G_PKG_NAME,
4520 'OTHERS',
4521 x_msg_count,
4522 x_msg_data,
4523 '_PVT'
4524 );
4525 END delete_row;
4526 -------------------------------------------
4527 -- delete_row for:OKL_ASSET_CNDTN_LNS_TL --
4528 -------------------------------------------
4529 PROCEDURE delete_row(
4530 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4531 x_return_status OUT NOCOPY VARCHAR2,
4532 x_msg_count OUT NOCOPY NUMBER,
4533 x_msg_data OUT NOCOPY VARCHAR2,
4534 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType) IS
4535
4536 l_api_version CONSTANT NUMBER := 1;
4537 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
4538 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4539 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType:= p_okl_asset_cndtn_lns_tl_rec;
4540 l_row_notfound BOOLEAN := TRUE;
4541 -----------------------------------------------
4542 -- Set_Attributes for:OKL_ASSET_CNDTN_LNS_TL --
4543 -----------------------------------------------
4544 FUNCTION Set_Attributes (
4545 p_okl_asset_cndtn_lns_tl_rec IN OklAssetCndtnLnsTlRecType,
4546 x_okl_asset_cndtn_lns_tl_rec OUT NOCOPY OklAssetCndtnLnsTlRecType
4547 ) RETURN VARCHAR2 IS
4548 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4549 BEGIN
4550 x_okl_asset_cndtn_lns_tl_rec := p_okl_asset_cndtn_lns_tl_rec;
4551 x_okl_asset_cndtn_lns_tl_rec.LANGUAGE := USERENV('LANG');
4552 RETURN(l_return_status);
4553 END Set_Attributes;
4554 BEGIN
4555 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4556 p_init_msg_list,
4557 '_PVT',
4558 x_return_status);
4559 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4560 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4561 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4562 RAISE OKC_API.G_EXCEPTION_ERROR;
4563 END IF;
4564 --- Setting item attributes
4565 l_return_status := Set_Attributes(
4566 p_okl_asset_cndtn_lns_tl_rec, -- IN
4567 l_okl_asset_cndtn_lns_tl_rec); -- OUT
4568 --- If any errors happen abort API
4569 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4570 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4571 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4572 RAISE OKC_API.G_EXCEPTION_ERROR;
4573 END IF;
4574 DELETE FROM OKL_ASSET_CNDTN_LNS_TL
4575 WHERE ID = l_okl_asset_cndtn_lns_tl_rec.id;
4576
4577 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4578 EXCEPTION
4579 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4580 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4581 (
4582 l_api_name,
4583 G_PKG_NAME,
4584 'OKC_API.G_RET_STS_ERROR',
4585 x_msg_count,
4586 x_msg_data,
4587 '_PVT'
4588 );
4589 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4590 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4591 (
4592 l_api_name,
4593 G_PKG_NAME,
4594 'OKC_API.G_RET_STS_UNEXP_ERROR',
4595 x_msg_count,
4596 x_msg_data,
4597 '_PVT'
4598 );
4599 WHEN OTHERS THEN
4600 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4601 (
4602 l_api_name,
4603 G_PKG_NAME,
4604 'OTHERS',
4605 x_msg_count,
4606 x_msg_data,
4607 '_PVT'
4608 );
4609 END delete_row;
4610 ------------------------------------------
4611 -- delete_row for:OKL_ASSET_CNDTN_LNS_V --
4612 ------------------------------------------
4613 PROCEDURE delete_row(
4614 p_api_version IN NUMBER,
4615 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4616 x_return_status OUT NOCOPY VARCHAR2,
4617 x_msg_count OUT NOCOPY NUMBER,
4618 x_msg_data OUT NOCOPY VARCHAR2,
4619 p_acnv_rec IN acnv_rec_type) IS
4620
4621 l_api_version CONSTANT NUMBER := 1;
4622 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
4623 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4624 l_acnv_rec acnv_rec_type := p_acnv_rec;
4625 l_okl_asset_cndtn_lns_tl_rec OklAssetCndtnLnsTlRecType;
4626 l_acn_rec acn_rec_type;
4627 BEGIN
4628 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4629 G_PKG_NAME,
4630 p_init_msg_list,
4631 l_api_version,
4632 p_api_version,
4633 '_PVT',
4634 x_return_status);
4635 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4636 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4637 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4638 RAISE OKC_API.G_EXCEPTION_ERROR;
4639 END IF;
4640 --------------------------------------
4641 -- Move VIEW record to "Child" records
4642 --------------------------------------
4643 migrate(l_acnv_rec, l_okl_asset_cndtn_lns_tl_rec);
4644 migrate(l_acnv_rec, l_acn_rec);
4645 --------------------------------------------
4646 -- Call the DELETE_ROW for each child record
4647 --------------------------------------------
4648 delete_row(
4649 p_init_msg_list,
4650 x_return_status,
4651 x_msg_count,
4652 x_msg_data,
4653 l_okl_asset_cndtn_lns_tl_rec
4654 );
4655 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4656 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4657 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4658 RAISE OKC_API.G_EXCEPTION_ERROR;
4659 END IF;
4660 delete_row(
4661 p_init_msg_list,
4662 x_return_status,
4663 x_msg_count,
4664 x_msg_data,
4665 l_acn_rec
4666 );
4667 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4668 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4669 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4670 RAISE OKC_API.G_EXCEPTION_ERROR;
4671 END IF;
4672 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4673 EXCEPTION
4674 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4675 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4676 (
4677 l_api_name,
4678 G_PKG_NAME,
4679 'OKC_API.G_RET_STS_ERROR',
4680 x_msg_count,
4681 x_msg_data,
4682 '_PVT'
4683 );
4684 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4685 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4686 (
4687 l_api_name,
4688 G_PKG_NAME,
4689 'OKC_API.G_RET_STS_UNEXP_ERROR',
4690 x_msg_count,
4691 x_msg_data,
4692 '_PVT'
4693 );
4694 WHEN OTHERS THEN
4695 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4696 (
4697 l_api_name,
4698 G_PKG_NAME,
4699 'OTHERS',
4700 x_msg_count,
4701 x_msg_data,
4702 '_PVT'
4703 );
4704 END delete_row;
4705 ----------------------------------------
4706 -- PL/SQL TBL delete_row for:ACNV_TBL --
4707 ----------------------------------------
4708 PROCEDURE delete_row(
4709 p_api_version IN NUMBER,
4710 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4711 x_return_status OUT NOCOPY VARCHAR2,
4712 x_msg_count OUT NOCOPY NUMBER,
4713 x_msg_data OUT NOCOPY VARCHAR2,
4714 p_acnv_tbl IN acnv_tbl_type) IS
4715
4716 l_api_version CONSTANT NUMBER := 1;
4717 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
4718 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4719 i NUMBER := 0;
4720 -- Begin Post-Generation Change
4721 -- overall error status
4722 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4723 -- End Post-Generation Change
4724 BEGIN
4725 OKC_API.init_msg_list(p_init_msg_list);
4726 -- Make sure PL/SQL table has records in it before passing
4727 IF (p_acnv_tbl.COUNT > 0) THEN
4728 i := p_acnv_tbl.FIRST;
4729 LOOP
4730 delete_row (
4731 p_api_version => p_api_version,
4732 p_init_msg_list => OKC_API.G_FALSE,
4733 x_return_status => x_return_status,
4734 x_msg_count => x_msg_count,
4735 x_msg_data => x_msg_data,
4736 p_acnv_rec => p_acnv_tbl(i));
4737 -- Begin Post-Generation Change
4738 -- store the highest degree of error
4739 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
4740 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
4741 l_overall_status := x_return_status;
4742 END IF;
4743 END IF;
4744 -- End Post-Generation Change
4745 EXIT WHEN (i = p_acnv_tbl.LAST);
4746 i := p_acnv_tbl.NEXT(i);
4747 END LOOP;
4748 -- Begin Post-Generation Change
4749 -- return overall status
4750 x_return_status := l_overall_status;
4751 -- End Post-Generation Change
4752 END IF;
4753 EXCEPTION
4754 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4755 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4756 (
4757 l_api_name,
4758 G_PKG_NAME,
4759 'OKC_API.G_RET_STS_ERROR',
4760 x_msg_count,
4761 x_msg_data,
4762 '_PVT'
4763 );
4764 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4765 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4766 (
4767 l_api_name,
4768 G_PKG_NAME,
4769 'OKC_API.G_RET_STS_UNEXP_ERROR',
4770 x_msg_count,
4771 x_msg_data,
4772 '_PVT'
4773 );
4774 WHEN OTHERS THEN
4775 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4776 (
4777 l_api_name,
4778 G_PKG_NAME,
4779 'OTHERS',
4780 x_msg_count,
4781 x_msg_data,
4782 '_PVT'
4783 );
4784 END delete_row;
4785 END OKL_ACN_PVT;