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