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