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