[Home] [Help]
PACKAGE BODY: APPS.OKL_AGC_PVT
Source
1 PACKAGE BODY OKL_AGC_PVT AS
2 /* $Header: OKLSAGCB.pls 120.3 2006/07/13 12:50:57 adagur 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_ACC_GROUP_CCID
37 ---------------------------------------------------------------------------
38 FUNCTION get_rec (
39 p_agc_rec IN agc_rec_type,
40 x_no_data_found OUT NOCOPY BOOLEAN
41 ) RETURN agc_rec_type IS
42 CURSOR OKL_ACC_GROUP_CCID_pk_csr (p_id IN NUMBER) IS
43 SELECT
44 ID,
45 CODE_COMBINATION_ID,
46 OBJECT_VERSION_NUMBER,
47 SET_OF_BOOKS_ID,
48 ACC_GROUP_CODE,
49 ORG_ID,
50 CREATED_BY,
51 CREATION_DATE,
52 LAST_UPDATED_BY,
53 LAST_UPDATE_DATE,
54 LAST_UPDATE_LOGIN
55 FROM OKL_ACC_GROUP_CCID
56 WHERE OKL_ACC_GROUP_CCID.id = p_id;
57 l_OKL_ACC_GROUP_CCID_pk okl_acc_group_ccid_pk_csr%ROWTYPE;
58 l_agc_rec agc_rec_type;
59 BEGIN
60 x_no_data_found := TRUE;
61 -- Get current database values
62 OPEN OKL_ACC_GROUP_CCID_pk_csr (p_agc_rec.id);
63 FETCH OKL_ACC_GROUP_CCID_pk_csr INTO
64 l_agc_rec.ID,
65 l_agc_rec.CODE_COMBINATION_ID,
66 l_agc_rec.OBJECT_VERSION_NUMBER,
67 l_agc_rec.SET_OF_BOOKS_ID,
68 l_agc_rec.ACC_GROUP_CODE,
69 l_agc_rec.ORG_ID,
70 l_agc_rec.CREATED_BY,
71 l_agc_rec.CREATION_DATE,
72 l_agc_rec.LAST_UPDATED_BY,
73 l_agc_rec.LAST_UPDATE_DATE,
74 l_agc_rec.LAST_UPDATE_LOGIN;
75 x_no_data_found := OKL_ACC_GROUP_CCID_pk_csr%NOTFOUND;
76 CLOSE OKL_ACC_GROUP_CCID_pk_csr;
77 RETURN(l_agc_rec);
78 END get_rec;
79
80 FUNCTION get_rec (
81 p_agc_rec IN agc_rec_type
82 ) RETURN agc_rec_type IS
83 l_row_notfound BOOLEAN := TRUE;
84 BEGIN
85 RETURN(get_rec(p_agc_rec, l_row_notfound));
86 END get_rec;
87 ---------------------------------------------------------------------------
88 -- FUNCTION get_rec for: OKL_ACC_GROUP_CCID_V
89 ---------------------------------------------------------------------------
90 FUNCTION get_rec (
91 p_agcv_rec IN agcv_rec_type,
92 x_no_data_found OUT NOCOPY BOOLEAN
93 ) RETURN agcv_rec_type IS
94 CURSOR okl_agcv_pk_csr (p_id IN NUMBER) IS
95 SELECT
96 ID,
97 OBJECT_VERSION_NUMBER,
98 ACC_GROUP_CODE,
99 CODE_COMBINATION_ID,
100 SET_OF_BOOKS_ID,
101 ORG_ID,
102 CREATED_BY,
103 CREATION_DATE,
104 LAST_UPDATED_BY,
105 LAST_UPDATE_DATE,
106 LAST_UPDATE_LOGIN
107 FROM OKL_ACC_GROUP_CCID
108 WHERE OKL_ACC_GROUP_CCID.id = p_id;
109 l_okl_agcv_pk okl_agcv_pk_csr%ROWTYPE;
110 l_agcv_rec agcv_rec_type;
111 BEGIN
112 x_no_data_found := TRUE;
113 -- Get current database values
114 OPEN okl_agcv_pk_csr (p_agcv_rec.id);
115 FETCH okl_agcv_pk_csr INTO
116 l_agcv_rec.ID,
117 l_agcv_rec.OBJECT_VERSION_NUMBER,
118 l_agcv_rec.ACC_GROUP_CODE,
119 l_agcv_rec.CODE_COMBINATION_ID,
120 l_agcv_rec.SET_OF_BOOKS_ID,
121 l_agcv_rec.ORG_ID,
122 l_agcv_rec.CREATED_BY,
123 l_agcv_rec.CREATION_DATE,
124 l_agcv_rec.LAST_UPDATED_BY,
125 l_agcv_rec.LAST_UPDATE_DATE,
126 l_agcv_rec.LAST_UPDATE_LOGIN;
127 x_no_data_found := okl_agcv_pk_csr%NOTFOUND;
128 CLOSE okl_agcv_pk_csr;
129 RETURN(l_agcv_rec);
130 END get_rec;
131
132 FUNCTION get_rec (
133 p_agcv_rec IN agcv_rec_type
134 ) RETURN agcv_rec_type IS
135 l_row_notfound BOOLEAN := TRUE;
136 BEGIN
137 RETURN(get_rec(p_agcv_rec, l_row_notfound));
138 END get_rec;
139
140 --------------------------------------------------------
141 -- FUNCTION null_out_defaults for: OKL_ACC_GROUP_CCID_V --
142 --------------------------------------------------------
143 FUNCTION null_out_defaults (
144 p_agcv_rec IN agcv_rec_type
145 ) RETURN agcv_rec_type IS
146 l_agcv_rec agcv_rec_type := p_agcv_rec;
147 BEGIN
148 IF (l_agcv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
149 l_agcv_rec.object_version_number := NULL;
150 END IF;
151 IF (l_agcv_rec.acc_group_code = Okc_Api.G_MISS_CHAR) THEN
152 l_agcv_rec.acc_group_code := NULL;
153 END IF;
154 IF (l_agcv_rec.code_combination_id = Okc_Api.G_MISS_NUM) THEN
155 l_agcv_rec.code_combination_id := NULL;
156 END IF;
157 IF (l_agcv_rec.set_of_books_id = Okc_Api.G_MISS_NUM) THEN
158 l_agcv_rec.set_of_books_id := NULL;
159 END IF;
160 IF (l_agcv_rec.org_id = Okc_Api.G_MISS_NUM) THEN
161 l_agcv_rec.org_id := NULL;
162 END IF;
163 IF (l_agcv_rec.created_by = Okc_Api.G_MISS_NUM) THEN
164 l_agcv_rec.created_by := NULL;
165 END IF;
166 IF (l_agcv_rec.creation_date = Okc_Api.G_MISS_DATE) THEN
167 l_agcv_rec.creation_date := NULL;
168 END IF;
169 IF (l_agcv_rec.last_updated_by = Okc_Api.G_MISS_NUM) THEN
170 l_agcv_rec.last_updated_by := NULL;
171 END IF;
172 IF (l_agcv_rec.last_update_date = Okc_Api.G_MISS_DATE) THEN
173 l_agcv_rec.last_update_date := NULL;
174 END IF;
175 IF (l_agcv_rec.last_update_login = Okc_Api.G_MISS_NUM) THEN
176 l_agcv_rec.last_update_login := NULL;
177 END IF;
178 RETURN(l_agcv_rec);
179 END null_out_defaults;
180
181 ------------------------------------------------
182 -- Validate_Attributes for:OKL_ACC_GROUP_CCID_V --
183 ------------------------------------------------
184 FUNCTION Validate_Attributes (
185 p_agcv_rec IN agcv_rec_type
186 ) RETURN VARCHAR2 IS
187
188 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
189 x_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
190
191 l_enddate_status VARCHAR2(1);
192
193 BEGIN
194 IF p_agcv_rec.id = Okc_Api.G_MISS_NUM OR
195 p_agcv_rec.id IS NULL
196 THEN
197 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
198 l_return_status := Okc_Api.G_RET_STS_ERROR;
199 END IF;
200
201 IF p_agcv_rec.object_version_number = Okc_Api.G_MISS_NUM OR
202 p_agcv_rec.object_version_number IS NULL
203 THEN
204 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
205 l_return_status := Okc_Api.G_RET_STS_ERROR;
206 END IF;
207
208 IF p_agcv_rec.code_combination_id = Okc_Api.G_MISS_NUM OR
209 p_agcv_rec.code_combination_id IS NULL
210 THEN
211 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'code_combination_id');
212 l_return_status := Okc_Api.G_RET_STS_ERROR;
213
214 END IF;
215
216 RETURN(l_return_status);
217
218 EXCEPTION
219 WHEN G_EXCEPTION_HALT_VALIDATION THEN
220 NULL;
221 RETURN (l_return_status);
222 WHEN OTHERS THEN
223 Okc_Api.set_message(G_APP_NAME,G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
224 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
225 RETURN(l_return_status);
226
227
228 END Validate_Attributes;
229
230 ---------------------------------------------------------------------------
231 -- PROCEDURE Validate_Record
232 ---------------------------------------------------------------------------
233 --------------------------------------------
234 -- Validate_Record for:OKL_ACC_GROUP_CCID_V --
235 --------------------------------------------
236 FUNCTION Validate_Record (
237 p_agcv_rec IN agcv_rec_type
238 ) RETURN VARCHAR2 IS
239 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
240
241 BEGIN
242 NULL;
243 RETURN (l_return_status);
244 END Validate_Record;
245
246
247
248 ---------------------------------------------------------------------------
249
250
251 ---------------------------------------------------------------------------
252 -- PROCEDURE Migrate
253 ---------------------------------------------------------------------------
254 PROCEDURE migrate (
255 p_from IN agcv_rec_type,
256 p_to OUT NOCOPY agc_rec_type
257 ) IS
258 BEGIN
259 p_to.id := p_from.id;
260 p_to.code_combination_id := p_from.code_combination_id;
261 p_to.object_version_number := p_from.object_version_number;
262 p_to.set_of_books_id := p_from.set_of_books_id;
263 p_to.acc_group_code := p_from.acc_group_code;
264 p_to.org_id := p_from.org_id;
265 p_to.created_by := p_from.created_by;
266 p_to.creation_date := p_from.creation_date;
267 p_to.last_updated_by := p_from.last_updated_by;
268 p_to.last_update_date := p_from.last_update_date;
269 p_to.last_update_login := p_from.last_update_login;
270 END migrate;
271 PROCEDURE migrate (
272 p_from IN agc_rec_type,
273 p_to OUT NOCOPY agcv_rec_type
274 ) IS
275 BEGIN
276 p_to.id := p_from.id;
277 p_to.code_combination_id := p_from.code_combination_id;
278 p_to.object_version_number := p_from.object_version_number;
279 p_to.set_of_books_id := p_from.set_of_books_id;
280 p_to.acc_group_code := p_from.acc_group_code;
281 p_to.org_id := p_from.org_id;
282 p_to.created_by := p_from.created_by;
283 p_to.creation_date := p_from.creation_date;
284 p_to.last_updated_by := p_from.last_updated_by;
285 p_to.last_update_date := p_from.last_update_date;
286 p_to.last_update_login := p_from.last_update_login;
287 END migrate;
288
289 ---------------------------------------------------------------------------
290 -- PROCEDURE validate_row
291 ---------------------------------------------------------------------------
292 -----------------------------------------
293 -- validate_row for:OKL_ACC_GROUP_CCID_V --
294 -----------------------------------------
295 PROCEDURE validate_row(
296 p_api_version IN NUMBER,
297 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
298 x_return_status OUT NOCOPY VARCHAR2,
299 x_msg_count OUT NOCOPY NUMBER,
300 x_msg_data OUT NOCOPY VARCHAR2,
301 p_agcv_rec IN agcv_rec_type) IS
302
303 l_api_version CONSTANT NUMBER := 1;
304 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
305 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
306 l_agcv_rec agcv_rec_type := p_agcv_rec;
307 l_agc_rec agc_rec_type;
308 BEGIN
309 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
310 G_PKG_NAME,
311 p_init_msg_list,
312 l_api_version,
313 p_api_version,
314 '_PVT',
315 x_return_status);
316 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
317 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
318 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
319 RAISE Okc_Api.G_EXCEPTION_ERROR;
320 END IF;
321 --- Validate all non-missing attributes (Item Level Validation)
322 l_return_status := Validate_Attributes(l_agcv_rec);
323 --- If any errors happen abort API
324 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
325 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
326 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
327 RAISE Okc_Api.G_EXCEPTION_ERROR;
328 END IF;
329 l_return_status := Validate_Record(l_agcv_rec);
330 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
331 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
332 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
333 RAISE Okc_Api.G_EXCEPTION_ERROR;
334 END IF;
335 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
336 EXCEPTION
337 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
338 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
339 (
340 l_api_name,
341 G_PKG_NAME,
342 'OKC_API.G_RET_STS_ERROR',
343 x_msg_count,
344 x_msg_data,
345 '_PVT'
346 );
347 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
348 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
349 (
350 l_api_name,
351 G_PKG_NAME,
352 'OKC_API.G_RET_STS_UNEXP_ERROR',
353 x_msg_count,
354 x_msg_data,
355 '_PVT'
356 );
357 WHEN OTHERS THEN
358 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
359 (
360 l_api_name,
361 G_PKG_NAME,
362 'OTHERS',
363 x_msg_count,
364 x_msg_data,
365 '_PVT'
366 );
367 END validate_row;
368 ------------------------------------------
369 -- PL/SQL TBL validate_row for:AGCV_TBL --
370 ------------------------------------------
371 PROCEDURE validate_row(
372 p_api_version IN NUMBER,
373 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
374 x_return_status OUT NOCOPY VARCHAR2,
375 x_msg_count OUT NOCOPY NUMBER,
376 x_msg_data OUT NOCOPY VARCHAR2,
377 p_agcv_tbl IN agcv_tbl_type) IS
378
379 l_api_version CONSTANT NUMBER := 1;
380 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
381 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
382 i NUMBER := 0;
383 BEGIN
384 Okc_Api.init_msg_list(p_init_msg_list);
385 -- Make sure PL/SQL table has records in it before passing
386 IF (p_agcv_tbl.COUNT > 0) THEN
387 i := p_agcv_tbl.FIRST;
388 LOOP
389 validate_row (
390 p_api_version => p_api_version,
391 p_init_msg_list => Okc_Api.G_FALSE,
392 x_return_status => x_return_status,
393 x_msg_count => x_msg_count,
394 x_msg_data => x_msg_data,
395 p_agcv_rec => p_agcv_tbl(i));
396
397 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
398 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
399 l_overall_status := x_return_status;
400 END IF;
401 END IF;
402
403 EXIT WHEN (i = p_agcv_tbl.LAST);
404 i := p_agcv_tbl.NEXT(i);
405 END LOOP;
406 END IF;
407 x_return_status := l_overall_status;
408 EXCEPTION
409 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
410 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
411 (
412 l_api_name,
413 G_PKG_NAME,
414 'OKC_API.G_RET_STS_ERROR',
415 x_msg_count,
416 x_msg_data,
417 '_PVT'
418 );
419 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
420 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
421 (
422 l_api_name,
423 G_PKG_NAME,
424 'OKC_API.G_RET_STS_UNEXP_ERROR',
425 x_msg_count,
426 x_msg_data,
427 '_PVT'
428 );
429 WHEN OTHERS THEN
430 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
431 (
432 l_api_name,
433 G_PKG_NAME,
434 'OTHERS',
435 x_msg_count,
436 x_msg_data,
437 '_PVT'
438 );
439 END validate_row;
440
441 ---------------------------------------------------------------------------
442 -- PROCEDURE insert_row
443 ---------------------------------------------------------------------------
444 -------------------------------------
445 -- insert_row for:OKL_ACC_GROUP_CCID --
446 -------------------------------------
447 PROCEDURE insert_row(
448 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
449 x_return_status OUT NOCOPY VARCHAR2,
450 x_msg_count OUT NOCOPY NUMBER,
451 x_msg_data OUT NOCOPY VARCHAR2,
452 p_agc_rec IN agc_rec_type,
453 x_agc_rec OUT NOCOPY agc_rec_type) IS
454
455 l_api_version CONSTANT NUMBER := 1;
456 l_api_name CONSTANT VARCHAR2(30) := 'SETS_insert_row';
457 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
458 l_agc_rec agc_rec_type := p_agc_rec;
459 l_def_agc_rec agc_rec_type;
460 -----------------------------------------
461 -- Set_Attributes for:OKL_ACC_GROUP_CCID --
462 -----------------------------------------
463 FUNCTION Set_Attributes (
464 p_agc_rec IN agc_rec_type,
465 x_agc_rec OUT NOCOPY agc_rec_type
466 ) RETURN VARCHAR2 IS
467 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
468 BEGIN
469 x_agc_rec := p_agc_rec;
470 RETURN(l_return_status);
471 END Set_Attributes;
472 BEGIN
473 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
474 p_init_msg_list,
475 '_PVT',
476 x_return_status);
477 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
478 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
479 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
480 RAISE Okc_Api.G_EXCEPTION_ERROR;
481 END IF;
482 --- Setting item attributes
483 l_return_status := Set_Attributes(
484 p_agc_rec, -- IN
485 l_agc_rec); -- OUT
486 --- If any errors happen abort API
487 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
488 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
489 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
490 RAISE Okc_Api.G_EXCEPTION_ERROR;
491 END IF;
492 INSERT INTO OKL_ACC_GROUP_CCID(
493 id,
494 code_combination_id,
495 object_version_number,
496 set_of_books_id,
497 acc_group_code,
498 org_id,
499 created_by,
500 creation_date,
501 last_updated_by,
502 last_update_date,
503 last_update_login)
504 VALUES (
505 l_agc_rec.id,
506 l_agc_rec.code_combination_id,
507 l_agc_rec.object_version_number,
508 l_agc_rec.set_of_books_id,
509 l_agc_rec.acc_group_code,
510 l_agc_rec.org_id,
511 l_agc_rec.created_by,
512 l_agc_rec.creation_date,
513 l_agc_rec.last_updated_by,
514 l_agc_rec.last_update_date,
515 l_agc_rec.last_update_login);
516 -- Set OUT values
517 x_agc_rec := l_agc_rec;
518 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
519 EXCEPTION
520 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
521 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
522 (
523 l_api_name,
524 G_PKG_NAME,
525 'OKC_API.G_RET_STS_ERROR',
526 x_msg_count,
527 x_msg_data,
528 '_PVT'
529 );
530 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
531 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
532 (
533 l_api_name,
534 G_PKG_NAME,
535 'OKC_API.G_RET_STS_UNEXP_ERROR',
536 x_msg_count,
537 x_msg_data,
538 '_PVT'
539 );
540 WHEN OTHERS THEN
541 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
542 (
543 l_api_name,
544 G_PKG_NAME,
545 'OTHERS',
546 x_msg_count,
547 x_msg_data,
548 '_PVT'
549 );
550 END insert_row;
551 ---------------------------------------
552 -- insert_row for:OKL_ACC_GROUP_CCID_V --
553 ---------------------------------------
554 PROCEDURE insert_row(
555 p_api_version IN NUMBER,
556 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
557 x_return_status OUT NOCOPY VARCHAR2,
558 x_msg_count OUT NOCOPY NUMBER,
559 x_msg_data OUT NOCOPY VARCHAR2,
560 p_agcv_rec IN agcv_rec_type,
561 x_agcv_rec OUT NOCOPY agcv_rec_type) IS
562
563 l_api_version CONSTANT NUMBER := 1;
564 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
565 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
566 l_agcv_rec agcv_rec_type;
567 l_def_agcv_rec agcv_rec_type;
568 l_agc_rec agc_rec_type;
569 lx_agc_rec agc_rec_type;
570 -------------------------------
571 -- FUNCTION fill_who_columns --
572 -------------------------------
573 FUNCTION fill_who_columns (
574 p_agcv_rec IN agcv_rec_type
575 ) RETURN agcv_rec_type IS
576 l_agcv_rec agcv_rec_type := p_agcv_rec;
577 BEGIN
578 l_agcv_rec.CREATION_DATE := SYSDATE;
579 l_agcv_rec.CREATED_BY := Fnd_Global.USER_ID;
580 l_agcv_rec.LAST_UPDATE_DATE := SYSDATE;
581 l_agcv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
582 l_agcv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
583 RETURN(l_agcv_rec);
584 END fill_who_columns;
585 -------------------------------------------
586 -- Set_Attributes for:OKL_ACC_GROUP_CCID_V --
587 -------------------------------------------
588 FUNCTION Set_Attributes (
589 p_agcv_rec IN agcv_rec_type,
590 x_agcv_rec OUT NOCOPY agcv_rec_type
591 ) RETURN VARCHAR2 IS
592 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
593 BEGIN
594 x_agcv_rec := p_agcv_rec;
595 x_agcv_rec.OBJECT_VERSION_NUMBER := 1;
596 x_agcv_rec.ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID();
597 x_agcv_rec.SET_OF_BOOKS_ID := OKL_ACCOUNTING_UTIL.get_set_of_books_id;
598 RETURN(l_return_status);
599 END Set_Attributes;
600 BEGIN
601 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
602 G_PKG_NAME,
603 p_init_msg_list,
604 l_api_version,
605 p_api_version,
606 '_PVT',
607 x_return_status);
608 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
609 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
610 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
611 RAISE Okc_Api.G_EXCEPTION_ERROR;
612 END IF;
613 l_agcv_rec := null_out_defaults(p_agcv_rec);
614 -- Set primary key value
615 l_agcv_rec.ID := get_seq_id;
616 --- Setting item attributes
617 l_return_status := Set_Attributes(
618 l_agcv_rec, -- IN
619 l_def_agcv_rec); -- OUT
620 --- If any errors happen abort API
621 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
622 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
623 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
624 RAISE Okc_Api.G_EXCEPTION_ERROR;
625 END IF;
626 l_def_agcv_rec := fill_who_columns(l_def_agcv_rec);
627 --- Validate all non-missing attributes (Item Level Validation)
628 l_return_status := Validate_Attributes(l_def_agcv_rec);
629 --- If any errors happen abort API
630 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
631 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
632 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
633 RAISE Okc_Api.G_EXCEPTION_ERROR;
634 END IF;
635 l_return_status := Validate_Record(l_def_agcv_rec);
636 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
637 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
638 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
639 RAISE Okc_Api.G_EXCEPTION_ERROR;
640 END IF;
641 --------------------------------------
642 -- Move VIEW record to "Child" records
643 --------------------------------------
644 migrate(l_def_agcv_rec, l_agc_rec);
645 --------------------------------------------
646 -- Call the INSERT_ROW for each child record
647 --------------------------------------------
648 insert_row(
649 p_init_msg_list,
650 x_return_status,
651 x_msg_count,
652 x_msg_data,
653 l_agc_rec,
654 lx_agc_rec
655 );
656 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
657 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
658 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
659 RAISE Okc_Api.G_EXCEPTION_ERROR;
660 END IF;
661 migrate(lx_agc_rec, l_def_agcv_rec);
662 -- Set OUT values
663 x_agcv_rec := l_def_agcv_rec;
664 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
665 EXCEPTION
666 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
667 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
668 (
669 l_api_name,
670 G_PKG_NAME,
671 'OKC_API.G_RET_STS_ERROR',
672 x_msg_count,
673 x_msg_data,
674 '_PVT'
675 );
676 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
677 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
678 (
679 l_api_name,
680 G_PKG_NAME,
681 'OKC_API.G_RET_STS_UNEXP_ERROR',
682 x_msg_count,
683 x_msg_data,
684 '_PVT'
685 );
686 WHEN OTHERS THEN
687 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
688 (
689 l_api_name,
690 G_PKG_NAME,
691 'OTHERS',
692 x_msg_count,
693 x_msg_data,
694 '_PVT'
695 );
696 END insert_row;
697 ----------------------------------------
698 -- PL/SQL TBL insert_row for:AGCV_TBL --
699 ----------------------------------------
700 PROCEDURE insert_row(
701 p_api_version IN NUMBER,
702 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
703 x_return_status OUT NOCOPY VARCHAR2,
704 x_msg_count OUT NOCOPY NUMBER,
705 x_msg_data OUT NOCOPY VARCHAR2,
706 p_agcv_tbl IN agcv_tbl_type,
707 x_agcv_tbl OUT NOCOPY agcv_tbl_type) IS
708
709 l_api_version CONSTANT NUMBER := 1;
710 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
711 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
712 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
713 i NUMBER := 0;
714 BEGIN
715 Okc_Api.init_msg_list(p_init_msg_list);
716 -- Make sure PL/SQL table has records in it before passing
717 IF (p_agcv_tbl.COUNT > 0) THEN
718 i := p_agcv_tbl.FIRST;
719 LOOP
720 insert_row (
721 p_api_version => p_api_version,
722 p_init_msg_list => Okc_Api.G_FALSE,
723 x_return_status => x_return_status,
724 x_msg_count => x_msg_count,
725 x_msg_data => x_msg_data,
726 p_agcv_rec => p_agcv_tbl(i),
727 x_agcv_rec => x_agcv_tbl(i));
728
729 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
730 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
731 l_overall_status := x_return_status;
732 END IF;
733 END IF;
734 EXIT WHEN (i = p_agcv_tbl.LAST);
735 i := p_agcv_tbl.NEXT(i);
736 END LOOP;
737 END IF;
738 x_return_status := l_overall_status;
739
740 EXCEPTION
741 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
742 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
743 (
744 l_api_name,
745 G_PKG_NAME,
746 'OKC_API.G_RET_STS_ERROR',
747 x_msg_count,
748 x_msg_data,
749 '_PVT'
750 );
751 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
752 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
753 (
754 l_api_name,
755 G_PKG_NAME,
756 'OKC_API.G_RET_STS_UNEXP_ERROR',
757 x_msg_count,
758 x_msg_data,
759 '_PVT'
760 );
761 WHEN OTHERS THEN
762 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
763 (
764 l_api_name,
765 G_PKG_NAME,
766 'OTHERS',
767 x_msg_count,
768 x_msg_data,
769 '_PVT'
770 );
771 END insert_row;
772
773 ---------------------------------------------------------------------------
774 -- PROCEDURE lock_row
775 ---------------------------------------------------------------------------
776 -----------------------------------
777 -- lock_row for:OKL_ACC_GROUP_CCID --
778 -----------------------------------
779 PROCEDURE lock_row(
780 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
781 x_return_status OUT NOCOPY VARCHAR2,
782 x_msg_count OUT NOCOPY NUMBER,
783 x_msg_data OUT NOCOPY VARCHAR2,
784 p_agc_rec IN agc_rec_type) IS
785
786 E_Resource_Busy EXCEPTION;
787 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
788 CURSOR lock_csr (p_agc_rec IN agc_rec_type) IS
789 SELECT OBJECT_VERSION_NUMBER
790 FROM OKL_ACC_GROUP_CCID
791 WHERE ID = p_agc_rec.id
792 AND OBJECT_VERSION_NUMBER = p_agc_rec.object_version_number
793 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
794
795 CURSOR lchk_csr (p_agc_rec IN agc_rec_type) IS
796 SELECT OBJECT_VERSION_NUMBER
797 FROM OKL_ACC_GROUP_CCID
798 WHERE ID = p_agc_rec.id;
799 l_api_version CONSTANT NUMBER := 1;
800 l_api_name CONSTANT VARCHAR2(30) := 'SETS_lock_row';
801 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
802 l_object_version_number OKL_ACC_GROUP_CCID.OBJECT_VERSION_NUMBER%TYPE;
803 lc_object_version_number OKL_ACC_GROUP_CCID.OBJECT_VERSION_NUMBER%TYPE;
804 l_row_notfound BOOLEAN := FALSE;
805 lc_row_notfound BOOLEAN := FALSE;
806 BEGIN
807 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
808 p_init_msg_list,
809 '_PVT',
810 x_return_status);
811 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
812 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
813 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
814 RAISE Okc_Api.G_EXCEPTION_ERROR;
815 END IF;
816 BEGIN
817 OPEN lock_csr(p_agc_rec);
818 FETCH lock_csr INTO l_object_version_number;
819 l_row_notfound := lock_csr%NOTFOUND;
820 CLOSE lock_csr;
821 EXCEPTION
822 WHEN E_Resource_Busy THEN
823 IF (lock_csr%ISOPEN) THEN
824 CLOSE lock_csr;
825 END IF;
826 Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
827 RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
828 END;
829
830 IF ( l_row_notfound ) THEN
831 OPEN lchk_csr(p_agc_rec);
832 FETCH lchk_csr INTO lc_object_version_number;
833 lc_row_notfound := lchk_csr%NOTFOUND;
834 CLOSE lchk_csr;
835 END IF;
836 IF (lc_row_notfound) THEN
837 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
838 RAISE Okc_Api.G_EXCEPTION_ERROR;
839 ELSIF lc_object_version_number > p_agc_rec.object_version_number THEN
840 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
841 RAISE Okc_Api.G_EXCEPTION_ERROR;
842 ELSIF lc_object_version_number <> p_agc_rec.object_version_number THEN
843 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
844 RAISE Okc_Api.G_EXCEPTION_ERROR;
845 ELSIF lc_object_version_number = -1 THEN
846 Okc_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
847 RAISE Okc_Api.G_EXCEPTION_ERROR;
848 END IF;
849 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
850 EXCEPTION
851 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
852 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
853 (
854 l_api_name,
855 G_PKG_NAME,
856 'OKC_API.G_RET_STS_ERROR',
857 x_msg_count,
858 x_msg_data,
859 '_PVT'
860 );
861 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
862 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
863 (
864 l_api_name,
865 G_PKG_NAME,
866 'OKC_API.G_RET_STS_UNEXP_ERROR',
867 x_msg_count,
868 x_msg_data,
869 '_PVT'
870 );
871 WHEN OTHERS THEN
872 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
873 (
874 l_api_name,
875 G_PKG_NAME,
876 'OTHERS',
877 x_msg_count,
878 x_msg_data,
879 '_PVT'
880 );
881 END lock_row;
882 -------------------------------------
883 -- lock_row for:OKL_ACC_GROUP_CCID_V --
884 -------------------------------------
885 PROCEDURE lock_row(
886 p_api_version IN NUMBER,
887 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
888 x_return_status OUT NOCOPY VARCHAR2,
889 x_msg_count OUT NOCOPY NUMBER,
890 x_msg_data OUT NOCOPY VARCHAR2,
891 p_agcv_rec IN agcv_rec_type) IS
892
893 l_api_version CONSTANT NUMBER := 1;
894 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
895 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
896 l_agc_rec agc_rec_type;
897 BEGIN
898 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
899 G_PKG_NAME,
900 p_init_msg_list,
901 l_api_version,
902 p_api_version,
903 '_PVT',
904 x_return_status);
905 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
906 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
907 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
908 RAISE Okc_Api.G_EXCEPTION_ERROR;
909 END IF;
910 --------------------------------------
911 -- Move VIEW record to "Child" records
912 --------------------------------------
913 migrate(p_agcv_rec, l_agc_rec);
914 --------------------------------------------
915 -- Call the LOCK_ROW for each child record
916 --------------------------------------------
917 lock_row(
918 p_init_msg_list,
919 x_return_status,
920 x_msg_count,
921 x_msg_data,
922 l_agc_rec
923 );
924 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
925 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
926 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
927 RAISE Okc_Api.G_EXCEPTION_ERROR;
928 END IF;
929 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
930 EXCEPTION
931 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
932 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
933 (
934 l_api_name,
935 G_PKG_NAME,
936 'OKC_API.G_RET_STS_ERROR',
937 x_msg_count,
938 x_msg_data,
939 '_PVT'
940 );
941 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
942 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
943 (
944 l_api_name,
945 G_PKG_NAME,
946 'OKC_API.G_RET_STS_UNEXP_ERROR',
947 x_msg_count,
948 x_msg_data,
949 '_PVT'
950 );
951 WHEN OTHERS THEN
952 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
953 (
954 l_api_name,
955 G_PKG_NAME,
956 'OTHERS',
957 x_msg_count,
958 x_msg_data,
959 '_PVT'
960 );
961 END lock_row;
962 --------------------------------------
963 -- PL/SQL TBL lock_row for:AGCV_TBL --
964 --------------------------------------
965 PROCEDURE lock_row(
966 p_api_version IN NUMBER,
967 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
968 x_return_status OUT NOCOPY VARCHAR2,
969 x_msg_count OUT NOCOPY NUMBER,
970 x_msg_data OUT NOCOPY VARCHAR2,
971 p_agcv_tbl IN agcv_tbl_type) IS
972
973 l_api_version CONSTANT NUMBER := 1;
974 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
975 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
976 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
977 i NUMBER := 0;
978 BEGIN
979 Okc_Api.init_msg_list(p_init_msg_list);
980 -- Make sure PL/SQL table has records in it before passing
981 IF (p_agcv_tbl.COUNT > 0) THEN
982 i := p_agcv_tbl.FIRST;
983 LOOP
984 lock_row (
985 p_api_version => p_api_version,
986 p_init_msg_list => Okc_Api.G_FALSE,
987 x_return_status => x_return_status,
988 x_msg_count => x_msg_count,
989 x_msg_data => x_msg_data,
990 p_agcv_rec => p_agcv_tbl(i));
991
992 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
993 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
994 l_overall_status := x_return_status;
995 END IF;
996 END IF;
997 EXIT WHEN (i = p_agcv_tbl.LAST);
998 i := p_agcv_tbl.NEXT(i);
999 END LOOP;
1000 END IF;
1001 x_return_status := l_overall_status;
1002
1003 EXCEPTION
1004 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1005 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1006 (
1007 l_api_name,
1008 G_PKG_NAME,
1009 'OKC_API.G_RET_STS_ERROR',
1010 x_msg_count,
1011 x_msg_data,
1012 '_PVT'
1013 );
1014 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1015 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1016 (
1017 l_api_name,
1018 G_PKG_NAME,
1019 'OKC_API.G_RET_STS_UNEXP_ERROR',
1020 x_msg_count,
1021 x_msg_data,
1022 '_PVT'
1023 );
1024 WHEN OTHERS THEN
1025 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1026 (
1027 l_api_name,
1028 G_PKG_NAME,
1029 'OTHERS',
1030 x_msg_count,
1031 x_msg_data,
1032 '_PVT'
1033 );
1034 END lock_row;
1035
1036 ---------------------------------------------------------------------------
1037 -- PROCEDURE update_row
1038 ---------------------------------------------------------------------------
1039 -------------------------------------
1040 -- update_row for:OKL_ACC_GROUP_CCID --
1041 -------------------------------------
1042 PROCEDURE update_row(
1043 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1044 x_return_status OUT NOCOPY VARCHAR2,
1045 x_msg_count OUT NOCOPY NUMBER,
1046 x_msg_data OUT NOCOPY VARCHAR2,
1047 p_agc_rec IN agc_rec_type,
1048 x_agc_rec OUT NOCOPY agc_rec_type) IS
1049
1050 l_api_version CONSTANT NUMBER := 1;
1051 l_api_name CONSTANT VARCHAR2(30) := 'SETS_update_row';
1052 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1053 l_agc_rec agc_rec_type := p_agc_rec;
1054 l_def_agc_rec agc_rec_type;
1055 l_row_notfound BOOLEAN := TRUE;
1056 ----------------------------------
1057 -- FUNCTION populate_new_record --
1058 ----------------------------------
1059 FUNCTION populate_new_record (
1060 p_agc_rec IN agc_rec_type,
1061 x_agc_rec OUT NOCOPY agc_rec_type
1062 ) RETURN VARCHAR2 IS
1063 l_agc_rec agc_rec_type;
1064 l_row_notfound BOOLEAN := TRUE;
1065 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1066 BEGIN
1067 x_agc_rec := p_agc_rec;
1068 -- Get current database values
1069 l_agc_rec := get_rec(p_agc_rec, l_row_notfound);
1070 IF (l_row_notfound) THEN
1071 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1072 END IF;
1073 IF (x_agc_rec.id = Okc_Api.G_MISS_NUM)
1074 THEN
1075 x_agc_rec.id := l_agc_rec.id;
1076 END IF;
1077 IF (x_agc_rec.code_combination_id = Okc_Api.G_MISS_NUM)
1078 THEN
1079 x_agc_rec.code_combination_id := l_agc_rec.code_combination_id;
1080 END IF;
1081 IF (x_agc_rec.object_version_number = Okc_Api.G_MISS_NUM)
1082 THEN
1083 x_agc_rec.object_version_number := l_agc_rec.object_version_number;
1084 END IF;
1085 IF (x_agc_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
1086 THEN
1087 x_agc_rec.set_of_books_id := l_agc_rec.set_of_books_id;
1088 END IF;
1089 IF (x_agc_rec.acc_group_code = Okc_Api.G_MISS_CHAR)
1090 THEN
1091 x_agc_rec.acc_group_code := l_agc_rec.acc_group_code;
1092 END IF;
1093 IF (x_agc_rec.org_id = Okc_Api.G_MISS_NUM)
1094 THEN
1095 x_agc_rec.org_id := l_agc_rec.org_id;
1096 END IF;
1097 IF (x_agc_rec.created_by = Okc_Api.G_MISS_NUM)
1098 THEN
1099 x_agc_rec.created_by := l_agc_rec.created_by;
1100 END IF;
1101 IF (x_agc_rec.creation_date = Okc_Api.G_MISS_DATE)
1102 THEN
1103 x_agc_rec.creation_date := l_agc_rec.creation_date;
1104 END IF;
1105 IF (x_agc_rec.last_updated_by = Okc_Api.G_MISS_NUM)
1106 THEN
1107 x_agc_rec.last_updated_by := l_agc_rec.last_updated_by;
1108 END IF;
1109 IF (x_agc_rec.last_update_date = Okc_Api.G_MISS_DATE)
1110 THEN
1111 x_agc_rec.last_update_date := l_agc_rec.last_update_date;
1112 END IF;
1113 IF (x_agc_rec.last_update_login = Okc_Api.G_MISS_NUM)
1114 THEN
1115 x_agc_rec.last_update_login := l_agc_rec.last_update_login;
1116 END IF;
1117 RETURN(l_return_status);
1118 END populate_new_record;
1119 -----------------------------------------
1120 -- Set_Attributes for:OKL_ACC_GROUP_CCID --
1121 -----------------------------------------
1122 FUNCTION Set_Attributes (
1123 p_agc_rec IN agc_rec_type,
1124 x_agc_rec OUT NOCOPY agc_rec_type
1125 ) RETURN VARCHAR2 IS
1126 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1127 BEGIN
1128 x_agc_rec := p_agc_rec;
1129 RETURN(l_return_status);
1130 END Set_Attributes;
1131 BEGIN
1132 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1133 p_init_msg_list,
1134 '_PVT',
1135 x_return_status);
1136 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1137 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1138 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1139 RAISE Okc_Api.G_EXCEPTION_ERROR;
1140 END IF;
1141 --- Setting item attributes
1142 l_return_status := Set_Attributes(
1143 p_agc_rec, -- IN
1144 l_agc_rec); -- OUT
1145 --- If any errors happen abort API
1146 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1147 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1148 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1149 RAISE Okc_Api.G_EXCEPTION_ERROR;
1150 END IF;
1151 l_return_status := populate_new_record(l_agc_rec, l_def_agc_rec);
1152 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1153 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1154 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1155 RAISE Okc_Api.G_EXCEPTION_ERROR;
1156 END IF;
1157 UPDATE OKL_ACC_GROUP_CCID
1158 SET CODE_COMBINATION_ID = l_def_agc_rec.code_combination_id,
1159 OBJECT_VERSION_NUMBER = l_def_agc_rec.object_version_number,
1160 SET_OF_BOOKS_ID = l_def_agc_rec.set_of_books_id,
1161 ACC_GROUP_CODE = l_def_agc_rec.acc_group_code,
1162 ORG_ID = l_def_agc_rec.org_id,
1163 CREATED_BY = l_def_agc_rec.created_by,
1164 CREATION_DATE = l_def_agc_rec.creation_date,
1165 LAST_UPDATED_BY = l_def_agc_rec.last_updated_by,
1166 LAST_UPDATE_DATE = l_def_agc_rec.last_update_date,
1167 LAST_UPDATE_LOGIN = l_def_agc_rec.last_update_login
1168 WHERE ID = l_def_agc_rec.id;
1169
1170 x_agc_rec := l_def_agc_rec;
1171 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1172 EXCEPTION
1173 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1174 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1175 (
1176 l_api_name,
1177 G_PKG_NAME,
1178 'OKC_API.G_RET_STS_ERROR',
1179 x_msg_count,
1180 x_msg_data,
1181 '_PVT'
1182 );
1183 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1184 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1185 (
1186 l_api_name,
1187 G_PKG_NAME,
1188 'OKC_API.G_RET_STS_UNEXP_ERROR',
1189 x_msg_count,
1190 x_msg_data,
1191 '_PVT'
1192 );
1193 WHEN OTHERS THEN
1194 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1195 (
1196 l_api_name,
1197 G_PKG_NAME,
1198 'OTHERS',
1199 x_msg_count,
1200 x_msg_data,
1201 '_PVT'
1202 );
1203 END update_row;
1204 ---------------------------------------
1205 -- update_row for:OKL_ACC_GROUP_CCID_V --
1206 ---------------------------------------
1207 PROCEDURE update_row(
1208 p_api_version IN NUMBER,
1209 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1210 x_return_status OUT NOCOPY VARCHAR2,
1211 x_msg_count OUT NOCOPY NUMBER,
1212 x_msg_data OUT NOCOPY VARCHAR2,
1213 p_agcv_rec IN agcv_rec_type,
1214 x_agcv_rec OUT NOCOPY agcv_rec_type) IS
1215
1216 l_api_version CONSTANT NUMBER := 1;
1217 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
1218 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1219 l_agcv_rec agcv_rec_type := p_agcv_rec;
1220 l_def_agcv_rec agcv_rec_type;
1221 l_agc_rec agc_rec_type;
1222 lx_agc_rec agc_rec_type;
1223 -------------------------------
1224 -- FUNCTION fill_who_columns --
1225 -------------------------------
1226 FUNCTION fill_who_columns (
1227 p_agcv_rec IN agcv_rec_type
1228 ) RETURN agcv_rec_type IS
1229 l_agcv_rec agcv_rec_type := p_agcv_rec;
1230 BEGIN
1231 l_agcv_rec.LAST_UPDATE_DATE := SYSDATE;
1232 l_agcv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
1233 l_agcv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1234 RETURN(l_agcv_rec);
1235 END fill_who_columns;
1236 ----------------------------------
1237 -- FUNCTION populate_new_record --
1238 ----------------------------------
1239 FUNCTION populate_new_record (
1240 p_agcv_rec IN agcv_rec_type,
1241 x_agcv_rec OUT NOCOPY agcv_rec_type
1242 ) RETURN VARCHAR2 IS
1243 l_agcv_rec agcv_rec_type;
1244 l_row_notfound BOOLEAN := TRUE;
1245 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1246 BEGIN
1247 x_agcv_rec := p_agcv_rec;
1248 -- Get current database values
1249 l_agcv_rec := get_rec(p_agcv_rec, l_row_notfound);
1250 IF (l_row_notfound) THEN
1251 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1252 END IF;
1253 IF (x_agcv_rec.id = Okc_Api.G_MISS_NUM)
1254 THEN
1255 x_agcv_rec.id := l_agcv_rec.id;
1256 END IF;
1257 IF (x_agcv_rec.object_version_number = Okc_Api.G_MISS_NUM)
1258 THEN
1259 x_agcv_rec.object_version_number := l_agcv_rec.object_version_number;
1260 END IF;
1261 IF (x_agcv_rec.acc_group_code = Okc_Api.G_MISS_CHAR)
1262 THEN
1263 x_agcv_rec.acc_group_code := l_agcv_rec.acc_group_code;
1264 END IF;
1265 IF (x_agcv_rec.code_combination_id = Okc_Api.G_MISS_NUM)
1266 THEN
1267 x_agcv_rec.code_combination_id := l_agcv_rec.code_combination_id;
1268 END IF;
1269 IF (x_agcv_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
1270 THEN
1271 x_agcv_rec.set_of_books_id := l_agcv_rec.set_of_books_id;
1272 END IF;
1273 IF (x_agcv_rec.org_id = Okc_Api.G_MISS_NUM)
1274 THEN
1275 x_agcv_rec.org_id := l_agcv_rec.org_id;
1276 END IF;
1277 IF (x_agcv_rec.created_by = Okc_Api.G_MISS_NUM)
1278 THEN
1279 x_agcv_rec.created_by := l_agcv_rec.created_by;
1280 END IF;
1281 IF (x_agcv_rec.creation_date = Okc_Api.G_MISS_DATE)
1282 THEN
1283 x_agcv_rec.creation_date := l_agcv_rec.creation_date;
1284 END IF;
1285 IF (x_agcv_rec.last_updated_by = Okc_Api.G_MISS_NUM)
1286 THEN
1287 x_agcv_rec.last_updated_by := l_agcv_rec.last_updated_by;
1288 END IF;
1289 IF (x_agcv_rec.last_update_date = Okc_Api.G_MISS_DATE)
1290 THEN
1291 x_agcv_rec.last_update_date := l_agcv_rec.last_update_date;
1292 END IF;
1293 IF (x_agcv_rec.last_update_login = Okc_Api.G_MISS_NUM)
1294 THEN
1295 x_agcv_rec.last_update_login := l_agcv_rec.last_update_login;
1296 END IF;
1297 RETURN(l_return_status);
1298 END populate_new_record;
1299 -------------------------------------------
1300 -- Set_Attributes for:OKL_ACC_GROUP_CCID_V --
1301 -------------------------------------------
1302 FUNCTION Set_Attributes (
1303 p_agcv_rec IN agcv_rec_type,
1304 x_agcv_rec OUT NOCOPY agcv_rec_type
1305 ) RETURN VARCHAR2 IS
1306 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1307 BEGIN
1308 x_agcv_rec := p_agcv_rec;
1309 x_agcv_rec.OBJECT_VERSION_NUMBER := NVL(x_agcv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
1310 RETURN(l_return_status);
1311 END Set_Attributes;
1312 BEGIN
1313 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1314 G_PKG_NAME,
1315 p_init_msg_list,
1316 l_api_version,
1317 p_api_version,
1318 '_PVT',
1319 x_return_status);
1320 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1321 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1322 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1323 RAISE Okc_Api.G_EXCEPTION_ERROR;
1324 END IF;
1325 --- Setting item attributes
1326 l_return_status := Set_Attributes(
1327 p_agcv_rec, -- IN
1328 l_agcv_rec); -- OUT
1329 --- If any errors happen abort API
1330 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1331 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1332 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1333 RAISE Okc_Api.G_EXCEPTION_ERROR;
1334 END IF;
1335 l_return_status := populate_new_record(l_agcv_rec, l_def_agcv_rec);
1336 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1337 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1338 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1339 RAISE Okc_Api.G_EXCEPTION_ERROR;
1340 END IF;
1341 l_def_agcv_rec := fill_who_columns(l_def_agcv_rec);
1342 --- Validate all non-missing attributes (Item Level Validation)
1343 l_return_status := Validate_Attributes(l_def_agcv_rec);
1344 --- If any errors happen abort API
1345 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1346 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1347 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1348 RAISE Okc_Api.G_EXCEPTION_ERROR;
1349 END IF;
1350 l_return_status := Validate_Record(l_def_agcv_rec);
1351 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1352 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1353 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1354 RAISE Okc_Api.G_EXCEPTION_ERROR;
1355 END IF;
1356
1357 --------------------------------------
1358 -- Move VIEW record to "Child" records
1359 --------------------------------------
1360 migrate(l_def_agcv_rec, l_agc_rec);
1361 --------------------------------------------
1362 -- Call the UPDATE_ROW for each child record
1363 --------------------------------------------
1364 update_row(
1365 p_init_msg_list,
1366 x_return_status,
1367 x_msg_count,
1368 x_msg_data,
1369 l_agc_rec,
1370 lx_agc_rec
1371 );
1372 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1373 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1374 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1375 RAISE Okc_Api.G_EXCEPTION_ERROR;
1376 END IF;
1377 migrate(lx_agc_rec, l_def_agcv_rec);
1378 x_agcv_rec := l_def_agcv_rec;
1379 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1380 EXCEPTION
1381 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1382 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1383 (
1384 l_api_name,
1385 G_PKG_NAME,
1386 'OKC_API.G_RET_STS_ERROR',
1387 x_msg_count,
1388 x_msg_data,
1389 '_PVT'
1390 );
1391 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1392 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1393 (
1394 l_api_name,
1395 G_PKG_NAME,
1396 'OKC_API.G_RET_STS_UNEXP_ERROR',
1397 x_msg_count,
1398 x_msg_data,
1399 '_PVT'
1400 );
1401 WHEN OTHERS THEN
1402 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1403 (
1404 l_api_name,
1405 G_PKG_NAME,
1406 'OTHERS',
1407 x_msg_count,
1408 x_msg_data,
1409 '_PVT'
1410 );
1411 END update_row;
1412 ----------------------------------------
1413 -- PL/SQL TBL update_row for:AGCV_TBL --
1414 ----------------------------------------
1415 PROCEDURE update_row(
1416 p_api_version IN NUMBER,
1417 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1418 x_return_status OUT NOCOPY VARCHAR2,
1419 x_msg_count OUT NOCOPY NUMBER,
1420 x_msg_data OUT NOCOPY VARCHAR2,
1421 p_agcv_tbl IN agcv_tbl_type,
1422 x_agcv_tbl OUT NOCOPY agcv_tbl_type) IS
1423
1424 l_api_version CONSTANT NUMBER := 1;
1425 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
1426 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1427 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1428 i NUMBER := 0;
1429 BEGIN
1430 Okc_Api.init_msg_list(p_init_msg_list);
1431 -- Make sure PL/SQL table has records in it before passing
1432 IF (p_agcv_tbl.COUNT > 0) THEN
1433 i := p_agcv_tbl.FIRST;
1434 LOOP
1435 update_row (
1436 p_api_version => p_api_version,
1437 p_init_msg_list => Okc_Api.G_FALSE,
1438 x_return_status => x_return_status,
1439 x_msg_count => x_msg_count,
1440 x_msg_data => x_msg_data,
1441 p_agcv_rec => p_agcv_tbl(i),
1442 x_agcv_rec => x_agcv_tbl(i));
1443
1444 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1445 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1446 l_overall_status := x_return_status;
1447 END IF;
1448 END IF;
1449
1450 EXIT WHEN (i = p_agcv_tbl.LAST);
1451 i := p_agcv_tbl.NEXT(i);
1452 END LOOP;
1453 END IF;
1454
1455 x_return_status := l_overall_status;
1456
1457 EXCEPTION
1458 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1459 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1460 (
1461 l_api_name,
1462 G_PKG_NAME,
1463 'OKC_API.G_RET_STS_ERROR',
1464 x_msg_count,
1465 x_msg_data,
1466 '_PVT'
1467 );
1468 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1469 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1470 (
1471 l_api_name,
1472 G_PKG_NAME,
1473 'OKC_API.G_RET_STS_UNEXP_ERROR',
1474 x_msg_count,
1475 x_msg_data,
1476 '_PVT'
1477 );
1478 WHEN OTHERS THEN
1479 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1480 (
1481 l_api_name,
1482 G_PKG_NAME,
1483 'OTHERS',
1484 x_msg_count,
1485 x_msg_data,
1486 '_PVT'
1487 );
1488 END update_row;
1489
1490 ---------------------------------------------------------------------------
1491 -- PROCEDURE delete_row
1492 ---------------------------------------------------------------------------
1493 -------------------------------------
1494 -- delete_row for:OKL_ACC_GROUP_CCID --
1495 -------------------------------------
1496 PROCEDURE delete_row(
1497 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1498 x_return_status OUT NOCOPY VARCHAR2,
1499 x_msg_count OUT NOCOPY NUMBER,
1500 x_msg_data OUT NOCOPY VARCHAR2,
1501 p_agc_rec IN agc_rec_type) IS
1502
1503 l_api_version CONSTANT NUMBER := 1;
1504 l_api_name CONSTANT VARCHAR2(30) := 'SETS_delete_row';
1505 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1506 l_agc_rec agc_rec_type:= p_agc_rec;
1507 l_row_notfound BOOLEAN := TRUE;
1508 BEGIN
1509 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1510 p_init_msg_list,
1511 '_PVT',
1512 x_return_status);
1513 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1514 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1515 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1516 RAISE Okc_Api.G_EXCEPTION_ERROR;
1517 END IF;
1518
1519 DELETE FROM OKL_ACC_GROUP_CCID
1520 WHERE ID = l_agc_rec.id;
1521
1522 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1523
1524 EXCEPTION
1525 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1526 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1527 (
1528 l_api_name,
1529 G_PKG_NAME,
1530 'OKC_API.G_RET_STS_ERROR',
1531 x_msg_count,
1532 x_msg_data,
1533 '_PVT'
1534 );
1535 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1536 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1537 (
1538 l_api_name,
1539 G_PKG_NAME,
1540 'OKC_API.G_RET_STS_UNEXP_ERROR',
1541 x_msg_count,
1542 x_msg_data,
1543 '_PVT'
1544 );
1545 WHEN OTHERS THEN
1546 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1547 (
1548 l_api_name,
1549 G_PKG_NAME,
1550 'OTHERS',
1551 x_msg_count,
1552 x_msg_data,
1553 '_PVT'
1554 );
1555 END delete_row;
1556 ---------------------------------------
1557 -- delete_row for:OKL_ACC_GROUP_CCID_V --
1558 ---------------------------------------
1559 PROCEDURE delete_row(
1560 p_api_version IN NUMBER,
1561 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1562 x_return_status OUT NOCOPY VARCHAR2,
1563 x_msg_count OUT NOCOPY NUMBER,
1564 x_msg_data OUT NOCOPY VARCHAR2,
1565 p_agcv_rec IN agcv_rec_type) IS
1566
1567 l_api_version CONSTANT NUMBER := 1;
1568 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
1569 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1570 l_agcv_rec agcv_rec_type := p_agcv_rec;
1571 l_agc_rec agc_rec_type;
1572 BEGIN
1573 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1574 G_PKG_NAME,
1575 p_init_msg_list,
1576 l_api_version,
1577 p_api_version,
1578 '_PVT',
1579 x_return_status);
1580 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1581 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1582 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1583 RAISE Okc_Api.G_EXCEPTION_ERROR;
1584 END IF;
1585 --------------------------------------
1586 -- Move VIEW record to "Child" records
1587 --------------------------------------
1588 migrate(l_agcv_rec, l_agc_rec);
1589 --------------------------------------------
1590 -- Call the DELETE_ROW for each child record
1591 --------------------------------------------
1592 delete_row(
1593 p_init_msg_list,
1594 x_return_status,
1595 x_msg_count,
1596 x_msg_data,
1597 l_agc_rec
1598 );
1599 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1600 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1601 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1602 RAISE Okc_Api.G_EXCEPTION_ERROR;
1603 END IF;
1604 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1605 EXCEPTION
1606 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1607 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1608 (
1609 l_api_name,
1610 G_PKG_NAME,
1611 'OKC_API.G_RET_STS_ERROR',
1612 x_msg_count,
1613 x_msg_data,
1614 '_PVT'
1615 );
1616 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1617 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1618 (
1619 l_api_name,
1620 G_PKG_NAME,
1621 'OKC_API.G_RET_STS_UNEXP_ERROR',
1622 x_msg_count,
1623 x_msg_data,
1624 '_PVT'
1625 );
1626 WHEN OTHERS THEN
1627 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1628 (
1629 l_api_name,
1630 G_PKG_NAME,
1631 'OTHERS',
1632 x_msg_count,
1633 x_msg_data,
1634 '_PVT'
1635 );
1636 END delete_row;
1637 ----------------------------------------
1638 -- PL/SQL TBL delete_row for:AGCV_TBL --
1639 ----------------------------------------
1640 PROCEDURE delete_row(
1641 p_api_version IN NUMBER,
1642 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1643 x_return_status OUT NOCOPY VARCHAR2,
1644 x_msg_count OUT NOCOPY NUMBER,
1645 x_msg_data OUT NOCOPY VARCHAR2,
1646 p_agcv_tbl IN agcv_tbl_type) IS
1647
1648 l_api_version CONSTANT NUMBER := 1;
1649 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
1650 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1651 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1652 i NUMBER := 0;
1653 BEGIN
1654 Okc_Api.init_msg_list(p_init_msg_list);
1655 -- Make sure PL/SQL table has records in it before passing
1656 IF (p_agcv_tbl.COUNT > 0) THEN
1657 i := p_agcv_tbl.FIRST;
1658 LOOP
1659 delete_row (
1660 p_api_version => p_api_version,
1661 p_init_msg_list => Okc_Api.G_FALSE,
1662 x_return_status => x_return_status,
1663 x_msg_count => x_msg_count,
1664 x_msg_data => x_msg_data,
1665 p_agcv_rec => p_agcv_tbl(i));
1666
1667 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1668 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1669 l_overall_status := x_return_status;
1670 END IF;
1671 END IF;
1672
1673 EXIT WHEN (i = p_agcv_tbl.LAST);
1674 i := p_agcv_tbl.NEXT(i);
1675 END LOOP;
1676 END IF;
1677 x_return_status := l_overall_status;
1678 EXCEPTION
1679 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1680 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1681 (
1682 l_api_name,
1683 G_PKG_NAME,
1684 'OKC_API.G_RET_STS_ERROR',
1685 x_msg_count,
1686 x_msg_data,
1687 '_PVT'
1688 );
1689 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1690 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1691 (
1692 l_api_name,
1693 G_PKG_NAME,
1694 'OKC_API.G_RET_STS_UNEXP_ERROR',
1695 x_msg_count,
1696 x_msg_data,
1697 '_PVT'
1698 );
1699 WHEN OTHERS THEN
1700 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1701 (
1702 l_api_name,
1703 G_PKG_NAME,
1704 'OTHERS',
1705 x_msg_count,
1706 x_msg_data,
1707 '_PVT'
1708 );
1709 END delete_row;
1710 END OKL_AGC_PVT;