[Home] [Help]
PACKAGE BODY: APPS.OKS_BSD_PVT
Source
1 PACKAGE BODY OKS_BSD_PVT AS
2 /* $Header: OKSSBSDB.pls 120.0 2005/05/25 17:54:55 appldev 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: OKS_BILL_SUB_LINE_DTLS
37 ---------------------------------------------------------------------------
38 FUNCTION get_rec (
39 p_bsd_rec IN bsd_rec_type,
40 x_no_data_found OUT NOCOPY BOOLEAN
41 ) RETURN bsd_rec_type IS
42 CURSOR bsd_pk_csr (p_id IN NUMBER) IS
43 SELECT
44 ID,
45 BSL_ID,
46 BSL_ID_AVERAGED,
47 BSD_ID,
48 BSD_ID_APPLIED,
49 CCR_ID,
50 CGR_ID,
51 START_READING,
52 END_READING,
53 BASE_READING,
54 ESTIMATED_QUANTITY,
55 UNIT_OF_MEASURE,
56 AMCV_YN,
57 RESULT,
58 AMOUNT,
59 OBJECT_VERSION_NUMBER,
60 CREATED_BY,
61 CREATION_DATE,
62 LAST_UPDATED_BY,
63 LAST_UPDATE_DATE,
64 FIXED,
65 ACTUAL,
66 DEFAULT_DEFAULT,
67 ADJUSTMENT_LEVEL,
68 ADJUSTMENT_MINIMUM,
69 LAST_UPDATE_LOGIN,
70 ATTRIBUTE_CATEGORY,
71 ATTRIBUTE1,
72 ATTRIBUTE2,
73 ATTRIBUTE3,
74 ATTRIBUTE4,
75 ATTRIBUTE5,
76 ATTRIBUTE6,
77 ATTRIBUTE7,
78 ATTRIBUTE8,
79 ATTRIBUTE9,
80 ATTRIBUTE10,
81 ATTRIBUTE11,
82 ATTRIBUTE12,
83 ATTRIBUTE13,
84 ATTRIBUTE14,
85 ATTRIBUTE15
86 FROM Oks_Bill_Sub_Line_Dtls
87 WHERE oks_bill_sub_line_dtls.id = p_id;
88 l_bsd_pk bsd_pk_csr%ROWTYPE;
89 l_bsd_rec bsd_rec_type;
90 BEGIN
91 x_no_data_found := TRUE;
92 -- Get current database values
93 OPEN bsd_pk_csr (p_bsd_rec.id);
94 FETCH bsd_pk_csr INTO
95 l_bsd_rec.ID,
96 l_bsd_rec.BSL_ID,
97 l_bsd_rec.BSL_ID_AVERAGED,
98 l_bsd_rec.BSD_ID,
99 l_bsd_rec.BSD_ID_APPLIED,
100 l_bsd_rec.CCR_ID,
101 l_bsd_rec.CGR_ID,
102 l_bsd_rec.START_READING,
103 l_bsd_rec.END_READING,
104 l_bsd_rec.BASE_READING,
105 l_bsd_rec.ESTIMATED_QUANTITY,
106 l_bsd_rec.UNIT_OF_MEASURE,
107 l_bsd_rec.AMCV_YN,
108 l_bsd_rec.RESULT,
109 l_bsd_rec.AMOUNT,
110 l_bsd_rec.OBJECT_VERSION_NUMBER,
111 l_bsd_rec.CREATED_BY,
112 l_bsd_rec.CREATION_DATE,
113 l_bsd_rec.LAST_UPDATED_BY,
114 l_bsd_rec.LAST_UPDATE_DATE,
115 l_bsd_rec.FIXED,
116 l_bsd_rec.ACTUAL,
117 l_bsd_rec.DEFAULT_DEFAULT,
118 l_bsd_rec.ADJUSTMENT_LEVEL,
119 l_bsd_rec.ADJUSTMENT_MINIMUM,
120 l_bsd_rec.LAST_UPDATE_LOGIN,
121 l_bsd_rec.ATTRIBUTE_CATEGORY,
122 l_bsd_rec.ATTRIBUTE1,
123 l_bsd_rec.ATTRIBUTE2,
124 l_bsd_rec.ATTRIBUTE3,
125 l_bsd_rec.ATTRIBUTE4,
126 l_bsd_rec.ATTRIBUTE5,
127 l_bsd_rec.ATTRIBUTE6,
128 l_bsd_rec.ATTRIBUTE7,
129 l_bsd_rec.ATTRIBUTE8,
130 l_bsd_rec.ATTRIBUTE9,
131 l_bsd_rec.ATTRIBUTE10,
132 l_bsd_rec.ATTRIBUTE11,
133 l_bsd_rec.ATTRIBUTE12,
134 l_bsd_rec.ATTRIBUTE13,
135 l_bsd_rec.ATTRIBUTE14,
136 l_bsd_rec.ATTRIBUTE15;
137 x_no_data_found := bsd_pk_csr%NOTFOUND;
138 CLOSE bsd_pk_csr;
139 RETURN(l_bsd_rec);
140 END get_rec;
141
142 FUNCTION get_rec (
143 p_bsd_rec IN bsd_rec_type
144 ) RETURN bsd_rec_type IS
145 l_row_notfound BOOLEAN := TRUE;
146 BEGIN
147 RETURN(get_rec(p_bsd_rec, l_row_notfound));
148 END get_rec;
149 ---------------------------------------------------------------------------
150 -- FUNCTION get_rec for: OKS_BILL_SUBLINE_DTLS_V
151 ---------------------------------------------------------------------------
152 FUNCTION get_rec (
153 p_bsdv_rec IN bsdv_rec_type,
154 x_no_data_found OUT NOCOPY BOOLEAN
155 ) RETURN bsdv_rec_type IS
156 CURSOR okc_bsdv_pk_csr (p_id IN NUMBER) IS
157 SELECT
158 ID,
159 OBJECT_VERSION_NUMBER,
160 BSL_ID,
161 BSL_ID_AVERAGED,
162 BSD_ID,
163 BSD_ID_APPLIED,
164 CCR_ID,
165 CGR_ID,
166 START_READING,
167 END_READING,
168 BASE_READING,
169 ESTIMATED_QUANTITY,
170 UNIT_OF_MEASURE,
171 FIXED,
172 ACTUAL,
173 DEFAULT_DEFAULT,
174 AMCV_YN,
175 ADJUSTMENT_LEVEL,
176 ADJUSTMENT_MINIMUM,
177 RESULT,
178 AMOUNT,
179 ATTRIBUTE_CATEGORY,
180 ATTRIBUTE1,
181 ATTRIBUTE2,
182 ATTRIBUTE3,
183 ATTRIBUTE4,
184 ATTRIBUTE5,
185 ATTRIBUTE6,
186 ATTRIBUTE7,
187 ATTRIBUTE8,
188 ATTRIBUTE9,
189 ATTRIBUTE10,
190 ATTRIBUTE11,
191 ATTRIBUTE12,
192 ATTRIBUTE13,
193 ATTRIBUTE14,
194 ATTRIBUTE15,
195 CREATED_BY,
196 CREATION_DATE,
197 LAST_UPDATED_BY,
198 LAST_UPDATE_DATE,
199 LAST_UPDATE_LOGIN
200 FROM Oks_Bill_Subline_Dtls_V
201 WHERE oks_bill_subline_dtls_v.id = p_id;
202 l_okc_bsdv_pk okc_bsdv_pk_csr%ROWTYPE;
203 l_bsdv_rec bsdv_rec_type;
204 BEGIN
205 x_no_data_found := TRUE;
206 -- Get current database values
207 OPEN okc_bsdv_pk_csr (p_bsdv_rec.id);
208 FETCH okc_bsdv_pk_csr INTO
209 l_bsdv_rec.ID,
210 l_bsdv_rec.OBJECT_VERSION_NUMBER,
211 l_bsdv_rec.BSL_ID,
212 l_bsdv_rec.BSL_ID_AVERAGED,
213 l_bsdv_rec.BSD_ID,
214 l_bsdv_rec.BSD_ID_APPLIED,
215 l_bsdv_rec.CCR_ID,
216 l_bsdv_rec.CGR_ID,
217 l_bsdv_rec.START_READING,
218 l_bsdv_rec.END_READING,
219 l_bsdv_rec.BASE_READING,
220 l_bsdv_rec.ESTIMATED_QUANTITY,
221 l_bsdv_rec.UNIT_OF_MEASURE,
222 l_bsdv_rec.FIXED,
223 l_bsdv_rec.ACTUAL,
224 l_bsdv_rec.DEFAULT_DEFAULT,
225 l_bsdv_rec.AMCV_YN,
226 l_bsdv_rec.ADJUSTMENT_LEVEL,
227 l_bsdv_rec.ADJUSTMENT_MINIMUM,
228 l_bsdv_rec.RESULT,
229 l_bsdv_rec.AMOUNT,
230 l_bsdv_rec.ATTRIBUTE_CATEGORY,
231 l_bsdv_rec.ATTRIBUTE1,
232 l_bsdv_rec.ATTRIBUTE2,
233 l_bsdv_rec.ATTRIBUTE3,
234 l_bsdv_rec.ATTRIBUTE4,
235 l_bsdv_rec.ATTRIBUTE5,
236 l_bsdv_rec.ATTRIBUTE6,
237 l_bsdv_rec.ATTRIBUTE7,
238 l_bsdv_rec.ATTRIBUTE8,
239 l_bsdv_rec.ATTRIBUTE9,
240 l_bsdv_rec.ATTRIBUTE10,
241 l_bsdv_rec.ATTRIBUTE11,
242 l_bsdv_rec.ATTRIBUTE12,
243 l_bsdv_rec.ATTRIBUTE13,
244 l_bsdv_rec.ATTRIBUTE14,
245 l_bsdv_rec.ATTRIBUTE15,
246 l_bsdv_rec.CREATED_BY,
247 l_bsdv_rec.CREATION_DATE,
248 l_bsdv_rec.LAST_UPDATED_BY,
249 l_bsdv_rec.LAST_UPDATE_DATE,
250 l_bsdv_rec.LAST_UPDATE_LOGIN;
251 x_no_data_found := okc_bsdv_pk_csr%NOTFOUND;
252 CLOSE okc_bsdv_pk_csr;
253 RETURN(l_bsdv_rec);
254 END get_rec;
255
256 FUNCTION get_rec (
257 p_bsdv_rec IN bsdv_rec_type
258 ) RETURN bsdv_rec_type IS
259 l_row_notfound BOOLEAN := TRUE;
260 BEGIN
261 RETURN(get_rec(p_bsdv_rec, l_row_notfound));
262 END get_rec;
263
264 -------------------------------------------------------------
265 -- FUNCTION null_out_defaults for: OKS_BILL_SUBLINE_DTLS_V --
266 -------------------------------------------------------------
267 FUNCTION null_out_defaults (
268 p_bsdv_rec IN bsdv_rec_type
269 ) RETURN bsdv_rec_type IS
270 l_bsdv_rec bsdv_rec_type := p_bsdv_rec;
271 BEGIN
272 IF (l_bsdv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
273 l_bsdv_rec.object_version_number := NULL;
274 END IF;
275 IF (l_bsdv_rec.bsl_id = OKC_API.G_MISS_NUM) THEN
276 l_bsdv_rec.bsl_id := NULL;
277 END IF;
278 IF (l_bsdv_rec.bsl_id_averaged = OKC_API.G_MISS_NUM) THEN
279 l_bsdv_rec.bsl_id_averaged := NULL;
280 END IF;
281 IF (l_bsdv_rec.bsd_id = OKC_API.G_MISS_NUM) THEN
282 l_bsdv_rec.bsd_id := NULL;
283 END IF;
284 IF (l_bsdv_rec.bsd_id_applied = OKC_API.G_MISS_NUM) THEN
285 l_bsdv_rec.bsd_id_applied := NULL;
286 END IF;
287 IF (l_bsdv_rec.ccr_id = OKC_API.G_MISS_NUM) THEN
288 l_bsdv_rec.ccr_id := NULL;
289 END IF;
290 IF (l_bsdv_rec.cgr_id = OKC_API.G_MISS_NUM) THEN
291 l_bsdv_rec.cgr_id := NULL;
292 END IF;
293 IF (l_bsdv_rec.start_reading = OKC_API.G_MISS_NUM) THEN
294 l_bsdv_rec.start_reading := NULL;
295 END IF;
296 IF (l_bsdv_rec.end_reading = OKC_API.G_MISS_NUM) THEN
297 l_bsdv_rec.end_reading := NULL;
298 END IF;
299 IF (l_bsdv_rec.base_reading = OKC_API.G_MISS_NUM) THEN
300 l_bsdv_rec.base_reading := NULL;
301 END IF;
302 IF (l_bsdv_rec.estimated_quantity = OKC_API.G_MISS_NUM) THEN
303 l_bsdv_rec.estimated_quantity := NULL;
304 END IF;
305 IF (l_bsdv_rec.unit_of_measure = OKC_API.G_MISS_CHAR) THEN
306 l_bsdv_rec.unit_of_measure := NULL;
307 END IF;
308 IF (l_bsdv_rec.fixed = OKC_API.G_MISS_NUM) THEN
309 l_bsdv_rec.fixed := NULL;
310 END IF;
311 IF (l_bsdv_rec.actual = OKC_API.G_MISS_NUM) THEN
312 l_bsdv_rec.actual := NULL;
313 END IF;
314 IF (l_bsdv_rec.default_default = OKC_API.G_MISS_NUM) THEN
315 l_bsdv_rec.default_default := NULL;
316 END IF;
317 IF (l_bsdv_rec.amcv_yn = OKC_API.G_MISS_CHAR) THEN
318 l_bsdv_rec.amcv_yn := NULL;
319 END IF;
320 IF (l_bsdv_rec.adjustment_level = OKC_API.G_MISS_NUM) THEN
321 l_bsdv_rec.adjustment_level := NULL;
322 END IF;
323 IF (l_bsdv_rec.adjustment_minimum = OKC_API.G_MISS_NUM) THEN
324 l_bsdv_rec.adjustment_minimum := NULL;
325 END IF;
326 IF (l_bsdv_rec.result = OKC_API.G_MISS_NUM) THEN
327 l_bsdv_rec.result := NULL;
328 END IF;
329 IF (l_bsdv_rec.amount = OKC_API.G_MISS_NUM) THEN
330 l_bsdv_rec.amount := NULL;
331 END IF;
332 IF (l_bsdv_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
333 l_bsdv_rec.attribute_category := NULL;
334 END IF;
335 IF (l_bsdv_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
336 l_bsdv_rec.attribute1 := NULL;
337 END IF;
338 IF (l_bsdv_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
339 l_bsdv_rec.attribute2 := NULL;
340 END IF;
341 IF (l_bsdv_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
342 l_bsdv_rec.attribute3 := NULL;
343 END IF;
344 IF (l_bsdv_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
345 l_bsdv_rec.attribute4 := NULL;
346 END IF;
347 IF (l_bsdv_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
348 l_bsdv_rec.attribute5 := NULL;
349 END IF;
350 IF (l_bsdv_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
351 l_bsdv_rec.attribute6 := NULL;
352 END IF;
353 IF (l_bsdv_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
354 l_bsdv_rec.attribute7 := NULL;
355 END IF;
356 IF (l_bsdv_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
357 l_bsdv_rec.attribute8 := NULL;
358 END IF;
359 IF (l_bsdv_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
360 l_bsdv_rec.attribute9 := NULL;
361 END IF;
362 IF (l_bsdv_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
363 l_bsdv_rec.attribute10 := NULL;
364 END IF;
365 IF (l_bsdv_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
366 l_bsdv_rec.attribute11 := NULL;
367 END IF;
368 IF (l_bsdv_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
369 l_bsdv_rec.attribute12 := NULL;
370 END IF;
371 IF (l_bsdv_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
372 l_bsdv_rec.attribute13 := NULL;
373 END IF;
374 IF (l_bsdv_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
375 l_bsdv_rec.attribute14 := NULL;
376 END IF;
377 IF (l_bsdv_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
378 l_bsdv_rec.attribute15 := NULL;
379 END IF;
380 IF (l_bsdv_rec.created_by = OKC_API.G_MISS_NUM) THEN
381 l_bsdv_rec.created_by := NULL;
382 END IF;
383 IF (l_bsdv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
384 l_bsdv_rec.creation_date := NULL;
385 END IF;
386 IF (l_bsdv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
387 l_bsdv_rec.last_updated_by := NULL;
388 END IF;
389 IF (l_bsdv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
390 l_bsdv_rec.last_update_date := NULL;
391 END IF;
392 IF (l_bsdv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
393 l_bsdv_rec.last_update_login := NULL;
394 END IF;
395 RETURN(l_bsdv_rec);
396 END null_out_defaults;
397 ---------------------------------------------------------------------------
398 -- PROCEDURE Validate_Attributes
399 ---------------------------------------------------------------------------
400 PROCEDURE validate_id(x_return_status OUT NOCOPY varchar2,
401 p_id IN Number)
402 Is
403 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
404 Begin
405
406 x_return_status := OKC_API.G_RET_STS_SUCCESS;
407
408 If p_id = OKC_API.G_MISS_NUM OR
409 p_id IS NULL
410 Then
411 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
412 l_return_status := OKC_API.G_RET_STS_ERROR;
413 End If;
414
415 Exception
416 When G_EXCEPTION_HALT_VALIDATION THEN
417 x_return_status := l_return_status;
418 NULL;
419 When OTHERS THEN
420 -- store SQL error message on message stack for caller
421 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
422 p_msg_name => g_unexpected_error,
423 p_token1 => g_sqlcode_token,
424 p_token1_value => sqlcode,
425 p_token2 => g_sqlerrm_token,
426 p_token2_value => sqlerrm);
427
428 -- notify caller of an UNEXPECTED error
429 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
430 End validate_id;
431
432
433 PROCEDURE validate_bsl_id(x_return_status OUT NOCOPY varchar2,
434 P_bsl_id IN Number)
435 Is
436 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
437 l_dummy_var VARCHAR2(1) := '?';
438 Cursor l_bsl_Csr Is
439 select 'x'
440 from OKS_BILL_SUB_LINES_V
441 where id = P_bsl_id;
442
443 Begin
444 If p_bsl_id = OKC_API.G_MISS_NUM OR
445 p_bsl_id IS NULL
446 Then
447 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'bsl_id');
448
449 l_return_status := OKC_API.G_RET_STS_ERROR;
450 RAISE G_EXCEPTION_HALT_VALIDATION;
451 End If;
452
453 If (p_bsl_id <> OKC_API.G_MISS_NUM and
454 p_bsl_id IS NOT NULL)
455 Then
456 Open l_bsl_csr;
457 Fetch l_bsl_csr Into l_dummy_var;
458 Close l_bsl_csr;
459 -- if l_dummy_var still set to default, data was not found
460 If (l_dummy_var = '?') Then
461 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
462 p_msg_name => g_unexpected_error,
463 p_token1 => g_sqlcode_token,
464 p_token1_value => sqlcode,
465 p_token2 => g_sqlerrm_token,
466 p_token2_value => 'bsl_id ');
467
468 -- notify caller of an error
469 x_return_status := OKC_API.G_RET_STS_ERROR;
470 End If;
471 End If;
472
473 Exception
474 When G_EXCEPTION_HALT_VALIDATION Then
475 NULL;
476 When OTHERS Then
477 -- store SQL error message on message stack for caller
478 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
479 p_msg_name => g_unexpected_error,
480 p_token1 => g_sqlcode_token,
481 p_token1_value => sqlcode,
482 p_token2 => g_sqlerrm_token,
483 p_token2_value => sqlerrm);
484
485 -- notify caller of an UNEXPECTED error
486 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
487 END validate_bsl_id;
488
489 PROCEDURE validate_bsl_id_averaged(x_return_status OUT NOCOPY varchar2,
490 P_bsl_id_averaged IN Number)
491 Is
492 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
493 Begin
494
495 -- call column length utility
496
497 ---------giving prob so commented
498 /*
499 OKC_UTIL.CHECK_LENGTH
500 (
501 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
502 ,p_col_name => 'bsl_id_averaged'
503 ,p_col_value => p_bsl_id_averaged
504 ,x_return_status => l_return_status
505 );
506 */
507
508
509 -- verify that length is within allowed limits
510 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
511 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
512 p_msg_name => g_unexpected_error,
513 p_token1 => g_sqlcode_token,
514 p_token1_value => sqlcode,
515 p_token2 => g_sqlerrm_token,
516 p_token2_value => 'bsl_id_averaged Length');
517
518
519 -- notify caller of an error
520 x_return_status := OKC_API.G_RET_STS_ERROR;
521 -- halt further validation of this column
522 RAISE G_EXCEPTION_HALT_VALIDATION;
523 End If;
524
525 Exception
526 When G_EXCEPTION_HALT_VALIDATION Then
527 NULL;
528 When OTHERS Then
529 -- store SQL error message on message stack for caller
530 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
531 p_msg_name => g_unexpected_error,
532 p_token1 => g_sqlcode_token,
533 p_token1_value => sqlcode,
534 p_token2 => g_sqlerrm_token,
535 p_token2_value => sqlerrm);
536
537 -- notify caller of an UNEXPECTED error
538 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
539 END validate_bsl_id_averaged;
540
541 PROCEDURE validate_bsd_id(x_return_status OUT NOCOPY varchar2,
542 P_bsd_id IN Number)
543 Is
544 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
545 Begin
546
547 -- call column length utility
548
549 ---------giving prob so commented
550 /*
551 OKC_UTIL.CHECK_LENGTH
552 (
553 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
554 ,p_col_name => 'bsd_id'
555 ,p_col_value => p_bsd_id
556 ,x_return_status => l_return_status
557 );
558 */
559
560
561 -- verify that length is within allowed limits
562 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
563 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
564 p_msg_name => g_unexpected_error,
565 p_token1 => g_sqlcode_token,
566 p_token1_value => sqlcode,
567 p_token2 => g_sqlerrm_token,
568 p_token2_value => 'bsd_id Length');
569
570
571 -- notify caller of an error
572 x_return_status := OKC_API.G_RET_STS_ERROR;
573 -- halt further validation of this column
574 RAISE G_EXCEPTION_HALT_VALIDATION;
575 End If;
576
577 Exception
578 When G_EXCEPTION_HALT_VALIDATION Then
579 NULL;
580 When OTHERS Then
581 -- store SQL error message on message stack for caller
582 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
583 p_msg_name => g_unexpected_error,
584 p_token1 => g_sqlcode_token,
585 p_token1_value => sqlcode,
586 p_token2 => g_sqlerrm_token,
587 p_token2_value => sqlerrm);
588
589 -- notify caller of an UNEXPECTED error
590 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
591 END validate_bsd_id;
592
593
594
595 PROCEDURE validate_bsd_id_applied(x_return_status OUT NOCOPY varchar2,
596 P_bsd_id_applied IN Number)
597 Is
598 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
599 Begin
600
601 -- call column length utility
602
603 ---------giving prob so commented
604 /*
605 OKC_UTIL.CHECK_LENGTH
606 (
607 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
608 ,p_col_name => 'bsd_id_applied'
609 ,p_col_value => p_bsd_id_applied
610 ,x_return_status => l_return_status
611 );
612 */
613
614
615 -- verify that length is within allowed limits
616 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
617 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
618 p_msg_name => g_unexpected_error,
619 p_token1 => g_sqlcode_token,
620 p_token1_value => sqlcode,
621 p_token2 => g_sqlerrm_token,
622 p_token2_value => 'bsd_id_applied Length');
623
624
625 -- notify caller of an error
626 x_return_status := OKC_API.G_RET_STS_ERROR;
627 -- halt further validation of this column
628 RAISE G_EXCEPTION_HALT_VALIDATION;
629 End If;
630
631 Exception
632 When G_EXCEPTION_HALT_VALIDATION Then
633 NULL;
634 When OTHERS Then
635 -- store SQL error message on message stack for caller
636 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
637 p_msg_name => g_unexpected_error,
638 p_token1 => g_sqlcode_token,
639 p_token1_value => sqlcode,
640 p_token2 => g_sqlerrm_token,
641 p_token2_value => sqlerrm);
642
643 -- notify caller of an UNEXPECTED error
644 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
645 END validate_bsd_id_applied;
646
647 PROCEDURE validate_ccr_id(x_return_status OUT NOCOPY varchar2,
648 P_ccr_id IN Number)
649 Is
650 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
651 Begin
652
653 x_return_status := OKC_API.G_RET_STS_SUCCESS;
654
655 Exception
656 When G_EXCEPTION_HALT_VALIDATION Then
657 NULL;
658 When OTHERS Then
659 -- store SQL error message on message stack for caller
660 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
661 p_msg_name => g_unexpected_error,
662 p_token1 => g_sqlcode_token,
663 p_token1_value => sqlcode,
664 p_token2 => g_sqlerrm_token,
665 p_token2_value => sqlerrm);
666
667 -- notify caller of an UNEXPECTED error
668 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
669 END validate_ccr_id;
670
671
672 PROCEDURE validate_cgr_id(x_return_status OUT NOCOPY varchar2,
673 P_cgr_id IN Number)
674 Is
675 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
676 Begin
677
678 x_return_status := OKC_API.G_RET_STS_SUCCESS;
679
680 Exception
681 When G_EXCEPTION_HALT_VALIDATION Then
682 NULL;
683 When OTHERS Then
684 -- store SQL error message on message stack for caller
685 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
686 p_msg_name => g_unexpected_error,
687 p_token1 => g_sqlcode_token,
688 p_token1_value => sqlcode,
689 p_token2 => g_sqlerrm_token,
690 p_token2_value => sqlerrm);
691
692 -- notify caller of an UNEXPECTED error
693 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
694 END validate_cgr_id;
695
696
697 PROCEDURE validate_start_reading(x_return_status OUT NOCOPY varchar2,
698 P_start_reading IN Number)
699 Is
700 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
701 Begin
702
703 x_return_status := OKC_API.G_RET_STS_SUCCESS;
704
705 Exception
706 When G_EXCEPTION_HALT_VALIDATION Then
707 NULL;
708 When OTHERS Then
709 -- store SQL error message on message stack for caller
710 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
711 p_msg_name => g_unexpected_error,
712 p_token1 => g_sqlcode_token,
713 p_token1_value => sqlcode,
714 p_token2 => g_sqlerrm_token,
715 p_token2_value => sqlerrm);
716
717 -- notify caller of an UNEXPECTED error
718 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
719 END validate_start_reading;
720
721
722 PROCEDURE validate_end_reading(x_return_status OUT NOCOPY varchar2,
723 P_end_reading IN Number)
724 Is
725 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
726 Begin
727
728 x_return_status := OKC_API.G_RET_STS_SUCCESS;
729 Exception
730 When G_EXCEPTION_HALT_VALIDATION Then
731 NULL;
732 When OTHERS Then
733 -- store SQL error message on message stack for caller
734 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
735 p_msg_name => g_unexpected_error,
736 p_token1 => g_sqlcode_token,
737 p_token1_value => sqlcode,
738 p_token2 => g_sqlerrm_token,
739 p_token2_value => sqlerrm);
740
741 -- notify caller of an UNEXPECTED error
742 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
743 END validate_end_reading;
744
745 PROCEDURE validate_base_reading(x_return_status OUT NOCOPY varchar2,
746 P_base_reading IN Number)
747 Is
748 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
749 Begin
750
751 x_return_status := OKC_API.G_RET_STS_SUCCESS;
752 Exception
753 When G_EXCEPTION_HALT_VALIDATION Then
754 NULL;
755 When OTHERS Then
756 -- store SQL error message on message stack for caller
757 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
758 p_msg_name => g_unexpected_error,
759 p_token1 => g_sqlcode_token,
760 p_token1_value => sqlcode,
761 p_token2 => g_sqlerrm_token,
762 p_token2_value => sqlerrm);
763
764 -- notify caller of an UNEXPECTED error
765 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
766 END validate_base_reading;
767 PROCEDURE validate_estimated_Quantity(x_return_status OUT NOCOPY varchar2,
768 P_estimated_Quantity IN Number)
769 Is
770 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
771 Begin
772
773 x_return_status := OKC_API.G_RET_STS_SUCCESS;
774 Exception
775 When G_EXCEPTION_HALT_VALIDATION Then
776 NULL;
777 When OTHERS Then
778 -- store SQL error message on message stack for caller
779 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
780 p_msg_name => g_unexpected_error,
781 p_token1 => g_sqlcode_token,
782 p_token1_value => sqlcode,
783 p_token2 => g_sqlerrm_token,
784 p_token2_value => sqlerrm);
785
786 -- notify caller of an UNEXPECTED error
787 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
788 END validate_estimated_Quantity;
789
790
791 PROCEDURE validate_unit_of_measure ( x_return_status OUT NOCOPY varchar2,
792 P_unit_of_measure IN Varchar2)
793 Is
794 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
795 Begin
796
797 x_return_status := OKC_API.G_RET_STS_SUCCESS;
798
799
800 If P_unit_of_measure = OKC_API.G_MISS_CHAR OR
801 P_unit_of_measure IS NULL
802 Then
803 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'unit_of_measure');
804 x_return_status := OKC_API.G_RET_STS_ERROR;
805 RAISE G_EXCEPTION_HALT_VALIDATION;
806 End If;
807
808 -- call column length utility
809
810 /*
811 OKC_UTIL.CHECK_LENGTH
812 (
813 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
814 ,p_col_name => 'unit_of_measure'
815 ,p_col_value => P_unit_of_measure
816 ,x_return_status => l_return_status
817 );
818 */
819
820 -- verify that length is within allowed limits
821 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
822 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
823 p_msg_name => g_unexpected_error,
824 p_token1 => g_sqlcode_token,
825 p_token1_value => sqlcode,
826 p_token2 => g_sqlerrm_token,
827 p_token2_value => 'unit_of_measure length');
828
829
830 -- notify caller of an error
831 x_return_status := OKC_API.G_RET_STS_ERROR;
832 -- halt further validation of this column
833 RAISE G_EXCEPTION_HALT_VALIDATION;
834 End If;
835
836 Exception
837 When G_EXCEPTION_HALT_VALIDATION Then
838 NULL;
839 When OTHERS Then
840 -- store SQL error message on message stack for caller
841 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
842 p_msg_name => g_unexpected_error,
843 p_token1 => g_sqlcode_token,
844 p_token1_value => sqlcode,
845 p_token2 => g_sqlerrm_token,
846 p_token2_value => sqlerrm);
847
848 -- notify caller of an UNEXPECTED error
849 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
850 END validate_unit_of_measure;
851
852 PROCEDURE validate_amcv_yn ( x_return_status OUT NOCOPY varchar2,
853 P_amcv_yn IN Varchar2)
854 Is
855 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
856 Begin
857
858 x_return_status := OKC_API.G_RET_STS_SUCCESS;
859
860
861 If P_amcv_yn = OKC_API.G_MISS_CHAR OR
862 P_amcv_yn IS NULL
863 Then
864 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'amcv_yn');
865 x_return_status := OKC_API.G_RET_STS_ERROR;
866 RAISE G_EXCEPTION_HALT_VALIDATION;
867 End If;
868
869 -- call column length utility
870
871 /*
872 OKC_UTIL.CHECK_LENGTH
873 (
874 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
875 ,p_col_name => 'amcv_yn'
876 ,p_col_value => P_amcv_yn
877 ,x_return_status => l_return_status
878 );
879 */
880
881 -- verify that length is within allowed limits
882 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
883 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
884 p_msg_name => g_unexpected_error,
885 p_token1 => g_sqlcode_token,
886 p_token1_value => sqlcode,
887 p_token2 => g_sqlerrm_token,
888 p_token2_value => 'amcv_yn length');
889
890
891 -- notify caller of an error
892 x_return_status := OKC_API.G_RET_STS_ERROR;
893 -- halt further validation of this column
894 RAISE G_EXCEPTION_HALT_VALIDATION;
895 End If;
896
897 Exception
898 When G_EXCEPTION_HALT_VALIDATION Then
899 NULL;
900 When OTHERS Then
901 -- store SQL error message on message stack for caller
902 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
903 p_msg_name => g_unexpected_error,
904 p_token1 => g_sqlcode_token,
905 p_token1_value => sqlcode,
906 p_token2 => g_sqlerrm_token,
907 p_token2_value => sqlerrm);
908
909 -- notify caller of an UNEXPECTED error
910 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
911 END validate_amcv_yn;
912
913 PROCEDURE validate_result( x_return_status OUT NOCOPY varchar2,
914 P_result IN NUMBER)
915 Is
916 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
917 Begin
918
919 If P_result= OKC_API.G_MISS_NUM OR
920 P_result IS NULL
921 Then
922 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'Result' );
923 l_return_status := OKC_API.G_RET_STS_ERROR;
924
925 RAISE G_EXCEPTION_HALT_VALIDATION;
926 End If;
927
928 -- call column length utility
929 /*
930 OKC_UTIL.CHECK_LENGTH
931 (
932 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
933 ,p_col_name => 'Result'
934 ,p_col_value => P_result
935 ,x_return_status => l_return_status
936 );
937 */
938
939 -- verify that length is within allowed limits
940 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
941 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
942 p_msg_name => g_unexpected_error,
943 p_token1 => g_sqlcode_token,
944 p_token1_value => sqlcode,
945 p_token2 => g_sqlerrm_token,
946 p_token2_value => 'Result Length');
947
948
949 -- notify caller of an error
950 x_return_status := OKC_API.G_RET_STS_ERROR;
951 -- halt further validation of this column
952 RAISE G_EXCEPTION_HALT_VALIDATION;
953 End If;
954
955 Exception
956 When G_EXCEPTION_HALT_VALIDATION Then
957 NULL;
958 When OTHERS Then
959 -- store SQL error message on message stack for caller
960 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
961 p_msg_name => g_unexpected_error,
962 p_token1 => g_sqlcode_token,
963 p_token1_value => sqlcode,
964 p_token2 => g_sqlerrm_token,
965 p_token2_value => sqlerrm);
966
967 -- notify caller of an UNEXPECTED error
968 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
969 END validate_result;
970
971
972 PROCEDURE validate_Amount( x_return_status OUT NOCOPY varchar2,
973 P_amount IN NUMBER)
974 Is
975 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
976 Begin
977
978 If P_Amount= OKC_API.G_MISS_NUM OR
979 P_Amount IS NULL
980 Then
981 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'Amount' );
982 l_return_status := OKC_API.G_RET_STS_ERROR;
983
984 RAISE G_EXCEPTION_HALT_VALIDATION;
985 End If;
986
987 -- call column length utility
988 /*
989 OKC_UTIL.CHECK_LENGTH
990 (
991 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
992 ,p_col_name => 'Amount'
993 ,p_col_value => P_amount
994 ,x_return_status => l_return_status
995 );
996 */
997
998 -- verify that length is within allowed limits
999 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1000 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1001 p_msg_name => g_unexpected_error,
1002 p_token1 => g_sqlcode_token,
1003 p_token1_value => sqlcode,
1004 p_token2 => g_sqlerrm_token,
1005 p_token2_value => 'Amount Length');
1006
1007
1008 -- notify caller of an error
1009 x_return_status := OKC_API.G_RET_STS_ERROR;
1010 -- halt further validation of this column
1011 RAISE G_EXCEPTION_HALT_VALIDATION;
1012 End If;
1013
1014 Exception
1015 When G_EXCEPTION_HALT_VALIDATION Then
1016 NULL;
1017 When OTHERS Then
1018 -- store SQL error message on message stack for caller
1019 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1020 p_msg_name => g_unexpected_error,
1021 p_token1 => g_sqlcode_token,
1022 p_token1_value => sqlcode,
1023 p_token2 => g_sqlerrm_token,
1024 p_token2_value => sqlerrm);
1025
1026 -- notify caller of an UNEXPECTED error
1027 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1028 END validate_Amount;
1029
1030
1031
1032 PROCEDURE validate_objvernum(x_return_status OUT NOCOPY varchar2,
1033 P_object_version_number IN Number)
1034 Is
1035 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1036 Begin
1037
1038 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1039
1040 If p_object_version_number = OKC_API.G_MISS_NUM OR
1041 p_object_version_number IS NULL
1042 Then
1043 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
1044 x_return_status := OKC_API.G_RET_STS_ERROR;
1045 RAISE G_EXCEPTION_HALT_VALIDATION;
1046 End If;
1047
1048 Exception
1049 When G_EXCEPTION_HALT_VALIDATION Then
1050 NULL;
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 END validate_objvernum;
1063
1064
1065 PROCEDURE validate_fixed( x_return_status OUT NOCOPY varchar2,
1066 P_fixed IN NUMBER)
1067 Is
1068 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1069 Begin
1070
1071
1072 -- call column length utility
1073 /*
1074 OKC_UTIL.CHECK_LENGTH
1075 (
1076 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1077 ,p_col_name => 'Fixed'
1078 ,p_col_value => P_fixed
1079 ,x_return_status => l_return_status
1080 );
1081 */
1082
1083 -- verify that length is within allowed limits
1084 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1085 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1086 p_msg_name => g_unexpected_error,
1087 p_token1 => g_sqlcode_token,
1088 p_token1_value => sqlcode,
1089 p_token2 => g_sqlerrm_token,
1090 p_token2_value => 'Fixed Length');
1091
1092
1093 -- notify caller of an error
1094 x_return_status := OKC_API.G_RET_STS_ERROR;
1095 -- halt further validation of this column
1096 RAISE G_EXCEPTION_HALT_VALIDATION;
1097 End If;
1098
1099 Exception
1100 When G_EXCEPTION_HALT_VALIDATION Then
1101 NULL;
1102 When OTHERS Then
1103 -- store SQL error message on message stack for caller
1104 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1105 p_msg_name => g_unexpected_error,
1106 p_token1 => g_sqlcode_token,
1107 p_token1_value => sqlcode,
1108 p_token2 => g_sqlerrm_token,
1109 p_token2_value => sqlerrm);
1110
1111 -- notify caller of an UNEXPECTED error
1112 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1113 END validate_fixed;
1114
1115
1116 PROCEDURE validate_actual( x_return_status OUT NOCOPY varchar2,
1117 P_actual IN NUMBER)
1118 Is
1119 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1120 Begin
1121
1122
1123 -- call column length utility
1124 /*
1125 OKC_UTIL.CHECK_LENGTH
1126 (
1127 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1128 ,p_col_name => 'Actual'
1129 ,p_col_value => P_actual
1130 ,x_return_status => l_return_status
1131 );
1132 */
1133
1134 -- verify that length is within allowed limits
1135 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1136 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1137 p_msg_name => g_unexpected_error,
1138 p_token1 => g_sqlcode_token,
1139 p_token1_value => sqlcode,
1140 p_token2 => g_sqlerrm_token,
1141 p_token2_value => 'Actual Length');
1142
1143
1144 -- notify caller of an error
1145 x_return_status := OKC_API.G_RET_STS_ERROR;
1146 -- halt further validation of this column
1147 RAISE G_EXCEPTION_HALT_VALIDATION;
1148 End If;
1149
1150 Exception
1151 When G_EXCEPTION_HALT_VALIDATION Then
1152 NULL;
1153 When OTHERS Then
1154 -- store SQL error message on message stack for caller
1155 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1156 p_msg_name => g_unexpected_error,
1157 p_token1 => g_sqlcode_token,
1158 p_token1_value => sqlcode,
1159 p_token2 => g_sqlerrm_token,
1160 p_token2_value => sqlerrm);
1161
1162 -- notify caller of an UNEXPECTED error
1163 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1164 END validate_actual;
1165
1166
1167 PROCEDURE validate_default_default( x_return_status OUT NOCOPY varchar2,
1168 P_default_default IN NUMBER)
1169 Is
1170 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1171 Begin
1172
1173
1174 -- call column length utility
1175 /*
1176 OKC_UTIL.CHECK_LENGTH
1177 (
1178 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1179 ,p_col_name => 'default_default'
1180 ,p_col_value => P_default_default
1181 ,x_return_status => l_return_status
1182 );
1183 */
1184
1185 -- verify that length is within allowed limits
1186 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1187 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1188 p_msg_name => g_unexpected_error,
1189 p_token1 => g_sqlcode_token,
1190 p_token1_value => sqlcode,
1191 p_token2 => g_sqlerrm_token,
1192 p_token2_value => 'default_default');
1193
1194
1195 -- notify caller of an error
1196 x_return_status := OKC_API.G_RET_STS_ERROR;
1197 -- halt further validation of this column
1198 RAISE G_EXCEPTION_HALT_VALIDATION;
1199 End If;
1200
1201 Exception
1202 When G_EXCEPTION_HALT_VALIDATION Then
1203 NULL;
1204 When OTHERS Then
1205 -- store SQL error message on message stack for caller
1206 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1207 p_msg_name => g_unexpected_error,
1208 p_token1 => g_sqlcode_token,
1209 p_token1_value => sqlcode,
1210 p_token2 => g_sqlerrm_token,
1211 p_token2_value => sqlerrm);
1212
1213 -- notify caller of an UNEXPECTED error
1214 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1215 END validate_default_default;
1216
1217 PROCEDURE validate_adjustment_level( x_return_status OUT NOCOPY varchar2,
1218 P_adjustment_level IN NUMBER)
1219 Is
1220 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1221 Begin
1222
1223 -- call column length utility
1224 /*
1225 OKC_UTIL.CHECK_LENGTH
1226 (
1227 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1228 ,p_col_name => 'adjustment_level'
1229 ,p_col_value => P_adjustment_level
1230 ,x_return_status => l_return_status
1231 );
1232 */
1233
1234 -- verify that length is within allowed limits
1235 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1236 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1237 p_msg_name => g_unexpected_error,
1238 p_token1 => g_sqlcode_token,
1239 p_token1_value => sqlcode,
1240 p_token2 => g_sqlerrm_token,
1241 p_token2_value => 'adjustment_level Length');
1242
1243
1244 -- notify caller of an error
1245 x_return_status := OKC_API.G_RET_STS_ERROR;
1246 -- halt further validation of this column
1247 RAISE G_EXCEPTION_HALT_VALIDATION;
1248 End If;
1249
1250 Exception
1251 When G_EXCEPTION_HALT_VALIDATION Then
1252 NULL;
1253 When OTHERS Then
1254 -- store SQL error message on message stack for caller
1255 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1256 p_msg_name => g_unexpected_error,
1257 p_token1 => g_sqlcode_token,
1258 p_token1_value => sqlcode,
1259 p_token2 => g_sqlerrm_token,
1260 p_token2_value => sqlerrm);
1261
1262 -- notify caller of an UNEXPECTED error
1263 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1264 END validate_adjustment_level;
1265
1266 PROCEDURE validate_adjustment_minimum( x_return_status OUT NOCOPY varchar2,
1267 P_adjustment_minimum IN NUMBER)
1268 Is
1269 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1270 Begin
1271
1272
1273 -- call column length utility
1274 /*
1275 OKC_UTIL.CHECK_LENGTH
1276 (
1277 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1278 ,p_col_name => 'adjustment_minimum'
1279 ,p_col_value => P_adjustment_minimum
1280 ,x_return_status => l_return_status
1281 );
1282 */
1283
1284 -- verify that length is within allowed limits
1285 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1286 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1287 p_msg_name => g_unexpected_error,
1288 p_token1 => g_sqlcode_token,
1289 p_token1_value => sqlcode,
1290 p_token2 => g_sqlerrm_token,
1291 p_token2_value => 'adjustment_minimum Length');
1292
1293
1294 -- notify caller of an error
1295 x_return_status := OKC_API.G_RET_STS_ERROR;
1296 -- halt further validation of this column
1297 RAISE G_EXCEPTION_HALT_VALIDATION;
1298 End If;
1299
1300 Exception
1301 When G_EXCEPTION_HALT_VALIDATION Then
1302 NULL;
1303 When OTHERS Then
1304 -- store SQL error message on message stack for caller
1305 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1306 p_msg_name => g_unexpected_error,
1307 p_token1 => g_sqlcode_token,
1308 p_token1_value => sqlcode,
1309 p_token2 => g_sqlerrm_token,
1310 p_token2_value => sqlerrm);
1311
1312 -- notify caller of an UNEXPECTED error
1313 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1314 END validate_adjustment_minimum;
1315
1316
1317 PROCEDURE validate_attribute_category( x_return_status OUT NOCOPY varchar2,
1318 P_attribute_category IN varchar)
1319 Is
1320 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1321 Begin
1322
1323 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1324
1325 -- call column length utility
1326
1327 Exception
1328 When G_EXCEPTION_HALT_VALIDATION Then
1329 NULL;
1330 When OTHERS Then
1331 -- store SQL error message on message stack for caller
1332 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1333 p_msg_name => g_unexpected_error,
1334 p_token1 => g_sqlcode_token,
1335 p_token1_value => sqlcode,
1336 p_token2 => g_sqlerrm_token,
1337 p_token2_value => sqlerrm);
1338
1339 -- notify caller of an UNEXPECTED error
1340 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1341 END validate_attribute_category;
1342
1343
1344 PROCEDURE validate_attribute1( x_return_status OUT NOCOPY varchar2,
1345 P_attribute1 IN varchar2)
1346 Is
1347 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1348 Begin
1349
1350 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1351
1352 -- call column length utility
1353 /*
1354 OKC_UTIL.CHECK_LENGTH
1355 (
1356 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1357 ,p_col_name => 'attribute1'
1358 ,p_col_value => p_attribute1
1359 ,x_return_status => l_return_status
1360 );
1361 */
1362
1363 -- verify that length is within allowed limits
1364 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1365 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1366 p_msg_name => g_unexpected_error,
1367 p_token1 => g_sqlcode_token,
1368 p_token1_value => sqlcode,
1369 p_token2 => g_sqlerrm_token,
1370 p_token2_value => 'attribute 1 Length');
1371
1372
1373 -- notify caller of an error
1374 x_return_status := OKC_API.G_RET_STS_ERROR;
1375 -- halt further validation of this column
1376 RAISE G_EXCEPTION_HALT_VALIDATION;
1377 End If;
1378
1379 Exception
1380 When G_EXCEPTION_HALT_VALIDATION Then
1381 NULL;
1382 When OTHERS Then
1383 -- store SQL error message on message stack for caller
1384 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1385 p_msg_name => g_unexpected_error,
1386 p_token1 => g_sqlcode_token,
1387 p_token1_value => sqlcode,
1388 p_token2 => g_sqlerrm_token,
1389 p_token2_value => sqlerrm);
1390
1391 -- notify caller of an UNEXPECTED error
1392 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1393 END validate_attribute1;
1394 PROCEDURE validate_attribute2( x_return_status OUT NOCOPY varchar2,
1395 P_attribute2 IN varchar2)
1396 Is
1397 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1398 Begin
1399
1400 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1401
1402 -- call column length utility
1403 /*
1404 OKC_UTIL.CHECK_LENGTH
1405 (
1406 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1407 ,p_col_name => 'attribute2'
1408 ,p_col_value => p_attribute2
1409 ,x_return_status => l_return_status
1410 );
1411 */
1412
1413 -- verify that length is within allowed limits
1414 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1415 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1416 p_msg_name => g_unexpected_error,
1417 p_token1 => g_sqlcode_token,
1418 p_token1_value => sqlcode,
1419 p_token2 => g_sqlerrm_token,
1420 p_token2_value => 'attribute 2 Length');
1421
1422 -- notify caller of an error
1423 x_return_status := OKC_API.G_RET_STS_ERROR;
1424 -- halt further validation of this column
1425 RAISE G_EXCEPTION_HALT_VALIDATION;
1426 End If;
1427
1428 Exception
1429 When G_EXCEPTION_HALT_VALIDATION Then
1430 NULL;
1431 When OTHERS Then
1432 -- store SQL error message on message stack for caller
1433 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1434 p_msg_name => g_unexpected_error,
1435 p_token1 => g_sqlcode_token,
1436 p_token1_value => sqlcode,
1437 p_token2 => g_sqlerrm_token,
1438 p_token2_value => sqlerrm);
1439
1440 -- notify caller of an UNEXPECTED error
1441 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1442 END validate_attribute2;
1443
1444
1445 PROCEDURE validate_attribute3( x_return_status OUT NOCOPY varchar2,
1446 P_attribute3 IN varchar2)
1447 Is
1448 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1449 Begin
1450
1451 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1452
1453 -- call column length utility
1454 /*
1455 OKC_UTIL.CHECK_LENGTH
1456 (
1457 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1458 ,p_col_name => 'attribute3'
1459 ,p_col_value => p_attribute3
1460 ,x_return_status => l_return_status
1461 );
1462 */
1463
1464 -- verify that length is within allowed limits
1465 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1466 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1467 p_msg_name => g_unexpected_error,
1468 p_token1 => g_sqlcode_token,
1469 p_token1_value => sqlcode,
1470 p_token2 => g_sqlerrm_token,
1471 p_token2_value => 'attribute 3 Length');
1472
1473 -- notify caller of an error
1474 x_return_status := OKC_API.G_RET_STS_ERROR;
1475 -- halt further validation of this column
1476 RAISE G_EXCEPTION_HALT_VALIDATION;
1477 End If;
1478
1479 Exception
1480 When G_EXCEPTION_HALT_VALIDATION Then
1481 NULL;
1482 When OTHERS Then
1483 -- store SQL error message on message stack for caller
1484 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1485 p_msg_name => g_unexpected_error,
1486 p_token1 => g_sqlcode_token,
1487 p_token1_value => sqlcode,
1488 p_token2 => g_sqlerrm_token,
1489 p_token2_value => sqlerrm);
1490
1491 -- notify caller of an UNEXPECTED error
1492 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1493 END validate_attribute3;
1494
1495 PROCEDURE validate_attribute4 (x_return_status OUT NOCOPY varchar2,
1496 P_attribute4 IN varchar2)
1497 Is
1498 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1499 Begin
1500
1501 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1502
1503 -- call column length utility
1504 /*
1505 OKC_UTIL.CHECK_LENGTH
1506 (
1507 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1508 ,p_col_name => 'attribute4'
1509 ,p_col_value => p_attribute4
1510 ,x_return_status => l_return_status
1511 );
1512 */
1513
1514 -- verify that length is within allowed limits
1515 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1516 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1517 p_msg_name => g_unexpected_error,
1518 p_token1 => g_sqlcode_token,
1519 p_token1_value => sqlcode,
1520 p_token2 => g_sqlerrm_token,
1521 p_token2_value => 'attribute 4 Length');
1522
1523 -- notify caller of an error
1524 x_return_status := OKC_API.G_RET_STS_ERROR;
1525 -- halt further validation of this column
1526 RAISE G_EXCEPTION_HALT_VALIDATION;
1527 End If;
1528
1529 Exception
1530 When G_EXCEPTION_HALT_VALIDATION Then
1531 NULL;
1532 When OTHERS Then
1533 -- store SQL error message on message stack for caller
1534 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1535 p_msg_name => g_unexpected_error,
1536 p_token1 => g_sqlcode_token,
1537 p_token1_value => sqlcode,
1538 p_token2 => g_sqlerrm_token,
1539 p_token2_value => sqlerrm);
1540
1541 -- notify caller of an UNEXPECTED error
1542 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1543 END validate_attribute4;
1544
1545
1546 PROCEDURE validate_attribute5( x_return_status OUT NOCOPY varchar2,
1547 P_attribute5 IN varchar2)
1548 Is
1549 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1550 Begin
1551
1552 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1553
1554 -- call column length utility
1555 /*
1556 OKC_UTIL.CHECK_LENGTH
1557 (
1558 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1559 ,p_col_name => 'attribute5'
1560 ,p_col_value => p_attribute5
1561 ,x_return_status => l_return_status
1562 );
1563 */
1564
1565 -- verify that length is within allowed limits
1566 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1567 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1568 p_msg_name => g_unexpected_error,
1569 p_token1 => g_sqlcode_token,
1570 p_token1_value => sqlcode,
1571 p_token2 => g_sqlerrm_token,
1572 p_token2_value => 'attribute 5 Length');
1573
1574 -- notify caller of an error
1575 x_return_status := OKC_API.G_RET_STS_ERROR;
1576 -- halt further validation of this column
1577 RAISE G_EXCEPTION_HALT_VALIDATION;
1578 End If;
1579
1580 Exception
1581 When G_EXCEPTION_HALT_VALIDATION Then
1582 NULL;
1583 When OTHERS Then
1584 -- store SQL error message on message stack for caller
1585 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1586 p_msg_name => g_unexpected_error,
1587 p_token1 => g_sqlcode_token,
1588 p_token1_value => sqlcode,
1589 p_token2 => g_sqlerrm_token,
1590 p_token2_value => sqlerrm);
1591
1592 -- notify caller of an UNEXPECTED error
1593 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1594 END validate_attribute5;
1595
1596
1597 PROCEDURE validate_attribute6( x_return_status OUT NOCOPY varchar2,
1598 P_attribute6 IN varchar2)
1599 Is
1600 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1601 Begin
1602
1603 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1604
1605 -- call column length utility
1606 /*
1607 OKC_UTIL.CHECK_LENGTH
1608 (
1609 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1610 ,p_col_name => 'attribute6'
1611 ,p_col_value => p_attribute6
1612 ,x_return_status => l_return_status
1613 );
1614 */
1615
1616 -- verify that length is within allowed limits
1617 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1618 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1619 p_msg_name => g_unexpected_error,
1620 p_token1 => g_sqlcode_token,
1621 p_token1_value => sqlcode,
1622 p_token2 => g_sqlerrm_token,
1623 p_token2_value => 'attribute 6 Length');
1624
1625 -- notify caller of an error
1626 x_return_status := OKC_API.G_RET_STS_ERROR;
1627 -- halt further validation of this column
1628 RAISE G_EXCEPTION_HALT_VALIDATION;
1629 End If;
1630
1631 Exception
1632 When G_EXCEPTION_HALT_VALIDATION Then
1633 NULL;
1634 When OTHERS Then
1635 -- store SQL error message on message stack for caller
1636 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1637 p_msg_name => g_unexpected_error,
1638 p_token1 => g_sqlcode_token,
1639 p_token1_value => sqlcode,
1640 p_token2 => g_sqlerrm_token,
1641 p_token2_value => sqlerrm);
1642
1643 -- notify caller of an UNEXPECTED error
1644 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1645 END validate_attribute6;
1646
1647
1648 PROCEDURE validate_attribute7( x_return_status OUT NOCOPY varchar2,
1649 P_attribute7 IN varchar2)
1650 Is
1651 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1652 Begin
1653
1654 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1655
1656 -- call column length utility
1657 /*
1658 OKC_UTIL.CHECK_LENGTH
1659 (
1660 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1661 ,p_col_name => 'attribute7'
1662 ,p_col_value => p_attribute7
1663 ,x_return_status => l_return_status
1664 );
1665 */
1666
1667 -- verify that length is within allowed limits
1668 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1669 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1670 p_msg_name => g_unexpected_error,
1671 p_token1 => g_sqlcode_token,
1672 p_token1_value => sqlcode,
1673 p_token2 => g_sqlerrm_token,
1674 p_token2_value => 'attribute 7 Length');
1675
1676 -- notify caller of an error
1677 x_return_status := OKC_API.G_RET_STS_ERROR;
1678 -- halt further validation of this column
1679 RAISE G_EXCEPTION_HALT_VALIDATION;
1680 End If;
1681
1682 Exception
1683 When G_EXCEPTION_HALT_VALIDATION Then
1684 NULL;
1685 When OTHERS Then
1686 -- store SQL error message on message stack for caller
1687 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1688 p_msg_name => g_unexpected_error,
1689 p_token1 => g_sqlcode_token,
1690 p_token1_value => sqlcode,
1691 p_token2 => g_sqlerrm_token,
1692 p_token2_value => sqlerrm);
1693
1694 -- notify caller of an UNEXPECTED error
1695 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1696 END validate_attribute7;
1697
1698
1699
1700 PROCEDURE validate_attribute8 (x_return_status OUT NOCOPY varchar2,
1701 P_attribute8 IN varchar2)
1702 Is
1703 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1704 Begin
1705
1706 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1707
1708 -- call column length utility
1709 /*
1710 OKC_UTIL.CHECK_LENGTH
1711 (
1712 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1713 ,p_col_name => 'attribute8'
1714 ,p_col_value => p_attribute8
1715 ,x_return_status => l_return_status
1716 );
1717 */
1718
1719 -- verify that length is within allowed limits
1720 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1721 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1722 p_msg_name => g_unexpected_error,
1723 p_token1 => g_sqlcode_token,
1724 p_token1_value => sqlcode,
1725 p_token2 => g_sqlerrm_token,
1726 p_token2_value => 'attribute 8 Length');
1727
1728 -- notify caller of an error
1729 x_return_status := OKC_API.G_RET_STS_ERROR;
1730 -- halt further validation of this column
1731 RAISE G_EXCEPTION_HALT_VALIDATION;
1732 End If;
1733
1734 Exception
1735 When G_EXCEPTION_HALT_VALIDATION Then
1736 NULL;
1737 When OTHERS Then
1738 -- store SQL error message on message stack for caller
1739 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1740 p_msg_name => g_unexpected_error,
1741 p_token1 => g_sqlcode_token,
1742 p_token1_value => sqlcode,
1743 p_token2 => g_sqlerrm_token,
1744 p_token2_value => sqlerrm);
1745
1746 -- notify caller of an UNEXPECTED error
1747 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1748 END validate_attribute8;
1749
1750
1751
1752 PROCEDURE validate_attribute9( x_return_status OUT NOCOPY varchar2,
1753 P_attribute9 IN varchar2)
1754 Is
1755 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1756 Begin
1757
1758 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1759
1760 -- call column length utility
1761 /*
1762 OKC_UTIL.CHECK_LENGTH
1763 (
1764 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1765 ,p_col_name => 'attribute9'
1766 ,p_col_value => p_attribute9
1767 ,x_return_status => l_return_status
1768 );
1769 */
1770
1771 -- verify that length is within allowed limits
1772 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1773 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1774 p_msg_name => g_unexpected_error,
1775 p_token1 => g_sqlcode_token,
1776 p_token1_value => sqlcode,
1777 p_token2 => g_sqlerrm_token,
1778 p_token2_value => 'attribute 9 Length');
1779
1780 -- notify caller of an error
1781 x_return_status := OKC_API.G_RET_STS_ERROR;
1782 -- halt further validation of this column
1783 RAISE G_EXCEPTION_HALT_VALIDATION;
1784 End If;
1785
1786 Exception
1787 When G_EXCEPTION_HALT_VALIDATION Then
1788 NULL;
1789 When OTHERS Then
1790 -- store SQL error message on message stack for caller
1791 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1792 p_msg_name => g_unexpected_error,
1793 p_token1 => g_sqlcode_token,
1794 p_token1_value => sqlcode,
1795 p_token2 => g_sqlerrm_token,
1796 p_token2_value => sqlerrm);
1797
1798 -- notify caller of an UNEXPECTED error
1799 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1800 END validate_attribute9;
1801
1802
1803 PROCEDURE validate_attribute10( x_return_status OUT NOCOPY varchar2,
1804 P_attribute10 IN varchar2)
1805 Is
1806 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1807 Begin
1808
1809 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1810
1811 -- call column length utility
1812 /*
1813 OKC_UTIL.CHECK_LENGTH
1814 (
1815 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1816 ,p_col_name => 'attribute10'
1817 ,p_col_value => p_attribute10
1818 ,x_return_status => l_return_status
1819 );
1820 */
1821
1822 -- verify that length is within allowed limits
1823 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1824 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1825 p_msg_name => g_unexpected_error,
1826 p_token1 => g_sqlcode_token,
1827 p_token1_value => sqlcode,
1828 p_token2 => g_sqlerrm_token,
1829 p_token2_value => 'attribute 10 Length');
1830
1831 -- notify caller of an error
1832 x_return_status := OKC_API.G_RET_STS_ERROR;
1833 -- halt further validation of this column
1834 RAISE G_EXCEPTION_HALT_VALIDATION;
1835 End If;
1836
1837 Exception
1838 When G_EXCEPTION_HALT_VALIDATION Then
1839 NULL;
1840 When OTHERS Then
1841 -- store SQL error message on message stack for caller
1842 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1843 p_msg_name => g_unexpected_error,
1844 p_token1 => g_sqlcode_token,
1845 p_token1_value => sqlcode,
1846 p_token2 => g_sqlerrm_token,
1847 p_token2_value => sqlerrm);
1848
1849 -- notify caller of an UNEXPECTED error
1850 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1851 END validate_attribute10;
1852
1853
1854
1855 PROCEDURE validate_attribute11( x_return_status OUT NOCOPY varchar2,
1856 P_attribute11 IN varchar2)
1857 Is
1858 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1859 Begin
1860
1861 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1862
1863 -- call column length utility
1864
1865 /*
1866 OKC_UTIL.CHECK_LENGTH
1867 (
1868 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1869 ,p_col_name => 'attribute11'
1870 ,p_col_value => p_attribute11
1871 ,x_return_status => l_return_status
1872 );
1873 */
1874
1875 -- verify that length is within allowed limits
1876 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1877 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1878 p_msg_name => g_unexpected_error,
1879 p_token1 => g_sqlcode_token,
1880 p_token1_value => sqlcode,
1881 p_token2 => g_sqlerrm_token,
1882 p_token2_value => 'attribute 11 Length');
1883
1884 -- notify caller of an error
1885 x_return_status := OKC_API.G_RET_STS_ERROR;
1886 -- halt further validation of this column
1887 RAISE G_EXCEPTION_HALT_VALIDATION;
1888 End If;
1889
1890 Exception
1891 When G_EXCEPTION_HALT_VALIDATION Then
1892 NULL;
1893 When OTHERS Then
1894 -- store SQL error message on message stack for caller
1895 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1896 p_msg_name => g_unexpected_error,
1897 p_token1 => g_sqlcode_token,
1898 p_token1_value => sqlcode,
1899 p_token2 => g_sqlerrm_token,
1900 p_token2_value => sqlerrm);
1901
1902 -- notify caller of an UNEXPECTED error
1903 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1904 END validate_attribute11;
1905
1906
1907
1908
1909 PROCEDURE validate_attribute12( x_return_status OUT NOCOPY varchar2,
1910 P_attribute12 IN varchar2)
1911 Is
1912 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1913 Begin
1914
1915 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1916
1917 -- call column length utility
1918 /*
1919 OKC_UTIL.CHECK_LENGTH
1920 (
1921 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1922 ,p_col_name => 'attribute12'
1923 ,p_col_value => p_attribute12
1924 ,x_return_status => l_return_status
1925 );
1926 */
1927
1928 -- verify that length is within allowed limits
1929 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1930 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1931 p_msg_name => g_unexpected_error,
1932 p_token1 => g_sqlcode_token,
1933 p_token1_value => sqlcode,
1934 p_token2 => g_sqlerrm_token,
1935 p_token2_value => 'attribute 12 Length');
1936
1937 -- notify caller of an error
1938 x_return_status := OKC_API.G_RET_STS_ERROR;
1939 -- halt further validation of this column
1940 RAISE G_EXCEPTION_HALT_VALIDATION;
1941 End If;
1942
1943 Exception
1944 When G_EXCEPTION_HALT_VALIDATION Then
1945 NULL;
1946 When OTHERS Then
1947 -- store SQL error message on message stack for caller
1948 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1949 p_msg_name => g_unexpected_error,
1950 p_token1 => g_sqlcode_token,
1951 p_token1_value => sqlcode,
1952 p_token2 => g_sqlerrm_token,
1953 p_token2_value => sqlerrm);
1954
1955 -- notify caller of an UNEXPECTED error
1956 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1957 END validate_attribute12;
1958
1959
1960
1961
1962 PROCEDURE validate_attribute13( x_return_status OUT NOCOPY varchar2,
1963 P_attribute13 IN varchar2)
1964 Is
1965 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1966 Begin
1967
1968 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1969
1970 -- call column length utility
1971 /*
1972 OKC_UTIL.CHECK_LENGTH
1973 (
1974 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
1975 ,p_col_name => 'attribute13'
1976 ,p_col_value => p_attribute13
1977 ,x_return_status => l_return_status
1978 );
1979 */
1980
1981 -- verify that length is within allowed limits
1982 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
1983 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1984 p_msg_name => g_unexpected_error,
1985 p_token1 => g_sqlcode_token,
1986 p_token1_value => sqlcode,
1987 p_token2 => g_sqlerrm_token,
1988 p_token2_value => 'attribute 13 Length');
1989
1990 -- notify caller of an error
1991 x_return_status := OKC_API.G_RET_STS_ERROR;
1992 -- halt further validation of this column
1993 RAISE G_EXCEPTION_HALT_VALIDATION;
1994 End If;
1995
1996 Exception
1997 When G_EXCEPTION_HALT_VALIDATION Then
1998 NULL;
1999 When OTHERS Then
2000 -- store SQL error message on message stack for caller
2001 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2002 p_msg_name => g_unexpected_error,
2003 p_token1 => g_sqlcode_token,
2004 p_token1_value => sqlcode,
2005 p_token2 => g_sqlerrm_token,
2006 p_token2_value => sqlerrm);
2007
2008 -- notify caller of an UNEXPECTED error
2009 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2010 END validate_attribute13;
2011
2012
2013
2014
2015 PROCEDURE validate_attribute14( x_return_status OUT NOCOPY varchar2,
2016 P_attribute14 IN varchar2)
2017 Is
2018 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2019 Begin
2020
2021 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2022
2023 -- call column length utility
2024 /*
2025 OKC_UTIL.CHECK_LENGTH
2026 (
2027 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
2028 ,p_col_name => 'attribute14'
2029 ,p_col_value => p_attribute14
2030 ,x_return_status => l_return_status
2031 );
2032 */
2033
2034 -- verify that length is within allowed limits
2035 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
2036 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2037 p_msg_name => g_unexpected_error,
2038 p_token1 => g_sqlcode_token,
2039 p_token1_value => sqlcode,
2040 p_token2 => g_sqlerrm_token,
2041 p_token2_value => 'attribute 14 Length');
2042
2043 -- notify caller of an error
2044 x_return_status := OKC_API.G_RET_STS_ERROR;
2045 -- halt further validation of this column
2046 RAISE G_EXCEPTION_HALT_VALIDATION;
2047 End If;
2048
2049 Exception
2050 When G_EXCEPTION_HALT_VALIDATION Then
2051 NULL;
2052 When OTHERS Then
2053 -- store SQL error message on message stack for caller
2054 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2055 p_msg_name => g_unexpected_error,
2056 p_token1 => g_sqlcode_token,
2057 p_token1_value => sqlcode,
2058 p_token2 => g_sqlerrm_token,
2059 p_token2_value => sqlerrm);
2060
2061 -- notify caller of an UNEXPECTED error
2062 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2063 END validate_attribute14;
2064
2065
2066
2067 PROCEDURE validate_attribute15( x_return_status OUT NOCOPY varchar2,
2068 P_attribute15 IN varchar2)
2069 Is
2070 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2071 Begin
2072 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2073
2074 -- call column length utility
2075 /*
2076 OKC_UTIL.CHECK_LENGTH
2077 (
2078 p_view_name => 'OKS_BILL_SUBLINE_DTLS_V'
2079 ,p_col_name => 'attribute15'
2080 ,p_col_value => p_attribute15
2081 ,x_return_status => l_return_status
2082 );
2083 */
2084
2085 -- verify that length is within allowed limits
2086 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
2087 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2088 p_msg_name => g_unexpected_error,
2089 p_token1 => g_sqlcode_token,
2090 p_token1_value => sqlcode,
2091 p_token2 => g_sqlerrm_token,
2092 p_token2_value => 'attribute 15 Length');
2093
2094 -- notify caller of an error
2095 x_return_status := OKC_API.G_RET_STS_ERROR;
2096 -- halt further validation of this column
2097 RAISE G_EXCEPTION_HALT_VALIDATION;
2098 End If;
2099
2100 Exception
2101 When G_EXCEPTION_HALT_VALIDATION Then
2102 NULL;
2103 When OTHERS Then
2104 -- store SQL error message on message stack for caller
2105 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2106 p_msg_name => g_unexpected_error,
2107 p_token1 => g_sqlcode_token,
2108 p_token1_value => sqlcode,
2109 p_token2 => g_sqlerrm_token,
2110 p_token2_value => sqlerrm);
2111
2112 -- notify caller of an UNEXPECTED error
2113 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2114 END validate_attribute15;
2115
2116
2117 /* -----------------------------------------------------
2118 -- Validate_Attributes for:OKS_BILL_SUBLINE_DTLS_V --
2119 -----------------------------------------------------
2120
2121 FUNCTION Validate_Attributes (
2122 p_bsdv_rec IN bsdv_rec_type
2123 ) RETURN VARCHAR2 IS
2124 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2125 BEGIN
2126 IF p_bsdv_rec.id = OKC_API.G_MISS_NUM OR
2127 p_bsdv_rec.id IS NULL
2128 THEN
2129 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
2130 l_return_status := OKC_API.G_RET_STS_ERROR;
2131 ELSIF p_bsdv_rec.object_version_number = OKC_API.G_MISS_NUM OR
2132 p_bsdv_rec.object_version_number IS NULL
2133 THEN
2134 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
2135 l_return_status := OKC_API.G_RET_STS_ERROR;
2136 ELSIF p_bsdv_rec.bsl_id = OKC_API.G_MISS_NUM OR
2137 p_bsdv_rec.bsl_id IS NULL
2138 THEN
2139 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'bsl_id');
2140 l_return_status := OKC_API.G_RET_STS_ERROR;
2141 ELSIF p_bsdv_rec.unit_of_measure = OKC_API.G_MISS_CHAR OR
2142 p_bsdv_rec.unit_of_measure IS NULL
2143 THEN
2144 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'unit_of_measure');
2145 l_return_status := OKC_API.G_RET_STS_ERROR;
2146 ELSIF p_bsdv_rec.amcv_yn = OKC_API.G_MISS_CHAR OR
2147 p_bsdv_rec.amcv_yn IS NULL
2148 THEN
2149 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'amcv_yn');
2150 l_return_status := OKC_API.G_RET_STS_ERROR;
2151 ELSIF p_bsdv_rec.result = OKC_API.G_MISS_NUM OR
2152 p_bsdv_rec.result IS NULL
2153 THEN
2154 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'result');
2155 l_return_status := OKC_API.G_RET_STS_ERROR;
2156 ELSIF p_bsdv_rec.amount = OKC_API.G_MISS_NUM OR
2157 p_bsdv_rec.amount IS NULL
2158 THEN
2159 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'amount');
2160 l_return_status := OKC_API.G_RET_STS_ERROR;
2161 END IF;
2162 RETURN(l_return_status);
2163 END Validate_Attributes;
2164 */
2165
2166
2167
2168
2169 FUNCTION Validate_Attributes (
2170 p_bsdv_rec IN bsdv_rec_type
2171 )
2172 Return VARCHAR2 Is
2173 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2174 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2175
2176 Begin
2177 -- call OKC_UTIL.ADD_VIEW to prepare the PL/SQL table to hold columns of view
2178
2179 OKC_UTIL.ADD_VIEW('OKS_BILL_SUBLINE_DTLS_V',x_return_status);
2180
2181 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2182 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2183 -- need to leave
2184 l_return_status := x_return_status;
2185 RAISE G_EXCEPTION_HALT_VALIDATION;
2186 ELSE
2187 -- record that there is a error
2188 l_return_status := x_return_status;
2189 END IF;
2190 END IF;
2191
2192 --Column Level Validation
2193
2194 --ID
2195 validate_id(x_return_status, p_bsdv_rec.id);
2196
2197 -- store the highest degree of error
2198 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2199 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2200 -- need to leave
2201 l_return_status := x_return_status;
2202 RAISE G_EXCEPTION_HALT_VALIDATION;
2203 ELSE
2204 -- record that there was an error
2205 l_return_status := x_return_status;
2206 END IF;
2207 END IF;
2208
2209 --bsl_id
2210 validate_bsl_id(x_return_status, p_bsdv_rec.bsl_id);
2211 -- store the highest degree of error
2212 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2213 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2214 -- need to leave
2215 l_return_status := x_return_status;
2216 RAISE G_EXCEPTION_HALT_VALIDATION;
2217 ELSE
2218 -- record that there was an error
2219 l_return_status := x_return_status;
2220 END IF;
2221 END IF;
2222
2223 --bsl_id_averaged
2224 validate_bsl_id_averaged(x_return_status, p_bsdv_rec.bsl_id_averaged);
2225 -- store the highest degree of error
2226 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2227 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2228 -- need to leave
2229 l_return_status := x_return_status;
2230 RAISE G_EXCEPTION_HALT_VALIDATION;
2231 ELSE
2232 -- record that there was an error
2233 l_return_status := x_return_status;
2234 END IF;
2235 END IF;
2236
2237 --bsd_id
2238
2239 validate_bsd_id(x_return_status, p_bsdv_rec.bsd_id);
2240 -- store the highest degree of error
2241 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2242
2243 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2244
2245 -- need to leave
2246 l_return_status := x_return_status;
2247 RAISE G_EXCEPTION_HALT_VALIDATION;
2248 ELSE
2249 -- record that there was an error
2250 l_return_status := x_return_status;
2251 END IF;
2252 END IF;
2253
2254 --bsd_id_applied
2255 validate_bsd_id_applied(x_return_status, p_bsdv_rec.bsd_id_applied);
2256 -- store the highest degree of error
2257 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2258
2259 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2260
2261 -- need to leave
2262 l_return_status := x_return_status;
2263 RAISE G_EXCEPTION_HALT_VALIDATION;
2264 ELSE
2265 -- record that there was an error
2266 l_return_status := x_return_status;
2267 END IF;
2268 END IF;
2269
2270 --ccr_id
2271 validate_ccr_id(x_return_status, p_bsdv_rec.ccr_id);
2272 -- store the highest degree of error
2273 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2274
2275 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2276
2277 -- need to leave
2278 l_return_status := x_return_status;
2279 RAISE G_EXCEPTION_HALT_VALIDATION;
2280 ELSE
2281 -- record that there was an error
2282 l_return_status := x_return_status;
2283 END IF;
2284 END IF;
2285
2286 --cgr_id
2287 validate_cgr_id(x_return_status, p_bsdv_rec.cgr_id);
2288 -- store the highest degree of error
2289 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2290
2291 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2292
2293 -- need to leave
2294 l_return_status := x_return_status;
2295 RAISE G_EXCEPTION_HALT_VALIDATION;
2296 ELSE
2297 -- record that there was an error
2298 l_return_status := x_return_status;
2299 END IF;
2300 END IF;
2301
2302 --start_read
2303 validate_start_reading(x_return_status, p_bsdv_rec.start_reading);
2304 -- store the highest degree of error
2305 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2306
2307 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2308
2309 -- need to leave
2310 l_return_status := x_return_status;
2311 RAISE G_EXCEPTION_HALT_VALIDATION;
2312 ELSE
2313 -- record that there was an error
2314 l_return_status := x_return_status;
2315 END IF;
2316 END IF;
2317
2318 --end_read
2319 validate_end_reading(x_return_status, p_bsdv_rec.end_reading);
2320 -- store the highest degree of error
2321 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2322
2323 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2324
2325 -- need to leave
2326 l_return_status := x_return_status;
2327 RAISE G_EXCEPTION_HALT_VALIDATION;
2328 ELSE
2329 -- record that there was an error
2330 l_return_status := x_return_status;
2331 END IF;
2332 END IF;
2333
2334 --base_read
2335 validate_base_reading(x_return_status, p_bsdv_rec.base_reading);
2336 -- store the highest degree of error
2337 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2338
2339 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2340
2341 -- need to leave
2342 l_return_status := x_return_status;
2343 RAISE G_EXCEPTION_HALT_VALIDATION;
2344 ELSE
2345 -- record that there was an error
2346 l_return_status := x_return_status;
2347 END IF;
2348 END IF;
2349
2350 --estimated_quantity
2351 validate_estimated_quantity(x_return_status, p_bsdv_rec.estimated_quantity);
2352 -- store the highest degree of error
2353 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2354
2355 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2356
2357 -- need to leave
2358 l_return_status := x_return_status;
2359 RAISE G_EXCEPTION_HALT_VALIDATION;
2360 ELSE
2361 -- record that there was an error
2362 l_return_status := x_return_status;
2363 END IF;
2364 END IF;
2365
2366 --unit_of_measure
2367 validate_unit_of_measure(x_return_status, p_bsdv_rec.unit_of_measure);
2368 -- store the highest degree of error
2369 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2370 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2371 -- need to leave
2372 l_return_status := x_return_status;
2373 RAISE G_EXCEPTION_HALT_VALIDATION;
2374 ELSE
2375 -- record that there was an error
2376 l_return_status := x_return_status;
2377 END IF;
2378 END IF;
2379
2380 --amcv_yn
2381
2382 validate_amcv_yn(x_return_status, p_bsdv_rec.amcv_yn);
2383 -- store the highest degree of error
2384 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2385
2386 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2387
2388 -- need to leave
2389 l_return_status := x_return_status;
2390 RAISE G_EXCEPTION_HALT_VALIDATION;
2391 ELSE
2392 -- record that there was an error
2393 l_return_status := x_return_status;
2394 END IF;
2395 END IF;
2396
2397 --result
2398 validate_result(x_return_status, p_bsdv_rec.result);
2399 -- store the highest degree of error
2400 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2401
2402 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2403
2404 -- need to leave
2405 l_return_status := x_return_status;
2406 RAISE G_EXCEPTION_HALT_VALIDATION;
2407 ELSE
2408 -- record that there was an error
2409 l_return_status := x_return_status;
2410 END IF;
2411 END IF;
2412
2413 --AMOUNT
2414 validate_amount(x_return_status, p_bsdv_rec.amount);
2415
2416 -- store the highest degree of error
2417 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2418 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2419 -- need to leave
2420 l_return_status := x_return_status;
2421 RAISE G_EXCEPTION_HALT_VALIDATION;
2422 ELSE
2423 -- record that there was an error
2424 l_return_status := x_return_status;
2425 END IF;
2426 END IF;
2427
2428
2429 --OBJECT_VERSION_NUMBER
2430 validate_objvernum(x_return_status, p_bsdv_rec.object_version_number);
2431
2432 -- store the highest degree of error
2433 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2434 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2435 -- need to leave
2436 l_return_status := x_return_status;
2437 RAISE G_EXCEPTION_HALT_VALIDATION;
2438 ELSE
2439 -- record that there was an error
2440 l_return_status := x_return_status;
2441 END IF;
2442 END IF;
2443
2444 --fixed
2445 validate_fixed(x_return_status, p_bsdv_rec.fixed);
2446
2447 -- store the highest degree of error
2448 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2449 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2450 -- need to leave
2451 l_return_status := x_return_status;
2452 RAISE G_EXCEPTION_HALT_VALIDATION;
2453 ELSE
2454 -- record that there was an error
2455 l_return_status := x_return_status;
2456 END IF;
2457 END IF;
2458
2459 --actual
2460 validate_actual(x_return_status, p_bsdv_rec.actual);
2461 -- store the highest degree of error
2462 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2463 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2464 -- need to leave
2465 l_return_status := x_return_status;
2466 RAISE G_EXCEPTION_HALT_VALIDATION;
2467 ELSE
2468 -- record that there was an error
2469 l_return_status := x_return_status;
2470 END IF;
2471 END IF;
2472
2473 --default_default
2474 validate_default_default(x_return_status, p_bsdv_rec.default_default);
2475 -- store the highest degree of error
2476 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2477 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2478 -- need to leave
2479 l_return_status := x_return_status;
2480 RAISE G_EXCEPTION_HALT_VALIDATION;
2481 ELSE
2482 -- record that there was an error
2483 l_return_status := x_return_status;
2484 END IF;
2485 END IF;
2486
2487 --adjustment_level
2488
2489 validate_adjustment_level(x_return_status, p_bsdv_rec.adjustment_level);
2490 -- store the highest degree of error
2491 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2492
2493 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2494
2495 -- need to leave
2496 l_return_status := x_return_status;
2497 RAISE G_EXCEPTION_HALT_VALIDATION;
2498 ELSE
2499 -- record that there was an error
2500 l_return_status := x_return_status;
2501 END IF;
2502 END IF;
2503
2504 -- adjustment_level
2505
2506 validate_adjustment_level(x_return_status, p_bsdv_rec.adjustment_level);
2507 -- store the highest degree of error
2508 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2509
2510 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2511
2512 -- need to leave
2513 l_return_status := x_return_status;
2514 RAISE G_EXCEPTION_HALT_VALIDATION;
2515 ELSE
2516 -- record that there was an error
2517 l_return_status := x_return_status;
2518 END IF;
2519 END IF;
2520
2521
2522 --ATTRIBUTE_CATEGORY
2523
2524 validate_attribute_category(x_return_status, p_bsdv_rec.attribute_category);
2525
2526 -- store the highest degree of error
2527 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2528 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2529 -- need to leave
2530 l_return_status := x_return_status;
2531 RAISE G_EXCEPTION_HALT_VALIDATION;
2532 ELSE
2533 -- record that there was an error
2534 l_return_status := x_return_status;
2535 END IF;
2536 END IF;
2537
2538
2539 --ATTRIBUTE1
2540
2541 validate_attribute1(x_return_status, p_bsdv_rec.attribute1);
2542
2543 -- store the highest degree of error
2544 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2545 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2546 -- need to leave
2547 l_return_status := x_return_status;
2548 RAISE G_EXCEPTION_HALT_VALIDATION;
2549 ELSE
2550 -- record that there was an error
2551 l_return_status := x_return_status;
2552 END IF;
2553 END IF;
2554
2555 --ATTRIBUTE2
2556
2557 validate_attribute2(x_return_status, p_bsdv_rec.attribute2);
2558
2559 -- store the highest degree of error
2560 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2561 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2562 -- need to leave
2563 l_return_status := x_return_status;
2564 RAISE G_EXCEPTION_HALT_VALIDATION;
2565 ELSE
2566 -- record that there was an error
2567 l_return_status := x_return_status;
2568 END IF;
2569 END IF;
2570
2571
2572 --ATTRIBUTE3
2573
2574 validate_attribute3(x_return_status, p_bsdv_rec.attribute3);
2575
2576 -- store the highest degree of error
2577 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2578 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2579 -- need to leave
2580 l_return_status := x_return_status;
2581 RAISE G_EXCEPTION_HALT_VALIDATION;
2582 ELSE
2583 -- record that there was an error
2584 l_return_status := x_return_status;
2585 END IF;
2586 END IF;
2587
2588
2589 --ATTRIBUTE4
2590 validate_attribute4(x_return_status, p_bsdv_rec.attribute4);
2591
2592 -- store the highest degree of error
2593 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2594 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2595 -- need to leave
2596 l_return_status := x_return_status;
2597 RAISE G_EXCEPTION_HALT_VALIDATION;
2598 ELSE
2599 -- record that there was an error
2600 l_return_status := x_return_status;
2601 END IF;
2602 END IF;
2603
2604
2605 --ATTRIBUTE5
2606 validate_attribute5(x_return_status, p_bsdv_rec.attribute5);
2607
2608 -- store the highest degree of error
2609 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2610 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2611 -- need to leave
2612 l_return_status := x_return_status;
2613 RAISE G_EXCEPTION_HALT_VALIDATION;
2614 ELSE
2615 -- record that there was an error
2616 l_return_status := x_return_status;
2617 END IF;
2618 END IF;
2619
2620
2621 --ATTRIBUTE6
2622
2623 validate_attribute6(x_return_status, p_bsdv_rec.attribute6);
2624
2625 -- store the highest degree of error
2626 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2627 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2628 -- need to leave
2629 l_return_status := x_return_status;
2630 RAISE G_EXCEPTION_HALT_VALIDATION;
2631 ELSE
2632 -- record that there was an error
2633 l_return_status := x_return_status;
2634 END IF;
2635 END IF;
2636
2637
2638 --ATTRIBUTE7
2639
2640 validate_attribute7(x_return_status, p_bsdv_rec.attribute7);
2641
2642 -- store the highest degree of error
2643 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2644 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2645 -- need to leave
2646 l_return_status := x_return_status;
2647 RAISE G_EXCEPTION_HALT_VALIDATION;
2648 ELSE
2649 -- record that there was an error
2650 l_return_status := x_return_status;
2651 END IF;
2652 END IF;
2653
2654
2655 --ATTRIBUTE8
2656 validate_attribute8(x_return_status, p_bsdv_rec.attribute8);
2657
2658 -- store the highest degree of error
2659 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2660 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2661 -- need to leave
2662 l_return_status := x_return_status;
2663 RAISE G_EXCEPTION_HALT_VALIDATION;
2664 ELSE
2665 -- record that there was an error
2666 l_return_status := x_return_status;
2667 END IF;
2668 END IF;
2669
2670
2671 --ATTRIBUTE9
2672 validate_attribute9(x_return_status, p_bsdv_rec.attribute9);
2673
2674 -- store the highest degree of error
2675 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2676 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2677 -- need to leave
2678 l_return_status := x_return_status;
2679 RAISE G_EXCEPTION_HALT_VALIDATION;
2680 ELSE
2681 -- record that there was an error
2682 l_return_status := x_return_status;
2683 END IF;
2684 END IF;
2685
2686
2687 --ATTRIBUTE10
2688
2689 validate_attribute10(x_return_status, p_bsdv_rec.attribute10);
2690
2691 -- store the highest degree of error
2692 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2693 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2694 -- need to leave
2695 l_return_status := x_return_status;
2696 RAISE G_EXCEPTION_HALT_VALIDATION;
2697 ELSE
2698 -- record that there was an error
2699 l_return_status := x_return_status;
2700 END IF;
2701 END IF;
2702
2703
2704 --ATTRIBUTE11
2705
2706 validate_attribute11(x_return_status, p_bsdv_rec.attribute11);
2707
2708 -- store the highest degree of error
2709 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2710 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2711 -- need to leave
2712 l_return_status := x_return_status;
2713 RAISE G_EXCEPTION_HALT_VALIDATION;
2714 ELSE
2715 -- record that there was an error
2716 l_return_status := x_return_status;
2717 END IF;
2718 END IF;
2719
2720
2721 --ATTRIBUTE12
2722
2723 validate_attribute12(x_return_status, p_bsdv_rec.attribute12);
2724
2725 -- store the highest degree of error
2726 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2727 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2728 -- need to leave
2729 l_return_status := x_return_status;
2730 RAISE G_EXCEPTION_HALT_VALIDATION;
2731 ELSE
2732 -- record that there was an error
2733 l_return_status := x_return_status;
2734 END IF;
2735 END IF;
2736
2737
2738 --ATTRIBUTE13
2739 validate_attribute13(x_return_status, p_bsdv_rec.attribute13);
2740
2741 -- store the highest degree of error
2742 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2743 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2744 -- need to leave
2745 l_return_status := x_return_status;
2746 RAISE G_EXCEPTION_HALT_VALIDATION;
2747 ELSE
2748 -- record that there was an error
2749 l_return_status := x_return_status;
2750 END IF;
2751 END IF;
2752
2753
2754 --ATTRIBUTE14
2755
2756 validate_attribute14(x_return_status, p_bsdv_rec.attribute14);
2757
2758 -- store the highest degree of error
2759 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2760 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2761 -- need to leave
2762 l_return_status := x_return_status;
2763 RAISE G_EXCEPTION_HALT_VALIDATION;
2764 ELSE
2765 -- record that there was an error
2766 l_return_status := x_return_status;
2767 END IF;
2768 END IF;
2769
2770 --ATTRIBUTE15
2771
2772 validate_attribute15(x_return_status, p_bsdv_rec.attribute15);
2773
2774 -- store the highest degree of error
2775 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2776 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2777 -- need to leave
2778 l_return_status := x_return_status;
2779 RAISE G_EXCEPTION_HALT_VALIDATION;
2780 ELSE
2781 -- record that there was an error
2782 l_return_status := x_return_status;
2783 END IF;
2784 END IF;
2785
2786 Raise G_EXCEPTION_HALT_VALIDATION;
2787
2788 Exception
2789
2790 When G_EXCEPTION_HALT_VALIDATION Then
2791
2792 Return (l_return_status);
2793
2794 When OTHERS Then
2795 -- store SQL error message on message stack for caller
2796 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2797 p_msg_name => g_unexpected_error,
2798 p_token1 => g_sqlcode_token,
2799 p_token1_value => sqlcode,
2800 p_token2 => g_sqlerrm_token,
2801 p_token2_value => sqlerrm);
2802
2803 -- notify caller of an UNEXPECTED error
2804 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2805 Return(l_return_status);
2806
2807 END validate_attributes;
2808
2809 ---------------------------------------------------------------------------
2810 -- PROCEDURE Validate_Record
2811 ---------------------------------------------------------------------------
2812 -------------------------------------------------
2813 -- Validate_Record for:OKS_BILL_SUBLINE_DTLS_V --
2814 -------------------------------------------------
2815 FUNCTION Validate_Record (
2816 p_bsdv_rec IN bsdv_rec_type
2817 ) RETURN VARCHAR2 IS
2818 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2819 ------------------------------------
2820 -- FUNCTION validate_foreign_keys --
2821 ------------------------------------
2822 FUNCTION validate_foreign_keys (
2823 p_bsdv_rec IN bsdv_rec_type
2824 ) RETURN VARCHAR2 IS
2825 item_not_found_error EXCEPTION;
2826 CURSOR okc_bsdv_pk_csr (p_id IN NUMBER) IS
2827 SELECT
2828 ID,
2829 OBJECT_VERSION_NUMBER,
2830 BSL_ID,
2831 BSL_ID_AVERAGED,
2832 BSD_ID,
2833 BSD_ID_APPLIED,
2834 CCR_ID,
2835 CGR_ID,
2836 START_READING,
2837 END_READING,
2838 BASE_READING,
2839 ESTIMATED_QUANTITY,
2840 UNIT_OF_MEASURE,
2841 FIXED,
2842 ACTUAL,
2843 DEFAULT_DEFAULT,
2844 AMCV_YN,
2845 ADJUSTMENT_LEVEL,
2846 ADJUSTMENT_MINIMUM,
2847 RESULT,
2848 AMOUNT,
2849 ATTRIBUTE_CATEGORY,
2850 ATTRIBUTE1,
2851 ATTRIBUTE2,
2852 ATTRIBUTE3,
2853 ATTRIBUTE4,
2854 ATTRIBUTE5,
2855 ATTRIBUTE6,
2856 ATTRIBUTE7,
2857 ATTRIBUTE8,
2858 ATTRIBUTE9,
2859 ATTRIBUTE10,
2860 ATTRIBUTE11,
2861 ATTRIBUTE12,
2862 ATTRIBUTE13,
2863 ATTRIBUTE14,
2864 ATTRIBUTE15,
2865 CREATED_BY,
2866 CREATION_DATE,
2867 LAST_UPDATED_BY,
2868 LAST_UPDATE_DATE,
2869 LAST_UPDATE_LOGIN
2870 FROM Oks_Bill_Subline_Dtls_V
2871 WHERE oks_bill_subline_dtls_v.id = p_id;
2872 l_okc_bsdv_pk okc_bsdv_pk_csr%ROWTYPE;
2873 CURSOR okc_bslv_pk_csr (p_id IN NUMBER) IS
2874 SELECT
2875 ID,
2876 OBJECT_VERSION_NUMBER,
2877 BCL_ID,
2878 CLE_ID,
2879 AVERAGE,
2880 AMOUNT,
2881 ATTRIBUTE_CATEGORY,
2882 ATTRIBUTE1,
2883 ATTRIBUTE2,
2884 ATTRIBUTE3,
2885 ATTRIBUTE4,
2886 ATTRIBUTE5,
2887 ATTRIBUTE6,
2888 ATTRIBUTE7,
2889 ATTRIBUTE8,
2890 ATTRIBUTE9,
2891 ATTRIBUTE10,
2892 ATTRIBUTE11,
2893 ATTRIBUTE12,
2894 ATTRIBUTE13,
2895 ATTRIBUTE14,
2896 ATTRIBUTE15,
2897 CREATED_BY,
2898 CREATION_DATE,
2899 LAST_UPDATED_BY,
2900 LAST_UPDATE_DATE,
2901 LAST_UPDATE_LOGIN
2902 FROM Oks_Bill_Sub_lines_V
2903 WHERE oks_bill_sub_lines_v.id = p_id;
2904 l_okc_bslv_pk okc_bslv_pk_csr%ROWTYPE;
2905 /* CURSOR okx_units_of_measure_v_pk_csr (p_unit_of_measure IN VARCHAR2) IS
2906 SELECT
2907 UNIT_OF_MEASURE,
2908 UOM_CODE,
2909 UOM_CLASS,
2910 DISABLE_DATE,
2911 DESCRIPTION
2912 FROM Okx_Units_Of_Measure_V
2913 WHERE okx_units_of_measure_v.unit_of_measure = p_unit_of_measure;
2914 */
2915 -- l_okx_units_of_measure_v_pk okx_units_of_measure_v_pk_csr%ROWTYPE;
2916 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2917 l_row_notfound BOOLEAN := TRUE;
2918 BEGIN
2919 IF (p_bsdv_rec.BSD_ID IS NOT NULL)
2920 THEN
2921 OPEN okc_bsdv_pk_csr(p_bsdv_rec.BSD_ID);
2922 FETCH okc_bsdv_pk_csr INTO l_okc_bsdv_pk;
2923 l_row_notfound := okc_bsdv_pk_csr%NOTFOUND;
2924 CLOSE okc_bsdv_pk_csr;
2925 IF (l_row_notfound) THEN
2926 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'BSD_ID');
2927 RAISE item_not_found_error;
2928 END IF;
2929 END IF;
2930 IF (p_bsdv_rec.BSL_ID IS NOT NULL)
2931 THEN
2932 OPEN okc_bslv_pk_csr(p_bsdv_rec.BSL_ID);
2933 FETCH okc_bslv_pk_csr INTO l_okc_bslv_pk;
2934 l_row_notfound := okc_bslv_pk_csr%NOTFOUND;
2935 CLOSE okc_bslv_pk_csr;
2936 IF (l_row_notfound) THEN
2937 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'BSL_ID');
2938 RAISE item_not_found_error;
2939 END IF;
2940 END IF;
2941 /*
2942 IF (p_bsdv_rec.UNIT_OF_MEASURE IS NOT NULL)
2943 THEN
2944 OPEN okx_units_of_measure_v_pk_csr(p_bsdv_rec.UNIT_OF_MEASURE);
2945 FETCH okx_units_of_measure_v_pk_csr INTO l_okx_units_of_measure_v_pk;
2946 l_row_notfound := okx_units_of_measure_v_pk_csr%NOTFOUND;
2947 CLOSE okx_units_of_measure_v_pk_csr;
2948 IF (l_row_notfound) THEN
2949 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'UNIT_OF_MEASURE');
2950 RAISE item_not_found_error;
2951 END IF;
2952 END IF;
2953 */
2954 IF (p_bsdv_rec.BSD_ID_APPLIED IS NOT NULL)
2955 THEN
2956 OPEN okc_bsdv_pk_csr(p_bsdv_rec.BSD_ID_APPLIED);
2957 FETCH okc_bsdv_pk_csr INTO l_okc_bsdv_pk;
2958 l_row_notfound := okc_bsdv_pk_csr%NOTFOUND;
2959 CLOSE okc_bsdv_pk_csr;
2960 IF (l_row_notfound) THEN
2961 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'BSD_ID_APPLIED');
2962 RAISE item_not_found_error;
2963 END IF;
2964 END IF;
2965 IF (p_bsdv_rec.BSL_ID_AVERAGED IS NOT NULL)
2966 THEN
2967 OPEN okc_bslv_pk_csr(p_bsdv_rec.BSL_ID_AVERAGED);
2968 FETCH okc_bslv_pk_csr INTO l_okc_bslv_pk;
2969 l_row_notfound := okc_bslv_pk_csr%NOTFOUND;
2970 CLOSE okc_bslv_pk_csr;
2971 IF (l_row_notfound) THEN
2972 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'BSL_ID_AVERAGED');
2973 RAISE item_not_found_error;
2974 END IF;
2975 END IF;
2976 RETURN (l_return_status);
2977 EXCEPTION
2978 WHEN item_not_found_error THEN
2979 l_return_status := OKC_API.G_RET_STS_ERROR;
2980 RETURN (l_return_status);
2981 END validate_foreign_keys;
2982 BEGIN
2983 l_return_status := validate_foreign_keys (p_bsdv_rec);
2984 RETURN (l_return_status);
2985 END Validate_Record;
2986
2987 ---------------------------------------------------------------------------
2988 -- PROCEDURE Migrate
2989 ---------------------------------------------------------------------------
2990 PROCEDURE migrate (
2991 p_from IN bsdv_rec_type,
2992 p_to OUT NOCOPY bsd_rec_type
2993 ) IS
2994 BEGIN
2995 p_to.id := p_from.id;
2996 p_to.bsl_id := p_from.bsl_id;
2997 p_to.bsl_id_averaged := p_from.bsl_id_averaged;
2998 p_to.bsd_id := p_from.bsd_id;
2999 p_to.bsd_id_applied := p_from.bsd_id_applied;
3000 p_to.ccr_id := p_from.ccr_id;
3001 p_to.cgr_id := p_from.cgr_id;
3002 p_to.start_reading := p_from.start_reading;
3003 p_to.end_reading := p_from.end_reading;
3004 p_to.base_reading := p_from.base_reading;
3005 p_to.estimated_quantity := p_from.estimated_quantity;
3006 p_to.unit_of_measure := p_from.unit_of_measure;
3007 p_to.amcv_yn := p_from.amcv_yn;
3008 p_to.result := p_from.result;
3009 p_to.amount := p_from.amount;
3010 p_to.object_version_number := p_from.object_version_number;
3011 p_to.created_by := p_from.created_by;
3012 p_to.creation_date := p_from.creation_date;
3013 p_to.last_updated_by := p_from.last_updated_by;
3014 p_to.last_update_date := p_from.last_update_date;
3015 p_to.fixed := p_from.fixed;
3016 p_to.actual := p_from.actual;
3017 p_to.default_default := p_from.default_default;
3018 p_to.adjustment_level := p_from.adjustment_level;
3019 p_to.adjustment_minimum := p_from.adjustment_minimum;
3020 p_to.last_update_login := p_from.last_update_login;
3021 p_to.attribute_category := p_from.attribute_category;
3022 p_to.attribute1 := p_from.attribute1;
3023 p_to.attribute2 := p_from.attribute2;
3024 p_to.attribute3 := p_from.attribute3;
3025 p_to.attribute4 := p_from.attribute4;
3026 p_to.attribute5 := p_from.attribute5;
3027 p_to.attribute6 := p_from.attribute6;
3028 p_to.attribute7 := p_from.attribute7;
3029 p_to.attribute8 := p_from.attribute8;
3030 p_to.attribute9 := p_from.attribute9;
3031 p_to.attribute10 := p_from.attribute10;
3032 p_to.attribute11 := p_from.attribute11;
3033 p_to.attribute12 := p_from.attribute12;
3034 p_to.attribute13 := p_from.attribute13;
3035 p_to.attribute14 := p_from.attribute14;
3036 p_to.attribute15 := p_from.attribute15;
3037 END migrate;
3038 PROCEDURE migrate (
3039 p_from IN bsd_rec_type,
3040 p_to OUT NOCOPY bsdv_rec_type
3041 ) IS
3042 BEGIN
3043 p_to.id := p_from.id;
3044 p_to.bsl_id := p_from.bsl_id;
3045 p_to.bsl_id_averaged := p_from.bsl_id_averaged;
3046 p_to.bsd_id := p_from.bsd_id;
3047 p_to.bsd_id_applied := p_from.bsd_id_applied;
3048 p_to.ccr_id := p_from.ccr_id;
3049 p_to.cgr_id := p_from.cgr_id;
3050 p_to.start_Reading := p_from.start_Reading;
3051 p_to.end_Reading := p_from.end_Reading;
3052 p_to.base_Reading := p_from.base_Reading;
3053 p_to.estimated_quantity := p_from.estimated_quantity;
3054 p_to.unit_of_measure := p_from.unit_of_measure;
3055 p_to.amcv_yn := p_from.amcv_yn;
3056 p_to.result := p_from.result;
3057 p_to.amount := p_from.amount;
3058 p_to.object_version_number := p_from.object_version_number;
3059 p_to.created_by := p_from.created_by;
3060 p_to.creation_date := p_from.creation_date;
3061 p_to.last_updated_by := p_from.last_updated_by;
3062 p_to.last_update_date := p_from.last_update_date;
3063 p_to.fixed := p_from.fixed;
3064 p_to.actual := p_from.actual;
3065 p_to.default_default := p_from.default_default;
3066 p_to.adjustment_level := p_from.adjustment_level;
3067 p_to.adjustment_minimum := p_from.adjustment_minimum;
3068 p_to.last_update_login := p_from.last_update_login;
3069 p_to.attribute_category := p_from.attribute_category;
3070 p_to.attribute1 := p_from.attribute1;
3071 p_to.attribute2 := p_from.attribute2;
3072 p_to.attribute3 := p_from.attribute3;
3073 p_to.attribute4 := p_from.attribute4;
3074 p_to.attribute5 := p_from.attribute5;
3075 p_to.attribute6 := p_from.attribute6;
3076 p_to.attribute7 := p_from.attribute7;
3077 p_to.attribute8 := p_from.attribute8;
3078 p_to.attribute9 := p_from.attribute9;
3079 p_to.attribute10 := p_from.attribute10;
3080 p_to.attribute11 := p_from.attribute11;
3081 p_to.attribute12 := p_from.attribute12;
3082 p_to.attribute13 := p_from.attribute13;
3083 p_to.attribute14 := p_from.attribute14;
3084 p_to.attribute15 := p_from.attribute15;
3085 END migrate;
3086
3087 ---------------------------------------------------------------------------
3088 -- PROCEDURE validate_row
3089 ---------------------------------------------------------------------------
3090 ----------------------------------------------
3091 -- validate_row for:OKS_BILL_SUBLINE_DTLS_V --
3092 ----------------------------------------------
3093 PROCEDURE validate_row(
3094 p_api_version IN NUMBER,
3095 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3096 x_return_status OUT NOCOPY VARCHAR2,
3097 x_msg_count OUT NOCOPY NUMBER,
3098 x_msg_data OUT NOCOPY VARCHAR2,
3099 p_bsdv_rec IN bsdv_rec_type) IS
3100
3101 l_api_version CONSTANT NUMBER := 1;
3102 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
3103 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3104 l_bsdv_rec bsdv_rec_type := p_bsdv_rec;
3105 l_bsd_rec bsd_rec_type;
3106 BEGIN
3107 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3108 G_PKG_NAME,
3109 p_init_msg_list,
3110 l_api_version,
3111 p_api_version,
3112 '_PVT',
3113 x_return_status);
3114 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3115 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3116 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3117 RAISE OKC_API.G_EXCEPTION_ERROR;
3118 END IF;
3119 --- Validate all non-missing attributes (Item Level Validation)
3120 l_return_status := Validate_Attributes(l_bsdv_rec);
3121 --- If any errors happen abort API
3122 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3123 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3124 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3125 RAISE OKC_API.G_EXCEPTION_ERROR;
3126 END IF;
3127 l_return_status := Validate_Record(l_bsdv_rec);
3128 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3129 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3130 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3131 RAISE OKC_API.G_EXCEPTION_ERROR;
3132 END IF;
3133 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3134 EXCEPTION
3135 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3136 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3137 (
3138 l_api_name,
3139 G_PKG_NAME,
3140 'OKC_API.G_RET_STS_ERROR',
3141 x_msg_count,
3142 x_msg_data,
3143 '_PVT'
3144 );
3145 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3146 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3147 (
3148 l_api_name,
3149 G_PKG_NAME,
3150 'OKC_API.G_RET_STS_UNEXP_ERROR',
3151 x_msg_count,
3152 x_msg_data,
3153 '_PVT'
3154 );
3155 WHEN OTHERS THEN
3156 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3157 (
3158 l_api_name,
3159 G_PKG_NAME,
3160 'OTHERS',
3161 x_msg_count,
3162 x_msg_data,
3163 '_PVT'
3164 );
3165 END validate_row;
3166 ------------------------------------------
3167 -- PL/SQL TBL validate_row for:BSDV_TBL --
3168 ------------------------------------------
3169 PROCEDURE validate_row(
3170 p_api_version IN NUMBER,
3171 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3172 x_return_status OUT NOCOPY VARCHAR2,
3173 x_msg_count OUT NOCOPY NUMBER,
3174 x_msg_data OUT NOCOPY VARCHAR2,
3175 p_bsdv_tbl IN bsdv_tbl_type) IS
3176
3177 l_api_version CONSTANT NUMBER := 1;
3178 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
3179 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3180 i NUMBER := 0;
3181 BEGIN
3182 OKC_API.init_msg_list(p_init_msg_list);
3183 -- Make sure PL/SQL table has records in it before passing
3184 IF (p_bsdv_tbl.COUNT > 0) THEN
3185 i := p_bsdv_tbl.FIRST;
3186 LOOP
3187 validate_row (
3188 p_api_version => p_api_version,
3189 p_init_msg_list => OKC_API.G_FALSE,
3190 x_return_status => x_return_status,
3191 x_msg_count => x_msg_count,
3192 x_msg_data => x_msg_data,
3193 p_bsdv_rec => p_bsdv_tbl(i));
3194 EXIT WHEN (i = p_bsdv_tbl.LAST);
3195 i := p_bsdv_tbl.NEXT(i);
3196 END LOOP;
3197 END IF;
3198 EXCEPTION
3199 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3200 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3201 (
3202 l_api_name,
3203 G_PKG_NAME,
3204 'OKC_API.G_RET_STS_ERROR',
3205 x_msg_count,
3206 x_msg_data,
3207 '_PVT'
3208 );
3209 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3210 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3211 (
3212 l_api_name,
3213 G_PKG_NAME,
3214 'OKC_API.G_RET_STS_UNEXP_ERROR',
3215 x_msg_count,
3216 x_msg_data,
3217 '_PVT'
3218 );
3219 WHEN OTHERS THEN
3220 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3221 (
3222 l_api_name,
3223 G_PKG_NAME,
3224 'OTHERS',
3225 x_msg_count,
3226 x_msg_data,
3227 '_PVT'
3228 );
3229 END validate_row;
3230
3231 ---------------------------------------------------------------------------
3232 -- PROCEDURE insert_row
3233 ---------------------------------------------------------------------------
3234 -------------------------------------------
3235 -- insert_row for:OKS_BILL_SUB_LINE_DTLS --
3236 -------------------------------------------
3237 PROCEDURE insert_row(
3238 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3239 x_return_status OUT NOCOPY VARCHAR2,
3240 x_msg_count OUT NOCOPY NUMBER,
3241 x_msg_data OUT NOCOPY VARCHAR2,
3242 p_bsd_rec IN bsd_rec_type,
3243 x_bsd_rec OUT NOCOPY bsd_rec_type) IS
3244
3245 l_api_version CONSTANT NUMBER := 1;
3246 l_api_name CONSTANT VARCHAR2(30) := 'DTLS_insert_row';
3247 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3248 l_bsd_rec bsd_rec_type := p_bsd_rec;
3249 l_def_bsd_rec bsd_rec_type;
3250 -----------------------------------------------
3251 -- Set_Attributes for:OKS_BILL_SUB_LINE_DTLS --
3252 -----------------------------------------------
3253 FUNCTION Set_Attributes (
3254 p_bsd_rec IN bsd_rec_type,
3255 x_bsd_rec OUT NOCOPY bsd_rec_type
3256 ) RETURN VARCHAR2 IS
3257 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3258 BEGIN
3259 x_bsd_rec := p_bsd_rec;
3260 RETURN(l_return_status);
3261 END Set_Attributes;
3262 BEGIN
3263 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3264 p_init_msg_list,
3265 '_PVT',
3266 x_return_status);
3267 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3268 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3269 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3270 RAISE OKC_API.G_EXCEPTION_ERROR;
3271 END IF;
3272 --- Setting item attributes
3273 l_return_status := Set_Attributes(
3274 p_bsd_rec, -- IN
3275 l_bsd_rec); -- OUT
3276 --- If any errors happen abort API
3277 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3278 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3279 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3280 RAISE OKC_API.G_EXCEPTION_ERROR;
3281 END IF;
3282 INSERT INTO OKS_BILL_SUB_LINE_DTLS(
3283 id,
3284 bsl_id,
3285 bsl_id_averaged,
3286 bsd_id,
3287 bsd_id_applied,
3288 ccr_id,
3289 cgr_id,
3290 start_Reading,
3291 end_reading,
3292 base_reading,
3293 estimated_quantity,
3294 unit_of_measure,
3295 amcv_yn,
3296 result,
3297 amount,
3298 object_version_number,
3299 created_by,
3300 creation_date,
3301 last_updated_by,
3302 last_update_date,
3303 fixed,
3304 actual,
3305 default_default,
3306 adjustment_level,
3307 adjustment_minimum,
3308 last_update_login,
3309 attribute_category,
3310 attribute1,
3311 attribute2,
3312 attribute3,
3313 attribute4,
3314 attribute5,
3315 attribute6,
3316 attribute7,
3317 attribute8,
3318 attribute9,
3319 attribute10,
3320 attribute11,
3321 attribute12,
3322 attribute13,
3323 attribute14,
3324 attribute15)
3325 VALUES (
3326 l_bsd_rec.id,
3327 l_bsd_rec.bsl_id,
3328 l_bsd_rec.bsl_id_averaged,
3329 l_bsd_rec.bsd_id,
3330 l_bsd_rec.bsd_id_applied,
3331 l_bsd_rec.ccr_id,
3332 l_bsd_rec.cgr_id,
3333 l_bsd_rec.start_reading,
3334 l_bsd_rec.end_reading,
3335 l_bsd_rec.base_reading,
3336 l_bsd_rec.estimated_quantity,
3337 l_bsd_rec.unit_of_measure,
3338 l_bsd_rec.amcv_yn,
3339 l_bsd_rec.result,
3340 l_bsd_rec.amount,
3341 l_bsd_rec.object_version_number,
3342 l_bsd_rec.created_by,
3343 l_bsd_rec.creation_date,
3344 l_bsd_rec.last_updated_by,
3345 l_bsd_rec.last_update_date,
3346 l_bsd_rec.fixed,
3347 l_bsd_rec.actual,
3348 l_bsd_rec.default_default,
3349 l_bsd_rec.adjustment_level,
3350 l_bsd_rec.adjustment_minimum,
3351 l_bsd_rec.last_update_login,
3352 l_bsd_rec.attribute_category,
3353 l_bsd_rec.attribute1,
3354 l_bsd_rec.attribute2,
3355 l_bsd_rec.attribute3,
3356 l_bsd_rec.attribute4,
3357 l_bsd_rec.attribute5,
3358 l_bsd_rec.attribute6,
3359 l_bsd_rec.attribute7,
3360 l_bsd_rec.attribute8,
3361 l_bsd_rec.attribute9,
3362 l_bsd_rec.attribute10,
3363 l_bsd_rec.attribute11,
3364 l_bsd_rec.attribute12,
3365 l_bsd_rec.attribute13,
3366 l_bsd_rec.attribute14,
3367 l_bsd_rec.attribute15);
3368 -- Set OUT values
3369 x_bsd_rec := l_bsd_rec;
3370 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3371 EXCEPTION
3372 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3373 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3374 (
3375 l_api_name,
3376 G_PKG_NAME,
3377 'OKC_API.G_RET_STS_ERROR',
3378 x_msg_count,
3379 x_msg_data,
3380 '_PVT'
3381 );
3382 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3383 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3384 (
3385 l_api_name,
3386 G_PKG_NAME,
3387 'OKC_API.G_RET_STS_UNEXP_ERROR',
3388 x_msg_count,
3389 x_msg_data,
3390 '_PVT'
3391 );
3392 WHEN OTHERS THEN
3393 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3394 (
3395 l_api_name,
3396 G_PKG_NAME,
3397 'OTHERS',
3398 x_msg_count,
3399 x_msg_data,
3400 '_PVT'
3401 );
3402 END insert_row;
3403 --------------------------------------------
3404 -- insert_row for:OKS_BILL_SUBLINE_DTLS_V --
3405 --------------------------------------------
3406 PROCEDURE insert_row(
3407 p_api_version IN NUMBER,
3408 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3409 x_return_status OUT NOCOPY VARCHAR2,
3410 x_msg_count OUT NOCOPY NUMBER,
3411 x_msg_data OUT NOCOPY VARCHAR2,
3412 p_bsdv_rec IN bsdv_rec_type,
3413 x_bsdv_rec OUT NOCOPY bsdv_rec_type) IS
3414
3415 l_api_version CONSTANT NUMBER := 1;
3416 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
3417 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3418 l_bsdv_rec bsdv_rec_type;
3419 l_def_bsdv_rec bsdv_rec_type;
3420 l_bsd_rec bsd_rec_type;
3421 lx_bsd_rec bsd_rec_type;
3422 -------------------------------
3423 -- FUNCTION fill_who_columns --
3424 -------------------------------
3425 FUNCTION fill_who_columns (
3426 p_bsdv_rec IN bsdv_rec_type
3427 ) RETURN bsdv_rec_type IS
3428 l_bsdv_rec bsdv_rec_type := p_bsdv_rec;
3429 BEGIN
3430 l_bsdv_rec.CREATION_DATE := SYSDATE;
3431 l_bsdv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
3432 l_bsdv_rec.LAST_UPDATE_DATE := SYSDATE;
3433 l_bsdv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3434 l_bsdv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3435 RETURN(l_bsdv_rec);
3436 END fill_who_columns;
3437 ------------------------------------------------
3438 -- Set_Attributes for:OKS_BILL_SUBLINE_DTLS_V --
3439 ------------------------------------------------
3440 FUNCTION Set_Attributes (
3441 p_bsdv_rec IN bsdv_rec_type,
3442 x_bsdv_rec OUT NOCOPY bsdv_rec_type
3443 ) RETURN VARCHAR2 IS
3444 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3445 BEGIN
3446 x_bsdv_rec := p_bsdv_rec;
3447 x_bsdv_rec.OBJECT_VERSION_NUMBER := 1;
3448 RETURN(l_return_status);
3449 END Set_Attributes;
3450 BEGIN
3451 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3452 G_PKG_NAME,
3453 p_init_msg_list,
3454 l_api_version,
3455 p_api_version,
3456 '_PVT',
3457 x_return_status);
3458 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3459 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3460 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3461 RAISE OKC_API.G_EXCEPTION_ERROR;
3462 END IF;
3463 l_bsdv_rec := null_out_defaults(p_bsdv_rec);
3464 -- Set primary key value
3465 l_bsdv_rec.ID := get_seq_id;
3466 --- Setting item attributes
3467 l_return_status := Set_Attributes(
3468 l_bsdv_rec, -- IN
3469 l_def_bsdv_rec); -- OUT
3470 --- If any errors happen abort API
3471 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3472 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3473 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3474 RAISE OKC_API.G_EXCEPTION_ERROR;
3475 END IF;
3476 l_def_bsdv_rec := fill_who_columns(l_def_bsdv_rec);
3477 --- Validate all non-missing attributes (Item Level Validation)
3478 l_return_status := Validate_Attributes(l_def_bsdv_rec);
3479 --- If any errors happen abort API
3480 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3481 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3482 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3483 RAISE OKC_API.G_EXCEPTION_ERROR;
3484 END IF;
3485 l_return_status := Validate_Record(l_def_bsdv_rec);
3486 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3487 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3488 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3489 RAISE OKC_API.G_EXCEPTION_ERROR;
3490 END IF;
3491 --------------------------------------
3492 -- Move VIEW record to "Child" records
3493 --------------------------------------
3494 migrate(l_def_bsdv_rec, l_bsd_rec);
3495 --------------------------------------------
3496 -- Call the INSERT_ROW for each child record
3497 --------------------------------------------
3498 insert_row(
3499 p_init_msg_list,
3500 x_return_status,
3501 x_msg_count,
3502 x_msg_data,
3503 l_bsd_rec,
3504 lx_bsd_rec
3505 );
3506 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3507 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3508 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3509 RAISE OKC_API.G_EXCEPTION_ERROR;
3510 END IF;
3511 migrate(lx_bsd_rec, l_def_bsdv_rec);
3512 -- Set OUT values
3513 x_bsdv_rec := l_def_bsdv_rec;
3514 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3515 EXCEPTION
3516 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3517 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3518 (
3519 l_api_name,
3520 G_PKG_NAME,
3521 'OKC_API.G_RET_STS_ERROR',
3522 x_msg_count,
3523 x_msg_data,
3524 '_PVT'
3525 );
3526 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3527 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3528 (
3529 l_api_name,
3530 G_PKG_NAME,
3531 'OKC_API.G_RET_STS_UNEXP_ERROR',
3532 x_msg_count,
3533 x_msg_data,
3534 '_PVT'
3535 );
3536 WHEN OTHERS THEN
3537 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3538 (
3539 l_api_name,
3540 G_PKG_NAME,
3541 'OTHERS',
3542 x_msg_count,
3543 x_msg_data,
3544 '_PVT'
3545 );
3546 END insert_row;
3547 ----------------------------------------
3548 -- PL/SQL TBL insert_row for:BSDV_TBL --
3549 ----------------------------------------
3550 PROCEDURE insert_row(
3551 p_api_version IN NUMBER,
3552 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3553 x_return_status OUT NOCOPY VARCHAR2,
3554 x_msg_count OUT NOCOPY NUMBER,
3555 x_msg_data OUT NOCOPY VARCHAR2,
3556 p_bsdv_tbl IN bsdv_tbl_type,
3557 x_bsdv_tbl OUT NOCOPY bsdv_tbl_type) IS
3558
3559 l_api_version CONSTANT NUMBER := 1;
3560 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
3561 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3562 i NUMBER := 0;
3563 BEGIN
3564 OKC_API.init_msg_list(p_init_msg_list);
3565 -- Make sure PL/SQL table has records in it before passing
3566 IF (p_bsdv_tbl.COUNT > 0) THEN
3567 i := p_bsdv_tbl.FIRST;
3568 LOOP
3569 insert_row (
3570 p_api_version => p_api_version,
3571 p_init_msg_list => OKC_API.G_FALSE,
3572 x_return_status => x_return_status,
3573 x_msg_count => x_msg_count,
3574 x_msg_data => x_msg_data,
3575 p_bsdv_rec => p_bsdv_tbl(i),
3576 x_bsdv_rec => x_bsdv_tbl(i));
3577 EXIT WHEN (i = p_bsdv_tbl.LAST);
3578 i := p_bsdv_tbl.NEXT(i);
3579 END LOOP;
3580 END IF;
3581 EXCEPTION
3582 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3583 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3584 (
3585 l_api_name,
3586 G_PKG_NAME,
3587 'OKC_API.G_RET_STS_ERROR',
3588 x_msg_count,
3589 x_msg_data,
3590 '_PVT'
3591 );
3592 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3593 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3594 (
3595 l_api_name,
3596 G_PKG_NAME,
3597 'OKC_API.G_RET_STS_UNEXP_ERROR',
3598 x_msg_count,
3599 x_msg_data,
3600 '_PVT'
3601 );
3602 WHEN OTHERS THEN
3603 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3604 (
3605 l_api_name,
3606 G_PKG_NAME,
3607 'OTHERS',
3608 x_msg_count,
3609 x_msg_data,
3610 '_PVT'
3611 );
3612 END insert_row;
3613
3614 ---------------------------------------------------------------------------
3615 -- PROCEDURE lock_row
3616 ---------------------------------------------------------------------------
3617 -----------------------------------------
3618 -- lock_row for:OKS_BILL_SUB_LINE_DTLS --
3619 -----------------------------------------
3620 PROCEDURE lock_row(
3621 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3622 x_return_status OUT NOCOPY VARCHAR2,
3623 x_msg_count OUT NOCOPY NUMBER,
3624 x_msg_data OUT NOCOPY VARCHAR2,
3625 p_bsd_rec IN bsd_rec_type) IS
3626
3627 E_Resource_Busy EXCEPTION;
3628 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3629 CURSOR lock_csr (p_bsd_rec IN bsd_rec_type) IS
3630 SELECT OBJECT_VERSION_NUMBER
3631 FROM OKS_BILL_SUB_LINE_DTLS
3632 WHERE ID = p_bsd_rec.id
3633 AND OBJECT_VERSION_NUMBER = p_bsd_rec.object_version_number
3634 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
3635
3636 CURSOR lchk_csr (p_bsd_rec IN bsd_rec_type) IS
3637 SELECT OBJECT_VERSION_NUMBER
3638 FROM OKS_BILL_SUB_LINE_DTLS
3639 WHERE ID = p_bsd_rec.id;
3640 l_api_version CONSTANT NUMBER := 1;
3641 l_api_name CONSTANT VARCHAR2(30) := 'DTLS_lock_row';
3642 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3643 l_object_version_number OKS_BILL_SUB_LINE_DTLS.OBJECT_VERSION_NUMBER%TYPE;
3644 lc_object_version_number OKS_BILL_SUB_LINE_DTLS.OBJECT_VERSION_NUMBER%TYPE;
3645 l_row_notfound BOOLEAN := FALSE;
3646 lc_row_notfound BOOLEAN := FALSE;
3647 BEGIN
3648 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3649 p_init_msg_list,
3650 '_PVT',
3651 x_return_status);
3652 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3653 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3654 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3655 RAISE OKC_API.G_EXCEPTION_ERROR;
3656 END IF;
3657 BEGIN
3658 OPEN lock_csr(p_bsd_rec);
3659 FETCH lock_csr INTO l_object_version_number;
3660 l_row_notfound := lock_csr%NOTFOUND;
3661 CLOSE lock_csr;
3662 EXCEPTION
3663 WHEN E_Resource_Busy THEN
3664 IF (lock_csr%ISOPEN) THEN
3665 CLOSE lock_csr;
3666 END IF;
3667 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3668 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3669 END;
3670
3671 IF ( l_row_notfound ) THEN
3672 OPEN lchk_csr(p_bsd_rec);
3673 FETCH lchk_csr INTO lc_object_version_number;
3674 lc_row_notfound := lchk_csr%NOTFOUND;
3675 CLOSE lchk_csr;
3676 END IF;
3677 IF (lc_row_notfound) THEN
3678 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3679 RAISE OKC_API.G_EXCEPTION_ERROR;
3680 ELSIF lc_object_version_number > p_bsd_rec.object_version_number THEN
3681 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3682 RAISE OKC_API.G_EXCEPTION_ERROR;
3683 ELSIF lc_object_version_number <> p_bsd_rec.object_version_number THEN
3684 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3685 RAISE OKC_API.G_EXCEPTION_ERROR;
3686 ELSIF lc_object_version_number = -1 THEN
3687 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
3688 RAISE OKC_API.G_EXCEPTION_ERROR;
3689 END IF;
3690 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3691 EXCEPTION
3692 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3693 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3694 (
3695 l_api_name,
3696 G_PKG_NAME,
3697 'OKC_API.G_RET_STS_ERROR',
3698 x_msg_count,
3699 x_msg_data,
3700 '_PVT'
3701 );
3702 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3703 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3704 (
3705 l_api_name,
3706 G_PKG_NAME,
3707 'OKC_API.G_RET_STS_UNEXP_ERROR',
3708 x_msg_count,
3709 x_msg_data,
3710 '_PVT'
3711 );
3712 WHEN OTHERS THEN
3713 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3714 (
3715 l_api_name,
3716 G_PKG_NAME,
3717 'OTHERS',
3718 x_msg_count,
3719 x_msg_data,
3720 '_PVT'
3721 );
3722 END lock_row;
3723 ------------------------------------------
3724 -- lock_row for:OKS_BILL_SUBLINE_DTLS_V --
3725 ------------------------------------------
3726 PROCEDURE lock_row(
3727 p_api_version IN NUMBER,
3728 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3729 x_return_status OUT NOCOPY VARCHAR2,
3730 x_msg_count OUT NOCOPY NUMBER,
3731 x_msg_data OUT NOCOPY VARCHAR2,
3732 p_bsdv_rec IN bsdv_rec_type) IS
3733
3734 l_api_version CONSTANT NUMBER := 1;
3735 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
3736 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3737 l_bsd_rec bsd_rec_type;
3738 BEGIN
3739 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3740 G_PKG_NAME,
3741 p_init_msg_list,
3742 l_api_version,
3743 p_api_version,
3744 '_PVT',
3745 x_return_status);
3746 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3747 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3748 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3749 RAISE OKC_API.G_EXCEPTION_ERROR;
3750 END IF;
3751 --------------------------------------
3752 -- Move VIEW record to "Child" records
3753 --------------------------------------
3754 migrate(p_bsdv_rec, l_bsd_rec);
3755 --------------------------------------------
3756 -- Call the LOCK_ROW for each child record
3757 --------------------------------------------
3758 lock_row(
3759 p_init_msg_list,
3760 x_return_status,
3761 x_msg_count,
3762 x_msg_data,
3763 l_bsd_rec
3764 );
3765 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3766 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3767 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3768 RAISE OKC_API.G_EXCEPTION_ERROR;
3769 END IF;
3770 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3771 EXCEPTION
3772 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3773 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3774 (
3775 l_api_name,
3776 G_PKG_NAME,
3777 'OKC_API.G_RET_STS_ERROR',
3778 x_msg_count,
3779 x_msg_data,
3780 '_PVT'
3781 );
3782 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3783 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3784 (
3785 l_api_name,
3786 G_PKG_NAME,
3787 'OKC_API.G_RET_STS_UNEXP_ERROR',
3788 x_msg_count,
3789 x_msg_data,
3790 '_PVT'
3791 );
3792 WHEN OTHERS THEN
3793 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3794 (
3795 l_api_name,
3796 G_PKG_NAME,
3797 'OTHERS',
3798 x_msg_count,
3799 x_msg_data,
3800 '_PVT'
3801 );
3802 END lock_row;
3803 --------------------------------------
3804 -- PL/SQL TBL lock_row for:BSDV_TBL --
3805 --------------------------------------
3806 PROCEDURE lock_row(
3807 p_api_version IN NUMBER,
3808 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3809 x_return_status OUT NOCOPY VARCHAR2,
3810 x_msg_count OUT NOCOPY NUMBER,
3811 x_msg_data OUT NOCOPY VARCHAR2,
3812 p_bsdv_tbl IN bsdv_tbl_type) IS
3813
3814 l_api_version CONSTANT NUMBER := 1;
3815 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
3816 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3817 i NUMBER := 0;
3818 BEGIN
3819 OKC_API.init_msg_list(p_init_msg_list);
3820 -- Make sure PL/SQL table has records in it before passing
3821 IF (p_bsdv_tbl.COUNT > 0) THEN
3822 i := p_bsdv_tbl.FIRST;
3823 LOOP
3824 lock_row (
3825 p_api_version => p_api_version,
3826 p_init_msg_list => OKC_API.G_FALSE,
3827 x_return_status => x_return_status,
3828 x_msg_count => x_msg_count,
3829 x_msg_data => x_msg_data,
3830 p_bsdv_rec => p_bsdv_tbl(i));
3831 EXIT WHEN (i = p_bsdv_tbl.LAST);
3832 i := p_bsdv_tbl.NEXT(i);
3833 END LOOP;
3834 END IF;
3835 EXCEPTION
3836 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3837 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3838 (
3839 l_api_name,
3840 G_PKG_NAME,
3841 'OKC_API.G_RET_STS_ERROR',
3842 x_msg_count,
3843 x_msg_data,
3844 '_PVT'
3845 );
3846 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3847 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3848 (
3849 l_api_name,
3850 G_PKG_NAME,
3851 'OKC_API.G_RET_STS_UNEXP_ERROR',
3852 x_msg_count,
3853 x_msg_data,
3854 '_PVT'
3855 );
3856 WHEN OTHERS THEN
3857 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3858 (
3859 l_api_name,
3860 G_PKG_NAME,
3861 'OTHERS',
3862 x_msg_count,
3863 x_msg_data,
3864 '_PVT'
3865 );
3866 END lock_row;
3867
3868 ---------------------------------------------------------------------------
3869 -- PROCEDURE update_row
3870 ---------------------------------------------------------------------------
3871 -------------------------------------------
3872 -- update_row for:OKS_BILL_SUB_LINE_DTLS --
3873 -------------------------------------------
3874 PROCEDURE update_row(
3875 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3876 x_return_status OUT NOCOPY VARCHAR2,
3877 x_msg_count OUT NOCOPY NUMBER,
3878 x_msg_data OUT NOCOPY VARCHAR2,
3879 p_bsd_rec IN bsd_rec_type,
3880 x_bsd_rec OUT NOCOPY bsd_rec_type) IS
3881
3882 l_api_version CONSTANT NUMBER := 1;
3883 l_api_name CONSTANT VARCHAR2(30) := 'DTLS_update_row';
3884 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3885 l_bsd_rec bsd_rec_type := p_bsd_rec;
3886 l_def_bsd_rec bsd_rec_type;
3887 l_row_notfound BOOLEAN := TRUE;
3888 ----------------------------------
3889 -- FUNCTION populate_new_record --
3890 ----------------------------------
3891 FUNCTION populate_new_record (
3892 p_bsd_rec IN bsd_rec_type,
3893 x_bsd_rec OUT NOCOPY bsd_rec_type
3894 ) RETURN VARCHAR2 IS
3895 l_bsd_rec bsd_rec_type;
3896 l_row_notfound BOOLEAN := TRUE;
3897 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3898 BEGIN
3899 x_bsd_rec := p_bsd_rec;
3900 -- Get current database values
3901 l_bsd_rec := get_rec(p_bsd_rec, l_row_notfound);
3902 IF (l_row_notfound) THEN
3903 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3904 END IF;
3905 IF (x_bsd_rec.id = OKC_API.G_MISS_NUM)
3906 THEN
3907 x_bsd_rec.id := l_bsd_rec.id;
3908 END IF;
3909 IF (x_bsd_rec.bsl_id = OKC_API.G_MISS_NUM)
3910 THEN
3911 x_bsd_rec.bsl_id := l_bsd_rec.bsl_id;
3912 END IF;
3913 IF (x_bsd_rec.bsl_id_averaged = OKC_API.G_MISS_NUM)
3914 THEN
3915 x_bsd_rec.bsl_id_averaged := l_bsd_rec.bsl_id_averaged;
3916 END IF;
3917 IF (x_bsd_rec.bsd_id = OKC_API.G_MISS_NUM)
3918 THEN
3919 x_bsd_rec.bsd_id := l_bsd_rec.bsd_id;
3920 END IF;
3921 IF (x_bsd_rec.bsd_id_applied = OKC_API.G_MISS_NUM)
3922 THEN
3923 x_bsd_rec.bsd_id_applied := l_bsd_rec.bsd_id_applied;
3924 END IF;
3925 IF (x_bsd_rec.ccr_id = OKC_API.G_MISS_NUM)
3926 THEN
3927 x_bsd_rec.ccr_id := l_bsd_rec.ccr_id;
3928 END IF;
3929 IF (x_bsd_rec.cgr_id = OKC_API.G_MISS_NUM)
3930 THEN
3931 x_bsd_rec.cgr_id := l_bsd_rec.cgr_id;
3932 END IF;
3933 IF (x_bsd_rec.start_reading = OKC_API.G_MISS_NUM)
3934 THEN
3935 x_bsd_rec.start_reading := l_bsd_rec.start_reading;
3936 END IF;
3937 IF (x_bsd_rec.end_reading = OKC_API.G_MISS_NUM)
3938 THEN
3939 x_bsd_rec.end_reading := l_bsd_rec.end_reading;
3940 END IF;
3941 IF (x_bsd_rec.base_reading = OKC_API.G_MISS_NUM)
3942 THEN
3943 x_bsd_rec.base_reading := l_bsd_rec.base_reading;
3944 END IF;
3945 IF (x_bsd_rec.estimated_quantity = OKC_API.G_MISS_NUM)
3946 THEN
3947 x_bsd_rec.estimated_quantity := l_bsd_rec.estimated_quantity;
3948 END IF;
3949 IF (x_bsd_rec.unit_of_measure = OKC_API.G_MISS_CHAR)
3950 THEN
3951 x_bsd_rec.unit_of_measure := l_bsd_rec.unit_of_measure;
3952 END IF;
3953 IF (x_bsd_rec.amcv_yn = OKC_API.G_MISS_CHAR)
3954 THEN
3955 x_bsd_rec.amcv_yn := l_bsd_rec.amcv_yn;
3956 END IF;
3957 IF (x_bsd_rec.result = OKC_API.G_MISS_NUM)
3958 THEN
3959 x_bsd_rec.result := l_bsd_rec.result;
3960 END IF;
3961 IF (x_bsd_rec.amount = OKC_API.G_MISS_NUM)
3962 THEN
3963 x_bsd_rec.amount := l_bsd_rec.amount;
3964 END IF;
3965 IF (x_bsd_rec.object_version_number = OKC_API.G_MISS_NUM)
3966 THEN
3967 x_bsd_rec.object_version_number := l_bsd_rec.object_version_number;
3968 END IF;
3969 IF (x_bsd_rec.created_by = OKC_API.G_MISS_NUM)
3970 THEN
3971 x_bsd_rec.created_by := l_bsd_rec.created_by;
3972 END IF;
3973 IF (x_bsd_rec.creation_date = OKC_API.G_MISS_DATE)
3974 THEN
3975 x_bsd_rec.creation_date := l_bsd_rec.creation_date;
3976 END IF;
3977 IF (x_bsd_rec.last_updated_by = OKC_API.G_MISS_NUM)
3978 THEN
3979 x_bsd_rec.last_updated_by := l_bsd_rec.last_updated_by;
3980 END IF;
3981 IF (x_bsd_rec.last_update_date = OKC_API.G_MISS_DATE)
3982 THEN
3983 x_bsd_rec.last_update_date := l_bsd_rec.last_update_date;
3984 END IF;
3985 IF (x_bsd_rec.fixed = OKC_API.G_MISS_NUM)
3986 THEN
3987 x_bsd_rec.fixed := l_bsd_rec.fixed;
3988 END IF;
3989 IF (x_bsd_rec.actual = OKC_API.G_MISS_NUM)
3990 THEN
3991 x_bsd_rec.actual := l_bsd_rec.actual;
3992 END IF;
3993 IF (x_bsd_rec.default_default = OKC_API.G_MISS_NUM)
3994 THEN
3995 x_bsd_rec.default_default := l_bsd_rec.default_default;
3996 END IF;
3997 IF (x_bsd_rec.adjustment_level = OKC_API.G_MISS_NUM)
3998 THEN
3999 x_bsd_rec.adjustment_level := l_bsd_rec.adjustment_level;
4000 END IF;
4001 IF (x_bsd_rec.adjustment_minimum = OKC_API.G_MISS_NUM)
4002 THEN
4003 x_bsd_rec.adjustment_minimum := l_bsd_rec.adjustment_minimum;
4004 END IF;
4005 IF (x_bsd_rec.last_update_login = OKC_API.G_MISS_NUM)
4006 THEN
4007 x_bsd_rec.last_update_login := l_bsd_rec.last_update_login;
4008 END IF;
4009 IF (x_bsd_rec.attribute_category = OKC_API.G_MISS_CHAR)
4010 THEN
4011 x_bsd_rec.attribute_category := l_bsd_rec.attribute_category;
4012 END IF;
4013 IF (x_bsd_rec.attribute1 = OKC_API.G_MISS_CHAR)
4014 THEN
4015 x_bsd_rec.attribute1 := l_bsd_rec.attribute1;
4016 END IF;
4017 IF (x_bsd_rec.attribute2 = OKC_API.G_MISS_CHAR)
4018 THEN
4019 x_bsd_rec.attribute2 := l_bsd_rec.attribute2;
4020 END IF;
4021 IF (x_bsd_rec.attribute3 = OKC_API.G_MISS_CHAR)
4022 THEN
4023 x_bsd_rec.attribute3 := l_bsd_rec.attribute3;
4024 END IF;
4025 IF (x_bsd_rec.attribute4 = OKC_API.G_MISS_CHAR)
4026 THEN
4027 x_bsd_rec.attribute4 := l_bsd_rec.attribute4;
4028 END IF;
4029 IF (x_bsd_rec.attribute5 = OKC_API.G_MISS_CHAR)
4030 THEN
4031 x_bsd_rec.attribute5 := l_bsd_rec.attribute5;
4032 END IF;
4033 IF (x_bsd_rec.attribute6 = OKC_API.G_MISS_CHAR)
4034 THEN
4035 x_bsd_rec.attribute6 := l_bsd_rec.attribute6;
4036 END IF;
4037 IF (x_bsd_rec.attribute7 = OKC_API.G_MISS_CHAR)
4038 THEN
4039 x_bsd_rec.attribute7 := l_bsd_rec.attribute7;
4040 END IF;
4041 IF (x_bsd_rec.attribute8 = OKC_API.G_MISS_CHAR)
4042 THEN
4043 x_bsd_rec.attribute8 := l_bsd_rec.attribute8;
4044 END IF;
4045 IF (x_bsd_rec.attribute9 = OKC_API.G_MISS_CHAR)
4046 THEN
4047 x_bsd_rec.attribute9 := l_bsd_rec.attribute9;
4048 END IF;
4049 IF (x_bsd_rec.attribute10 = OKC_API.G_MISS_CHAR)
4050 THEN
4051 x_bsd_rec.attribute10 := l_bsd_rec.attribute10;
4052 END IF;
4053 IF (x_bsd_rec.attribute11 = OKC_API.G_MISS_CHAR)
4054 THEN
4055 x_bsd_rec.attribute11 := l_bsd_rec.attribute11;
4056 END IF;
4057 IF (x_bsd_rec.attribute12 = OKC_API.G_MISS_CHAR)
4058 THEN
4059 x_bsd_rec.attribute12 := l_bsd_rec.attribute12;
4060 END IF;
4061 IF (x_bsd_rec.attribute13 = OKC_API.G_MISS_CHAR)
4062 THEN
4063 x_bsd_rec.attribute13 := l_bsd_rec.attribute13;
4064 END IF;
4065 IF (x_bsd_rec.attribute14 = OKC_API.G_MISS_CHAR)
4066 THEN
4067 x_bsd_rec.attribute14 := l_bsd_rec.attribute14;
4068 END IF;
4069 IF (x_bsd_rec.attribute15 = OKC_API.G_MISS_CHAR)
4070 THEN
4071 x_bsd_rec.attribute15 := l_bsd_rec.attribute15;
4072 END IF;
4073 RETURN(l_return_status);
4074 END populate_new_record;
4075 -----------------------------------------------
4076 -- Set_Attributes for:OKS_BILL_SUB_LINE_DTLS --
4077 -----------------------------------------------
4078 FUNCTION Set_Attributes (
4079 p_bsd_rec IN bsd_rec_type,
4080 x_bsd_rec OUT NOCOPY bsd_rec_type
4081 ) RETURN VARCHAR2 IS
4082 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4083 BEGIN
4084 x_bsd_rec := p_bsd_rec;
4085 RETURN(l_return_status);
4086 END Set_Attributes;
4087 BEGIN
4088 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4089 p_init_msg_list,
4090 '_PVT',
4091 x_return_status);
4092 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4093 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4094 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4095 RAISE OKC_API.G_EXCEPTION_ERROR;
4096 END IF;
4097 --- Setting item attributes
4098 l_return_status := Set_Attributes(
4099 p_bsd_rec, -- IN
4100 l_bsd_rec); -- OUT
4101 --- If any errors happen abort API
4102 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4103 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4104 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4105 RAISE OKC_API.G_EXCEPTION_ERROR;
4106 END IF;
4107 l_return_status := populate_new_record(l_bsd_rec, l_def_bsd_rec);
4108 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4109 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4110 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4111 RAISE OKC_API.G_EXCEPTION_ERROR;
4112 END IF;
4113 UPDATE OKS_BILL_SUB_LINE_DTLS
4114 SET BSL_ID = l_def_bsd_rec.bsl_id,
4115 BSL_ID_AVERAGED = l_def_bsd_rec.bsl_id_averaged,
4116 BSD_ID = l_def_bsd_rec.bsd_id,
4117 BSD_ID_APPLIED = l_def_bsd_rec.bsd_id_applied,
4118 CCR_ID = l_def_bsd_rec.ccr_id,
4119 CGR_ID = l_def_bsd_rec.cgr_id,
4120 START_READING = l_def_bsd_rec.start_reading,
4121 END_READING = l_def_bsd_rec.end_reading,
4122 BASE_READING = l_def_bsd_rec.base_reading,
4123 ESTIMATED_QUANTITY = l_def_bsd_rec.estimated_quantity,
4124 UNIT_OF_MEASURE = l_def_bsd_rec.unit_of_measure,
4125 AMCV_YN = l_def_bsd_rec.amcv_yn,
4126 RESULT = l_def_bsd_rec.result,
4127 AMOUNT = l_def_bsd_rec.amount,
4128 OBJECT_VERSION_NUMBER = l_def_bsd_rec.object_version_number,
4129 CREATED_BY = l_def_bsd_rec.created_by,
4130 CREATION_DATE = l_def_bsd_rec.creation_date,
4131 LAST_UPDATED_BY = l_def_bsd_rec.last_updated_by,
4132 LAST_UPDATE_DATE = l_def_bsd_rec.last_update_date,
4133 FIXED = l_def_bsd_rec.fixed,
4134 ACTUAL = l_def_bsd_rec.actual,
4135 DEFAULT_DEFAULT = l_def_bsd_rec.default_default,
4136 ADJUSTMENT_LEVEL = l_def_bsd_rec.adjustment_level,
4137 ADJUSTMENT_MINIMUM = l_def_bsd_rec.adjustment_minimum,
4138 LAST_UPDATE_LOGIN = l_def_bsd_rec.last_update_login,
4139 ATTRIBUTE_CATEGORY = l_def_bsd_rec.attribute_category,
4140 ATTRIBUTE1 = l_def_bsd_rec.attribute1,
4141 ATTRIBUTE2 = l_def_bsd_rec.attribute2,
4142 ATTRIBUTE3 = l_def_bsd_rec.attribute3,
4143 ATTRIBUTE4 = l_def_bsd_rec.attribute4,
4144 ATTRIBUTE5 = l_def_bsd_rec.attribute5,
4145 ATTRIBUTE6 = l_def_bsd_rec.attribute6,
4146 ATTRIBUTE7 = l_def_bsd_rec.attribute7,
4147 ATTRIBUTE8 = l_def_bsd_rec.attribute8,
4148 ATTRIBUTE9 = l_def_bsd_rec.attribute9,
4149 ATTRIBUTE10 = l_def_bsd_rec.attribute10,
4150 ATTRIBUTE11 = l_def_bsd_rec.attribute11,
4151 ATTRIBUTE12 = l_def_bsd_rec.attribute12,
4152 ATTRIBUTE13 = l_def_bsd_rec.attribute13,
4153 ATTRIBUTE14 = l_def_bsd_rec.attribute14,
4154 ATTRIBUTE15 = l_def_bsd_rec.attribute15
4155 WHERE ID = l_def_bsd_rec.id;
4156
4157 x_bsd_rec := l_def_bsd_rec;
4158 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4159 EXCEPTION
4160 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4161 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4162 (
4163 l_api_name,
4164 G_PKG_NAME,
4165 'OKC_API.G_RET_STS_ERROR',
4166 x_msg_count,
4167 x_msg_data,
4168 '_PVT'
4169 );
4170 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4171 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4172 (
4173 l_api_name,
4174 G_PKG_NAME,
4175 'OKC_API.G_RET_STS_UNEXP_ERROR',
4176 x_msg_count,
4177 x_msg_data,
4178 '_PVT'
4179 );
4180 WHEN OTHERS THEN
4181 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4182 (
4183 l_api_name,
4184 G_PKG_NAME,
4185 'OTHERS',
4186 x_msg_count,
4187 x_msg_data,
4188 '_PVT'
4189 );
4190 END update_row;
4191 --------------------------------------------
4192 -- update_row for:OKS_BILL_SUBLINE_DTLS_V --
4193 --------------------------------------------
4194 PROCEDURE update_row(
4195 p_api_version IN NUMBER,
4196 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4197 x_return_status OUT NOCOPY VARCHAR2,
4198 x_msg_count OUT NOCOPY NUMBER,
4199 x_msg_data OUT NOCOPY VARCHAR2,
4200 p_bsdv_rec IN bsdv_rec_type,
4201 x_bsdv_rec OUT NOCOPY bsdv_rec_type) IS
4202
4203 l_api_version CONSTANT NUMBER := 1;
4204 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
4205 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4206 l_bsdv_rec bsdv_rec_type := p_bsdv_rec;
4207 l_def_bsdv_rec bsdv_rec_type;
4208 l_bsd_rec bsd_rec_type;
4209 lx_bsd_rec bsd_rec_type;
4210 -------------------------------
4211 -- FUNCTION fill_who_columns --
4212 -------------------------------
4213 FUNCTION fill_who_columns (
4214 p_bsdv_rec IN bsdv_rec_type
4215 ) RETURN bsdv_rec_type IS
4216 l_bsdv_rec bsdv_rec_type := p_bsdv_rec;
4217 BEGIN
4218 l_bsdv_rec.LAST_UPDATE_DATE := SYSDATE;
4219 l_bsdv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4220 l_bsdv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4221 RETURN(l_bsdv_rec);
4222 END fill_who_columns;
4223 ----------------------------------
4224 -- FUNCTION populate_new_record --
4225 ----------------------------------
4226 FUNCTION populate_new_record (
4227 p_bsdv_rec IN bsdv_rec_type,
4228 x_bsdv_rec OUT NOCOPY bsdv_rec_type
4229 ) RETURN VARCHAR2 IS
4230 l_bsdv_rec bsdv_rec_type;
4231 l_row_notfound BOOLEAN := TRUE;
4232 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4233 BEGIN
4234 x_bsdv_rec := p_bsdv_rec;
4235 -- Get current database values
4236 l_bsdv_rec := get_rec(p_bsdv_rec, l_row_notfound);
4237 IF (l_row_notfound) THEN
4238 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4239 END IF;
4240 IF (x_bsdv_rec.id = OKC_API.G_MISS_NUM)
4241 THEN
4242 x_bsdv_rec.id := l_bsdv_rec.id;
4243 END IF;
4244 IF (x_bsdv_rec.object_version_number = OKC_API.G_MISS_NUM)
4245 THEN
4246 x_bsdv_rec.object_version_number := l_bsdv_rec.object_version_number;
4247 END IF;
4248 IF (x_bsdv_rec.bsl_id = OKC_API.G_MISS_NUM)
4249 THEN
4250 x_bsdv_rec.bsl_id := l_bsdv_rec.bsl_id;
4251 END IF;
4252 IF (x_bsdv_rec.bsl_id_averaged = OKC_API.G_MISS_NUM)
4253 THEN
4254 x_bsdv_rec.bsl_id_averaged := l_bsdv_rec.bsl_id_averaged;
4255 END IF;
4256 IF (x_bsdv_rec.bsd_id = OKC_API.G_MISS_NUM)
4257 THEN
4258 x_bsdv_rec.bsd_id := l_bsdv_rec.bsd_id;
4259 END IF;
4260 IF (x_bsdv_rec.bsd_id_applied = OKC_API.G_MISS_NUM)
4261 THEN
4262 x_bsdv_rec.bsd_id_applied := l_bsdv_rec.bsd_id_applied;
4263 END IF;
4264 IF (x_bsdv_rec.ccr_id = OKC_API.G_MISS_NUM)
4265 THEN
4266 x_bsdv_rec.ccr_id := l_bsdv_rec.ccr_id;
4267 END IF;
4268 IF (x_bsdv_rec.cgr_id = OKC_API.G_MISS_NUM)
4269 THEN
4270 x_bsdv_rec.cgr_id := l_bsdv_rec.cgr_id;
4271 END IF;
4272 IF (x_bsdv_rec.start_Reading = OKC_API.G_MISS_NUM)
4273 THEN
4274 x_bsdv_rec.start_Reading := l_bsdv_rec.start_Reading;
4275 END IF;
4276 IF (x_bsdv_rec.end_reading = OKC_API.G_MISS_NUM)
4277 THEN
4278 x_bsdv_rec.end_reading := l_bsdv_rec.end_reading;
4279 END IF;
4280 IF (x_bsdv_rec.base_reading = OKC_API.G_MISS_NUM)
4281 THEN
4282 x_bsdv_rec.base_reading := l_bsdv_rec.base_reading;
4283 END IF;
4284 IF (x_bsdv_rec.estimated_quantity = OKC_API.G_MISS_NUM)
4285 THEN
4286 x_bsdv_rec.estimated_quantity := l_bsdv_rec.estimated_quantity;
4287 END IF;
4288 IF (x_bsdv_rec.unit_of_measure = OKC_API.G_MISS_CHAR)
4289 THEN
4290 x_bsdv_rec.unit_of_measure := l_bsdv_rec.unit_of_measure;
4291 END IF;
4292 IF (x_bsdv_rec.fixed = OKC_API.G_MISS_NUM)
4293 THEN
4294 x_bsdv_rec.fixed := l_bsdv_rec.fixed;
4295 END IF;
4296 IF (x_bsdv_rec.actual = OKC_API.G_MISS_NUM)
4297 THEN
4298 x_bsdv_rec.actual := l_bsdv_rec.actual;
4299 END IF;
4300 IF (x_bsdv_rec.default_default = OKC_API.G_MISS_NUM)
4301 THEN
4302 x_bsdv_rec.default_default := l_bsdv_rec.default_default;
4303 END IF;
4304 IF (x_bsdv_rec.amcv_yn = OKC_API.G_MISS_CHAR)
4305 THEN
4306 x_bsdv_rec.amcv_yn := l_bsdv_rec.amcv_yn;
4307 END IF;
4308 IF (x_bsdv_rec.adjustment_level = OKC_API.G_MISS_NUM)
4309 THEN
4310 x_bsdv_rec.adjustment_level := l_bsdv_rec.adjustment_level;
4311 END IF;
4312 IF (x_bsdv_rec.adjustment_minimum = OKC_API.G_MISS_NUM)
4313 THEN
4314 x_bsdv_rec.adjustment_minimum := l_bsdv_rec.adjustment_minimum;
4315 END IF;
4316 IF (x_bsdv_rec.result = OKC_API.G_MISS_NUM)
4317 THEN
4318 x_bsdv_rec.result := l_bsdv_rec.result;
4319 END IF;
4320 IF (x_bsdv_rec.amount = OKC_API.G_MISS_NUM)
4321 THEN
4322 x_bsdv_rec.amount := l_bsdv_rec.amount;
4323 END IF;
4324 IF (x_bsdv_rec.attribute_category = OKC_API.G_MISS_CHAR)
4325 THEN
4326 x_bsdv_rec.attribute_category := l_bsdv_rec.attribute_category;
4327 END IF;
4328 IF (x_bsdv_rec.attribute1 = OKC_API.G_MISS_CHAR)
4329 THEN
4330 x_bsdv_rec.attribute1 := l_bsdv_rec.attribute1;
4331 END IF;
4332 IF (x_bsdv_rec.attribute2 = OKC_API.G_MISS_CHAR)
4333 THEN
4334 x_bsdv_rec.attribute2 := l_bsdv_rec.attribute2;
4335 END IF;
4336 IF (x_bsdv_rec.attribute3 = OKC_API.G_MISS_CHAR)
4337 THEN
4338 x_bsdv_rec.attribute3 := l_bsdv_rec.attribute3;
4339 END IF;
4340 IF (x_bsdv_rec.attribute4 = OKC_API.G_MISS_CHAR)
4341 THEN
4342 x_bsdv_rec.attribute4 := l_bsdv_rec.attribute4;
4343 END IF;
4344 IF (x_bsdv_rec.attribute5 = OKC_API.G_MISS_CHAR)
4345 THEN
4346 x_bsdv_rec.attribute5 := l_bsdv_rec.attribute5;
4347 END IF;
4348 IF (x_bsdv_rec.attribute6 = OKC_API.G_MISS_CHAR)
4349 THEN
4350 x_bsdv_rec.attribute6 := l_bsdv_rec.attribute6;
4351 END IF;
4352 IF (x_bsdv_rec.attribute7 = OKC_API.G_MISS_CHAR)
4353 THEN
4354 x_bsdv_rec.attribute7 := l_bsdv_rec.attribute7;
4355 END IF;
4356 IF (x_bsdv_rec.attribute8 = OKC_API.G_MISS_CHAR)
4357 THEN
4358 x_bsdv_rec.attribute8 := l_bsdv_rec.attribute8;
4359 END IF;
4360 IF (x_bsdv_rec.attribute9 = OKC_API.G_MISS_CHAR)
4361 THEN
4362 x_bsdv_rec.attribute9 := l_bsdv_rec.attribute9;
4363 END IF;
4364 IF (x_bsdv_rec.attribute10 = OKC_API.G_MISS_CHAR)
4365 THEN
4366 x_bsdv_rec.attribute10 := l_bsdv_rec.attribute10;
4367 END IF;
4368 IF (x_bsdv_rec.attribute11 = OKC_API.G_MISS_CHAR)
4369 THEN
4370 x_bsdv_rec.attribute11 := l_bsdv_rec.attribute11;
4371 END IF;
4372 IF (x_bsdv_rec.attribute12 = OKC_API.G_MISS_CHAR)
4373 THEN
4374 x_bsdv_rec.attribute12 := l_bsdv_rec.attribute12;
4375 END IF;
4376 IF (x_bsdv_rec.attribute13 = OKC_API.G_MISS_CHAR)
4377 THEN
4378 x_bsdv_rec.attribute13 := l_bsdv_rec.attribute13;
4379 END IF;
4380 IF (x_bsdv_rec.attribute14 = OKC_API.G_MISS_CHAR)
4381 THEN
4382 x_bsdv_rec.attribute14 := l_bsdv_rec.attribute14;
4383 END IF;
4384 IF (x_bsdv_rec.attribute15 = OKC_API.G_MISS_CHAR)
4385 THEN
4386 x_bsdv_rec.attribute15 := l_bsdv_rec.attribute15;
4387 END IF;
4388 IF (x_bsdv_rec.created_by = OKC_API.G_MISS_NUM)
4389 THEN
4390 x_bsdv_rec.created_by := l_bsdv_rec.created_by;
4391 END IF;
4392 IF (x_bsdv_rec.creation_date = OKC_API.G_MISS_DATE)
4393 THEN
4394 x_bsdv_rec.creation_date := l_bsdv_rec.creation_date;
4395 END IF;
4396 IF (x_bsdv_rec.last_updated_by = OKC_API.G_MISS_NUM)
4397 THEN
4398 x_bsdv_rec.last_updated_by := l_bsdv_rec.last_updated_by;
4399 END IF;
4400 IF (x_bsdv_rec.last_update_date = OKC_API.G_MISS_DATE)
4401 THEN
4402 x_bsdv_rec.last_update_date := l_bsdv_rec.last_update_date;
4403 END IF;
4404 IF (x_bsdv_rec.last_update_login = OKC_API.G_MISS_NUM)
4405 THEN
4406 x_bsdv_rec.last_update_login := l_bsdv_rec.last_update_login;
4407 END IF;
4408 RETURN(l_return_status);
4409 END populate_new_record;
4410 ------------------------------------------------
4411 -- Set_Attributes for:OKS_BILL_SUBLINE_DTLS_V --
4412 ------------------------------------------------
4413 FUNCTION Set_Attributes (
4414 p_bsdv_rec IN bsdv_rec_type,
4415 x_bsdv_rec OUT NOCOPY bsdv_rec_type
4416 ) RETURN VARCHAR2 IS
4417 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4418 BEGIN
4419 x_bsdv_rec := p_bsdv_rec;
4420 x_bsdv_rec.OBJECT_VERSION_NUMBER := NVL(x_bsdv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
4421 RETURN(l_return_status);
4422 END Set_Attributes;
4423 BEGIN
4424 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4425 G_PKG_NAME,
4426 p_init_msg_list,
4427 l_api_version,
4428 p_api_version,
4429 '_PVT',
4430 x_return_status);
4431 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4432 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4433 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4434 RAISE OKC_API.G_EXCEPTION_ERROR;
4435 END IF;
4436 --- Setting item attributes
4437 l_return_status := Set_Attributes(
4438 p_bsdv_rec, -- IN
4439 l_bsdv_rec); -- OUT
4440 --- If any errors happen abort API
4441 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4442 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4443 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4444 RAISE OKC_API.G_EXCEPTION_ERROR;
4445 END IF;
4446 l_return_status := populate_new_record(l_bsdv_rec, l_def_bsdv_rec);
4447 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4448 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4449 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4450 RAISE OKC_API.G_EXCEPTION_ERROR;
4451 END IF;
4452 l_def_bsdv_rec := fill_who_columns(l_def_bsdv_rec);
4453 --- Validate all non-missing attributes (Item Level Validation)
4454 l_return_status := Validate_Attributes(l_def_bsdv_rec);
4455 --- If any errors happen abort API
4456 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4457 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4458 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4459 RAISE OKC_API.G_EXCEPTION_ERROR;
4460 END IF;
4461 l_return_status := Validate_Record(l_def_bsdv_rec);
4462 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4463 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4464 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4465 RAISE OKC_API.G_EXCEPTION_ERROR;
4466 END IF;
4467
4468 --------------------------------------
4469 -- Move VIEW record to "Child" records
4470 --------------------------------------
4471 migrate(l_def_bsdv_rec, l_bsd_rec);
4472 --------------------------------------------
4473 -- Call the UPDATE_ROW for each child record
4474 --------------------------------------------
4475 update_row(
4476 p_init_msg_list,
4477 x_return_status,
4478 x_msg_count,
4479 x_msg_data,
4480 l_bsd_rec,
4481 lx_bsd_rec
4482 );
4483 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4484 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4485 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4486 RAISE OKC_API.G_EXCEPTION_ERROR;
4487 END IF;
4488 migrate(lx_bsd_rec, l_def_bsdv_rec);
4489 x_bsdv_rec := l_def_bsdv_rec;
4490 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4491 EXCEPTION
4492 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4493 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4494 (
4495 l_api_name,
4496 G_PKG_NAME,
4497 'OKC_API.G_RET_STS_ERROR',
4498 x_msg_count,
4499 x_msg_data,
4500 '_PVT'
4501 );
4502 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4503 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4504 (
4505 l_api_name,
4506 G_PKG_NAME,
4507 'OKC_API.G_RET_STS_UNEXP_ERROR',
4508 x_msg_count,
4509 x_msg_data,
4510 '_PVT'
4511 );
4512 WHEN OTHERS THEN
4513 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4514 (
4515 l_api_name,
4516 G_PKG_NAME,
4517 'OTHERS',
4518 x_msg_count,
4519 x_msg_data,
4520 '_PVT'
4521 );
4522 END update_row;
4523 ----------------------------------------
4524 -- PL/SQL TBL update_row for:BSDV_TBL --
4525 ----------------------------------------
4526 PROCEDURE update_row(
4527 p_api_version IN NUMBER,
4528 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4529 x_return_status OUT NOCOPY VARCHAR2,
4530 x_msg_count OUT NOCOPY NUMBER,
4531 x_msg_data OUT NOCOPY VARCHAR2,
4532 p_bsdv_tbl IN bsdv_tbl_type,
4533 x_bsdv_tbl OUT NOCOPY bsdv_tbl_type) IS
4534
4535 l_api_version CONSTANT NUMBER := 1;
4536 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
4537 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4538 i NUMBER := 0;
4539 BEGIN
4540 OKC_API.init_msg_list(p_init_msg_list);
4541 -- Make sure PL/SQL table has records in it before passing
4542 IF (p_bsdv_tbl.COUNT > 0) THEN
4543 i := p_bsdv_tbl.FIRST;
4544 LOOP
4545 update_row (
4546 p_api_version => p_api_version,
4547 p_init_msg_list => OKC_API.G_FALSE,
4548 x_return_status => x_return_status,
4549 x_msg_count => x_msg_count,
4550 x_msg_data => x_msg_data,
4551 p_bsdv_rec => p_bsdv_tbl(i),
4552 x_bsdv_rec => x_bsdv_tbl(i));
4553 EXIT WHEN (i = p_bsdv_tbl.LAST);
4554 i := p_bsdv_tbl.NEXT(i);
4555 END LOOP;
4556 END IF;
4557 EXCEPTION
4558 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4559 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4560 (
4561 l_api_name,
4562 G_PKG_NAME,
4563 'OKC_API.G_RET_STS_ERROR',
4564 x_msg_count,
4565 x_msg_data,
4566 '_PVT'
4567 );
4568 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4569 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4570 (
4571 l_api_name,
4572 G_PKG_NAME,
4573 'OKC_API.G_RET_STS_UNEXP_ERROR',
4574 x_msg_count,
4575 x_msg_data,
4576 '_PVT'
4577 );
4578 WHEN OTHERS THEN
4579 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4580 (
4581 l_api_name,
4582 G_PKG_NAME,
4583 'OTHERS',
4584 x_msg_count,
4585 x_msg_data,
4586 '_PVT'
4587 );
4588 END update_row;
4589
4590 ---------------------------------------------------------------------------
4591 -- PROCEDURE delete_row
4592 ---------------------------------------------------------------------------
4593 -------------------------------------------
4594 -- delete_row for:OKS_BILL_SUB_LINE_DTLS --
4595 -------------------------------------------
4596 PROCEDURE delete_row(
4597 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4598 x_return_status OUT NOCOPY VARCHAR2,
4599 x_msg_count OUT NOCOPY NUMBER,
4600 x_msg_data OUT NOCOPY VARCHAR2,
4601 p_bsd_rec IN bsd_rec_type) IS
4602
4603 l_api_version CONSTANT NUMBER := 1;
4604 l_api_name CONSTANT VARCHAR2(30) := 'DTLS_delete_row';
4605 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4606 l_bsd_rec bsd_rec_type:= p_bsd_rec;
4607 l_row_notfound BOOLEAN := TRUE;
4608 BEGIN
4609 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4610 p_init_msg_list,
4611 '_PVT',
4612 x_return_status);
4613 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4614 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4615 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4616 RAISE OKC_API.G_EXCEPTION_ERROR;
4617 END IF;
4618 DELETE FROM OKS_BILL_SUB_LINE_DTLS
4619 WHERE ID = l_bsd_rec.id;
4620
4621 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4622 EXCEPTION
4623 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4624 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4625 (
4626 l_api_name,
4627 G_PKG_NAME,
4628 'OKC_API.G_RET_STS_ERROR',
4629 x_msg_count,
4630 x_msg_data,
4631 '_PVT'
4632 );
4633 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4634 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4635 (
4636 l_api_name,
4637 G_PKG_NAME,
4638 'OKC_API.G_RET_STS_UNEXP_ERROR',
4639 x_msg_count,
4640 x_msg_data,
4641 '_PVT'
4642 );
4643 WHEN OTHERS THEN
4644 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4645 (
4646 l_api_name,
4647 G_PKG_NAME,
4648 'OTHERS',
4649 x_msg_count,
4650 x_msg_data,
4651 '_PVT'
4652 );
4653 END delete_row;
4654 --------------------------------------------
4655 -- delete_row for:OKS_BILL_SUBLINE_DTLS_V --
4656 --------------------------------------------
4657 PROCEDURE delete_row(
4658 p_api_version IN NUMBER,
4659 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4660 x_return_status OUT NOCOPY VARCHAR2,
4661 x_msg_count OUT NOCOPY NUMBER,
4662 x_msg_data OUT NOCOPY VARCHAR2,
4663 p_bsdv_rec IN bsdv_rec_type) IS
4664
4665 l_api_version CONSTANT NUMBER := 1;
4666 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
4667 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4668 l_bsdv_rec bsdv_rec_type := p_bsdv_rec;
4669 l_bsd_rec bsd_rec_type;
4670 BEGIN
4671 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4672 G_PKG_NAME,
4673 p_init_msg_list,
4674 l_api_version,
4675 p_api_version,
4676 '_PVT',
4677 x_return_status);
4678 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4679 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4680 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4681 RAISE OKC_API.G_EXCEPTION_ERROR;
4682 END IF;
4683 --------------------------------------
4684 -- Move VIEW record to "Child" records
4685 --------------------------------------
4686 migrate(l_bsdv_rec, l_bsd_rec);
4687 --------------------------------------------
4688 -- Call the DELETE_ROW for each child record
4689 --------------------------------------------
4690 delete_row(
4691 p_init_msg_list,
4692 x_return_status,
4693 x_msg_count,
4694 x_msg_data,
4695 l_bsd_rec
4696 );
4697 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4698 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4699 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4700 RAISE OKC_API.G_EXCEPTION_ERROR;
4701 END IF;
4702 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4703 EXCEPTION
4704 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4705 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4706 (
4707 l_api_name,
4708 G_PKG_NAME,
4709 'OKC_API.G_RET_STS_ERROR',
4710 x_msg_count,
4711 x_msg_data,
4712 '_PVT'
4713 );
4714 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4715 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4716 (
4717 l_api_name,
4718 G_PKG_NAME,
4719 'OKC_API.G_RET_STS_UNEXP_ERROR',
4720 x_msg_count,
4721 x_msg_data,
4722 '_PVT'
4723 );
4724 WHEN OTHERS THEN
4725 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4726 (
4727 l_api_name,
4728 G_PKG_NAME,
4729 'OTHERS',
4730 x_msg_count,
4731 x_msg_data,
4732 '_PVT'
4733 );
4734 END delete_row;
4735 ----------------------------------------
4736 -- PL/SQL TBL delete_row for:BSDV_TBL --
4737 ----------------------------------------
4738 PROCEDURE delete_row(
4739 p_api_version IN NUMBER,
4740 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4741 x_return_status OUT NOCOPY VARCHAR2,
4742 x_msg_count OUT NOCOPY NUMBER,
4743 x_msg_data OUT NOCOPY VARCHAR2,
4744 p_bsdv_tbl IN bsdv_tbl_type) IS
4745
4746 l_api_version CONSTANT NUMBER := 1;
4747 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
4748 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4749 i NUMBER := 0;
4750 BEGIN
4751 OKC_API.init_msg_list(p_init_msg_list);
4752 -- Make sure PL/SQL table has records in it before passing
4753 IF (p_bsdv_tbl.COUNT > 0) THEN
4754 i := p_bsdv_tbl.FIRST;
4755 LOOP
4756 delete_row (
4757 p_api_version => p_api_version,
4758 p_init_msg_list => OKC_API.G_FALSE,
4759 x_return_status => x_return_status,
4760 x_msg_count => x_msg_count,
4761 x_msg_data => x_msg_data,
4762 p_bsdv_rec => p_bsdv_tbl(i));
4763 EXIT WHEN (i = p_bsdv_tbl.LAST);
4764 i := p_bsdv_tbl.NEXT(i);
4765 END LOOP;
4766 END IF;
4767 EXCEPTION
4768 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4769 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4770 (
4771 l_api_name,
4772 G_PKG_NAME,
4773 'OKC_API.G_RET_STS_ERROR',
4774 x_msg_count,
4775 x_msg_data,
4776 '_PVT'
4777 );
4778 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4779 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4780 (
4781 l_api_name,
4782 G_PKG_NAME,
4783 'OKC_API.G_RET_STS_UNEXP_ERROR',
4784 x_msg_count,
4785 x_msg_data,
4786 '_PVT'
4787 );
4788 WHEN OTHERS THEN
4789 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4790 (
4791 l_api_name,
4792 G_PKG_NAME,
4793 'OTHERS',
4794 x_msg_count,
4795 x_msg_data,
4796 '_PVT'
4797 );
4798 END delete_row;
4799 END OKS_BSD_PVT;