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