[Home] [Help]
PACKAGE BODY: APPS.OKL_RFC_PVT
Source
1 PACKAGE BODY OKL_RFC_PVT AS
2 /* $Header: OKLSRFCB.pls 120.8 2007/08/08 12:51:37 arajagop noship $ */
3
4 ----------------------------------------
5 -- Developer Generated Code here --
6 -- Developer : Guru Kadarkaraisamy --
7 -- Date : April 24 2001 --
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_UPPER_CASE_REQUIRED CONSTANT VARCHAR2(200) :='OKC_UPPER_CASE_REQUIRED';
14 G_INVALID_END_DATE CONSTANT VARCHAR2(200) := 'INVALID_END_DATE';
15 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
16 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
17 G_VIEW CONSTANT VARCHAR2(200) :='OKL_QA_CHECK_LISTS_V';
18 G_EXCEPTION_HALT_VALIDATION exception;
19 --suresh gorantla Bug #3477112
20 G_CHK_ASSET_RETURN_FEE CONSTANT VARCHAR2(200) := 'OKL_CHK_ASSET_RETURN_FEE';
21 G_EXCEPTION_HALT_PROCESSING EXCEPTION;
22
23
24
25
26 -- Start of comments
27 --
28 -- Procedure Name : validate_currency_record
29 -- Description : Used for validation of Currency Code Conversion Coulms
30 -- Business Rules : If transaction currency <> functional currency, then conversion columns
31 -- are mandatory
32 -- Else If transaction currency = functional currency, then conversion columns
33 -- should all be NULL
34 -- Parameters :
35 -- Version : 1.0
36 -- History : RABHUPAT 17-DEC-2002 2667636:Added new procedure
37 -- End of comments
38
39 PROCEDURE validate_currency_record(p_rfcv_rec IN rfcv_rec_type,
40 x_return_status OUT NOCOPY VARCHAR2) IS
41 BEGIN
42 x_return_status := OKC_API.G_RET_STS_SUCCESS;
43 -- If transaction currency <> functional currency, then conversion columns
44 -- are mandatory
45 IF (p_rfcv_rec.currency_code <> p_rfcv_rec.currency_conversion_code) THEN
46 IF (p_rfcv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR OR
47 p_rfcv_rec.currency_conversion_type 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_type');
53 x_return_status := OKC_API.G_RET_STS_ERROR;
54 END IF;
55 IF (p_rfcv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM OR
56 p_rfcv_rec.currency_conversion_rate 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_rate');
62 x_return_status := OKC_API.G_RET_STS_ERROR;
63 END IF;
64 IF (p_rfcv_rec.currency_conversion_date = OKC_API.G_MISS_DATE OR
65 p_rfcv_rec.currency_conversion_date IS NULL) THEN
66 --SET MESSAGE
67 OKC_API.set_message(p_app_name => G_APP_NAME,
68 p_msg_name => G_REQUIRED_VALUE,
69 p_token1 => G_COL_NAME_TOKEN,
70 p_token1_value => 'currency_conversion_date');
71 x_return_status := OKC_API.G_RET_STS_ERROR;
72 END IF;
73 -- Else If transaction currency = functional currency, then conversion columns
74 -- should all be NULL
75 ELSIF (p_rfcv_rec.currency_code = p_rfcv_rec.currency_conversion_code) THEN
76 IF (p_rfcv_rec.currency_conversion_type IS NOT NULL) OR
77 (p_rfcv_rec.currency_conversion_rate IS NOT NULL) OR
78 (p_rfcv_rec.currency_conversion_date IS NOT NULL) THEN
79 --SET MESSAGE
80 -- Currency conversion columns should be all null
81 IF p_rfcv_rec.currency_conversion_rate IS NOT NULL THEN
82 OKC_API.set_message(p_app_name => G_APP_NAME,
83 p_msg_name => G_INVALID_VALUE,
84 p_token1 => G_COL_NAME_TOKEN,
85 p_token1_value => 'currency_conversion_rate');
86 END IF;
87 IF p_rfcv_rec.currency_conversion_date IS NOT NULL THEN
88 OKC_API.set_message(p_app_name => G_APP_NAME,
89 p_msg_name => G_INVALID_VALUE,
90 p_token1 => G_COL_NAME_TOKEN,
91 p_token1_value => 'currency_conversion_date');
92 END IF;
93 IF p_rfcv_rec.currency_conversion_type IS NOT NULL THEN
94 OKC_API.set_message(p_app_name => G_APP_NAME,
95 p_msg_name => G_INVALID_VALUE,
96 p_token1 => G_COL_NAME_TOKEN,
97 p_token1_value => 'currency_conversion_type');
98 END IF;
99 x_return_status := OKC_API.G_RET_STS_ERROR;
100 END IF;
101 ELSE
102 x_return_status := OKC_API.G_RET_STS_ERROR;
103 END IF;
104 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
105 RAISE G_EXCEPTION_HALT_VALIDATION;
106 END IF;
107 EXCEPTION
108 WHEN G_EXCEPTION_HALT_VALIDATION THEN
109 x_return_status := OKC_API.G_RET_STS_ERROR;
110 WHEN OTHERS THEN
111 -- store SQL error message on message stack for caller
112 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
113 p_msg_name => g_unexpected_error,
114 p_token1 => g_sqlcode_token,
115 p_token1_value => sqlcode,
116 p_token2 => g_sqlerrm_token,
117 p_token2_value => sqlerrm);
118 -- notify caller of an UNEXPECTED error
119 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
120 END validate_currency_record;
121 ---------------------------------------------------------------------------------
122 -- Start of comments
123 --
124 -- Procedure Name : validate_currency_code
125 -- Description : Validation of Currency Code
126 -- Business Rules :
127 -- Parameters :
128 -- Version : 1.0
129 -- History : RABHUPAT 17-DEC-2002 2667636:Added new procedure
130 -- End of comments
131
132 PROCEDURE validate_currency_code(p_rfcv_rec IN rfcv_rec_type,
133 x_return_status OUT NOCOPY VARCHAR2) IS
134 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
135 BEGIN
136 -- initialize return status
137 x_return_status := OKC_API.G_RET_STS_SUCCESS;
138 -- data is required
139 IF (p_rfcv_rec.currency_code IS NULL) OR
140 (p_rfcv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
141 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
142 ,p_msg_name => G_REQUIRED_VALUE
143 ,p_token1 => G_COL_NAME_TOKEN
144 ,p_token1_value => 'currency_code');
145
146 -- halt further validation of this column
147 RAISE G_EXCEPTION_HALT_VALIDATION;
148 END IF;
149 -- check from currency values using the generic okl_util.validate_currency_code
150 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_code(p_rfcv_rec.currency_code);
151 IF (l_return_status <> OKC_API.G_TRUE) THEN
152 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
153 p_msg_name => g_invalid_value,
154 p_token1 => g_col_name_token,
155 p_token1_value => 'currency_code');
156 -- halt further validation of this column
157 RAISE G_EXCEPTION_HALT_VALIDATION;
158 END IF;
159 EXCEPTION
160 WHEN G_EXCEPTION_HALT_VALIDATION THEN
161 x_return_status := OKC_API.G_RET_STS_ERROR;
162 WHEN OTHERS THEN
163 -- store SQL error message on message stack for caller
164 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
165 p_msg_name => g_unexpected_error,
166 p_token1 => g_sqlcode_token,
167 p_token1_value => sqlcode,
168 p_token2 => g_sqlerrm_token,
169 p_token2_value => sqlerrm);
170 -- notify caller of an UNEXPECTED error
171 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
172 END validate_currency_code;
173 ---------------------------------------------------------------------------------
174 -- Start of comments
175 --
176 -- Procedure Name : validate_currency_con_code
177 -- Description : Validation of Currency Conversion Code
178 -- Business Rules :
179 -- Parameters :
180 -- Version : 1.0
181 -- History : RABHUPAT 17-DEC-2002 2667636:Added new procedure
182 -- End of comments
183
184 PROCEDURE validate_currency_con_code(p_rfcv_rec IN rfcv_rec_type,
185 x_return_status OUT NOCOPY VARCHAR2) IS
186 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
187 BEGIN
188 -- initialize return status
189 x_return_status := OKC_API.G_RET_STS_SUCCESS;
190 -- data is required
191 IF (p_rfcv_rec.currency_conversion_code IS NULL) OR
192 (p_rfcv_rec.currency_conversion_code = OKC_API.G_MISS_CHAR) THEN
193 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
194 ,p_msg_name => G_REQUIRED_VALUE
195 ,p_token1 => G_COL_NAME_TOKEN
196 ,p_token1_value => 'currency_conversion_code');
197 -- halt further validation of this column
198 RAISE G_EXCEPTION_HALT_VALIDATION;
199 END IF;
200 -- check from currency values using the generic okl_util.validate_currency_code
201 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_code(p_rfcv_rec.currency_conversion_code);
202 IF (l_return_status <> OKC_API.G_TRUE) THEN
203 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
204 p_msg_name => g_invalid_value,
205 p_token1 => g_col_name_token,
206 p_token1_value => 'currency_conversion_code');
207 -- halt further validation of this column
208 RAISE G_EXCEPTION_HALT_VALIDATION;
209 END IF;
210 EXCEPTION
211 WHEN G_EXCEPTION_HALT_VALIDATION THEN
212 x_return_status := OKC_API.G_RET_STS_ERROR;
213 WHEN OTHERS THEN
214 -- store SQL error message on message stack for caller
215 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
216 p_msg_name => g_unexpected_error,
217 p_token1 => g_sqlcode_token,
218 p_token1_value => sqlcode,
219 p_token2 => g_sqlerrm_token,
220 p_token2_value => sqlerrm);
221
222 -- notify caller of an UNEXPECTED error
223 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
224 END validate_currency_con_code;
225 ---------------------------------------------------------------------------------
226 -- Start of comments
227 --
228 -- Procedure Name : validate_currency_con_type
229 -- Description : Validation of Currency Conversion type
230 -- Business Rules :
231 -- Parameters :
232 -- Version : 1.0
233 -- History : RABHUPAT 17-DEC-2002 2667636:Added new procedure
234 -- End of comments
235
236 PROCEDURE validate_currency_con_type(p_rfcv_rec IN rfcv_rec_type,
237 x_return_status OUT NOCOPY VARCHAR2) IS
238 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
239 BEGIN
240 -- initialize return status
241 x_return_status := OKC_API.G_RET_STS_SUCCESS;
242 IF (p_rfcv_rec.currency_conversion_type <> OKL_API.G_MISS_CHAR AND
243 p_rfcv_rec.currency_conversion_type IS NOT NULL) THEN
244 -- check from currency values using the generic okl_util.validate_currency_code
245 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_con_type(p_rfcv_rec.currency_conversion_type);
246 IF (l_return_status <> OKC_API.G_TRUE) THEN
247 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
248 p_msg_name => g_invalid_value,
249 p_token1 => g_col_name_token,
250 p_token1_value => 'currency_conversion_type');
251 -- halt further validation of this column
252 RAISE G_EXCEPTION_HALT_VALIDATION;
253 END IF;
254 END IF;
255 EXCEPTION
256 WHEN G_EXCEPTION_HALT_VALIDATION THEN
257 x_return_status := OKC_API.G_RET_STS_ERROR;
258 WHEN OTHERS THEN
259 -- store SQL error message on message stack for caller
260 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
261 p_msg_name => g_unexpected_error,
262 p_token1 => g_sqlcode_token,
263 p_token1_value => sqlcode,
264 p_token2 => g_sqlerrm_token,
265 p_token2_value => sqlerrm);
266 -- notify caller of an UNEXPECTED error
267 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
268 END validate_currency_con_type;
269
270
271
272 -- Start of comments
273 --
274 -- Procedure Name : validate_id
275 -- Description :
276 -- Business Rules :
277 -- Parameters :
278 -- Version : 1.0
279 -- End of comments
280 procedure validate_id(
281 x_return_status out nocopy VARCHAR2,
282 p_rfcv_rec in rfcv_rec_type) is
283
284 begin
285 -- initialize return status
286 x_return_status := OKC_API.G_RET_STS_SUCCESS;
287
288 -- data is required
289 if (p_rfcv_rec.id is null) or (p_rfcv_rec.id = OKC_API.G_MISS_NUM) then
290 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
291 p_msg_name => g_required_value,
292 p_token1 => g_col_name_token,
293 p_token1_value => 'id');
294
295 -- notify caller of an error
296 x_return_status := OKC_API.G_RET_STS_ERROR;
297
298 -- halt further validation of this column
299 raise G_EXCEPTION_HALT_VALIDATION;
300 end if;
301
302 exception
303 when G_EXCEPTION_HALT_VALIDATION then
304 -- no processing necessary; validation can continue
305 -- with the next column
306 null;
307
308 when OTHERS then
309 -- store SQL error message on message stack for caller
310 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
311 p_msg_name => g_unexpected_error,
312 p_token1 => g_sqlcode_token,
313 p_token1_value => sqlcode,
314 p_token2 => g_sqlerrm_token,
315 p_token2_value => sqlerrm);
316
317 -- notify caller of an UNEXPECTED error
318 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
319
320 end validate_id;
321
322
323 -- Start of comments
324 --
325 -- Procedure Name : validate_object_version_number
326 -- Description :
327 -- Business Rules :
328 -- Parameters :
329 -- Version : 1.0
330 -- End of comments
331 procedure validate_object_version_number(
332 x_return_status out nocopy VARCHAR2,
333 p_rfcv_rec in rfcv_rec_type) is
334
335 begin
336 -- initialize return status
337 x_return_status := OKC_API.G_RET_STS_SUCCESS;
338
339 -- data is required
340 if (p_rfcv_rec.object_version_number is null)
341 or (p_rfcv_rec.object_version_number = OKC_API.G_MISS_NUM) then
342 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
343 p_msg_name => g_required_value,
344 p_token1 => g_col_name_token,
345 p_token1_value => 'object_version_number');
346
347 -- notify caller of an error
348 x_return_status := OKC_API.G_RET_STS_ERROR;
349
350 -- halt further validation of this column
351 raise G_EXCEPTION_HALT_VALIDATION;
352 end if;
353
354 exception
355 when G_EXCEPTION_HALT_VALIDATION then
356 -- no processing necessary; validation can continue
357 -- with the next column
358 null;
359
360 when OTHERS then
361 -- store SQL error message on message stack for caller
362 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
363 p_msg_name => g_unexpected_error,
364 p_token1 => g_sqlcode_token,
365 p_token1_value => sqlcode,
366 p_token2 => g_sqlerrm_token,
367 p_token2_value => sqlerrm);
368
369 -- notify caller of an UNEXPECTED error
370 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
371
372 end validate_object_version_number;
373
374
375 ------------------------------------------------------------------------
376 -- PROCEDURE validate_sfwt_flag
377 -- Post-Generation Change
378 ------------------------------------------------------------------------
379 PROCEDURE validate_sfwt_flag(
380 x_return_status OUT NOCOPY VARCHAR2,
381 p_rfcv_rec IN rfcv_rec_type) IS
382
383 BEGIN
384 -- initialize return status
385 x_return_status := OKC_API.G_RET_STS_SUCCESS;
386
387 -- data is required
388 IF (p_rfcv_rec.sfwt_flag IS NULL)
389 OR (p_rfcv_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
390 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
391 p_msg_name => g_required_value,
392 p_token1 => g_col_name_token,
393 p_token1_value => 'sfwt_flag');
394
395 -- notify caller of an error
396 x_return_status := OKC_API.G_RET_STS_ERROR;
397
398 -- halt further validation of this column
399 RAISE G_EXCEPTION_HALT_VALIDATION;
400
401 END IF;
402
403 EXCEPTION
404 WHEN G_EXCEPTION_HALT_VALIDATION THEN
405 -- no processing necessary; validation can continue
406 -- with the next column
407 NULL;
408 WHEN OTHERS THEN
409 -- store SQL error message on message stack for caller
410 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
411 p_msg_name => g_unexpected_error,
412 p_token1 => g_sqlcode_token,
413 p_token1_value => sqlcode,
414 p_token2 => g_sqlerrm_token,
415 p_token2_value => sqlerrm);
416
417 -- notify caller of an UNEXPECTED error
418 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
419
420 END validate_sfwt_flag;
421
422
423
424 -- Start of comments
425 --
426 -- Procedure Name : validate_cos_code
427 -- Description :
428 -- Business Rules :
429 -- Parameters :
430 -- Version : 1.0
431 -- End of comments
432
433 PROCEDURE validate_cos_code(
434 x_return_status OUT NOCOPY VARCHAR2,
435 p_rfcv_rec IN rfcv_rec_type) IS
436 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
437
438 BEGIN
439 -- initialize return status
440 x_return_status := OKC_API.G_RET_STS_SUCCESS;
441
442 -- data is required
443 IF (p_rfcv_rec.cos_code IS NULL)
444 OR (p_rfcv_rec.cos_code = OKC_API.G_MISS_CHAR) THEN
445 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
446 p_msg_name => g_required_value,
447 p_token1 => g_col_name_token,
448 p_token1_value => 'cos_code');
449
450
451 -- notify caller of an error
452 x_return_status := OKC_API.G_RET_STS_ERROR;
453
454 -- halt further validation of this column
455 RAISE G_EXCEPTION_HALT_VALIDATION;
456 END IF;
457
458 l_return_status := OKL_UTIL.check_lookup_code(
459 p_lookup_type => 'OKL_COST_TYPE',
460 p_lookup_code => p_rfcv_rec.cos_code);
461
462 IF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
463 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
464 p_msg_name => g_invalid_value,
465 p_token1 => g_col_name_token,
466 p_token1_value => 'cos_code');
467
468 -- notify caller of an error
469 x_return_status := OKC_API.G_RET_STS_ERROR;
470 raise G_EXCEPTION_HALT_VALIDATION;
471
472 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
473 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
474 raise G_EXCEPTION_HALT_VALIDATION;
475
476 END IF;
477
478 EXCEPTION
479 WHEN G_EXCEPTION_HALT_VALIDATION THEN
480 -- no processing necessary; validation can continue
481 -- with the next column
482 NULL;
483
484 WHEN OTHERS THEN
485 -- store SQL error message on message stack for caller
486 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
487 p_msg_name => g_unexpected_error,
488 p_token1 => g_sqlcode_token,
489 p_token1_value => sqlcode,
490 p_token2 => g_sqlerrm_token,
491 p_token2_value => sqlerrm);
492
493 -- notify caller of an UNEXPECTED error
494 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
495
496 END validate_cos_code;
497
498
499 -- Start of comments
500 --
501 -- Procedure Name : validate_org_id
502 -- Description :
503 -- Business Rules :
504 -- Parameters :
505 -- Version : 1.0
506 -- End of comments
507 PROCEDURE validate_org_id(
508 x_return_status OUT NOCOPY VARCHAR2,
509 p_rfcv_rec IN rfcv_rec_type) IS
510 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
511 BEGIN
512 -- initialize return status
513 x_return_status := OKC_API.G_RET_STS_SUCCESS;
514
515 -- check org id validity using the generic function okl_util.check_org_id()
516 l_return_status := OKL_UTIL.check_org_id (p_rfcv_rec.org_id);
517
518 IF ( l_return_status = OKC_API.G_RET_STS_ERROR) THEN
519 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
520 p_msg_name => g_invalid_value,
521 p_token1 => g_col_name_token,
522 p_token1_value => 'org_id');
523
524 -- notify caller of an error
525 x_return_status := OKC_API.G_RET_STS_ERROR;
526 raise G_EXCEPTION_HALT_VALIDATION;
527
528 ELSIF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
529 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
530 raise G_EXCEPTION_HALT_VALIDATION;
531 END IF;
532
533 EXCEPTION
534 WHEN G_EXCEPTION_HALT_VALIDATION THEN
535 -- no processing necessary; validation can continue with the next column
536 NULL;
537
538 WHEN OTHERS THEN
539 -- store SQL error message on message stack for caller
540 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
541 p_msg_name => g_unexpected_error,
542 p_token1 => g_sqlcode_token,
543 p_token1_value => sqlcode,
544 p_token2 => g_sqlerrm_token,
545 p_token2_value => sqlerrm);
546
547 -- notify caller of an UNEXPECTED error
548 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
549
550 END validate_org_id;
551
552
553 -- Start of comments
554 --
555 -- Procedure Name : validate_art_id
556 -- Description :
557 -- Business Rules :
558 -- Parameters :
559 -- Version : 1.0
560 -- End of comments
561
562 PROCEDURE validate_art_id(
563 x_return_status OUT NOCOPY VARCHAR2,
564 p_rfcv_rec IN rfcv_rec_type) IS
565
566 CURSOR l_art_csr IS
567 SELECT 'x'
568 FROM OKL_ASSET_RETURNS_V
569 WHERE ID = p_rfcv_rec.art_id;
570
571 l_dummy_var VARCHAR2(1) := '?';
572 BEGIN
573 -- initialize return status
574 x_return_status := OKC_API.G_RET_STS_SUCCESS;
575
576 -- enforce foreign key
577 IF (p_rfcv_rec.art_id IS NOT NULL) THEN
578 OPEN l_art_csr;
579 FETCH l_art_csr INTO l_dummy_var;
580 CLOSE l_art_csr;
581
582 -- if l_dummy_var is still set to default, data was not found
583 IF (l_dummy_var = '?') THEN
584 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
585 p_msg_name => G_NO_PARENT_RECORD,
586 p_token1 => G_COL_NAME_TOKEN,
587 p_token1_value => 'art_id',
588 p_token2 => G_CHILD_TABLE_TOKEN,
589 p_token2_value => 'OKL_REMARKTNG_COSTS_V',
590 p_token3 => G_PARENT_TABLE_TOKEN,
591 p_token3_value => 'OKL_ASSET_RETURNS_V');
592
593 -- notify caller of an error
594 x_return_status := OKC_API.G_RET_STS_ERROR;
595 END IF;
596 END IF;
597
598 EXCEPTION
599 WHEN OTHERS THEN
600 -- store SQL error message on message stack for caller
601 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
602 p_msg_name => g_unexpected_error,
603 p_token1 => g_sqlcode_token,
604 p_token1_value => sqlcode,
605 p_token2 => g_sqlerrm_token,
606 p_token2_value => sqlerrm);
607
608 -- notify caller of an UNEXPECTED error
609 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
610
611 -- verify that cursor was closed
612 IF l_art_csr%ISOPEN THEN
613 CLOSE l_art_csr;
614 END IF;
615 END validate_art_id;
616
617 -- Start of comments
618 --
619 -- Procedure Name : validate_amount
620 -- Description :
621 -- Business Rules :
622 -- Parameters :
623 -- Version : 1.0
624 -- End of comments
625
626 PROCEDURE validate_amount(
627 x_return_status OUT NOCOPY VARCHAR2,
628 p_rfcv_rec IN rfcv_rec_type) IS
629
630 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
631
632 BEGIN
633
634 -- initialize return status
635 x_return_status := OKC_API.G_RET_STS_SUCCESS;
636
637 -- Check length of Amount column
638 -- Error messages are logged by called procedures
639
640 IF (p_rfcv_rec.amount IS NOT NULL)
641 AND (p_rfcv_rec.amount <> OKC_API.G_MISS_NUM) THEN
642
643 okl_am_util_pvt.add_view ('Okl_Remarktng_Costs_V', l_return_status);
644
645 IF l_return_status = OKC_API.G_RET_STS_SUCCESS THEN
646 okl_am_util_pvt.check_length (
647 'Okl_Remarktng_Costs_V', 'Amount', p_rfcv_rec.amount, l_return_status);
648 END IF;
649
650 x_return_status := l_return_status;
651
652 END IF;
653
654 EXCEPTION
655 WHEN G_EXCEPTION_HALT_VALIDATION THEN
656 -- no processing necessary; validation can continue with the next column
657 NULL;
658
659 WHEN OTHERS THEN
660 -- store SQL error message on message stack for caller
661 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
662 p_msg_name => g_unexpected_error,
663 p_token1 => g_sqlcode_token,
664 p_token1_value => sqlcode,
665 p_token2 => g_sqlerrm_token,
666 p_token2_value => sqlerrm);
667
668 -- notify caller of an UNEXPECTED error
669 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
670
671 END validate_amount;
672
673
674
675 ---------------------------------------------------------------------------
676 -- FUNCTION get_seq_id
677 ---------------------------------------------------------------------------
678 FUNCTION get_seq_id RETURN NUMBER IS
679 BEGIN
680 RETURN(okc_p_util.raw_to_number(sys_guid()));
681 END get_seq_id;
682
683 ---------------------------------------------------------------------------
684 -- PROCEDURE qc
685 ---------------------------------------------------------------------------
686 PROCEDURE qc IS
687 BEGIN
688 null;
689 END qc;
690
691 ---------------------------------------------------------------------------
692 -- PROCEDURE change_version
693 ---------------------------------------------------------------------------
694 PROCEDURE change_version IS
695 BEGIN
696 null;
697 END change_version;
698
699 ---------------------------------------------------------------------------
700 -- PROCEDURE api_copy
701 ---------------------------------------------------------------------------
702 PROCEDURE api_copy IS
703 BEGIN
704 null;
705 END api_copy;
706
707 ---------------------------------------------------------------------------
708 -- PROCEDURE add_language
709 ---------------------------------------------------------------------------
710 PROCEDURE add_language IS
711 BEGIN
712 DELETE FROM OKL_REMARKTNG_COSTS_TL T
713 WHERE NOT EXISTS (
714 SELECT NULL
715 FROM OKL_RMKTNG_COSTS_ALL_B B --fixed bug 3321017 by kmotepal
716 WHERE B.ID = T.ID
717 );
718
719 UPDATE OKL_REMARKTNG_COSTS_TL T SET (
720 COMMENTS) = (SELECT
721 B.COMMENTS
722 FROM OKL_REMARKTNG_COSTS_TL B
723 WHERE B.ID = T.ID
724 AND B.LANGUAGE = T.SOURCE_LANG)
725 WHERE (
726 T.ID,
727 T.LANGUAGE)
728 IN (SELECT
729 SUBT.ID,
730 SUBT.LANGUAGE
731 FROM OKL_REMARKTNG_COSTS_TL SUBB, OKL_REMARKTNG_COSTS_TL SUBT
732 WHERE SUBB.ID = SUBT.ID
733 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
734 AND (SUBB.COMMENTS <> SUBT.COMMENTS
735 OR (SUBB.COMMENTS IS NULL AND SUBT.COMMENTS IS NOT NULL)
736 OR (SUBB.COMMENTS IS NOT NULL AND SUBT.COMMENTS IS NULL)
737 ));
738
739 INSERT INTO OKL_REMARKTNG_COSTS_TL (
740 ID,
741 LANGUAGE,
742 SOURCE_LANG,
743 SFWT_FLAG,
744 COMMENTS,
745 CREATED_BY,
746 CREATION_DATE,
747 LAST_UPDATED_BY,
748 LAST_UPDATE_DATE,
749 LAST_UPDATE_LOGIN)
750 SELECT
751 B.ID,
752 L.LANGUAGE_CODE,
753 B.SOURCE_LANG,
754 B.SFWT_FLAG,
755 B.COMMENTS,
756 B.CREATED_BY,
757 B.CREATION_DATE,
758 B.LAST_UPDATED_BY,
759 B.LAST_UPDATE_DATE,
760 B.LAST_UPDATE_LOGIN
761 FROM OKL_REMARKTNG_COSTS_TL B, FND_LANGUAGES L
762 WHERE L.INSTALLED_FLAG IN ('I', 'B')
763 AND B.LANGUAGE = USERENV('LANG')
764 AND NOT EXISTS(
765 SELECT NULL
766 FROM OKL_REMARKTNG_COSTS_TL T
767 WHERE T.ID = B.ID
768 AND T.LANGUAGE = L.LANGUAGE_CODE
769 );
770
771 END add_language;
772
773 ---------------------------------------------------------------------------
774 -- FUNCTION get_rec for: OKL_REMARKTNG_COSTS_B
775 ---------------------------------------------------------------------------
776 -- Start of comments
777 --
778 -- Function Name : get_rec
779 -- Description : for: OKL_REMARKTNG_COSTS_B
780 -- Business Rules :
781 -- Parameters :
782 -- Version : 1.0
783 -- History : RABHUPAT 17-DEC-2002 2667636
784 -- :modified for multicurrency changes
785 -- End of comments
786 FUNCTION get_rec (
787 p_rfc_rec IN rfc_rec_type,
788 x_no_data_found OUT NOCOPY BOOLEAN
789 ) RETURN rfc_rec_type IS
790 CURSOR rfc_pk_csr (p_id IN NUMBER) IS
791 SELECT
792 ID,
793 COS_CODE,
794 ART_ID,
795 OBJECT_VERSION_NUMBER,
796 AMOUNT,
797 ORG_ID,
798 REQUEST_ID,
799 PROGRAM_APPLICATION_ID,
800 PROGRAM_ID,
801 PROGRAM_UPDATE_DATE,
802 ATTRIBUTE_CATEGORY,
803 ATTRIBUTE1,
804 ATTRIBUTE2,
805 ATTRIBUTE3,
806 ATTRIBUTE4,
807 ATTRIBUTE5,
808 ATTRIBUTE6,
809 ATTRIBUTE7,
810 ATTRIBUTE8,
811 ATTRIBUTE9,
812 ATTRIBUTE10,
813 ATTRIBUTE11,
814 ATTRIBUTE12,
815 ATTRIBUTE13,
816 ATTRIBUTE14,
817 ATTRIBUTE15,
818 CREATED_BY,
819 CREATION_DATE,
820 LAST_UPDATED_BY,
821 LAST_UPDATE_DATE,
822 LAST_UPDATE_LOGIN,
823 -- RABHUPAT - 2667636 - Start
824 CURRENCY_CODE,
825 CURRENCY_CONVERSION_CODE,
826 CURRENCY_CONVERSION_TYPE,
827 CURRENCY_CONVERSION_RATE,
828 CURRENCY_CONVERSION_DATE
829 -- RABHUPAT - 2667636 - End
830 FROM Okl_Remarktng_Costs_B
831 WHERE okl_remarktng_costs_b.id = p_id;
832 l_rfc_pk rfc_pk_csr%ROWTYPE;
833 l_rfc_rec rfc_rec_type;
834 BEGIN
835 x_no_data_found := TRUE;
836 -- Get current database values
837 OPEN rfc_pk_csr (p_rfc_rec.id);
838 FETCH rfc_pk_csr INTO
839 l_rfc_rec.ID,
840 l_rfc_rec.COS_CODE,
841 l_rfc_rec.ART_ID,
842 l_rfc_rec.OBJECT_VERSION_NUMBER,
843 l_rfc_rec.AMOUNT,
844 l_rfc_rec.ORG_ID,
845 l_rfc_rec.REQUEST_ID,
846 l_rfc_rec.PROGRAM_APPLICATION_ID,
847 l_rfc_rec.PROGRAM_ID,
848 l_rfc_rec.PROGRAM_UPDATE_DATE,
849 l_rfc_rec.ATTRIBUTE_CATEGORY,
850 l_rfc_rec.ATTRIBUTE1,
851 l_rfc_rec.ATTRIBUTE2,
852 l_rfc_rec.ATTRIBUTE3,
853 l_rfc_rec.ATTRIBUTE4,
854 l_rfc_rec.ATTRIBUTE5,
855 l_rfc_rec.ATTRIBUTE6,
856 l_rfc_rec.ATTRIBUTE7,
857 l_rfc_rec.ATTRIBUTE8,
858 l_rfc_rec.ATTRIBUTE9,
859 l_rfc_rec.ATTRIBUTE10,
860 l_rfc_rec.ATTRIBUTE11,
861 l_rfc_rec.ATTRIBUTE12,
862 l_rfc_rec.ATTRIBUTE13,
863 l_rfc_rec.ATTRIBUTE14,
864 l_rfc_rec.ATTRIBUTE15,
865 l_rfc_rec.CREATED_BY,
866 l_rfc_rec.CREATION_DATE,
867 l_rfc_rec.LAST_UPDATED_BY,
868 l_rfc_rec.LAST_UPDATE_DATE,
869 l_rfc_rec.LAST_UPDATE_LOGIN,
870 -- RABHUPAT - 2667636 - Start
871 l_rfc_rec.CURRENCY_CODE,
872 l_rfc_rec.CURRENCY_CONVERSION_CODE,
873 l_rfc_rec.CURRENCY_CONVERSION_TYPE,
874 l_rfc_rec.CURRENCY_CONVERSION_RATE,
875 l_rfc_rec.CURRENCY_CONVERSION_DATE;
876 -- RABHUPAT - 2667636 - End
877 x_no_data_found := rfc_pk_csr%NOTFOUND;
878 CLOSE rfc_pk_csr;
879 RETURN(l_rfc_rec);
880 END get_rec;
881
882 FUNCTION get_rec (
883 p_rfc_rec IN rfc_rec_type
884 ) RETURN rfc_rec_type IS
885 l_row_notfound BOOLEAN := TRUE;
886 BEGIN
887 RETURN(get_rec(p_rfc_rec, l_row_notfound));
888 END get_rec;
889 ---------------------------------------------------------------------------
890 -- FUNCTION get_rec for: OKL_REMARKTNG_COSTS_TL
891 ---------------------------------------------------------------------------
892 FUNCTION get_rec (
893 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType,
894 x_no_data_found OUT NOCOPY BOOLEAN
895 ) RETURN OklRemarktngCostsTlRecType IS
896 CURSOR okl_remarktng_costs_tl_pk_csr (p_id IN NUMBER,
897 p_language IN VARCHAR2) IS
898 SELECT
899 ID,
900 LANGUAGE,
901 SOURCE_LANG,
902 SFWT_FLAG,
903 COMMENTS,
904 CREATED_BY,
905 CREATION_DATE,
906 LAST_UPDATED_BY,
907 LAST_UPDATE_DATE,
908 LAST_UPDATE_LOGIN
909 FROM Okl_Remarktng_Costs_Tl
910 WHERE okl_remarktng_costs_tl.id = p_id
911 AND okl_remarktng_costs_tl.language = p_language;
912 l_okl_remarktng_costs_tl_pk okl_remarktng_costs_tl_pk_csr%ROWTYPE;
913 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
914 BEGIN
915 x_no_data_found := TRUE;
916 -- Get current database values
917 OPEN okl_remarktng_costs_tl_pk_csr (p_okl_remarktng_costs_tl_rec.id,
918 p_okl_remarktng_costs_tl_rec.language);
919 FETCH okl_remarktng_costs_tl_pk_csr INTO
920 l_okl_remarktng_costs_tl_rec.ID,
921 l_okl_remarktng_costs_tl_rec.LANGUAGE,
922 l_okl_remarktng_costs_tl_rec.SOURCE_LANG,
923 l_okl_remarktng_costs_tl_rec.SFWT_FLAG,
924 l_okl_remarktng_costs_tl_rec.COMMENTS,
925 l_okl_remarktng_costs_tl_rec.CREATED_BY,
926 l_okl_remarktng_costs_tl_rec.CREATION_DATE,
927 l_okl_remarktng_costs_tl_rec.LAST_UPDATED_BY,
928 l_okl_remarktng_costs_tl_rec.LAST_UPDATE_DATE,
929 l_okl_remarktng_costs_tl_rec.LAST_UPDATE_LOGIN;
930 x_no_data_found := okl_remarktng_costs_tl_pk_csr%NOTFOUND;
931 CLOSE okl_remarktng_costs_tl_pk_csr;
932 RETURN(l_okl_remarktng_costs_tl_rec);
933 END get_rec;
934
935 FUNCTION get_rec (
936 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType
937 ) RETURN OklRemarktngCostsTlRecType IS
938 l_row_notfound BOOLEAN := TRUE;
939 BEGIN
940 RETURN(get_rec(p_okl_remarktng_costs_tl_rec, l_row_notfound));
941 END get_rec;
942 ---------------------------------------------------------------------------
943 -- FUNCTION get_rec for: OKL_REMARKTNG_COSTS_V
944 ---------------------------------------------------------------------------
945 -- Start of comments
946 --
947 -- Function Name : get_rec
948 -- Description : for: OKL_REMARKTNG_COSTS_V
949 -- Business Rules :
950 -- Parameters :
951 -- Version : 1.0
952 -- History : RABHUPAT 17-DEC-2002 2667636
953 -- :modified for multicurrency changes
954 -- End of comments
955 FUNCTION get_rec (
956 p_rfcv_rec IN rfcv_rec_type,
957 x_no_data_found OUT NOCOPY BOOLEAN
958 ) RETURN rfcv_rec_type IS
959 CURSOR okl_rfcv_pk_csr (p_id IN NUMBER) IS
960 SELECT
961 ID,
962 OBJECT_VERSION_NUMBER,
963 SFWT_FLAG,
964 ART_ID,
965 COS_CODE,
966 AMOUNT,
967 COMMENTS,
968 ATTRIBUTE_CATEGORY,
969 ATTRIBUTE1,
970 ATTRIBUTE2,
971 ATTRIBUTE3,
972 ATTRIBUTE4,
973 ATTRIBUTE5,
974 ATTRIBUTE6,
975 ATTRIBUTE7,
976 ATTRIBUTE8,
977 ATTRIBUTE9,
978 ATTRIBUTE10,
979 ATTRIBUTE11,
980 ATTRIBUTE12,
981 ATTRIBUTE13,
982 ATTRIBUTE14,
983 ATTRIBUTE15,
984 ORG_ID,
985 REQUEST_ID,
986 PROGRAM_APPLICATION_ID,
987 PROGRAM_ID,
988 PROGRAM_UPDATE_DATE,
989 CREATED_BY,
990 CREATION_DATE,
991 LAST_UPDATED_BY,
992 LAST_UPDATE_DATE,
993 LAST_UPDATE_LOGIN,
994 -- RABHUPAT - 2667636 - Start
995 CURRENCY_CODE,
996 CURRENCY_CONVERSION_CODE,
997 CURRENCY_CONVERSION_TYPE,
998 CURRENCY_CONVERSION_RATE,
999 CURRENCY_CONVERSION_DATE
1000 -- RABHUPAT - 2667636 - End
1001 FROM Okl_Remarktng_Costs_V
1002 WHERE okl_remarktng_costs_v.id = p_id;
1003 l_okl_rfcv_pk okl_rfcv_pk_csr%ROWTYPE;
1004 l_rfcv_rec rfcv_rec_type;
1005 BEGIN
1006 x_no_data_found := TRUE;
1007 -- Get current database values
1008 OPEN okl_rfcv_pk_csr (p_rfcv_rec.id);
1009 FETCH okl_rfcv_pk_csr INTO
1010 l_rfcv_rec.ID,
1011 l_rfcv_rec.OBJECT_VERSION_NUMBER,
1012 l_rfcv_rec.SFWT_FLAG,
1013 l_rfcv_rec.ART_ID,
1014 l_rfcv_rec.COS_CODE,
1015 l_rfcv_rec.AMOUNT,
1016 l_rfcv_rec.COMMENTS,
1017 l_rfcv_rec.ATTRIBUTE_CATEGORY,
1018 l_rfcv_rec.ATTRIBUTE1,
1019 l_rfcv_rec.ATTRIBUTE2,
1020 l_rfcv_rec.ATTRIBUTE3,
1021 l_rfcv_rec.ATTRIBUTE4,
1022 l_rfcv_rec.ATTRIBUTE5,
1023 l_rfcv_rec.ATTRIBUTE6,
1024 l_rfcv_rec.ATTRIBUTE7,
1025 l_rfcv_rec.ATTRIBUTE8,
1026 l_rfcv_rec.ATTRIBUTE9,
1027 l_rfcv_rec.ATTRIBUTE10,
1028 l_rfcv_rec.ATTRIBUTE11,
1029 l_rfcv_rec.ATTRIBUTE12,
1030 l_rfcv_rec.ATTRIBUTE13,
1031 l_rfcv_rec.ATTRIBUTE14,
1032 l_rfcv_rec.ATTRIBUTE15,
1033 l_rfcv_rec.ORG_ID,
1034 l_rfcv_rec.REQUEST_ID,
1035 l_rfcv_rec.PROGRAM_APPLICATION_ID,
1036 l_rfcv_rec.PROGRAM_ID,
1037 l_rfcv_rec.PROGRAM_UPDATE_DATE,
1038 l_rfcv_rec.CREATED_BY,
1039 l_rfcv_rec.CREATION_DATE,
1040 l_rfcv_rec.LAST_UPDATED_BY,
1041 l_rfcv_rec.LAST_UPDATE_DATE,
1042 l_rfcv_rec.LAST_UPDATE_LOGIN,
1043 -- RABHUPAT - 2667636 - Start
1044 l_rfcv_rec.CURRENCY_CODE,
1045 l_rfcv_rec.CURRENCY_CONVERSION_CODE,
1046 l_rfcv_rec.CURRENCY_CONVERSION_TYPE,
1047 l_rfcv_rec.CURRENCY_CONVERSION_RATE,
1048 l_rfcv_rec.CURRENCY_CONVERSION_DATE;
1049 -- RABHUPAT - 2667636 - End
1050 x_no_data_found := okl_rfcv_pk_csr%NOTFOUND;
1051 CLOSE okl_rfcv_pk_csr;
1052 RETURN(l_rfcv_rec);
1053 END get_rec;
1054
1055 FUNCTION get_rec (
1056 p_rfcv_rec IN rfcv_rec_type
1057 ) RETURN rfcv_rec_type IS
1058 l_row_notfound BOOLEAN := TRUE;
1059 BEGIN
1060 RETURN(get_rec(p_rfcv_rec, l_row_notfound));
1061 END get_rec;
1062
1063 -----------------------------------------------------------
1064 -- FUNCTION null_out_defaults for: OKL_REMARKTNG_COSTS_V --
1065 -----------------------------------------------------------
1066 -- Start of comments
1067 --
1068 -- Function Name : null_out_defaults
1069 -- Description : for: OKL_REMARKTNG_COSTS_V
1070 -- Business Rules :
1071 -- Parameters :
1072 -- Version : 1.0
1073 -- History : RABHUPAT 17-DEC-2002 2667636
1074 -- :modified for multicurrency changes
1075 -- End of comments
1076 FUNCTION null_out_defaults (
1077 p_rfcv_rec IN rfcv_rec_type
1078 ) RETURN rfcv_rec_type IS
1079 l_rfcv_rec rfcv_rec_type := p_rfcv_rec;
1080 BEGIN
1081 IF (l_rfcv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
1082 l_rfcv_rec.object_version_number := NULL;
1083 END IF;
1084 IF (l_rfcv_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
1085 l_rfcv_rec.sfwt_flag := NULL;
1086 END IF;
1087 IF (l_rfcv_rec.art_id = OKC_API.G_MISS_NUM) THEN
1088 l_rfcv_rec.art_id := NULL;
1089 END IF;
1090 IF (l_rfcv_rec.cos_code = OKC_API.G_MISS_CHAR) THEN
1091 l_rfcv_rec.cos_code := NULL;
1092 END IF;
1093 IF (l_rfcv_rec.amount = OKC_API.G_MISS_NUM) THEN
1094 l_rfcv_rec.amount := NULL;
1095 END IF;
1096 IF (l_rfcv_rec.comments = OKC_API.G_MISS_CHAR) THEN
1097 l_rfcv_rec.comments := NULL;
1098 END IF;
1099 IF (l_rfcv_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
1100 l_rfcv_rec.attribute_category := NULL;
1101 END IF;
1102 IF (l_rfcv_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
1103 l_rfcv_rec.attribute1 := NULL;
1104 END IF;
1105 IF (l_rfcv_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
1106 l_rfcv_rec.attribute2 := NULL;
1107 END IF;
1108 IF (l_rfcv_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
1109 l_rfcv_rec.attribute3 := NULL;
1110 END IF;
1111 IF (l_rfcv_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
1112 l_rfcv_rec.attribute4 := NULL;
1113 END IF;
1114 IF (l_rfcv_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
1115 l_rfcv_rec.attribute5 := NULL;
1116 END IF;
1117 IF (l_rfcv_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
1118 l_rfcv_rec.attribute6 := NULL;
1119 END IF;
1120 IF (l_rfcv_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
1121 l_rfcv_rec.attribute7 := NULL;
1122 END IF;
1123 IF (l_rfcv_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
1124 l_rfcv_rec.attribute8 := NULL;
1125 END IF;
1126 IF (l_rfcv_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
1127 l_rfcv_rec.attribute9 := NULL;
1128 END IF;
1129 IF (l_rfcv_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
1130 l_rfcv_rec.attribute10 := NULL;
1131 END IF;
1132 IF (l_rfcv_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
1133 l_rfcv_rec.attribute11 := NULL;
1134 END IF;
1135 IF (l_rfcv_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
1136 l_rfcv_rec.attribute12 := NULL;
1137 END IF;
1138 IF (l_rfcv_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
1139 l_rfcv_rec.attribute13 := NULL;
1140 END IF;
1141 IF (l_rfcv_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
1142 l_rfcv_rec.attribute14 := NULL;
1143 END IF;
1144 IF (l_rfcv_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
1145 l_rfcv_rec.attribute15 := NULL;
1146 END IF;
1147 IF (l_rfcv_rec.org_id = OKC_API.G_MISS_NUM) THEN
1148 l_rfcv_rec.org_id := NULL;
1149 END IF;
1150 -- Begin Post-Generation Change
1151 /*
1152 IF (l_rfcv_rec.request_id = OKC_API.G_MISS_NUM) THEN
1153 l_rfcv_rec.request_id := NULL;
1154 END IF;
1155 IF (l_rfcv_rec.program_application_id = OKC_API.G_MISS_NUM) THEN
1156 l_rfcv_rec.program_application_id := NULL;
1157 END IF;
1158 IF (l_rfcv_rec.program_id = OKC_API.G_MISS_NUM) THEN
1159 l_rfcv_rec.program_id := NULL;
1160 END IF;
1161 IF (l_rfcv_rec.program_update_date = OKC_API.G_MISS_DATE) THEN
1162 l_rfcv_rec.program_update_date := NULL;
1163 END IF;
1164 */
1165 -- End Post-Generation Change
1166 IF (l_rfcv_rec.created_by = OKC_API.G_MISS_NUM) THEN
1167 l_rfcv_rec.created_by := NULL;
1168 END IF;
1169 IF (l_rfcv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
1170 l_rfcv_rec.creation_date := NULL;
1171 END IF;
1172 IF (l_rfcv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
1173 l_rfcv_rec.last_updated_by := NULL;
1174 END IF;
1175 IF (l_rfcv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
1176 l_rfcv_rec.last_update_date := NULL;
1177 END IF;
1178 IF (l_rfcv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
1179 l_rfcv_rec.last_update_login := NULL;
1180 END IF;
1181 -- RABHUPAT - 2667636 -Start
1182 IF (l_rfcv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
1183 l_rfcv_rec.currency_code := NULL;
1184 END IF;
1185 IF (l_rfcv_rec.currency_conversion_code = OKC_API.G_MISS_CHAR) THEN
1186 l_rfcv_rec.currency_conversion_code := NULL;
1187 END IF;
1188 IF (l_rfcv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR) THEN
1189 l_rfcv_rec.currency_conversion_type := NULL;
1190 END IF;
1191 IF (l_rfcv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM) THEN
1192 l_rfcv_rec.currency_conversion_rate := NULL;
1193 END IF;
1194 IF (l_rfcv_rec.currency_conversion_date = OKC_API.G_MISS_DATE) THEN
1195 l_rfcv_rec.currency_conversion_date := NULL;
1196 END IF;
1197 -- RABHUPAT - 2667636 -End
1198 RETURN(l_rfcv_rec);
1199 END null_out_defaults;
1200 ---------------------------------------------------------------------------
1201 -- PROCEDURE Validate_Attributes
1202 ---------------------------------------------------------------------------
1203 ---------------------------------------------------
1204 -- Validate_Attributes for:OKL_REMARKTNG_COSTS_V --
1205 ---------------------------------------------------
1206 -- Start of comments
1207 --
1208 -- Procedure Name : validate_attributes
1209 -- Description : for:OKL_REMARKTNG_COSTS_V
1210 -- Business Rules :
1211 -- Parameters :
1212 -- Version : 1.0
1213 -- History : Modified by : Guru Kadarkaraisamy
1214 -- : RABHUPAT 17-DEC-2002 2667636
1215 -- : modified for multicurrency changes
1216 -- End of comments
1217 ---------------------------------------------------
1218
1219 FUNCTION Validate_Attributes (
1220 p_rfcv_rec IN rfcv_rec_type
1221 ) RETURN VARCHAR2 IS
1222 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1223 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1224 BEGIN
1225 validate_id(x_return_status => l_return_status,
1226 p_rfcv_rec => p_rfcv_rec);
1227
1228 -- store the highest degree of error
1229 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1230 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1231 x_return_status := l_return_status;
1232 end if;
1233 end if;
1234
1235 validate_object_version_number(x_return_status => l_return_status,
1236 p_rfcv_rec => p_rfcv_rec);
1237
1238 -- store the highest degree of error
1239 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1240 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1241 x_return_status := l_return_status;
1242 end if;
1243 end if;
1244
1245 validate_sfwt_flag(x_return_status => l_return_status,
1246 p_rfcv_rec => p_rfcv_rec);
1247
1248 -- store the highest degree of error
1249 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1250 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1251 x_return_status := l_return_status;
1252 end if;
1253 end if;
1254
1255
1256 validate_cos_code(x_return_status => l_return_status,
1257 p_rfcv_rec => p_rfcv_rec);
1258
1259 -- store the highest degree of error
1260 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1261 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1262 x_return_status := l_return_status;
1263 end if;
1264 end if;
1265
1266
1267 validate_org_id(x_return_status => l_return_status,
1268 p_rfcv_rec => p_rfcv_rec);
1269
1270 -- store the highest degree of error
1271 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1272 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1273 x_return_status := l_return_status;
1274 end if;
1275 end if;
1276
1277 validate_art_id(x_return_status => l_return_status,
1278 p_rfcv_rec => p_rfcv_rec);
1279
1280 -- store the highest degree of error
1281 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1282 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1283 x_return_status := l_return_status;
1284 end if;
1285 end if;
1286
1287 validate_amount(x_return_status => l_return_status,
1288 p_rfcv_rec => p_rfcv_rec);
1289
1290 -- store the highest degree of error
1291 if (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1292 if (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) then
1293 x_return_status := l_return_status;
1294 end if;
1295 end if;
1296
1297 -- RABHUPAT - 2667636 - Start
1298 validate_currency_code(p_rfcv_rec => p_rfcv_rec,
1299 x_return_status => l_return_status);
1300 -- store the highest degree of error
1301 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1302 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1303 x_return_status := l_return_status;
1304 END IF;
1305 END IF;
1306 validate_currency_con_code(p_rfcv_rec => p_rfcv_rec,
1307 x_return_status => l_return_status);
1308 -- store the highest degree of error
1309 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1310 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1311 x_return_status := l_return_status;
1312 END IF;
1313 END IF;
1314 validate_currency_con_type(p_rfcv_rec => p_rfcv_rec,
1315 x_return_status => l_return_status);
1316 -- store the highest degree of error
1317 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1318 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1319 x_return_status := l_return_status;
1320 END IF;
1321 END IF;
1322 -- RABHUPAT - 2667636 - End
1323
1324 RETURN(l_return_status);
1325
1326 END Validate_Attributes;
1327
1328 ---------------------------------------------------------------------------
1329 -- PROCEDURE Validate_Record
1330 ---------------------------------------------------------------------------
1331 -----------------------------------------------
1332 -- Validate_Record for:OKL_REMARKTNG_COSTS_V --
1333 -----------------------------------------------
1334 -- Start of comments
1335 --
1336 -- Function Name : Validate_Record
1337 -- Description : for:OKL_REMARKTNG_COSTS_V
1338 -- Business Rules :
1339 -- Parameters :
1340 -- Version : 1.0
1341 -- History : RABHUPAT 17-DEC-2002 2667636
1342 -- :modified for multicurrency changes
1343 -- End of comments
1344 FUNCTION Validate_Record (
1345 p_rfcv_rec IN rfcv_rec_type
1346 ) RETURN VARCHAR2 IS
1347 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1348 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1349 BEGIN
1350 -- RABHUPAT - 2667636 - Start
1351 -- Validate Currency conversion Code,type,rate and Date
1352
1353 validate_currency_record(p_rfcv_rec => p_rfcv_rec,
1354 x_return_status => l_return_status);
1355 -- store the highest degree of error
1356 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1357 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1358 x_return_status := l_return_status;
1359 END IF;
1360 END IF;
1361 -- RABHUPAT - 2667636 - End
1362 RETURN (x_return_status);
1363 END Validate_Record;
1364
1365 ---------------------------------------------------------------------------
1366 -- PROCEDURE Migrate
1367 ---------------------------------------------------------------------------
1368 -- Start of comments
1369 --
1370 -- Procedure Name : Migrate
1371 -- Description : from _V to _B
1372 -- Business Rules :
1373 -- Parameters :
1374 -- Version : 1.0
1375 -- History : RABHUPAT 17-DEC-2002 2667636
1376 -- : modified for multicurrency changes
1377 -- End of comments
1378 PROCEDURE migrate (
1379 p_from IN rfcv_rec_type,
1380 p_to IN OUT NOCOPY rfc_rec_type
1381 ) IS
1382 BEGIN
1383 p_to.id := p_from.id;
1384 p_to.cos_code := p_from.cos_code;
1385 p_to.art_id := p_from.art_id;
1386 p_to.object_version_number := p_from.object_version_number;
1387 p_to.amount := p_from.amount;
1388 p_to.org_id := p_from.org_id;
1389 p_to.request_id := p_from.request_id;
1390 p_to.program_application_id := p_from.program_application_id;
1391 p_to.program_id := p_from.program_id;
1392 p_to.program_update_date := p_from.program_update_date;
1393 p_to.attribute_category := p_from.attribute_category;
1394 p_to.attribute1 := p_from.attribute1;
1395 p_to.attribute2 := p_from.attribute2;
1396 p_to.attribute3 := p_from.attribute3;
1397 p_to.attribute4 := p_from.attribute4;
1398 p_to.attribute5 := p_from.attribute5;
1399 p_to.attribute6 := p_from.attribute6;
1400 p_to.attribute7 := p_from.attribute7;
1401 p_to.attribute8 := p_from.attribute8;
1402 p_to.attribute9 := p_from.attribute9;
1403 p_to.attribute10 := p_from.attribute10;
1404 p_to.attribute11 := p_from.attribute11;
1405 p_to.attribute12 := p_from.attribute12;
1406 p_to.attribute13 := p_from.attribute13;
1407 p_to.attribute14 := p_from.attribute14;
1408 p_to.attribute15 := p_from.attribute15;
1409 p_to.created_by := p_from.created_by;
1410 p_to.creation_date := p_from.creation_date;
1411 p_to.last_updated_by := p_from.last_updated_by;
1412 p_to.last_update_date := p_from.last_update_date;
1413 p_to.last_update_login := p_from.last_update_login;
1414 -- RABHUPAT - 2667636 - Start
1415 p_to.currency_code := p_from.currency_code;
1416 p_to.currency_conversion_code := p_from.currency_conversion_code;
1417 p_to.currency_conversion_type := p_from.currency_conversion_type;
1418 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
1419 p_to.currency_conversion_date := p_from.currency_conversion_date;
1420 -- RABHUPAT - 2667636 - End
1421 END migrate;
1422
1423 -- Start of comments
1424 --
1425 -- Procedure Name : Migrate
1426 -- Description : from _B to _V
1427 -- Business Rules :
1428 -- Parameters :
1429 -- Version : 1.0
1430 -- History : RABHUPAT 17-DEC-2002 2667636
1431 -- : modified for multicurrency changes
1432 -- End of comments
1433 PROCEDURE migrate (
1434 p_from IN rfc_rec_type,
1435 p_to IN OUT NOCOPY rfcv_rec_type
1436 ) IS
1437 BEGIN
1438 p_to.id := p_from.id;
1439 p_to.cos_code := p_from.cos_code;
1440 p_to.art_id := p_from.art_id;
1441 p_to.object_version_number := p_from.object_version_number;
1442 p_to.amount := p_from.amount;
1443 p_to.org_id := p_from.org_id;
1444 p_to.request_id := p_from.request_id;
1445 p_to.program_application_id := p_from.program_application_id;
1446 p_to.program_id := p_from.program_id;
1447 p_to.program_update_date := p_from.program_update_date;
1448 p_to.attribute_category := p_from.attribute_category;
1449 p_to.attribute1 := p_from.attribute1;
1450 p_to.attribute2 := p_from.attribute2;
1451 p_to.attribute3 := p_from.attribute3;
1452 p_to.attribute4 := p_from.attribute4;
1453 p_to.attribute5 := p_from.attribute5;
1454 p_to.attribute6 := p_from.attribute6;
1455 p_to.attribute7 := p_from.attribute7;
1456 p_to.attribute8 := p_from.attribute8;
1457 p_to.attribute9 := p_from.attribute9;
1458 p_to.attribute10 := p_from.attribute10;
1459 p_to.attribute11 := p_from.attribute11;
1460 p_to.attribute12 := p_from.attribute12;
1461 p_to.attribute13 := p_from.attribute13;
1462 p_to.attribute14 := p_from.attribute14;
1463 p_to.attribute15 := p_from.attribute15;
1464 p_to.created_by := p_from.created_by;
1465 p_to.creation_date := p_from.creation_date;
1466 p_to.last_updated_by := p_from.last_updated_by;
1467 p_to.last_update_date := p_from.last_update_date;
1468 p_to.last_update_login := p_from.last_update_login;
1469 -- RABHUPAT - 2667636 - Start
1470 p_to.currency_code := p_from.currency_code;
1471 p_to.currency_conversion_code := p_from.currency_conversion_code;
1472 p_to.currency_conversion_type := p_from.currency_conversion_type;
1473 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
1474 p_to.currency_conversion_date := p_from.currency_conversion_date;
1475 -- RABHUPAT - 2667636 - End
1476 END migrate;
1477 PROCEDURE migrate (
1478 p_from IN rfcv_rec_type,
1479 p_to IN OUT NOCOPY OklRemarktngCostsTlRecType
1480 ) IS
1481 BEGIN
1482 p_to.id := p_from.id;
1483 p_to.sfwt_flag := p_from.sfwt_flag;
1484 p_to.comments := p_from.comments;
1485 p_to.created_by := p_from.created_by;
1486 p_to.creation_date := p_from.creation_date;
1487 p_to.last_updated_by := p_from.last_updated_by;
1488 p_to.last_update_date := p_from.last_update_date;
1489 p_to.last_update_login := p_from.last_update_login;
1490 END migrate;
1491 PROCEDURE migrate (
1492 p_from IN OklRemarktngCostsTlRecType,
1493 p_to IN OUT NOCOPY rfcv_rec_type
1494 ) IS
1495 BEGIN
1496 p_to.id := p_from.id;
1497 p_to.sfwt_flag := p_from.sfwt_flag;
1498 p_to.comments := p_from.comments;
1499 p_to.created_by := p_from.created_by;
1500 p_to.creation_date := p_from.creation_date;
1501 p_to.last_updated_by := p_from.last_updated_by;
1502 p_to.last_update_date := p_from.last_update_date;
1503 p_to.last_update_login := p_from.last_update_login;
1504 END migrate;
1505
1506 ---------------------------------------------------------------------------
1507 -- PROCEDURE validate_row
1508 ---------------------------------------------------------------------------
1509 --------------------------------------------
1510 -- validate_row for:OKL_REMARKTNG_COSTS_V --
1511 --------------------------------------------
1512 PROCEDURE validate_row(
1513 p_api_version IN NUMBER,
1514 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1515 x_return_status OUT NOCOPY VARCHAR2,
1516 x_msg_count OUT NOCOPY NUMBER,
1517 x_msg_data OUT NOCOPY VARCHAR2,
1518 p_rfcv_rec IN rfcv_rec_type) IS
1519
1520 l_api_version CONSTANT NUMBER := 1;
1521 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1522 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1523 l_rfcv_rec rfcv_rec_type := p_rfcv_rec;
1524 l_rfc_rec rfc_rec_type;
1525 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
1526 BEGIN
1527 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1528 G_PKG_NAME,
1529 p_init_msg_list,
1530 l_api_version,
1531 p_api_version,
1532 '_PVT',
1533 x_return_status);
1534 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1535 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1536 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1537 RAISE OKC_API.G_EXCEPTION_ERROR;
1538 END IF;
1539 --- Validate all non-missing attributes (Item Level Validation)
1540 l_return_status := Validate_Attributes(l_rfcv_rec);
1541 --- If any errors happen abort API
1542 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1543 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1544 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1545 RAISE OKC_API.G_EXCEPTION_ERROR;
1546 END IF;
1547 l_return_status := Validate_Record(l_rfcv_rec);
1548 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1549 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1550 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1551 RAISE OKC_API.G_EXCEPTION_ERROR;
1552 END IF;
1553 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1554 EXCEPTION
1555 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1556 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1557 (
1558 l_api_name,
1559 G_PKG_NAME,
1560 'OKC_API.G_RET_STS_ERROR',
1561 x_msg_count,
1562 x_msg_data,
1563 '_PVT'
1564 );
1565 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1566 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1567 (
1568 l_api_name,
1569 G_PKG_NAME,
1570 'OKC_API.G_RET_STS_UNEXP_ERROR',
1571 x_msg_count,
1572 x_msg_data,
1573 '_PVT'
1574 );
1575 WHEN OTHERS THEN
1576 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1577 (
1578 l_api_name,
1579 G_PKG_NAME,
1580 'OTHERS',
1581 x_msg_count,
1582 x_msg_data,
1583 '_PVT'
1584 );
1585 END validate_row;
1586 ------------------------------------------
1587 -- PL/SQL TBL validate_row for:RFCV_TBL --
1588 ------------------------------------------
1589 PROCEDURE validate_row(
1590 p_api_version IN NUMBER,
1591 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1592 x_return_status OUT NOCOPY VARCHAR2,
1593 x_msg_count OUT NOCOPY NUMBER,
1594 x_msg_data OUT NOCOPY VARCHAR2,
1595 p_rfcv_tbl IN rfcv_tbl_type) IS
1596
1597 l_api_version CONSTANT NUMBER := 1;
1598 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1599 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1600 i NUMBER := 0;
1601 -- Begin Post-Generation Change
1602 -- overall error status
1603 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1604 -- End Post-Generation Change
1605 BEGIN
1606 OKC_API.init_msg_list(p_init_msg_list);
1607 -- Make sure PL/SQL table has records in it before passing
1608 IF (p_rfcv_tbl.COUNT > 0) THEN
1609 i := p_rfcv_tbl.FIRST;
1610 LOOP
1611 validate_row (
1612 p_api_version => p_api_version,
1613 p_init_msg_list => OKC_API.G_FALSE,
1614 x_return_status => x_return_status,
1615 x_msg_count => x_msg_count,
1616 x_msg_data => x_msg_data,
1617 p_rfcv_rec => p_rfcv_tbl(i));
1618 -- Begin Post-Generation Change
1619 -- store the highest degree of error
1620 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
1621 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
1622 l_overall_status := x_return_status;
1623 END IF;
1624 END IF;
1625 -- End Post-Generation Change
1626 EXIT WHEN (i = p_rfcv_tbl.LAST);
1627 i := p_rfcv_tbl.NEXT(i);
1628 END LOOP;
1629 -- Begin Post-Generation Change
1630 -- return overall status
1631 x_return_status := l_overall_status;
1632 -- End Post-Generation Change
1633 END IF;
1634 EXCEPTION
1635 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1636 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1637 (
1638 l_api_name,
1639 G_PKG_NAME,
1640 'OKC_API.G_RET_STS_ERROR',
1641 x_msg_count,
1642 x_msg_data,
1643 '_PVT'
1644 );
1645 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1646 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1647 (
1648 l_api_name,
1649 G_PKG_NAME,
1650 'OKC_API.G_RET_STS_UNEXP_ERROR',
1651 x_msg_count,
1652 x_msg_data,
1653 '_PVT'
1654 );
1655 WHEN OTHERS THEN
1656 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1657 (
1658 l_api_name,
1659 G_PKG_NAME,
1660 'OTHERS',
1661 x_msg_count,
1662 x_msg_data,
1663 '_PVT'
1664 );
1665 END validate_row;
1666
1667 ---------------------------------------------------------------------------
1668 -- PROCEDURE insert_row
1669 ---------------------------------------------------------------------------
1670 ------------------------------------------
1671 -- insert_row for:OKL_REMARKTNG_COSTS_B --
1672 ------------------------------------------
1673 -- Start of comments
1674 --
1675 -- Procedure Name : insert_row
1676 -- Description : for OKL_REMARKTNG_COSTS_B
1677 -- Business Rules :
1678 -- Parameters :
1679 -- Version : 1.0
1680 -- History : RABHUPAT 17-DEC-2002 2667636
1681 -- : modified for multicurrency changes
1682 -- End of comments
1683 PROCEDURE insert_row(
1684 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1685 x_return_status OUT NOCOPY VARCHAR2,
1686 x_msg_count OUT NOCOPY NUMBER,
1687 x_msg_data OUT NOCOPY VARCHAR2,
1688 p_rfc_rec IN rfc_rec_type,
1689 x_rfc_rec OUT NOCOPY rfc_rec_type) IS
1690
1691 l_api_version CONSTANT NUMBER := 1;
1692 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1693 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1694 l_rfc_rec rfc_rec_type := p_rfc_rec;
1695 l_def_rfc_rec rfc_rec_type;
1696 ----------------------------------------------
1697 -- Set_Attributes for:OKL_REMARKTNG_COSTS_B --
1698 ----------------------------------------------
1699 FUNCTION Set_Attributes (
1700 p_rfc_rec IN rfc_rec_type,
1701 x_rfc_rec OUT NOCOPY rfc_rec_type
1702 ) RETURN VARCHAR2 IS
1703 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1704 BEGIN
1705 x_rfc_rec := p_rfc_rec;
1706 RETURN(l_return_status);
1707 END Set_Attributes;
1708 BEGIN
1709 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1710 p_init_msg_list,
1711 '_PVT',
1712 x_return_status);
1713 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1714 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1715 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1716 RAISE OKC_API.G_EXCEPTION_ERROR;
1717 END IF;
1718 --- Setting item attributes
1719 l_return_status := Set_Attributes(
1720 p_rfc_rec, -- IN
1721 l_rfc_rec); -- OUT
1722 --- If any errors happen abort API
1723 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1724 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1725 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1726 RAISE OKC_API.G_EXCEPTION_ERROR;
1727 END IF;
1728
1729
1730 INSERT INTO OKL_REMARKTNG_COSTS_B(
1731 id,
1732 cos_code,
1733 art_id,
1734 object_version_number,
1735 amount,
1736 org_id,
1737 request_id,
1738 program_application_id,
1739 program_id,
1740 program_update_date,
1741 attribute_category,
1742 attribute1,
1743 attribute2,
1744 attribute3,
1745 attribute4,
1746 attribute5,
1747 attribute6,
1748 attribute7,
1749 attribute8,
1750 attribute9,
1751 attribute10,
1752 attribute11,
1753 attribute12,
1754 attribute13,
1755 attribute14,
1756 attribute15,
1757 created_by,
1758 creation_date,
1759 last_updated_by,
1760 last_update_date,
1761 last_update_login,
1762 -- RABHUPAT - 2667636 - Start
1763 currency_code,
1764 currency_conversion_code,
1765 currency_conversion_type,
1766 currency_conversion_rate,
1767 currency_conversion_date)
1768 -- RABHUPAT - 2667636 - End
1769 VALUES (
1770 l_rfc_rec.id,
1771 l_rfc_rec.cos_code,
1772 l_rfc_rec.art_id,
1773 l_rfc_rec.object_version_number,
1774 l_rfc_rec.amount,
1775 l_rfc_rec.org_id,
1776 /* l_rfc_rec.request_id,
1777 l_rfc_rec.program_application_id,
1778 l_rfc_rec.program_id,
1779 l_rfc_rec.program_update_date,*/
1780 decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,FND_GLOBAL.CONC_REQUEST_ID),
1781 decode(FND_GLOBAL.PROG_APPL_ID,-1,NULL,FND_GLOBAL.PROG_APPL_ID),
1782 decode(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,FND_GLOBAL.CONC_PROGRAM_ID),
1783 decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,SYSDATE),
1784 l_rfc_rec.attribute_category,
1785 l_rfc_rec.attribute1,
1786 l_rfc_rec.attribute2,
1787 l_rfc_rec.attribute3,
1788 l_rfc_rec.attribute4,
1789 l_rfc_rec.attribute5,
1790 l_rfc_rec.attribute6,
1791 l_rfc_rec.attribute7,
1792 l_rfc_rec.attribute8,
1793 l_rfc_rec.attribute9,
1794 l_rfc_rec.attribute10,
1795 l_rfc_rec.attribute11,
1796 l_rfc_rec.attribute12,
1797 l_rfc_rec.attribute13,
1798 l_rfc_rec.attribute14,
1799 l_rfc_rec.attribute15,
1800 l_rfc_rec.created_by,
1801 l_rfc_rec.creation_date,
1802 l_rfc_rec.last_updated_by,
1803 l_rfc_rec.last_update_date,
1804 l_rfc_rec.last_update_login,
1805 -- RABHUPAT - 2667636 - Start
1806 l_rfc_rec.currency_code,
1807 l_rfc_rec.currency_conversion_code,
1808 l_rfc_rec.currency_conversion_type,
1809 l_rfc_rec.currency_conversion_rate,
1810 l_rfc_rec.currency_conversion_date);
1811 -- RABHUPAT - 2667636 - End
1812 -- Set OUT values
1813 x_rfc_rec := l_rfc_rec;
1814 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1815 EXCEPTION
1816 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1817 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1818 (
1819 l_api_name,
1820 G_PKG_NAME,
1821 'OKC_API.G_RET_STS_ERROR',
1822 x_msg_count,
1823 x_msg_data,
1824 '_PVT'
1825 );
1826 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1827 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1828 (
1829 l_api_name,
1830 G_PKG_NAME,
1831 'OKC_API.G_RET_STS_UNEXP_ERROR',
1832 x_msg_count,
1833 x_msg_data,
1834 '_PVT'
1835 );
1836 WHEN OTHERS THEN
1837 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1838 (
1839 l_api_name,
1840 G_PKG_NAME,
1841 'OTHERS',
1842 x_msg_count,
1843 x_msg_data,
1844 '_PVT'
1845 );
1846 END insert_row;
1847 -------------------------------------------
1848 -- insert_row for:OKL_REMARKTNG_COSTS_TL --
1849 -------------------------------------------
1850 PROCEDURE insert_row(
1851 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1852 x_return_status OUT NOCOPY VARCHAR2,
1853 x_msg_count OUT NOCOPY NUMBER,
1854 x_msg_data OUT NOCOPY VARCHAR2,
1855 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType,
1856 x_okl_remarktng_costs_tl_rec OUT NOCOPY OklRemarktngCostsTlRecType) IS
1857
1858 l_api_version CONSTANT NUMBER := 1;
1859 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
1860 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1861 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType := p_okl_remarktng_costs_tl_rec;
1862 ldefoklremarktngcoststlrec OklRemarktngCostsTlRecType;
1863 CURSOR get_languages IS
1864 SELECT *
1865 FROM FND_LANGUAGES
1866 WHERE INSTALLED_FLAG IN ('I', 'B');
1867 -----------------------------------------------
1868 -- Set_Attributes for:OKL_REMARKTNG_COSTS_TL --
1869 -----------------------------------------------
1870 FUNCTION Set_Attributes (
1871 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType,
1872 x_okl_remarktng_costs_tl_rec OUT NOCOPY OklRemarktngCostsTlRecType
1873 ) RETURN VARCHAR2 IS
1874 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1875 BEGIN
1876 x_okl_remarktng_costs_tl_rec := p_okl_remarktng_costs_tl_rec;
1877 x_okl_remarktng_costs_tl_rec.LANGUAGE := USERENV('LANG');
1878 x_okl_remarktng_costs_tl_rec.SOURCE_LANG := USERENV('LANG');
1879 RETURN(l_return_status);
1880 END Set_Attributes;
1881 BEGIN
1882 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1883 p_init_msg_list,
1884 '_PVT',
1885 x_return_status);
1886 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1887 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1888 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1889 RAISE OKC_API.G_EXCEPTION_ERROR;
1890 END IF;
1891 --- Setting item attributes
1892 l_return_status := Set_Attributes(
1893 p_okl_remarktng_costs_tl_rec, -- IN
1894 l_okl_remarktng_costs_tl_rec); -- OUT
1895 --- If any errors happen abort API
1896 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1897 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1898 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1899 RAISE OKC_API.G_EXCEPTION_ERROR;
1900 END IF;
1901 FOR l_lang_rec IN get_languages LOOP
1902 l_okl_remarktng_costs_tl_rec.language := l_lang_rec.language_code;
1903 INSERT INTO OKL_REMARKTNG_COSTS_TL(
1904 id,
1905 language,
1906 source_lang,
1907 sfwt_flag,
1908 comments,
1909 created_by,
1910 creation_date,
1911 last_updated_by,
1912 last_update_date,
1913 last_update_login)
1914 VALUES (
1915 l_okl_remarktng_costs_tl_rec.id,
1916 l_okl_remarktng_costs_tl_rec.language,
1917 l_okl_remarktng_costs_tl_rec.source_lang,
1918 l_okl_remarktng_costs_tl_rec.sfwt_flag,
1919 l_okl_remarktng_costs_tl_rec.comments,
1920 l_okl_remarktng_costs_tl_rec.created_by,
1921 l_okl_remarktng_costs_tl_rec.creation_date,
1922 l_okl_remarktng_costs_tl_rec.last_updated_by,
1923 l_okl_remarktng_costs_tl_rec.last_update_date,
1924 l_okl_remarktng_costs_tl_rec.last_update_login);
1925 END LOOP;
1926 -- Set OUT values
1927 x_okl_remarktng_costs_tl_rec := l_okl_remarktng_costs_tl_rec;
1928 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1929 EXCEPTION
1930 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1931 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1932 (
1933 l_api_name,
1934 G_PKG_NAME,
1935 'OKC_API.G_RET_STS_ERROR',
1936 x_msg_count,
1937 x_msg_data,
1938 '_PVT'
1939 );
1940 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1941 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1942 (
1943 l_api_name,
1944 G_PKG_NAME,
1945 'OKC_API.G_RET_STS_UNEXP_ERROR',
1946 x_msg_count,
1947 x_msg_data,
1948 '_PVT'
1949 );
1950 WHEN OTHERS THEN
1951 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1952 (
1953 l_api_name,
1954 G_PKG_NAME,
1955 'OTHERS',
1956 x_msg_count,
1957 x_msg_data,
1958 '_PVT'
1959 );
1960 END insert_row;
1961 ------------------------------------------
1962 -- insert_row for:OKL_REMARKTNG_COSTS_V --
1963 ------------------------------------------
1964 -- Start of comments
1965 --
1966 -- Procedure Name : insert_row
1967 -- Description : for OKL_REMARKTNG_COSTS_V
1968 -- Business Rules :
1969 -- Parameters :
1970 -- Version : 1.0
1971 -- History : RABHUPAT 17-DEC-2002 2667636
1972 -- : modified for multicurrency changes
1973 -- End of comments
1974 PROCEDURE insert_row(
1975 p_api_version IN NUMBER,
1976 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1977 x_return_status OUT NOCOPY VARCHAR2,
1978 x_msg_count OUT NOCOPY NUMBER,
1979 x_msg_data OUT NOCOPY VARCHAR2,
1980 p_rfcv_rec IN rfcv_rec_type,
1981 x_rfcv_rec OUT NOCOPY rfcv_rec_type) IS
1982
1983 l_api_version CONSTANT NUMBER := 1;
1984 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1985 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1986 l_rfcv_rec rfcv_rec_type;
1987 l_def_rfcv_rec rfcv_rec_type;
1988 l_rfc_rec rfc_rec_type;
1989 lx_rfc_rec rfc_rec_type;
1990 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
1991 lx_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
1992 -------------------------------
1993 -- FUNCTION fill_who_columns --
1994 -------------------------------
1995 FUNCTION fill_who_columns (
1996 p_rfcv_rec IN rfcv_rec_type
1997 ) RETURN rfcv_rec_type IS
1998 l_rfcv_rec rfcv_rec_type := p_rfcv_rec;
1999 BEGIN
2000 l_rfcv_rec.CREATION_DATE := SYSDATE;
2001 l_rfcv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
2002 l_rfcv_rec.LAST_UPDATE_DATE := l_rfcv_rec.CREATION_DATE;
2003 l_rfcv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2004 l_rfcv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2005 RETURN(l_rfcv_rec);
2006 END fill_who_columns;
2007 ----------------------------------------------
2008 -- Set_Attributes for:OKL_REMARKTNG_COSTS_V --
2009 ----------------------------------------------
2010 FUNCTION Set_Attributes (
2011 p_rfcv_rec IN rfcv_rec_type,
2012 x_rfcv_rec OUT NOCOPY rfcv_rec_type
2013 ) RETURN VARCHAR2 IS
2014 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2015 BEGIN
2016 x_rfcv_rec := p_rfcv_rec;
2017 x_rfcv_rec.OBJECT_VERSION_NUMBER := 1;
2018 x_rfcv_rec.SFWT_FLAG := 'N';
2019 -- Default the ORG ID if a value is not passed
2020 IF p_rfcv_rec.org_id IS NULL
2021 OR p_rfcv_rec.org_id = OKC_API.G_MISS_NUM THEN
2022 x_rfcv_rec.org_id := MO_GLOBAL.GET_CURRENT_ORG_ID();
2023 END IF;
2024 -- RABHUPAT - 2667636 - Start
2025 x_rfcv_rec.currency_conversion_code := OKL_AM_UTIL_PVT.get_functional_currency;
2026
2027 IF p_rfcv_rec.currency_code IS NULL
2028 OR p_rfcv_rec.currency_code = OKC_API.G_MISS_CHAR THEN
2029 x_rfcv_rec.currency_code := x_rfcv_rec.currency_conversion_code;
2030 END IF;
2031 -- RABHUPAT- 2667636 - End
2032 RETURN(l_return_status);
2033 END Set_Attributes;
2034 BEGIN
2035 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2036 G_PKG_NAME,
2037 p_init_msg_list,
2038 l_api_version,
2039 p_api_version,
2040 '_PVT',
2041 x_return_status);
2042 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2043 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2044 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2045 RAISE OKC_API.G_EXCEPTION_ERROR;
2046 END IF;
2047 l_rfcv_rec := null_out_defaults(p_rfcv_rec);
2048 -- Set primary key value
2049 l_rfcv_rec.ID := get_seq_id;
2050 --- Setting item attributes
2051 l_return_status := Set_Attributes(
2052 l_rfcv_rec, -- IN
2053 l_def_rfcv_rec); -- OUT
2054 --- If any errors happen abort API
2055 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2056 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2057 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2058 RAISE OKC_API.G_EXCEPTION_ERROR;
2059 END IF;
2060 l_def_rfcv_rec := fill_who_columns(l_def_rfcv_rec);
2061 --- Validate all non-missing attributes (Item Level Validation)
2062 l_return_status := Validate_Attributes(l_def_rfcv_rec);
2063 --- If any errors happen abort API
2064 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2065 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2066 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2067 RAISE OKC_API.G_EXCEPTION_ERROR;
2068 END IF;
2069
2070 --gkadarka Fixes for 3711282
2071 /*
2072 fix for inconsistent G_MISS_DATE value between Database and Mid tier
2073 Explicitly setting the following attributes to null.
2074 This case transaction currency will be always same as functional currency
2075 So we don't need to populate these following attributes with values.
2076
2077
2078 */
2079
2080 l_def_rfcv_rec.currency_conversion_type := NULL;
2081 l_def_rfcv_rec.currency_conversion_rate := NULL;
2082 l_def_rfcv_rec.currency_conversion_date := NULL;
2083 --gkdarka
2084 l_return_status := Validate_Record(l_def_rfcv_rec);
2085 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2086 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2087 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2088 RAISE OKC_API.G_EXCEPTION_ERROR;
2089 END IF;
2090 --------------------------------------
2091 -- Move VIEW record to "Child" records
2092 --------------------------------------
2093 migrate(l_def_rfcv_rec, l_rfc_rec);
2094 migrate(l_def_rfcv_rec, l_okl_remarktng_costs_tl_rec);
2095
2096 --------------------------------------------
2097 -- Call the INSERT_ROW for each child record
2098 --------------------------------------------
2099 insert_row(
2100 p_init_msg_list,
2101 x_return_status,
2102 x_msg_count,
2103 x_msg_data,
2104 l_rfc_rec,
2105 lx_rfc_rec
2106 );
2107 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2108 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2109 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2110 RAISE OKC_API.G_EXCEPTION_ERROR;
2111 END IF;
2112 migrate(lx_rfc_rec, l_def_rfcv_rec);
2113 insert_row(
2114 p_init_msg_list,
2115 x_return_status,
2116 x_msg_count,
2117 x_msg_data,
2118 l_okl_remarktng_costs_tl_rec,
2119 lx_okl_remarktng_costs_tl_rec
2120 );
2121 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2122 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2123 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2124 RAISE OKC_API.G_EXCEPTION_ERROR;
2125 END IF;
2126 migrate(lx_okl_remarktng_costs_tl_rec, l_def_rfcv_rec);
2127 -- Set OUT values
2128 x_rfcv_rec := l_def_rfcv_rec;
2129 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2130 EXCEPTION
2131 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2132 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2133 (
2134 l_api_name,
2135 G_PKG_NAME,
2136 'OKC_API.G_RET_STS_ERROR',
2137 x_msg_count,
2138 x_msg_data,
2139 '_PVT'
2140 );
2141 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2142 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2143 (
2144 l_api_name,
2145 G_PKG_NAME,
2146 'OKC_API.G_RET_STS_UNEXP_ERROR',
2147 x_msg_count,
2148 x_msg_data,
2149 '_PVT'
2150 );
2151 WHEN OTHERS THEN
2152 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2153 (
2154 l_api_name,
2155 G_PKG_NAME,
2156 'OTHERS',
2157 x_msg_count,
2158 x_msg_data,
2159 '_PVT'
2160 );
2161 END insert_row;
2162 ----------------------------------------
2163 -- PL/SQL TBL insert_row for:RFCV_TBL --
2164 ----------------------------------------
2165 PROCEDURE insert_row(
2166 p_api_version IN NUMBER,
2167 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2168 x_return_status OUT NOCOPY VARCHAR2,
2169 x_msg_count OUT NOCOPY NUMBER,
2170 x_msg_data OUT NOCOPY VARCHAR2,
2171 p_rfcv_tbl IN rfcv_tbl_type,
2172 x_rfcv_tbl OUT NOCOPY rfcv_tbl_type) IS
2173
2174 l_api_version CONSTANT NUMBER := 1;
2175 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2176 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2177 i NUMBER := 0;
2178 -- Begin Post-Generation Change
2179 -- overall error status
2180 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2181 -- End Post-Generation Change
2182 l_rfcv_rec rfcv_rec_type;
2183
2184
2185 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2186 BEGIN
2187 OKC_API.init_msg_list(p_init_msg_list);
2188 -- Make sure PL/SQL table has records in it before passing
2189 IF (p_rfcv_tbl.COUNT > 0) THEN
2190 i := p_rfcv_tbl.FIRST;
2191 LOOP
2192 insert_row (
2193 p_api_version => p_api_version,
2194 p_init_msg_list => OKC_API.G_FALSE,
2195 x_return_status => x_return_status,
2196 x_msg_count => x_msg_count,
2197 x_msg_data => x_msg_data,
2198 p_rfcv_rec => p_rfcv_tbl(i),
2199 x_rfcv_rec => x_rfcv_tbl(i));
2200
2201 --suresh gorantla Bug #3477112
2202 IF trunc(p_rfcv_tbl(i).amount) = 0 THEN
2203
2204 OKc_API.set_message(p_app_name => 'OKL',
2205 p_msg_name => 'OKL_CHK_ASSET_RETURN_FEE');
2206
2207
2208 l_overall_status := OKC_API.G_RET_STS_ERROR;
2209 EXIT;
2210 END IF;
2211
2212
2213 -- Begin Post-Generation Change
2214 -- store the highest degree of error
2215 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
2216 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
2217 l_overall_status := x_return_status;
2218 END IF;
2219 END IF;
2220 -- End Post-Generation Change
2221 EXIT WHEN (i = p_rfcv_tbl.LAST);
2222 i := p_rfcv_tbl.NEXT(i);
2223 END LOOP;
2224 -- Begin Post-Generation Change
2225 -- return overall status
2226 x_return_status := l_overall_status;
2227 -- End Post-Generation Change
2228 END IF;
2229 EXCEPTION
2230 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2231 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2232 (
2233 l_api_name,
2234 G_PKG_NAME,
2235 'OKC_API.G_RET_STS_ERROR',
2236 x_msg_count,
2237 x_msg_data,
2238 '_PVT'
2239 );
2240 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2241 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2242 (
2243 l_api_name,
2244 G_PKG_NAME,
2245 'OKC_API.G_RET_STS_UNEXP_ERROR',
2246 x_msg_count,
2247 x_msg_data,
2248 '_PVT'
2249 );
2250 WHEN OTHERS THEN
2251 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2252 (
2253 l_api_name,
2254 G_PKG_NAME,
2255 'OTHERS',
2256 x_msg_count,
2257 x_msg_data,
2258 '_PVT'
2259 );
2260 END insert_row;
2261
2262 ---------------------------------------------------------------------------
2263 -- PROCEDURE lock_row
2264 ---------------------------------------------------------------------------
2265 ----------------------------------------
2266 -- lock_row for:OKL_REMARKTNG_COSTS_B --
2267 ----------------------------------------
2268 PROCEDURE lock_row(
2269 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2270 x_return_status OUT NOCOPY VARCHAR2,
2271 x_msg_count OUT NOCOPY NUMBER,
2272 x_msg_data OUT NOCOPY VARCHAR2,
2273 p_rfc_rec IN rfc_rec_type) IS
2274
2275 E_Resource_Busy EXCEPTION;
2276 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2277 CURSOR lock_csr (p_rfc_rec IN rfc_rec_type) IS
2278 SELECT OBJECT_VERSION_NUMBER
2279 FROM OKL_REMARKTNG_COSTS_B
2280 WHERE ID = p_rfc_rec.id
2281 AND OBJECT_VERSION_NUMBER = p_rfc_rec.object_version_number
2282 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
2283
2284 CURSOR lchk_csr (p_rfc_rec IN rfc_rec_type) IS
2285 SELECT OBJECT_VERSION_NUMBER
2286 FROM OKL_REMARKTNG_COSTS_B
2287 WHERE ID = p_rfc_rec.id;
2288 l_api_version CONSTANT NUMBER := 1;
2289 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
2290 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2291 l_object_version_number OKL_REMARKTNG_COSTS_B.OBJECT_VERSION_NUMBER%TYPE;
2292 lc_object_version_number OKL_REMARKTNG_COSTS_B.OBJECT_VERSION_NUMBER%TYPE;
2293 l_row_notfound BOOLEAN := FALSE;
2294 lc_row_notfound BOOLEAN := FALSE;
2295 BEGIN
2296 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2297 p_init_msg_list,
2298 '_PVT',
2299 x_return_status);
2300 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2301 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2302 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2303 RAISE OKC_API.G_EXCEPTION_ERROR;
2304 END IF;
2305 BEGIN
2306 OPEN lock_csr(p_rfc_rec);
2307 FETCH lock_csr INTO l_object_version_number;
2308 l_row_notfound := lock_csr%NOTFOUND;
2309 CLOSE lock_csr;
2310 EXCEPTION
2311 WHEN E_Resource_Busy THEN
2312 IF (lock_csr%ISOPEN) THEN
2313 CLOSE lock_csr;
2314 END IF;
2315 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2316 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2317 END;
2318
2319 IF ( l_row_notfound ) THEN
2320 OPEN lchk_csr(p_rfc_rec);
2321 FETCH lchk_csr INTO lc_object_version_number;
2322 lc_row_notfound := lchk_csr%NOTFOUND;
2323 CLOSE lchk_csr;
2324 END IF;
2325 IF (lc_row_notfound) THEN
2326 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2327 RAISE OKC_API.G_EXCEPTION_ERROR;
2328 ELSIF lc_object_version_number > p_rfc_rec.object_version_number THEN
2329 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2330 RAISE OKC_API.G_EXCEPTION_ERROR;
2331 ELSIF lc_object_version_number <> p_rfc_rec.object_version_number THEN
2332 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2333 RAISE OKC_API.G_EXCEPTION_ERROR;
2334 ELSIF lc_object_version_number = -1 THEN
2335 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2336 RAISE OKC_API.G_EXCEPTION_ERROR;
2337 END IF;
2338 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2339 EXCEPTION
2340 WHEN OKC_API.G_EXCEPTION_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_ERROR',
2346 x_msg_count,
2347 x_msg_data,
2348 '_PVT'
2349 );
2350 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2351 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2352 (
2353 l_api_name,
2354 G_PKG_NAME,
2355 'OKC_API.G_RET_STS_UNEXP_ERROR',
2356 x_msg_count,
2357 x_msg_data,
2358 '_PVT'
2359 );
2360 WHEN OTHERS THEN
2361 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2362 (
2363 l_api_name,
2364 G_PKG_NAME,
2365 'OTHERS',
2366 x_msg_count,
2367 x_msg_data,
2368 '_PVT'
2369 );
2370 END lock_row;
2371 -----------------------------------------
2372 -- lock_row for:OKL_REMARKTNG_COSTS_TL --
2373 -----------------------------------------
2374 PROCEDURE lock_row(
2375 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2376 x_return_status OUT NOCOPY VARCHAR2,
2377 x_msg_count OUT NOCOPY NUMBER,
2378 x_msg_data OUT NOCOPY VARCHAR2,
2379 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType) IS
2380
2381 E_Resource_Busy EXCEPTION;
2382 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2383 CURSOR lock_csr (p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType) IS
2384 SELECT *
2385 FROM OKL_REMARKTNG_COSTS_TL
2386 WHERE ID = p_okl_remarktng_costs_tl_rec.id
2387 FOR UPDATE NOWAIT;
2388
2389 l_api_version CONSTANT NUMBER := 1;
2390 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
2391 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2392 l_lock_var lock_csr%ROWTYPE;
2393 l_row_notfound BOOLEAN := FALSE;
2394 lc_row_notfound BOOLEAN := FALSE;
2395 BEGIN
2396 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2397 p_init_msg_list,
2398 '_PVT',
2399 x_return_status);
2400 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2401 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2402 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2403 RAISE OKC_API.G_EXCEPTION_ERROR;
2404 END IF;
2405 BEGIN
2406 OPEN lock_csr(p_okl_remarktng_costs_tl_rec);
2407 FETCH lock_csr INTO l_lock_var;
2408 l_row_notfound := lock_csr%NOTFOUND;
2409 CLOSE lock_csr;
2410 EXCEPTION
2411 WHEN E_Resource_Busy THEN
2412 IF (lock_csr%ISOPEN) THEN
2413 CLOSE lock_csr;
2414 END IF;
2415 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2416 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2417 END;
2418
2419 IF ( l_row_notfound ) THEN
2420 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2421 RAISE OKC_API.G_EXCEPTION_ERROR;
2422 END IF;
2423 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2424 EXCEPTION
2425 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2426 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2427 (
2428 l_api_name,
2429 G_PKG_NAME,
2430 'OKC_API.G_RET_STS_ERROR',
2431 x_msg_count,
2432 x_msg_data,
2433 '_PVT'
2434 );
2435 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2436 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2437 (
2438 l_api_name,
2439 G_PKG_NAME,
2440 'OKC_API.G_RET_STS_UNEXP_ERROR',
2441 x_msg_count,
2442 x_msg_data,
2443 '_PVT'
2444 );
2445 WHEN OTHERS THEN
2446 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2447 (
2448 l_api_name,
2449 G_PKG_NAME,
2450 'OTHERS',
2451 x_msg_count,
2452 x_msg_data,
2453 '_PVT'
2454 );
2455 END lock_row;
2456 ----------------------------------------
2457 -- lock_row for:OKL_REMARKTNG_COSTS_V --
2458 ----------------------------------------
2459 PROCEDURE lock_row(
2460 p_api_version IN NUMBER,
2461 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2462 x_return_status OUT NOCOPY VARCHAR2,
2463 x_msg_count OUT NOCOPY NUMBER,
2464 x_msg_data OUT NOCOPY VARCHAR2,
2465 p_rfcv_rec IN rfcv_rec_type) IS
2466
2467 l_api_version CONSTANT NUMBER := 1;
2468 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2469 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2470 l_rfc_rec rfc_rec_type;
2471 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
2472 BEGIN
2473 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2474 G_PKG_NAME,
2475 p_init_msg_list,
2476 l_api_version,
2477 p_api_version,
2478 '_PVT',
2479 x_return_status);
2480 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2481 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2482 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2483 RAISE OKC_API.G_EXCEPTION_ERROR;
2484 END IF;
2485 --------------------------------------
2486 -- Move VIEW record to "Child" records
2487 --------------------------------------
2488 migrate(p_rfcv_rec, l_rfc_rec);
2489 migrate(p_rfcv_rec, l_okl_remarktng_costs_tl_rec);
2490 --------------------------------------------
2491 -- Call the LOCK_ROW for each child record
2492 --------------------------------------------
2493 lock_row(
2494 p_init_msg_list,
2495 x_return_status,
2496 x_msg_count,
2497 x_msg_data,
2498 l_rfc_rec
2499 );
2500 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2501 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2502 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2503 RAISE OKC_API.G_EXCEPTION_ERROR;
2504 END IF;
2505 lock_row(
2506 p_init_msg_list,
2507 x_return_status,
2508 x_msg_count,
2509 x_msg_data,
2510 l_okl_remarktng_costs_tl_rec
2511 );
2512 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2513 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2514 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2515 RAISE OKC_API.G_EXCEPTION_ERROR;
2516 END IF;
2517 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2518 EXCEPTION
2519 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2520 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2521 (
2522 l_api_name,
2523 G_PKG_NAME,
2524 'OKC_API.G_RET_STS_ERROR',
2525 x_msg_count,
2526 x_msg_data,
2527 '_PVT'
2528 );
2529 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2530 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2531 (
2532 l_api_name,
2533 G_PKG_NAME,
2534 'OKC_API.G_RET_STS_UNEXP_ERROR',
2535 x_msg_count,
2536 x_msg_data,
2537 '_PVT'
2538 );
2539 WHEN OTHERS THEN
2540 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2541 (
2542 l_api_name,
2543 G_PKG_NAME,
2544 'OTHERS',
2545 x_msg_count,
2546 x_msg_data,
2547 '_PVT'
2548 );
2549 END lock_row;
2550 --------------------------------------
2551 -- PL/SQL TBL lock_row for:RFCV_TBL --
2552 --------------------------------------
2553 PROCEDURE lock_row(
2554 p_api_version IN NUMBER,
2555 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2556 x_return_status OUT NOCOPY VARCHAR2,
2557 x_msg_count OUT NOCOPY NUMBER,
2558 x_msg_data OUT NOCOPY VARCHAR2,
2559 p_rfcv_tbl IN rfcv_tbl_type) IS
2560
2561 l_api_version CONSTANT NUMBER := 1;
2562 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2563 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2564 i NUMBER := 0;
2565 -- Begin Post-Generation Change
2566 -- overall error status
2567 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2568 -- End Post-Generation Change
2569 BEGIN
2570 OKC_API.init_msg_list(p_init_msg_list);
2571 -- Make sure PL/SQL table has records in it before passing
2572 IF (p_rfcv_tbl.COUNT > 0) THEN
2573 i := p_rfcv_tbl.FIRST;
2574 LOOP
2575 lock_row (
2576 p_api_version => p_api_version,
2577 p_init_msg_list => OKC_API.G_FALSE,
2578 x_return_status => x_return_status,
2579 x_msg_count => x_msg_count,
2580 x_msg_data => x_msg_data,
2581 p_rfcv_rec => p_rfcv_tbl(i));
2582 -- Begin Post-Generation Change
2583 -- store the highest degree of error
2584 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
2585 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
2586 l_overall_status := x_return_status;
2587 END IF;
2588 END IF;
2589 -- End Post-Generation Change
2590 EXIT WHEN (i = p_rfcv_tbl.LAST);
2591 i := p_rfcv_tbl.NEXT(i);
2592 END LOOP;
2593 -- Begin Post-Generation Change
2594 -- return overall status
2595 x_return_status := l_overall_status;
2596 -- End Post-Generation Change
2597 END IF;
2598 EXCEPTION
2599 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2600 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2601 (
2602 l_api_name,
2603 G_PKG_NAME,
2604 'OKC_API.G_RET_STS_ERROR',
2605 x_msg_count,
2606 x_msg_data,
2607 '_PVT'
2608 );
2609 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2610 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2611 (
2612 l_api_name,
2613 G_PKG_NAME,
2614 'OKC_API.G_RET_STS_UNEXP_ERROR',
2615 x_msg_count,
2616 x_msg_data,
2617 '_PVT'
2618 );
2619 WHEN OTHERS THEN
2620 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2621 (
2622 l_api_name,
2623 G_PKG_NAME,
2624 'OTHERS',
2625 x_msg_count,
2626 x_msg_data,
2627 '_PVT'
2628 );
2629 END lock_row;
2630
2631 ---------------------------------------------------------------------------
2632 -- PROCEDURE update_row
2633 ---------------------------------------------------------------------------
2634 ------------------------------------------
2635 -- update_row for:OKL_REMARKTNG_COSTS_B --
2636 ------------------------------------------
2637 -- Start of comments
2638 --
2639 -- Procedure Name : update_row
2640 -- Description : for OKL_REMARKTNG_COSTS_B
2641 -- Business Rules :
2642 -- Parameters :
2643 -- Version : 1.0
2644 -- History : RABHUPAT 17-DEC-2002 2667636
2645 -- : modified for multicurrency changes
2646 -- End of comments
2647 PROCEDURE update_row(
2648 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2649 x_return_status OUT NOCOPY VARCHAR2,
2650 x_msg_count OUT NOCOPY NUMBER,
2651 x_msg_data OUT NOCOPY VARCHAR2,
2652 p_rfc_rec IN rfc_rec_type,
2653 x_rfc_rec OUT NOCOPY rfc_rec_type) IS
2654
2655 l_api_version CONSTANT NUMBER := 1;
2656 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
2657 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2658 l_rfc_rec rfc_rec_type := p_rfc_rec;
2659 l_def_rfc_rec rfc_rec_type;
2660 l_row_notfound BOOLEAN := TRUE;
2661 ----------------------------------
2662 -- FUNCTION populate_new_record --
2663 ----------------------------------
2664 FUNCTION populate_new_record (
2665 p_rfc_rec IN rfc_rec_type,
2666 x_rfc_rec OUT NOCOPY rfc_rec_type
2667 ) RETURN VARCHAR2 IS
2668 l_rfc_rec rfc_rec_type;
2669 l_row_notfound BOOLEAN := TRUE;
2670 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2671 BEGIN
2672 x_rfc_rec := p_rfc_rec;
2673 -- Get current database values
2674 l_rfc_rec := get_rec(p_rfc_rec, l_row_notfound);
2675 IF (l_row_notfound) THEN
2676 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2677 END IF;
2678 IF (x_rfc_rec.id = OKC_API.G_MISS_NUM)
2679 THEN
2680 x_rfc_rec.id := l_rfc_rec.id;
2681 END IF;
2682 IF (x_rfc_rec.cos_code = OKC_API.G_MISS_CHAR)
2683 THEN
2684 x_rfc_rec.cos_code := l_rfc_rec.cos_code;
2685 END IF;
2686 IF (x_rfc_rec.art_id = OKC_API.G_MISS_NUM)
2687 THEN
2688 x_rfc_rec.art_id := l_rfc_rec.art_id;
2689 END IF;
2690 IF (x_rfc_rec.object_version_number = OKC_API.G_MISS_NUM)
2691 THEN
2692 x_rfc_rec.object_version_number := l_rfc_rec.object_version_number;
2693 END IF;
2694 IF (x_rfc_rec.amount = OKC_API.G_MISS_NUM)
2695 THEN
2696 x_rfc_rec.amount := l_rfc_rec.amount;
2697 END IF;
2698 IF (x_rfc_rec.org_id = OKC_API.G_MISS_NUM)
2699 THEN
2700 x_rfc_rec.org_id := l_rfc_rec.org_id;
2701 END IF;
2702 IF (x_rfc_rec.request_id = OKC_API.G_MISS_NUM)
2703 THEN
2704 x_rfc_rec.request_id := l_rfc_rec.request_id;
2705 END IF;
2706 IF (x_rfc_rec.program_application_id = OKC_API.G_MISS_NUM)
2707 THEN
2708 x_rfc_rec.program_application_id := l_rfc_rec.program_application_id;
2709 END IF;
2710 IF (x_rfc_rec.program_id = OKC_API.G_MISS_NUM)
2711 THEN
2712 x_rfc_rec.program_id := l_rfc_rec.program_id;
2713 END IF;
2714 IF (x_rfc_rec.program_update_date = OKC_API.G_MISS_DATE)
2715 THEN
2716 x_rfc_rec.program_update_date := l_rfc_rec.program_update_date;
2717 END IF;
2718 IF (x_rfc_rec.attribute_category = OKC_API.G_MISS_CHAR)
2719 THEN
2720 x_rfc_rec.attribute_category := l_rfc_rec.attribute_category;
2721 END IF;
2722 IF (x_rfc_rec.attribute1 = OKC_API.G_MISS_CHAR)
2723 THEN
2724 x_rfc_rec.attribute1 := l_rfc_rec.attribute1;
2725 END IF;
2726 IF (x_rfc_rec.attribute2 = OKC_API.G_MISS_CHAR)
2727 THEN
2728 x_rfc_rec.attribute2 := l_rfc_rec.attribute2;
2729 END IF;
2730 IF (x_rfc_rec.attribute3 = OKC_API.G_MISS_CHAR)
2731 THEN
2732 x_rfc_rec.attribute3 := l_rfc_rec.attribute3;
2733 END IF;
2734 IF (x_rfc_rec.attribute4 = OKC_API.G_MISS_CHAR)
2735 THEN
2736 x_rfc_rec.attribute4 := l_rfc_rec.attribute4;
2737 END IF;
2738 IF (x_rfc_rec.attribute5 = OKC_API.G_MISS_CHAR)
2739 THEN
2740 x_rfc_rec.attribute5 := l_rfc_rec.attribute5;
2741 END IF;
2742 IF (x_rfc_rec.attribute6 = OKC_API.G_MISS_CHAR)
2743 THEN
2744 x_rfc_rec.attribute6 := l_rfc_rec.attribute6;
2745 END IF;
2746 IF (x_rfc_rec.attribute7 = OKC_API.G_MISS_CHAR)
2747 THEN
2748 x_rfc_rec.attribute7 := l_rfc_rec.attribute7;
2749 END IF;
2750 IF (x_rfc_rec.attribute8 = OKC_API.G_MISS_CHAR)
2751 THEN
2752 x_rfc_rec.attribute8 := l_rfc_rec.attribute8;
2753 END IF;
2754 IF (x_rfc_rec.attribute9 = OKC_API.G_MISS_CHAR)
2755 THEN
2756 x_rfc_rec.attribute9 := l_rfc_rec.attribute9;
2757 END IF;
2758 IF (x_rfc_rec.attribute10 = OKC_API.G_MISS_CHAR)
2759 THEN
2760 x_rfc_rec.attribute10 := l_rfc_rec.attribute10;
2761 END IF;
2762 IF (x_rfc_rec.attribute11 = OKC_API.G_MISS_CHAR)
2763 THEN
2764 x_rfc_rec.attribute11 := l_rfc_rec.attribute11;
2765 END IF;
2766 IF (x_rfc_rec.attribute12 = OKC_API.G_MISS_CHAR)
2767 THEN
2768 x_rfc_rec.attribute12 := l_rfc_rec.attribute12;
2769 END IF;
2770 IF (x_rfc_rec.attribute13 = OKC_API.G_MISS_CHAR)
2771 THEN
2772 x_rfc_rec.attribute13 := l_rfc_rec.attribute13;
2773 END IF;
2774 IF (x_rfc_rec.attribute14 = OKC_API.G_MISS_CHAR)
2775 THEN
2776 x_rfc_rec.attribute14 := l_rfc_rec.attribute14;
2777 END IF;
2778 IF (x_rfc_rec.attribute15 = OKC_API.G_MISS_CHAR)
2779 THEN
2780 x_rfc_rec.attribute15 := l_rfc_rec.attribute15;
2781 END IF;
2782 IF (x_rfc_rec.created_by = OKC_API.G_MISS_NUM)
2783 THEN
2784 x_rfc_rec.created_by := l_rfc_rec.created_by;
2785 END IF;
2786 IF (x_rfc_rec.creation_date = OKC_API.G_MISS_DATE)
2787 THEN
2788 x_rfc_rec.creation_date := l_rfc_rec.creation_date;
2789 END IF;
2790 IF (x_rfc_rec.last_updated_by = OKC_API.G_MISS_NUM)
2791 THEN
2792 x_rfc_rec.last_updated_by := l_rfc_rec.last_updated_by;
2793 END IF;
2794 IF (x_rfc_rec.last_update_date = OKC_API.G_MISS_DATE)
2795 THEN
2796 x_rfc_rec.last_update_date := l_rfc_rec.last_update_date;
2797 END IF;
2798 IF (x_rfc_rec.last_update_login = OKC_API.G_MISS_NUM)
2799 THEN
2800 x_rfc_rec.last_update_login := l_rfc_rec.last_update_login;
2801 END IF;
2802 -- RABHUPAT - 2667636 - Start
2803 IF (x_rfc_rec.currency_code = OKC_API.G_MISS_CHAR)
2804 THEN
2805 x_rfc_rec.currency_code := l_rfc_rec.currency_code;
2806 END IF;
2807 IF (x_rfc_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
2808 THEN
2809 x_rfc_rec.currency_conversion_code := l_rfc_rec.currency_conversion_code;
2810 END IF;
2811 IF (x_rfc_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
2812 THEN
2813 x_rfc_rec.currency_conversion_type := l_rfc_rec.currency_conversion_type;
2814 END IF;
2815 IF (x_rfc_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
2816 THEN
2817 x_rfc_rec.currency_conversion_rate := l_rfc_rec.currency_conversion_rate;
2818 END IF;
2819 IF (x_rfc_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
2820 THEN
2821 x_rfc_rec.currency_conversion_date := l_rfc_rec.currency_conversion_date;
2822 END IF;
2823 -- RABHUPAT - 2667636 - End
2824 RETURN(l_return_status);
2825 END populate_new_record;
2826 ----------------------------------------------
2827 -- Set_Attributes for:OKL_REMARKTNG_COSTS_B --
2828 ----------------------------------------------
2829 FUNCTION Set_Attributes (
2830 p_rfc_rec IN rfc_rec_type,
2831 x_rfc_rec OUT NOCOPY rfc_rec_type
2832 ) RETURN VARCHAR2 IS
2833 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2834 BEGIN
2835 x_rfc_rec := p_rfc_rec;
2836 RETURN(l_return_status);
2837 END Set_Attributes;
2838 BEGIN
2839 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2840 p_init_msg_list,
2841 '_PVT',
2842 x_return_status);
2843 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2844 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2845 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2846 RAISE OKC_API.G_EXCEPTION_ERROR;
2847 END IF;
2848 --- Setting item attributes
2849 l_return_status := Set_Attributes(
2850 p_rfc_rec, -- IN
2851 l_rfc_rec); -- OUT
2852 --- If any errors happen abort API
2853 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2854 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2855 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2856 RAISE OKC_API.G_EXCEPTION_ERROR;
2857 END IF;
2858 l_return_status := populate_new_record(l_rfc_rec, l_def_rfc_rec);
2859 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2860 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2861 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2862 RAISE OKC_API.G_EXCEPTION_ERROR;
2863 END IF;
2864
2865
2866 --suresh gorantla Bug #3477112
2867 IF TRUNC(p_rfc_rec.amount) = 0 THEN
2868 OKc_API.set_message(p_app_name => 'OKL',
2869 p_msg_name => 'OKL_CHK_ASSET_RETURN_FEE');
2870 RAISE OKC_API.G_EXCEPTION_ERROR;
2871 END IF;
2872
2873 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2874 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2875 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2876 RAISE OKC_API.G_EXCEPTION_ERROR;
2877 END IF;
2878
2879 UPDATE OKL_REMARKTNG_COSTS_B
2880 SET COS_CODE = l_def_rfc_rec.cos_code,
2881 ART_ID = l_def_rfc_rec.art_id,
2882 OBJECT_VERSION_NUMBER = l_def_rfc_rec.object_version_number,
2883 AMOUNT = l_def_rfc_rec.amount,
2884 ORG_ID = l_def_rfc_rec.org_id,
2885 /*REQUEST_ID = l_def_rfc_rec.request_id,
2886 PROGRAM_APPLICATION_ID = l_def_rfc_rec.program_application_id,
2887 PROGRAM_ID = l_def_rfc_rec.program_id,
2888 PROGRAM_UPDATE_DATE = l_def_rfc_rec.program_update_date, */
2889 REQUEST_ID = NVL(decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,FND_GLOBAL.CONC_REQUEST_ID),l_def_rfc_rec.request_id),
2890 PROGRAM_APPLICATION_ID = NVL(decode(FND_GLOBAL.PROG_APPL_ID,-1,NULL,FND_GLOBAL.PROG_APPL_ID),l_def_rfc_rec.program_application_id),
2891 PROGRAM_ID = NVL(decode(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,FND_GLOBAL.CONC_PROGRAM_ID),l_def_rfc_rec.program_id),
2892 PROGRAM_UPDATE_DATE = decode(decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,SYSDATE),NULL,l_def_rfc_rec.program_update_date,SYSDATE),
2893 ATTRIBUTE_CATEGORY = l_def_rfc_rec.attribute_category,
2894 ATTRIBUTE1 = l_def_rfc_rec.attribute1,
2895 ATTRIBUTE2 = l_def_rfc_rec.attribute2,
2896 ATTRIBUTE3 = l_def_rfc_rec.attribute3,
2897 ATTRIBUTE4 = l_def_rfc_rec.attribute4,
2898 ATTRIBUTE5 = l_def_rfc_rec.attribute5,
2899 ATTRIBUTE6 = l_def_rfc_rec.attribute6,
2900 ATTRIBUTE7 = l_def_rfc_rec.attribute7,
2901 ATTRIBUTE8 = l_def_rfc_rec.attribute8,
2902 ATTRIBUTE9 = l_def_rfc_rec.attribute9,
2903 ATTRIBUTE10 = l_def_rfc_rec.attribute10,
2904 ATTRIBUTE11 = l_def_rfc_rec.attribute11,
2905 ATTRIBUTE12 = l_def_rfc_rec.attribute12,
2906 ATTRIBUTE13 = l_def_rfc_rec.attribute13,
2907 ATTRIBUTE14 = l_def_rfc_rec.attribute14,
2908 ATTRIBUTE15 = l_def_rfc_rec.attribute15,
2909 CREATED_BY = l_def_rfc_rec.created_by,
2910 CREATION_DATE = l_def_rfc_rec.creation_date,
2911 LAST_UPDATED_BY = l_def_rfc_rec.last_updated_by,
2912 LAST_UPDATE_DATE = l_def_rfc_rec.last_update_date,
2913 LAST_UPDATE_LOGIN = l_def_rfc_rec.last_update_login,
2914 -- RABHUPAT - 2667636 - Start
2915 CURRENCY_CODE = l_def_rfc_rec.currency_code,
2916 CURRENCY_CONVERSION_CODE = l_def_rfc_rec.currency_conversion_code,
2917 CURRENCY_CONVERSION_TYPE = l_def_rfc_rec.currency_conversion_type,
2918 CURRENCY_CONVERSION_RATE = l_def_rfc_rec.currency_conversion_rate,
2919 CURRENCY_CONVERSION_DATE = l_def_rfc_rec.currency_conversion_date
2920 -- RABHUPAT - 2667636 - End
2921 WHERE ID = l_def_rfc_rec.id;
2922
2923 x_rfc_rec := l_def_rfc_rec;
2924 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2925 EXCEPTION
2926 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2927 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2928 (
2929 l_api_name,
2930 G_PKG_NAME,
2931 'OKC_API.G_RET_STS_ERROR',
2932 x_msg_count,
2933 x_msg_data,
2934 '_PVT'
2935 );
2936 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
2942 x_msg_count,
2943 x_msg_data,
2944 '_PVT'
2945 );
2946 WHEN OTHERS THEN
2947 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2948 (
2949 l_api_name,
2950 G_PKG_NAME,
2951 'OTHERS',
2952 x_msg_count,
2953 x_msg_data,
2954 '_PVT'
2955 );
2956 END update_row;
2957 -------------------------------------------
2958 -- update_row for:OKL_REMARKTNG_COSTS_TL --
2959 -------------------------------------------
2960 PROCEDURE update_row(
2961 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2962 x_return_status OUT NOCOPY VARCHAR2,
2963 x_msg_count OUT NOCOPY NUMBER,
2964 x_msg_data OUT NOCOPY VARCHAR2,
2965 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType,
2966 x_okl_remarktng_costs_tl_rec OUT NOCOPY OklRemarktngCostsTlRecType) IS
2967
2968 l_api_version CONSTANT NUMBER := 1;
2969 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
2970 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2971 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType := p_okl_remarktng_costs_tl_rec;
2972 ldefoklremarktngcoststlrec OklRemarktngCostsTlRecType;
2973 l_row_notfound BOOLEAN := TRUE;
2974 ----------------------------------
2975 -- FUNCTION populate_new_record --
2976 ----------------------------------
2977 FUNCTION populate_new_record (
2978 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType,
2979 x_okl_remarktng_costs_tl_rec OUT NOCOPY OklRemarktngCostsTlRecType
2980 ) RETURN VARCHAR2 IS
2981 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
2982 l_row_notfound BOOLEAN := TRUE;
2983 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2984 BEGIN
2985 x_okl_remarktng_costs_tl_rec := p_okl_remarktng_costs_tl_rec;
2986 -- Get current database values
2987 l_okl_remarktng_costs_tl_rec := get_rec(p_okl_remarktng_costs_tl_rec, l_row_notfound);
2988 IF (l_row_notfound) THEN
2989 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2990 END IF;
2991 IF (x_okl_remarktng_costs_tl_rec.id = OKC_API.G_MISS_NUM)
2992 THEN
2993 x_okl_remarktng_costs_tl_rec.id := l_okl_remarktng_costs_tl_rec.id;
2994 END IF;
2995 IF (x_okl_remarktng_costs_tl_rec.language = OKC_API.G_MISS_CHAR)
2996 THEN
2997 x_okl_remarktng_costs_tl_rec.language := l_okl_remarktng_costs_tl_rec.language;
2998 END IF;
2999 IF (x_okl_remarktng_costs_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
3000 THEN
3001 x_okl_remarktng_costs_tl_rec.source_lang := l_okl_remarktng_costs_tl_rec.source_lang;
3002 END IF;
3003 IF (x_okl_remarktng_costs_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
3004 THEN
3005 x_okl_remarktng_costs_tl_rec.sfwt_flag := l_okl_remarktng_costs_tl_rec.sfwt_flag;
3006 END IF;
3007 IF (x_okl_remarktng_costs_tl_rec.comments = OKC_API.G_MISS_CHAR)
3008 THEN
3009 x_okl_remarktng_costs_tl_rec.comments := l_okl_remarktng_costs_tl_rec.comments;
3010 END IF;
3011 IF (x_okl_remarktng_costs_tl_rec.created_by = OKC_API.G_MISS_NUM)
3012 THEN
3013 x_okl_remarktng_costs_tl_rec.created_by := l_okl_remarktng_costs_tl_rec.created_by;
3014 END IF;
3015 IF (x_okl_remarktng_costs_tl_rec.creation_date = OKC_API.G_MISS_DATE)
3016 THEN
3017 x_okl_remarktng_costs_tl_rec.creation_date := l_okl_remarktng_costs_tl_rec.creation_date;
3018 END IF;
3019 IF (x_okl_remarktng_costs_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
3020 THEN
3021 x_okl_remarktng_costs_tl_rec.last_updated_by := l_okl_remarktng_costs_tl_rec.last_updated_by;
3022 END IF;
3023 IF (x_okl_remarktng_costs_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
3024 THEN
3025 x_okl_remarktng_costs_tl_rec.last_update_date := l_okl_remarktng_costs_tl_rec.last_update_date;
3026 END IF;
3027 IF (x_okl_remarktng_costs_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
3028 THEN
3029 x_okl_remarktng_costs_tl_rec.last_update_login := l_okl_remarktng_costs_tl_rec.last_update_login;
3030 END IF;
3031 RETURN(l_return_status);
3032 END populate_new_record;
3033 -----------------------------------------------
3034 -- Set_Attributes for:OKL_REMARKTNG_COSTS_TL --
3035 -----------------------------------------------
3036 FUNCTION Set_Attributes (
3037 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType,
3038 x_okl_remarktng_costs_tl_rec OUT NOCOPY OklRemarktngCostsTlRecType
3039 ) RETURN VARCHAR2 IS
3040 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3041 BEGIN
3042 x_okl_remarktng_costs_tl_rec := p_okl_remarktng_costs_tl_rec;
3043 x_okl_remarktng_costs_tl_rec.LANGUAGE := USERENV('LANG');
3044 x_okl_remarktng_costs_tl_rec.SOURCE_LANG := USERENV('LANG');
3045 RETURN(l_return_status);
3046 END Set_Attributes;
3047 BEGIN
3048 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3049 p_init_msg_list,
3050 '_PVT',
3051 x_return_status);
3052 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3053 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3054 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3055 RAISE OKC_API.G_EXCEPTION_ERROR;
3056 END IF;
3057 --- Setting item attributes
3058 l_return_status := Set_Attributes(
3059 p_okl_remarktng_costs_tl_rec, -- IN
3060 l_okl_remarktng_costs_tl_rec); -- OUT
3061 --- If any errors happen abort API
3062 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3063 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3064 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3065 RAISE OKC_API.G_EXCEPTION_ERROR;
3066 END IF;
3067 l_return_status := populate_new_record(l_okl_remarktng_costs_tl_rec, ldefoklremarktngcoststlrec);
3068 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3069 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3070 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3071 RAISE OKC_API.G_EXCEPTION_ERROR;
3072 END IF;
3073 UPDATE OKL_REMARKTNG_COSTS_TL
3074 SET COMMENTS = ldefoklremarktngcoststlrec.comments,
3075 SOURCE_LANG = ldefoklremarktngcoststlrec.source_lang, --Fix fro bug 3637102
3076 CREATED_BY = ldefoklremarktngcoststlrec.created_by,
3077 CREATION_DATE = ldefoklremarktngcoststlrec.creation_date,
3078 LAST_UPDATED_BY = ldefoklremarktngcoststlrec.last_updated_by,
3079 LAST_UPDATE_DATE = ldefoklremarktngcoststlrec.last_update_date,
3080 LAST_UPDATE_LOGIN = ldefoklremarktngcoststlrec.last_update_login
3081 WHERE ID = ldefoklremarktngcoststlrec.id
3082 AND USERENV('LANG') in (SOURCE_LANG,LANGUAGE);--Fix for bug 3637102
3083 --AND SOURCE_LANG = USERENV('LANG');
3084
3085 UPDATE OKL_REMARKTNG_COSTS_TL
3086 SET SFWT_FLAG = 'Y'
3087 WHERE ID = ldefoklremarktngcoststlrec.id
3088 AND SOURCE_LANG <> USERENV('LANG');
3089
3090 x_okl_remarktng_costs_tl_rec := ldefoklremarktngcoststlrec;
3091 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3092 EXCEPTION
3093 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3094 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3095 (
3096 l_api_name,
3097 G_PKG_NAME,
3098 'OKC_API.G_RET_STS_ERROR',
3099 x_msg_count,
3100 x_msg_data,
3101 '_PVT'
3102 );
3103 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3104 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3105 (
3106 l_api_name,
3107 G_PKG_NAME,
3108 'OKC_API.G_RET_STS_UNEXP_ERROR',
3109 x_msg_count,
3110 x_msg_data,
3111 '_PVT'
3112 );
3113 WHEN OTHERS THEN
3114 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3115 (
3116 l_api_name,
3117 G_PKG_NAME,
3118 'OTHERS',
3119 x_msg_count,
3120 x_msg_data,
3121 '_PVT'
3122 );
3123 END update_row;
3124 ------------------------------------------
3125 -- update_row for:OKL_REMARKTNG_COSTS_V --
3126 ------------------------------------------
3127 -- Start of comments
3128 --
3129 -- Procedure Name : update_row
3130 -- Description : for OKL_REMARKTNG_COSTS_V
3131 -- Business Rules :
3132 -- Parameters :
3133 -- Version : 1.0
3134 -- History : RABHUPAT 17-DEC-2002 2667636
3135 -- : modified for multicurrency changes
3136 -- End of comments
3137 PROCEDURE update_row(
3138 p_api_version IN NUMBER,
3139 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3140 x_return_status OUT NOCOPY VARCHAR2,
3141 x_msg_count OUT NOCOPY NUMBER,
3142 x_msg_data OUT NOCOPY VARCHAR2,
3143 p_rfcv_rec IN rfcv_rec_type,
3144 x_rfcv_rec OUT NOCOPY rfcv_rec_type) IS
3145
3146 l_api_version CONSTANT NUMBER := 1;
3147 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3148 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3149 l_rfcv_rec rfcv_rec_type := p_rfcv_rec;
3150 l_def_rfcv_rec rfcv_rec_type;
3151 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
3152 lx_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
3153 l_rfc_rec rfc_rec_type;
3154 lx_rfc_rec rfc_rec_type;
3155 -------------------------------
3156 -- FUNCTION fill_who_columns --
3157 -------------------------------
3158 FUNCTION fill_who_columns (
3159 p_rfcv_rec IN rfcv_rec_type
3160 ) RETURN rfcv_rec_type IS
3161 l_rfcv_rec rfcv_rec_type := p_rfcv_rec;
3162 BEGIN
3163 l_rfcv_rec.LAST_UPDATE_DATE := SYSDATE;
3164 l_rfcv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3165 l_rfcv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3166 RETURN(l_rfcv_rec);
3167 END fill_who_columns;
3168 ----------------------------------
3169 -- FUNCTION populate_new_record --
3170 ----------------------------------
3171 FUNCTION populate_new_record (
3172 p_rfcv_rec IN rfcv_rec_type,
3173 x_rfcv_rec OUT NOCOPY rfcv_rec_type
3174 ) RETURN VARCHAR2 IS
3175 l_rfcv_rec rfcv_rec_type;
3176 l_row_notfound BOOLEAN := TRUE;
3177 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3178 BEGIN
3179 x_rfcv_rec := p_rfcv_rec;
3180 -- Get current database values
3181 l_rfcv_rec := get_rec(p_rfcv_rec, l_row_notfound);
3182 IF (l_row_notfound) THEN
3183 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3184 END IF;
3185 IF (x_rfcv_rec.id = OKC_API.G_MISS_NUM)
3186 THEN
3187 x_rfcv_rec.id := l_rfcv_rec.id;
3188 END IF;
3189 IF (x_rfcv_rec.object_version_number = OKC_API.G_MISS_NUM)
3190 THEN
3191 x_rfcv_rec.object_version_number := l_rfcv_rec.object_version_number;
3192 END IF;
3193 IF (x_rfcv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
3194 THEN
3195 x_rfcv_rec.sfwt_flag := l_rfcv_rec.sfwt_flag;
3196 END IF;
3197 IF (x_rfcv_rec.art_id = OKC_API.G_MISS_NUM)
3198 THEN
3199 x_rfcv_rec.art_id := l_rfcv_rec.art_id;
3200 END IF;
3201 IF (x_rfcv_rec.cos_code = OKC_API.G_MISS_CHAR)
3202 THEN
3203 x_rfcv_rec.cos_code := l_rfcv_rec.cos_code;
3204 END IF;
3205 IF (x_rfcv_rec.amount = OKC_API.G_MISS_NUM)
3206 THEN
3207 x_rfcv_rec.amount := l_rfcv_rec.amount;
3208 END IF;
3209 IF (x_rfcv_rec.comments = OKC_API.G_MISS_CHAR)
3210 THEN
3211 x_rfcv_rec.comments := l_rfcv_rec.comments;
3212 END IF;
3213 IF (x_rfcv_rec.attribute_category = OKC_API.G_MISS_CHAR)
3214 THEN
3215 x_rfcv_rec.attribute_category := l_rfcv_rec.attribute_category;
3216 END IF;
3217 IF (x_rfcv_rec.attribute1 = OKC_API.G_MISS_CHAR)
3218 THEN
3219 x_rfcv_rec.attribute1 := l_rfcv_rec.attribute1;
3220 END IF;
3221 IF (x_rfcv_rec.attribute2 = OKC_API.G_MISS_CHAR)
3222 THEN
3223 x_rfcv_rec.attribute2 := l_rfcv_rec.attribute2;
3224 END IF;
3225 IF (x_rfcv_rec.attribute3 = OKC_API.G_MISS_CHAR)
3226 THEN
3227 x_rfcv_rec.attribute3 := l_rfcv_rec.attribute3;
3228 END IF;
3229 IF (x_rfcv_rec.attribute4 = OKC_API.G_MISS_CHAR)
3230 THEN
3231 x_rfcv_rec.attribute4 := l_rfcv_rec.attribute4;
3232 END IF;
3233 IF (x_rfcv_rec.attribute5 = OKC_API.G_MISS_CHAR)
3234 THEN
3235 x_rfcv_rec.attribute5 := l_rfcv_rec.attribute5;
3236 END IF;
3237 IF (x_rfcv_rec.attribute6 = OKC_API.G_MISS_CHAR)
3238 THEN
3239 x_rfcv_rec.attribute6 := l_rfcv_rec.attribute6;
3240 END IF;
3241 IF (x_rfcv_rec.attribute7 = OKC_API.G_MISS_CHAR)
3242 THEN
3243 x_rfcv_rec.attribute7 := l_rfcv_rec.attribute7;
3244 END IF;
3245 IF (x_rfcv_rec.attribute8 = OKC_API.G_MISS_CHAR)
3246 THEN
3247 x_rfcv_rec.attribute8 := l_rfcv_rec.attribute8;
3248 END IF;
3249 IF (x_rfcv_rec.attribute9 = OKC_API.G_MISS_CHAR)
3250 THEN
3251 x_rfcv_rec.attribute9 := l_rfcv_rec.attribute9;
3252 END IF;
3253 IF (x_rfcv_rec.attribute10 = OKC_API.G_MISS_CHAR)
3254 THEN
3255 x_rfcv_rec.attribute10 := l_rfcv_rec.attribute10;
3256 END IF;
3257 IF (x_rfcv_rec.attribute11 = OKC_API.G_MISS_CHAR)
3258 THEN
3259 x_rfcv_rec.attribute11 := l_rfcv_rec.attribute11;
3260 END IF;
3261 IF (x_rfcv_rec.attribute12 = OKC_API.G_MISS_CHAR)
3262 THEN
3263 x_rfcv_rec.attribute12 := l_rfcv_rec.attribute12;
3264 END IF;
3265 IF (x_rfcv_rec.attribute13 = OKC_API.G_MISS_CHAR)
3266 THEN
3267 x_rfcv_rec.attribute13 := l_rfcv_rec.attribute13;
3268 END IF;
3269 IF (x_rfcv_rec.attribute14 = OKC_API.G_MISS_CHAR)
3270 THEN
3271 x_rfcv_rec.attribute14 := l_rfcv_rec.attribute14;
3272 END IF;
3273 IF (x_rfcv_rec.attribute15 = OKC_API.G_MISS_CHAR)
3274 THEN
3275 x_rfcv_rec.attribute15 := l_rfcv_rec.attribute15;
3276 END IF;
3277 IF (x_rfcv_rec.org_id = OKC_API.G_MISS_NUM)
3278 THEN
3279 x_rfcv_rec.org_id := l_rfcv_rec.org_id;
3280 END IF;
3281 IF (x_rfcv_rec.request_id = OKC_API.G_MISS_NUM)
3282 THEN
3283 x_rfcv_rec.request_id := l_rfcv_rec.request_id;
3284 END IF;
3285 IF (x_rfcv_rec.program_application_id = OKC_API.G_MISS_NUM)
3286 THEN
3287 x_rfcv_rec.program_application_id := l_rfcv_rec.program_application_id;
3288 END IF;
3289 IF (x_rfcv_rec.program_id = OKC_API.G_MISS_NUM)
3290 THEN
3291 x_rfcv_rec.program_id := l_rfcv_rec.program_id;
3292 END IF;
3293 IF (x_rfcv_rec.program_update_date = OKC_API.G_MISS_DATE)
3294 THEN
3295 x_rfcv_rec.program_update_date := l_rfcv_rec.program_update_date;
3296 END IF;
3297 IF (x_rfcv_rec.created_by = OKC_API.G_MISS_NUM)
3298 THEN
3299 x_rfcv_rec.created_by := l_rfcv_rec.created_by;
3300 END IF;
3301 IF (x_rfcv_rec.creation_date = OKC_API.G_MISS_DATE)
3302 THEN
3303 x_rfcv_rec.creation_date := l_rfcv_rec.creation_date;
3304 END IF;
3305 IF (x_rfcv_rec.last_updated_by = OKC_API.G_MISS_NUM)
3306 THEN
3307 x_rfcv_rec.last_updated_by := l_rfcv_rec.last_updated_by;
3308 END IF;
3309 IF (x_rfcv_rec.last_update_date = OKC_API.G_MISS_DATE)
3310 THEN
3311 x_rfcv_rec.last_update_date := l_rfcv_rec.last_update_date;
3312 END IF;
3313 IF (x_rfcv_rec.last_update_login = OKC_API.G_MISS_NUM)
3314 THEN
3315 x_rfcv_rec.last_update_login := l_rfcv_rec.last_update_login;
3316 END IF;
3317 -- RABHUPAT - 2667636 - Start
3318 IF (x_rfcv_rec.currency_code = OKC_API.G_MISS_CHAR)
3319 THEN
3320 x_rfcv_rec.currency_code := l_rfcv_rec.currency_code;
3321 END IF;
3322 IF (x_rfcv_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
3323 THEN
3324 x_rfcv_rec.currency_conversion_code := l_rfcv_rec.currency_conversion_code;
3325 END IF;
3326 IF (x_rfcv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
3327 THEN
3328 x_rfcv_rec.currency_conversion_type := l_rfcv_rec.currency_conversion_type;
3329 END IF;
3330 IF (x_rfcv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
3331 THEN
3332 x_rfcv_rec.currency_conversion_rate := l_rfcv_rec.currency_conversion_rate;
3333 END IF;
3334 IF (x_rfcv_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
3335 THEN
3336 x_rfcv_rec.currency_conversion_date := l_rfcv_rec.currency_conversion_date;
3337 END IF;
3338 -- RABHUPAT - 2667636 - End
3339 RETURN(l_return_status);
3340 END populate_new_record;
3341 ----------------------------------------------
3342 -- Set_Attributes for:OKL_REMARKTNG_COSTS_V --
3343 ----------------------------------------------
3344 FUNCTION Set_Attributes (
3345 p_rfcv_rec IN rfcv_rec_type,
3346 x_rfcv_rec OUT NOCOPY rfcv_rec_type
3347 ) RETURN VARCHAR2 IS
3348 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3349 BEGIN
3350 x_rfcv_rec := p_rfcv_rec;
3351 x_rfcv_rec.OBJECT_VERSION_NUMBER := NVL(x_rfcv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
3352 RETURN(l_return_status);
3353 END Set_Attributes;
3354 BEGIN
3355 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3356 G_PKG_NAME,
3357 p_init_msg_list,
3358 l_api_version,
3359 p_api_version,
3360 '_PVT',
3361 x_return_status);
3362 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3363 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3364 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3365 RAISE OKC_API.G_EXCEPTION_ERROR;
3366 END IF;
3367 --- Setting item attributes
3368 l_return_status := Set_Attributes(
3369 p_rfcv_rec, -- IN
3370 l_rfcv_rec); -- OUT
3371 --- If any errors happen abort API
3372 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3373 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3374 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3375 RAISE OKC_API.G_EXCEPTION_ERROR;
3376 END IF;
3377 l_return_status := populate_new_record(l_rfcv_rec, l_def_rfcv_rec);
3378 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3379 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3380 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3381 RAISE OKC_API.G_EXCEPTION_ERROR;
3382 END IF;
3383 l_def_rfcv_rec := fill_who_columns(l_def_rfcv_rec);
3384 --- Validate all non-missing attributes (Item Level Validation)
3385 l_return_status := Validate_Attributes(l_def_rfcv_rec);
3386 --- If any errors happen abort API
3387 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3388 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3389 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3390 RAISE OKC_API.G_EXCEPTION_ERROR;
3391 END IF;
3392 --gkadarka Fixes for 3711282
3393 /*
3394 fix for inconsistent G_MISS_DATE value between Database and Mid tier
3395 Explicitly setting the following attributes to null.
3396 This case transaction currency will be always same as functional currency
3397 So we don't need to populate these following attributes with values.
3398
3399
3400 */
3401
3402 l_def_rfcv_rec.currency_conversion_type := NULL;
3403 l_def_rfcv_rec.currency_conversion_rate := NULL;
3404 l_def_rfcv_rec.currency_conversion_date := NULL;
3405 --gkdarka
3406 l_return_status := Validate_Record(l_def_rfcv_rec);
3407 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3408 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3409 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3410 RAISE OKC_API.G_EXCEPTION_ERROR;
3411 END IF;
3412
3413 --------------------------------------
3414 -- Move VIEW record to "Child" records
3415 --------------------------------------
3416 migrate(l_def_rfcv_rec, l_okl_remarktng_costs_tl_rec);
3417 migrate(l_def_rfcv_rec, l_rfc_rec);
3418 --------------------------------------------
3419 -- Call the UPDATE_ROW for each child record
3420 --------------------------------------------
3421 update_row(
3422 p_init_msg_list,
3423 x_return_status,
3424 x_msg_count,
3425 x_msg_data,
3426 l_okl_remarktng_costs_tl_rec,
3427 lx_okl_remarktng_costs_tl_rec
3428 );
3429 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3430 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3431 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3432 RAISE OKC_API.G_EXCEPTION_ERROR;
3433 END IF;
3434 migrate(lx_okl_remarktng_costs_tl_rec, l_def_rfcv_rec);
3435 update_row(
3436 p_init_msg_list,
3437 x_return_status,
3438 x_msg_count,
3439 x_msg_data,
3440 l_rfc_rec,
3441 lx_rfc_rec
3442 );
3443 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3444 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3445 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3446 RAISE OKC_API.G_EXCEPTION_ERROR;
3447 END IF;
3448 migrate(lx_rfc_rec, l_def_rfcv_rec);
3449 x_rfcv_rec := l_def_rfcv_rec;
3450 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3451 EXCEPTION
3452 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3453 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3454 (
3455 l_api_name,
3456 G_PKG_NAME,
3457 'OKC_API.G_RET_STS_ERROR',
3458 x_msg_count,
3459 x_msg_data,
3460 '_PVT'
3461 );
3462 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3463 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3464 (
3465 l_api_name,
3466 G_PKG_NAME,
3467 'OKC_API.G_RET_STS_UNEXP_ERROR',
3468 x_msg_count,
3469 x_msg_data,
3470 '_PVT'
3471 );
3472 WHEN OTHERS THEN
3473 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3474 (
3475 l_api_name,
3476 G_PKG_NAME,
3477 'OTHERS',
3478 x_msg_count,
3479 x_msg_data,
3480 '_PVT'
3481 );
3482 END update_row;
3483 ----------------------------------------
3484 -- PL/SQL TBL update_row for:RFCV_TBL --
3485 ----------------------------------------
3486 PROCEDURE update_row(
3487 p_api_version IN NUMBER,
3488 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3489 x_return_status OUT NOCOPY VARCHAR2,
3490 x_msg_count OUT NOCOPY NUMBER,
3491 x_msg_data OUT NOCOPY VARCHAR2,
3492 p_rfcv_tbl IN rfcv_tbl_type,
3493 x_rfcv_tbl OUT NOCOPY rfcv_tbl_type) IS
3494
3495 l_api_version CONSTANT NUMBER := 1;
3496 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3497 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3498 i NUMBER := 0;
3499 -- Begin Post-Generation Change
3500 -- overall error status
3501 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3502 -- End Post-Generation Change
3503 BEGIN
3504 OKC_API.init_msg_list(p_init_msg_list);
3505 -- Make sure PL/SQL table has records in it before passing
3506 IF (p_rfcv_tbl.COUNT > 0) THEN
3507 i := p_rfcv_tbl.FIRST;
3508 LOOP
3509 update_row (
3510 p_api_version => p_api_version,
3511 p_init_msg_list => OKC_API.G_FALSE,
3512 x_return_status => x_return_status,
3513 x_msg_count => x_msg_count,
3514 x_msg_data => x_msg_data,
3515 p_rfcv_rec => p_rfcv_tbl(i),
3516 x_rfcv_rec => x_rfcv_tbl(i));
3517 -- Begin Post-Generation Change
3518 -- store the highest degree of error
3519 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3520 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3521 l_overall_status := x_return_status;
3522 END IF;
3523 END IF;
3524 -- End Post-Generation Change
3525 EXIT WHEN (i = p_rfcv_tbl.LAST);
3526 i := p_rfcv_tbl.NEXT(i);
3527 END LOOP;
3528 -- Begin Post-Generation Change
3529 -- return overall status
3530 x_return_status := l_overall_status;
3531 -- End Post-Generation Change
3532 END IF;
3533 EXCEPTION
3534 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3535 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3536 (
3537 l_api_name,
3538 G_PKG_NAME,
3539 'OKC_API.G_RET_STS_ERROR',
3540 x_msg_count,
3541 x_msg_data,
3542 '_PVT'
3543 );
3544 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3545 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3546 (
3547 l_api_name,
3548 G_PKG_NAME,
3549 'OKC_API.G_RET_STS_UNEXP_ERROR',
3550 x_msg_count,
3551 x_msg_data,
3552 '_PVT'
3553 );
3554 WHEN OTHERS THEN
3555 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3556 (
3557 l_api_name,
3558 G_PKG_NAME,
3559 'OTHERS',
3560 x_msg_count,
3561 x_msg_data,
3562 '_PVT'
3563 );
3564 END update_row;
3565
3566 ---------------------------------------------------------------------------
3567 -- PROCEDURE delete_row
3568 ---------------------------------------------------------------------------
3569 ------------------------------------------
3570 -- delete_row for:OKL_REMARKTNG_COSTS_B --
3571 ------------------------------------------
3572 PROCEDURE delete_row(
3573 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3574 x_return_status OUT NOCOPY VARCHAR2,
3575 x_msg_count OUT NOCOPY NUMBER,
3576 x_msg_data OUT NOCOPY VARCHAR2,
3577 p_rfc_rec IN rfc_rec_type) IS
3578
3579 l_api_version CONSTANT NUMBER := 1;
3580 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
3581 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3582 l_rfc_rec rfc_rec_type:= p_rfc_rec;
3583 l_row_notfound BOOLEAN := TRUE;
3584 BEGIN
3585 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3586 p_init_msg_list,
3587 '_PVT',
3588 x_return_status);
3589 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3590 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3591 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3592 RAISE OKC_API.G_EXCEPTION_ERROR;
3593 END IF;
3594 DELETE FROM OKL_REMARKTNG_COSTS_B
3595 WHERE ID = l_rfc_rec.id;
3596
3597 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3598 EXCEPTION
3599 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3600 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3601 (
3602 l_api_name,
3603 G_PKG_NAME,
3604 'OKC_API.G_RET_STS_ERROR',
3605 x_msg_count,
3606 x_msg_data,
3607 '_PVT'
3608 );
3609 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3610 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3611 (
3612 l_api_name,
3613 G_PKG_NAME,
3614 'OKC_API.G_RET_STS_UNEXP_ERROR',
3615 x_msg_count,
3616 x_msg_data,
3617 '_PVT'
3618 );
3619 WHEN OTHERS THEN
3620 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3621 (
3622 l_api_name,
3623 G_PKG_NAME,
3624 'OTHERS',
3625 x_msg_count,
3626 x_msg_data,
3627 '_PVT'
3628 );
3629 END delete_row;
3630 -------------------------------------------
3631 -- delete_row for:OKL_REMARKTNG_COSTS_TL --
3632 -------------------------------------------
3633 PROCEDURE delete_row(
3634 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3635 x_return_status OUT NOCOPY VARCHAR2,
3636 x_msg_count OUT NOCOPY NUMBER,
3637 x_msg_data OUT NOCOPY VARCHAR2,
3638 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType) IS
3639
3640 l_api_version CONSTANT NUMBER := 1;
3641 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
3642 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3643 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType:= p_okl_remarktng_costs_tl_rec;
3644 l_row_notfound BOOLEAN := TRUE;
3645 -----------------------------------------------
3646 -- Set_Attributes for:OKL_REMARKTNG_COSTS_TL --
3647 -----------------------------------------------
3648 FUNCTION Set_Attributes (
3649 p_okl_remarktng_costs_tl_rec IN OklRemarktngCostsTlRecType,
3650 x_okl_remarktng_costs_tl_rec OUT NOCOPY OklRemarktngCostsTlRecType
3651 ) RETURN VARCHAR2 IS
3652 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3653 BEGIN
3654 x_okl_remarktng_costs_tl_rec := p_okl_remarktng_costs_tl_rec;
3655 x_okl_remarktng_costs_tl_rec.LANGUAGE := USERENV('LANG');
3656 RETURN(l_return_status);
3657 END Set_Attributes;
3658 BEGIN
3659 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3660 p_init_msg_list,
3661 '_PVT',
3662 x_return_status);
3663 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3664 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3665 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3666 RAISE OKC_API.G_EXCEPTION_ERROR;
3667 END IF;
3668 --- Setting item attributes
3669 l_return_status := Set_Attributes(
3670 p_okl_remarktng_costs_tl_rec, -- IN
3671 l_okl_remarktng_costs_tl_rec); -- OUT
3672 --- If any errors happen abort API
3673 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3674 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3675 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3676 RAISE OKC_API.G_EXCEPTION_ERROR;
3677 END IF;
3678 DELETE FROM OKL_REMARKTNG_COSTS_TL
3679 WHERE ID = l_okl_remarktng_costs_tl_rec.id;
3680
3681 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3682 EXCEPTION
3683 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3684 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3685 (
3686 l_api_name,
3687 G_PKG_NAME,
3688 'OKC_API.G_RET_STS_ERROR',
3689 x_msg_count,
3690 x_msg_data,
3691 '_PVT'
3692 );
3693 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3694 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3695 (
3696 l_api_name,
3697 G_PKG_NAME,
3698 'OKC_API.G_RET_STS_UNEXP_ERROR',
3699 x_msg_count,
3700 x_msg_data,
3701 '_PVT'
3702 );
3703 WHEN OTHERS THEN
3704 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3705 (
3706 l_api_name,
3707 G_PKG_NAME,
3708 'OTHERS',
3709 x_msg_count,
3710 x_msg_data,
3711 '_PVT'
3712 );
3713 END delete_row;
3714 ------------------------------------------
3715 -- delete_row for:OKL_REMARKTNG_COSTS_V --
3716 ------------------------------------------
3717 PROCEDURE delete_row(
3718 p_api_version IN NUMBER,
3719 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3720 x_return_status OUT NOCOPY VARCHAR2,
3721 x_msg_count OUT NOCOPY NUMBER,
3722 x_msg_data OUT NOCOPY VARCHAR2,
3723 p_rfcv_rec IN rfcv_rec_type) IS
3724
3725 l_api_version CONSTANT NUMBER := 1;
3726 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3727 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3728 l_rfcv_rec rfcv_rec_type := p_rfcv_rec;
3729 l_okl_remarktng_costs_tl_rec OklRemarktngCostsTlRecType;
3730 l_rfc_rec rfc_rec_type;
3731 BEGIN
3732 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3733 G_PKG_NAME,
3734 p_init_msg_list,
3735 l_api_version,
3736 p_api_version,
3737 '_PVT',
3738 x_return_status);
3739 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3740 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3741 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3742 RAISE OKC_API.G_EXCEPTION_ERROR;
3743 END IF;
3744 --------------------------------------
3745 -- Move VIEW record to "Child" records
3746 --------------------------------------
3747 migrate(l_rfcv_rec, l_okl_remarktng_costs_tl_rec);
3748 migrate(l_rfcv_rec, l_rfc_rec);
3749 --------------------------------------------
3750 -- Call the DELETE_ROW for each child record
3751 --------------------------------------------
3752 delete_row(
3753 p_init_msg_list,
3754 x_return_status,
3755 x_msg_count,
3756 x_msg_data,
3757 l_okl_remarktng_costs_tl_rec
3758 );
3759 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3760 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3761 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3762 RAISE OKC_API.G_EXCEPTION_ERROR;
3763 END IF;
3764 delete_row(
3765 p_init_msg_list,
3766 x_return_status,
3767 x_msg_count,
3768 x_msg_data,
3769 l_rfc_rec
3770 );
3771 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3772 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3773 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3774 RAISE OKC_API.G_EXCEPTION_ERROR;
3775 END IF;
3776 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3777 EXCEPTION
3778 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3779 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3780 (
3781 l_api_name,
3782 G_PKG_NAME,
3783 'OKC_API.G_RET_STS_ERROR',
3784 x_msg_count,
3785 x_msg_data,
3786 '_PVT'
3787 );
3788 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3789 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3790 (
3791 l_api_name,
3792 G_PKG_NAME,
3793 'OKC_API.G_RET_STS_UNEXP_ERROR',
3794 x_msg_count,
3795 x_msg_data,
3796 '_PVT'
3797 );
3798 WHEN OTHERS THEN
3799 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3800 (
3801 l_api_name,
3802 G_PKG_NAME,
3803 'OTHERS',
3804 x_msg_count,
3805 x_msg_data,
3806 '_PVT'
3807 );
3808 END delete_row;
3809 ----------------------------------------
3810 -- PL/SQL TBL delete_row for:RFCV_TBL --
3811 ----------------------------------------
3812 PROCEDURE delete_row(
3813 p_api_version IN NUMBER,
3814 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3815 x_return_status OUT NOCOPY VARCHAR2,
3816 x_msg_count OUT NOCOPY NUMBER,
3817 x_msg_data OUT NOCOPY VARCHAR2,
3818 p_rfcv_tbl IN rfcv_tbl_type) IS
3819
3820 l_api_version CONSTANT NUMBER := 1;
3821 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3822 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3823 i NUMBER := 0;
3824 -- Begin Post-Generation Change
3825 -- overall error status
3826 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3827 -- End Post-Generation Change
3828 BEGIN
3829 OKC_API.init_msg_list(p_init_msg_list);
3830 -- Make sure PL/SQL table has records in it before passing
3831 IF (p_rfcv_tbl.COUNT > 0) THEN
3832 i := p_rfcv_tbl.FIRST;
3833 LOOP
3834 delete_row (
3835 p_api_version => p_api_version,
3836 p_init_msg_list => OKC_API.G_FALSE,
3837 x_return_status => x_return_status,
3838 x_msg_count => x_msg_count,
3839 x_msg_data => x_msg_data,
3840 p_rfcv_rec => p_rfcv_tbl(i));
3841 -- Begin Post-Generation Change
3842 -- store the highest degree of error
3843 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3844 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3845 l_overall_status := x_return_status;
3846 END IF;
3847 END IF;
3848 -- End Post-Generation Change
3849 EXIT WHEN (i = p_rfcv_tbl.LAST);
3850 i := p_rfcv_tbl.NEXT(i);
3851 END LOOP;
3852 -- Begin Post-Generation Change
3853 -- return overall status
3854 x_return_status := l_overall_status;
3855 -- End Post-Generation Change
3856 END IF;
3857 EXCEPTION
3858 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3859 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3860 (
3861 l_api_name,
3862 G_PKG_NAME,
3863 'OKC_API.G_RET_STS_ERROR',
3864 x_msg_count,
3865 x_msg_data,
3866 '_PVT'
3867 );
3868 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3869 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3870 (
3871 l_api_name,
3872 G_PKG_NAME,
3873 'OKC_API.G_RET_STS_UNEXP_ERROR',
3874 x_msg_count,
3875 x_msg_data,
3876 '_PVT'
3877 );
3878 WHEN OTHERS THEN
3879 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3880 (
3881 l_api_name,
3882 G_PKG_NAME,
3883 'OTHERS',
3884 x_msg_count,
3885 x_msg_data,
3886 '_PVT'
3887 );
3888 END delete_row;
3889 END OKL_RFC_PVT;