[Home] [Help]
PACKAGE BODY: APPS.OKS_QUA_PVT
Source
1 PACKAGE BODY OKS_QUA_PVT AS
2 /* $Header: OKSSQUAB.pls 120.0 2005/05/25 18:34:07 appldev noship $ */
3
4 ---------------------------------------------------------------------------
5 -- FUNCTION get_seq_id
6 ---------------------------------------------------------------------------
7 FUNCTION get_seq_id RETURN NUMBER IS
8 BEGIN
9 RETURN(okc_p_util.raw_to_number(sys_guid()));
10 END get_seq_id;
11
12 ---------------------------------------------------------------------------
13 -- PROCEDURE qc
14 ---------------------------------------------------------------------------
15 PROCEDURE qc IS
16 BEGIN
17 null;
18 END qc;
19
20 ---------------------------------------------------------------------------
21 -- PROCEDURE change_version
22 ---------------------------------------------------------------------------
23 PROCEDURE change_version IS
24 BEGIN
25 null;
26 END change_version;
27
28 ---------------------------------------------------------------------------
29 -- PROCEDURE api_copy
30 ---------------------------------------------------------------------------
31 PROCEDURE api_copy IS
32 BEGIN
33 null;
34 END api_copy;
35
36 ---------------------------------------------------------------------------
37 -- FUNCTION get_rec for: OKS_QUALIFIERS
38 ---------------------------------------------------------------------------
39 FUNCTION get_rec (
40 p_qua_rec IN qua_rec_type,
41 x_no_data_found OUT NOCOPY BOOLEAN
42 ) RETURN qua_rec_type IS
43 CURSOR qua_pk_csr (p_id IN NUMBER) IS
44 SELECT
45 QUALIFIER_ID
46 ,CREATION_DATE
47 ,CREATED_BY
48 ,LAST_UPDATE_DATE
49 ,LAST_UPDATED_BY
50 ,REQUEST_ID
51 ,PROGRAM_APPLICATION_ID
52 ,PROGRAM_ID
53 ,PROGRAM_UPDATE_DATE
54 ,LAST_UPDATE_LOGIN
55 ,QUALIFIER_GROUPING_NO
56 ,QUALIFIER_CONTEXT
57 ,QUALIFIER_ATTRIBUTE
58 ,QUALIFIER_ATTR_VALUE
59 ,COMPARISON_OPERATOR_CODE
60 ,EXCLUDER_FLAG
61 ,QUALIFIER_RULE_ID
62 ,START_DATE_ACTIVE
63 ,END_DATE_ACTIVE
64 ,CREATED_FROM_RULE_ID
65 ,QUALIFIER_PRECEDENCE
66 ,LIST_HEADER_ID
67 ,LIST_LINE_ID
68 ,QUALIFIER_DATATYPE
69 ,QUALIFIER_ATTR_VALUE_TO
70 ,CONTEXT
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 ,ACTIVE_FLAG
87 ,LIST_TYPE_CODE
88 ,QUAL_ATTR_VALUE_FROM_NUMBER
89 ,QUAL_ATTR_VALUE_TO_NUMBER
90 FROM oks_qualifiers
91 WHERE qualifier_id = p_id;
92 l_qua_pk qua_pk_csr%ROWTYPE;
93 l_qua_rec qua_rec_type;
94 BEGIN
95 x_no_data_found := TRUE;
96 -- Get current database values
97 OPEN qua_pk_csr (p_qua_rec.qualifier_id);
98 FETCH qua_pk_csr INTO
99 l_qua_rec.QUALIFIER_ID
100 ,l_qua_rec.CREATION_DATE
101 ,l_qua_rec.CREATED_BY
102 ,l_qua_rec.LAST_UPDATE_DATE
103 ,l_qua_rec.LAST_UPDATED_BY
104 ,l_qua_rec.REQUEST_ID
105 ,l_qua_rec.PROGRAM_APPLICATION_ID
106 ,l_qua_rec.PROGRAM_ID
107 ,l_qua_rec.PROGRAM_UPDATE_DATE
108 ,l_qua_rec.LAST_UPDATE_LOGIN
109 ,l_qua_rec.QUALIFIER_GROUPING_NO
110 ,l_qua_rec.QUALIFIER_CONTEXT
111 ,l_qua_rec.QUALIFIER_ATTRIBUTE
112 ,l_qua_rec.QUALIFIER_ATTR_VALUE
113 ,l_qua_rec.COMPARISON_OPERATOR_CODE
114 ,l_qua_rec.EXCLUDER_FLAG
115 ,l_qua_rec.QUALIFIER_RULE_ID
116 ,l_qua_rec.START_DATE_ACTIVE
117 ,l_qua_rec.END_DATE_ACTIVE
118 ,l_qua_rec.CREATED_FROM_RULE_ID
119 ,l_qua_rec.QUALIFIER_PRECEDENCE
120 ,l_qua_rec.LIST_HEADER_ID
121 ,l_qua_rec.LIST_LINE_ID
122 ,l_qua_rec.QUALIFIER_DATATYPE
123 ,l_qua_rec.QUALIFIER_ATTR_VALUE_TO
124 ,l_qua_rec.CONTEXT
125 ,l_qua_rec.ATTRIBUTE1
126 ,l_qua_rec.ATTRIBUTE2
127 ,l_qua_rec.ATTRIBUTE3
128 ,l_qua_rec.ATTRIBUTE4
129 ,l_qua_rec.ATTRIBUTE5
130 ,l_qua_rec.ATTRIBUTE6
131 ,l_qua_rec.ATTRIBUTE7
132 ,l_qua_rec.ATTRIBUTE8
133 ,l_qua_rec.ATTRIBUTE9
134 ,l_qua_rec.ATTRIBUTE10
135 ,l_qua_rec.ATTRIBUTE11
136 ,l_qua_rec.ATTRIBUTE12
137 ,l_qua_rec.ATTRIBUTE13
138 ,l_qua_rec.ATTRIBUTE14
139 ,l_qua_rec.ATTRIBUTE15
140 ,l_qua_rec.ACTIVE_FLAG
141 ,l_qua_rec.LIST_TYPE_CODE
142 ,l_qua_rec.QUAL_ATTR_VALUE_FROM_NUMBER
143 ,l_qua_rec.QUAL_ATTR_VALUE_TO_NUMBER ;
144
145 x_no_data_found := qua_pk_csr%NOTFOUND;
146 CLOSE qua_pk_csr;
147 RETURN(l_qua_rec);
148 END get_rec;
149
150 FUNCTION get_rec (
151 p_qua_rec IN qua_rec_type
152 ) RETURN qua_rec_type IS
153 l_row_notfound BOOLEAN := TRUE;
154 BEGIN
155 RETURN(get_rec(p_qua_rec, l_row_notfound));
156 END get_rec;
157 ---------------------------------------------------------------------------
158 -- FUNCTION get_rec for: OKS_QUALIFIERS_V
159 ---------------------------------------------------------------------------
160 FUNCTION get_rec (
161 p_quav_rec IN quav_rec_type,
162 x_no_data_found OUT NOCOPY BOOLEAN
163 ) RETURN quav_rec_type IS
164 CURSOR oks_quav_pk_csr (p_id IN NUMBER) IS
165 SELECT
166 QUALIFIER_ID
167 ,CREATION_DATE
168 ,CREATED_BY
169 ,LAST_UPDATE_DATE
170 ,LAST_UPDATED_BY
171 ,REQUEST_ID
172 ,PROGRAM_APPLICATION_ID
173 ,PROGRAM_ID
174 ,PROGRAM_UPDATE_DATE
175 ,LAST_UPDATE_LOGIN
176 ,QUALIFIER_GROUPING_NO
177 ,QUALIFIER_CONTEXT
178 ,QUALIFIER_ATTRIBUTE
179 ,QUALIFIER_ATTR_VALUE
180 ,COMPARISON_OPERATOR_CODE
181 ,EXCLUDER_FLAG
182 ,QUALIFIER_RULE_ID
183 ,START_DATE_ACTIVE
184 ,END_DATE_ACTIVE
185 ,CREATED_FROM_RULE_ID
186 ,QUALIFIER_PRECEDENCE
187 ,LIST_HEADER_ID
188 ,LIST_LINE_ID
189 ,QUALIFIER_DATATYPE
190 ,QUALIFIER_ATTR_VALUE_TO
191 ,CONTEXT
192 ,ATTRIBUTE1
193 ,ATTRIBUTE2
194 ,ATTRIBUTE3
195 ,ATTRIBUTE4
196 ,ATTRIBUTE5
197 ,ATTRIBUTE6
198 ,ATTRIBUTE7
199 ,ATTRIBUTE8
200 ,ATTRIBUTE9
201 ,ATTRIBUTE10
202 ,ATTRIBUTE11
203 ,ATTRIBUTE12
204 ,ATTRIBUTE13
205 ,ATTRIBUTE14
206 ,ATTRIBUTE15
207 ,ACTIVE_FLAG
208 ,LIST_TYPE_CODE
209 ,QUAL_ATTR_VALUE_FROM_NUMBER
210 ,QUAL_ATTR_VALUE_TO_NUMBER
211 FROM Oks_QUALIFIERS_V
212 WHERE oks_qualifiers_v.qualifier_id = p_id;
213 l_oks_quav_pk oks_quav_pk_csr%ROWTYPE;
214 l_quav_rec quav_rec_type;
215 BEGIN
216 x_no_data_found := TRUE;
217 -- Get current database values
218 OPEN oks_quav_pk_csr (p_quav_rec.qualifier_id);
219 FETCH oks_quav_pk_csr INTO
220 l_quav_rec.QUALIFIER_ID
221 ,l_quav_rec.CREATION_DATE
222 ,l_quav_rec.CREATED_BY
223 ,l_quav_rec.LAST_UPDATE_DATE
224 ,l_quav_rec.LAST_UPDATED_BY
225 ,l_quav_rec.REQUEST_ID
226 ,l_quav_rec.PROGRAM_APPLICATION_ID
227 ,l_quav_rec.PROGRAM_ID
228 ,l_quav_rec.PROGRAM_UPDATE_DATE
229 ,l_quav_rec.LAST_UPDATE_LOGIN
230 ,l_quav_rec.QUALIFIER_GROUPING_NO
231 ,l_quav_rec.QUALIFIER_CONTEXT
232 ,l_quav_rec.QUALIFIER_ATTRIBUTE
233 ,l_quav_rec.QUALIFIER_ATTR_VALUE
234 ,l_quav_rec.COMPARISON_OPERATOR_CODE
235 ,l_quav_rec.EXCLUDER_FLAG
236 ,l_quav_rec.QUALIFIER_RULE_ID
237 ,l_quav_rec.START_DATE_ACTIVE
238 ,l_quav_rec.END_DATE_ACTIVE
239 ,l_quav_rec.CREATED_FROM_RULE_ID
240 ,l_quav_rec.QUALIFIER_PRECEDENCE
241 ,l_quav_rec.LIST_HEADER_ID
242 ,l_quav_rec.LIST_LINE_ID
243 ,l_quav_rec.QUALIFIER_DATATYPE
244 ,l_quav_rec.QUALIFIER_ATTR_VALUE_TO
245 ,l_quav_rec.CONTEXT
246 ,l_quav_rec.ATTRIBUTE1
247 ,l_quav_rec.ATTRIBUTE2
248 ,l_quav_rec.ATTRIBUTE3
249 ,l_quav_rec.ATTRIBUTE4
250 ,l_quav_rec.ATTRIBUTE5
251 ,l_quav_rec.ATTRIBUTE6
252 ,l_quav_rec.ATTRIBUTE7
253 ,l_quav_rec.ATTRIBUTE8
254 ,l_quav_rec.ATTRIBUTE9
255 ,l_quav_rec.ATTRIBUTE10
256 ,l_quav_rec.ATTRIBUTE11
257 ,l_quav_rec.ATTRIBUTE12
258 ,l_quav_rec.ATTRIBUTE13
259 ,l_quav_rec.ATTRIBUTE14
260 ,l_quav_rec.ATTRIBUTE15
261 ,l_quav_rec.ACTIVE_FLAG
262 ,l_quav_rec.LIST_TYPE_CODE
263 ,l_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER
264 ,l_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER ;
265
266
267 x_no_data_found := oks_quav_pk_csr%NOTFOUND;
268 CLOSE oks_quav_pk_csr;
269 RETURN(l_quav_rec);
270 END get_rec;
271
272 FUNCTION get_rec (
273 p_quav_rec IN quav_rec_type
274 ) RETURN quav_rec_type IS
275 l_row_notfound BOOLEAN := TRUE;
276 BEGIN
277 RETURN(get_rec(p_quav_rec, l_row_notfound));
278 END get_rec;
279
280 ----------------------------------------------------------
281 -- FUNCTION null_out_defaults for: OKS_QUALIFIERS_V --
282 ----------------------------------------------------------
283 FUNCTION null_out_defaults (
284 p_quav_rec IN quav_rec_type
285 ) RETURN quav_rec_type IS
286 l_quav_rec quav_rec_type := p_quav_rec;
287 BEGIN
288 IF (l_quav_rec.qualifier_id = OKC_API.G_MISS_NUM) THEN
289 l_quav_rec.qualifier_id := NULL;
290 END IF;
291 IF (l_quav_rec.CREATION_DATE = OKC_API.G_MISS_DATE) THEN
292 l_quav_rec.CREATION_DATE := NULL;
293 END IF;
294 IF (l_quav_rec.created_by = OKC_API.G_MISS_NUM) THEN
295 l_quav_rec.created_by := NULL;
296 END IF;
297 IF (l_quav_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
298 l_quav_rec.last_update_date := NULL;
299 END IF;
300 IF (l_quav_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
301 l_quav_rec.last_updated_by := NULL;
302 END IF;
303 IF (l_quav_rec.qualifier_grouping_no = OKC_API.G_MISS_NUM) THEN
304 l_quav_rec.qualifier_grouping_no := NULL;
305 END IF;
306 IF (l_quav_rec.qualifier_context = OKC_API.G_MISS_CHAR) THEN
307 l_quav_rec.qualifier_context := NULL;
308 END IF;
309 IF (l_quav_rec.qualifier_attribute = OKC_API.G_MISS_CHAR) THEN
310 l_quav_rec.qualifier_attribute := NULL;
311 END IF;
312 IF (l_quav_rec.qualifier_attr_value = OKC_API.G_MISS_CHAR) THEN
313 l_quav_rec.qualifier_attr_value := NULL;
314 END IF;
315 IF (l_quav_rec.comparison_operator_code = OKC_API.G_MISS_CHAR) THEN
316 l_quav_rec.comparison_operator_code := NULL;
317 END IF;
318 IF (l_quav_rec.excluder_flag = OKC_API.G_MISS_CHAR) THEN
319 l_quav_rec.excluder_flag := NULL;
320 END IF;
321 IF (l_quav_rec.qualifier_rule_id = OKC_API.G_MISS_NUM) THEN
322 l_quav_rec.qualifier_rule_id := NULL;
323 END IF;
324 IF (l_quav_rec.start_date_Active = OKC_API.G_MISS_DATE) THEN
325 l_quav_rec.start_date_Active := NULL;
326 END IF;
327 IF (l_quav_rec.end_date_Active = OKC_API.G_MISS_DATE) THEN
328 l_quav_rec.end_date_Active := NULL;
329 END IF;
330 IF (l_quav_rec.created_from_rule_id = OKC_API.G_MISS_NUM) THEN
331 l_quav_rec.created_from_rule_id := NULL;
332 END IF;
333 IF (l_quav_rec.qualifier_precedence = OKC_API.G_MISS_NUM) THEN
334 l_quav_rec.qualifier_precedence := NULL;
335 END IF;
336 IF (l_quav_rec.list_header_id = OKC_API.G_MISS_NUM) THEN
337 l_quav_rec.list_header_id := NULL;
338 END IF;
339 IF (l_quav_rec.list_line_id = OKC_API.G_MISS_NUM) THEN
340 l_quav_rec.list_line_id := NULL;
341 END IF;
342 IF (l_quav_rec.qualifier_datatype = OKC_API.G_MISS_CHAR) THEN
343 l_quav_rec.qualifier_datatype := NULL;
344 END IF;
345 IF (l_quav_rec.qualifier_attr_value_to = OKC_API.G_MISS_CHAR) THEN
346 l_quav_rec.qualifier_attr_value_to := NULL;
347 END IF;
348 IF (l_quav_rec.context = OKC_API.G_MISS_CHAR) THEN
349 l_quav_rec.context := NULL;
350 END IF;
351 IF (l_quav_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
352 l_quav_rec.attribute1 := NULL;
353 END IF;
354 IF (l_quav_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
355 l_quav_rec.attribute2 := NULL;
356 END IF;
357 IF (l_quav_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
358 l_quav_rec.attribute3 := NULL;
359 END IF;
360 IF (l_quav_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
361 l_quav_rec.attribute4 := NULL;
362 END IF;
363 IF (l_quav_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
364 l_quav_rec.attribute5 := NULL;
365 END IF;
366 IF (l_quav_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
367 l_quav_rec.attribute6 := NULL;
368 END IF;
369 IF (l_quav_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
370 l_quav_rec.attribute7 := NULL;
371 END IF;
372 IF (l_quav_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
373 l_quav_rec.attribute8 := NULL;
374 END IF;
375 IF (l_quav_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
376 l_quav_rec.attribute9 := NULL;
377 END IF;
378 IF (l_quav_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
379 l_quav_rec.attribute10 := NULL;
380 END IF;
381 IF (l_quav_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
382 l_quav_rec.attribute11 := NULL;
383 END IF;
384 IF (l_quav_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
385 l_quav_rec.attribute12 := NULL;
386 END IF;
387 IF (l_quav_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
388 l_quav_rec.attribute13 := NULL;
389 END IF;
390 IF (l_quav_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
391 l_quav_rec.attribute14 := NULL;
392 END IF;
393 IF (l_quav_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
394 l_quav_rec.attribute15 := NULL;
395 END IF;
396 IF (l_quav_rec.active_flag = OKC_API.G_MISS_CHAR) THEN
397 l_quav_rec.active_flag := NULL;
398 END IF;
399 IF (l_quav_rec.list_type_code = OKC_API.G_MISS_CHAR) THEN
400 l_quav_rec.list_type_code := NULL;
401 END IF;
402 IF (l_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER = OKC_API.G_MISS_NUM) THEN
403 l_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER := NULL;
404 END IF;
405 IF (l_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER = OKC_API.G_MISS_NUM) THEN
406 l_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER := NULL;
407 END IF;
408
409
410 RETURN(l_quav_rec);
411 END null_out_defaults;
412 ---------------------------------------------------------------------------
413 -- PROCEDURE Validate_Attributes
414 ---------------------------------------------------------------------------
415 PROCEDURE validate_qual_id(x_return_status OUT NOCOPY varchar2,
416 p_id IN Number)
417 Is
418 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
419 Begin
420
421 x_return_status := OKC_API.G_RET_STS_SUCCESS;
422
423 If p_id = OKC_API.G_MISS_NUM OR
424 p_id IS NULL
425 Then
426 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
427 l_return_status := OKC_API.G_RET_STS_ERROR;
428 End If;
429
430 Exception
431 When G_EXCEPTION_HALT_VALIDATION THEN
432 x_return_status := l_return_status;
433 NULL;
434 When OTHERS THEN
435 -- store SQL error message on message stack for caller
436 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
437 p_msg_name => g_unexpected_error,
438 p_token1 => g_sqlcode_token,
439 p_token1_value => sqlcode,
440 p_token2 => g_sqlerrm_token,
441 p_token2_value => sqlerrm);
442
443 -- notify caller of an UNEXPECTED error
444 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
445 End validate_qual_id;
446
447 PROCEDURE validate_creation_date(x_return_status OUT NOCOPY varchar2,
448 p_date IN Date)
449 Is
450 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
451 Begin
452
453 x_return_status := OKC_API.G_RET_STS_SUCCESS;
454
455 If p_date = OKC_API.G_MISS_DATE OR
456 p_date IS NULL
457 Then
458 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
459 l_return_status := OKC_API.G_RET_STS_ERROR;
460 End If;
461
462 Exception
463 When G_EXCEPTION_HALT_VALIDATION THEN
464 x_return_status := l_return_status;
465 NULL;
466 When OTHERS THEN
467 -- store SQL error message on message stack for caller
468 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
469 p_msg_name => g_unexpected_error,
470 p_token1 => g_sqlcode_token,
471 p_token1_value => sqlcode,
472 p_token2 => g_sqlerrm_token,
473 p_token2_value => sqlerrm);
474
475 -- notify caller of an UNEXPECTED error
476 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
477 End validate_creation_date;
478
479 PROCEDURE validate_created_by(x_return_status OUT NOCOPY varchar2,
480 p_id IN Number)
481 Is
482 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
483 Begin
484
485 x_return_status := OKC_API.G_RET_STS_SUCCESS;
486
487 If p_id = OKC_API.G_MISS_NUM OR
488 p_id IS NULL
489 Then
490 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
491 l_return_status := OKC_API.G_RET_STS_ERROR;
492 End If;
493
494 Exception
495 When G_EXCEPTION_HALT_VALIDATION THEN
496 x_return_status := l_return_status;
497 NULL;
498 When OTHERS THEN
499 -- store SQL error message on message stack for caller
500 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
501 p_msg_name => g_unexpected_error,
502 p_token1 => g_sqlcode_token,
503 p_token1_value => sqlcode,
504 p_token2 => g_sqlerrm_token,
505 p_token2_value => sqlerrm);
506
507 -- notify caller of an UNEXPECTED error
508 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
509 End validate_created_by;
510
511 PROCEDURE validate_last_update_by(x_return_status OUT NOCOPY varchar2,
512 p_id IN Number)
513 Is
514 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
515 Begin
516
517 x_return_status := OKC_API.G_RET_STS_SUCCESS;
518
519 If p_id = OKC_API.G_MISS_NUM OR
520 p_id IS NULL
521 Then
522 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_by');
523 l_return_status := OKC_API.G_RET_STS_ERROR;
524 End If;
525
526 Exception
527 When G_EXCEPTION_HALT_VALIDATION THEN
528 x_return_status := l_return_status;
529 NULL;
530 When OTHERS THEN
531 -- store SQL error message on message stack for caller
532 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
533 p_msg_name => g_unexpected_error,
534 p_token1 => g_sqlcode_token,
535 p_token1_value => sqlcode,
536 p_token2 => g_sqlerrm_token,
537 p_token2_value => sqlerrm);
538
539 -- notify caller of an UNEXPECTED error
540 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
541 End validate_last_update_by;
542
543 PROCEDURE validate_last_update_date(x_return_status OUT NOCOPY varchar2,
544 p_date IN DATE)
545 Is
546 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
547 Begin
548
549 x_return_status := OKC_API.G_RET_STS_SUCCESS;
550
551 If p_date = OKC_API.G_MISS_DATE OR
552 p_date IS NULL
553 Then
554 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
555 l_return_status := OKC_API.G_RET_STS_ERROR;
556 End If;
557
558 Exception
559 When G_EXCEPTION_HALT_VALIDATION THEN
560 x_return_status := l_return_status;
561 NULL;
562 When OTHERS THEN
563 -- store SQL error message on message stack for caller
564 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
565 p_msg_name => g_unexpected_error,
566 p_token1 => g_sqlcode_token,
567 p_token1_value => sqlcode,
568 p_token2 => g_sqlerrm_token,
569 p_token2_value => sqlerrm);
570
571 -- notify caller of an UNEXPECTED error
572 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
573 End validate_last_update_date;
574
575 PROCEDURE validate_qual_context(x_return_status OUT NOCOPY varchar2,
576 p_char IN varchar)
577 Is
578 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
579 Begin
580
581 x_return_status := OKC_API.G_RET_STS_SUCCESS;
582
583 If p_char = OKC_API.G_MISS_CHAR OR
584 p_char IS NULL
585 Then
586 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'qualifier_context');
587 l_return_status := OKC_API.G_RET_STS_ERROR;
588 End If;
589
590 Exception
591 When G_EXCEPTION_HALT_VALIDATION THEN
592 x_return_status := l_return_status;
593 NULL;
594 When OTHERS THEN
595 -- store SQL error message on message stack for caller
596 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
597 p_msg_name => g_unexpected_error,
598 p_token1 => g_sqlcode_token,
599 p_token1_value => sqlcode,
600 p_token2 => g_sqlerrm_token,
601 p_token2_value => sqlerrm);
602
603 -- notify caller of an UNEXPECTED error
604 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
605 End validate_qual_context;
606
607 PROCEDURE validate_qual_attribute(x_return_status OUT NOCOPY varchar2,
608 p_char IN varchar)
609 Is
610 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
611 Begin
612
613 x_return_status := OKC_API.G_RET_STS_SUCCESS;
614
615 If p_char = OKC_API.G_MISS_CHAR OR
616 p_char IS NULL
617 Then
618 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'qualifier_attribute');
619 l_return_status := OKC_API.G_RET_STS_ERROR;
620 End If;
621
622 Exception
623 When G_EXCEPTION_HALT_VALIDATION THEN
624 x_return_status := l_return_status;
625 NULL;
626 When OTHERS THEN
627 -- store SQL error message on message stack for caller
628 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
629 p_msg_name => g_unexpected_error,
630 p_token1 => g_sqlcode_token,
631 p_token1_value => sqlcode,
632 p_token2 => g_sqlerrm_token,
633 p_token2_value => sqlerrm);
634
635 -- notify caller of an UNEXPECTED error
636 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
637 End validate_qual_attribute;
638
639 PROCEDURE validate_comp_oper_code(x_return_status OUT NOCOPY varchar2,
640 p_char IN varchar)
641 Is
642 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
643 Begin
644
645 x_return_status := OKC_API.G_RET_STS_SUCCESS;
646
647 If p_char = OKC_API.G_MISS_CHAR OR
648 p_char IS NULL
649 Then
650 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'qualifier_comparison_operator_code');
651 l_return_status := OKC_API.G_RET_STS_ERROR;
652 End If;
653
654 Exception
655 When G_EXCEPTION_HALT_VALIDATION THEN
656 x_return_status := l_return_status;
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_comp_oper_code;
670
671 PROCEDURE validate_excluder_flag(x_return_status OUT NOCOPY varchar2,
672 p_char IN varchar)
673 Is
674 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
675 Begin
676
677 x_return_status := OKC_API.G_RET_STS_SUCCESS;
678
679 If p_char = OKC_API.G_MISS_CHAR OR
680 p_char IS NULL
681 Then
682 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'excluder_flag');
683 l_return_status := OKC_API.G_RET_STS_ERROR;
684 End If;
685
686 Exception
687 When G_EXCEPTION_HALT_VALIDATION THEN
688 x_return_status := l_return_status;
689 NULL;
690 When OTHERS THEN
691 -- store SQL error message on message stack for caller
692 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
693 p_msg_name => g_unexpected_error,
694 p_token1 => g_sqlcode_token,
695 p_token1_value => sqlcode,
696 p_token2 => g_sqlerrm_token,
697 p_token2_value => sqlerrm);
698
699 -- notify caller of an UNEXPECTED error
700 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
701 End validate_excluder_flag;
702
703
704 PROCEDURE validate_qual_group_no(x_return_status OUT NOCOPY varchar2,
705 p_id IN number)
706 Is
707 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
708 Begin
709
710 x_return_status := OKC_API.G_RET_STS_SUCCESS;
711
712 Exception
713 When G_EXCEPTION_HALT_VALIDATION THEN
714 x_return_status := l_return_status;
715 NULL;
716 When OTHERS THEN
717 -- store SQL error message on message stack for caller
718 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
719 p_msg_name => g_unexpected_error,
720 p_token1 => g_sqlcode_token,
721 p_token1_value => sqlcode,
722 p_token2 => g_sqlerrm_token,
723 p_token2_value => sqlerrm);
724
725 -- notify caller of an UNEXPECTED error
726 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
727 End validate_qual_group_no;
728
729 PROCEDURE validate_qual_rule_id(x_return_status OUT NOCOPY varchar2,
730 p_id IN number)
731 Is
732 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
733 Begin
734
735 x_return_status := OKC_API.G_RET_STS_SUCCESS;
736
737 Exception
738 When G_EXCEPTION_HALT_VALIDATION THEN
739 x_return_status := l_return_status;
740 NULL;
741 When OTHERS THEN
742 -- store SQL error message on message stack for caller
743 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
744 p_msg_name => g_unexpected_error,
745 p_token1 => g_sqlcode_token,
746 p_token1_value => sqlcode,
747 p_token2 => g_sqlerrm_token,
748 p_token2_value => sqlerrm);
749
750 -- notify caller of an UNEXPECTED error
751 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
752 End validate_qual_rule_id;
753
754 PROCEDURE validate_start_date_active(x_return_status OUT NOCOPY varchar2,
755 p_date IN DATE)
756 Is
757 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
758 Begin
759
760 x_return_status := OKC_API.G_RET_STS_SUCCESS;
761
762 Exception
763 When G_EXCEPTION_HALT_VALIDATION THEN
764 x_return_status := l_return_status;
765 NULL;
766 When OTHERS THEN
767 -- store SQL error message on message stack for caller
768 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
769 p_msg_name => g_unexpected_error,
770 p_token1 => g_sqlcode_token,
771 p_token1_value => sqlcode,
772 p_token2 => g_sqlerrm_token,
773 p_token2_value => sqlerrm);
774
775 -- notify caller of an UNEXPECTED error
776 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
777 End validate_start_date_active;
778
779 PROCEDURE validate_end_date_active(x_return_status OUT NOCOPY varchar2,
780 p_date IN DATE)
781 Is
782 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
783 Begin
784
785 x_return_status := OKC_API.G_RET_STS_SUCCESS;
786
787 Exception
788 When G_EXCEPTION_HALT_VALIDATION THEN
789 x_return_status := l_return_status;
790 NULL;
791 When OTHERS THEN
792 -- store SQL error message on message stack for caller
793 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
794 p_msg_name => g_unexpected_error,
795 p_token1 => g_sqlcode_token,
796 p_token1_value => sqlcode,
797 p_token2 => g_sqlerrm_token,
798 p_token2_value => sqlerrm);
799
800 -- notify caller of an UNEXPECTED error
801 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
802 End validate_end_date_active;
803
804
805 PROCEDURE validate_created_from_rule_id(x_return_status OUT NOCOPY varchar2,
806 P_id IN Number)
807 Is
808 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
809 Begin
810 x_return_status := OKC_API.G_RET_STS_SUCCESS;
811
812 Exception
813 When G_EXCEPTION_HALT_VALIDATION Then
814 NULL;
815 When OTHERS Then
816 -- store SQL error message on message stack for caller
817 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
818 p_msg_name => g_unexpected_error,
819 p_token1 => g_sqlcode_token,
820 p_token1_value => sqlcode,
821 p_token2 => g_sqlerrm_token,
822 p_token2_value => sqlerrm);
823
824 -- notify caller of an UNEXPECTED error
825 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
826 END validate_created_from_rule_id;
827
828 PROCEDURE validate_qual_precedence(x_return_status OUT NOCOPY varchar2,
829 P_id IN Number)
830 Is
831 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
832 Begin
833 x_return_status := OKC_API.G_RET_STS_SUCCESS;
834
835 Exception
836 When G_EXCEPTION_HALT_VALIDATION Then
837 NULL;
838 When OTHERS Then
839 -- store SQL error message on message stack for caller
840 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
841 p_msg_name => g_unexpected_error,
842 p_token1 => g_sqlcode_token,
843 p_token1_value => sqlcode,
844 p_token2 => g_sqlerrm_token,
845 p_token2_value => sqlerrm);
846
847 -- notify caller of an UNEXPECTED error
848 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
849 END validate_qual_precedence;
850
851 PROCEDURE validate_list_header_id(x_return_status OUT NOCOPY varchar2,
852 P_id IN Number)
853 Is
854 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
855 Begin
856 x_return_status := OKC_API.G_RET_STS_SUCCESS;
857
858 Exception
859 When G_EXCEPTION_HALT_VALIDATION Then
860 NULL;
861 When OTHERS Then
862 -- store SQL error message on message stack for caller
863 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
864 p_msg_name => g_unexpected_error,
865 p_token1 => g_sqlcode_token,
866 p_token1_value => sqlcode,
867 p_token2 => g_sqlerrm_token,
868 p_token2_value => sqlerrm);
869
870 -- notify caller of an UNEXPECTED error
871 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
872 END validate_list_header_id;
873
874 PROCEDURE validate_list_line_id(x_return_status OUT NOCOPY varchar2,
875 P_id IN Number)
876 Is
877 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
878 Begin
879 x_return_status := OKC_API.G_RET_STS_SUCCESS;
880
881 Exception
882 When G_EXCEPTION_HALT_VALIDATION Then
883 NULL;
884 When OTHERS Then
885 -- store SQL error message on message stack for caller
886 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
887 p_msg_name => g_unexpected_error,
888 p_token1 => g_sqlcode_token,
889 p_token1_value => sqlcode,
890 p_token2 => g_sqlerrm_token,
891 p_token2_value => sqlerrm);
892
893 -- notify caller of an UNEXPECTED error
894 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
895 END validate_list_line_id;
896
897 PROCEDURE validate_qual_datatype(x_return_status OUT NOCOPY varchar2,
898 P_char IN varchar)
899 Is
900 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
901 Begin
902 x_return_status := OKC_API.G_RET_STS_SUCCESS;
903
904 Exception
905 When G_EXCEPTION_HALT_VALIDATION Then
906 NULL;
907 When OTHERS Then
908 -- store SQL error message on message stack for caller
909 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
910 p_msg_name => g_unexpected_error,
911 p_token1 => g_sqlcode_token,
912 p_token1_value => sqlcode,
913 p_token2 => g_sqlerrm_token,
914 p_token2_value => sqlerrm);
915
916 -- notify caller of an UNEXPECTED error
917 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
918 END validate_qual_datatype;
919
920 PROCEDURE validate_qual_attr_value_to(x_return_status OUT NOCOPY varchar2,
921 P_char IN varchar)
922 Is
923 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
924 Begin
925 x_return_status := OKC_API.G_RET_STS_SUCCESS;
926
927 Exception
928 When G_EXCEPTION_HALT_VALIDATION Then
929 NULL;
930 When OTHERS Then
931 -- store SQL error message on message stack for caller
932 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
933 p_msg_name => g_unexpected_error,
934 p_token1 => g_sqlcode_token,
935 p_token1_value => sqlcode,
936 p_token2 => g_sqlerrm_token,
937 p_token2_value => sqlerrm);
938
939 -- notify caller of an UNEXPECTED error
940 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
941 END validate_qual_attr_value_to;
942
943 PROCEDURE validate_qual_attr_value(x_return_status OUT NOCOPY varchar2,
944 P_char IN varchar)
945 Is
946 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
947 Begin
948 x_return_status := OKC_API.G_RET_STS_SUCCESS;
949
950 Exception
951 When G_EXCEPTION_HALT_VALIDATION Then
952 NULL;
953 When OTHERS Then
954 -- store SQL error message on message stack for caller
955 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
956 p_msg_name => g_unexpected_error,
957 p_token1 => g_sqlcode_token,
958 p_token1_value => sqlcode,
959 p_token2 => g_sqlerrm_token,
960 p_token2_value => sqlerrm);
961
962 -- notify caller of an UNEXPECTED error
963 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
964 END validate_qual_attr_value;
965
966 PROCEDURE validate_context(x_return_status OUT NOCOPY varchar2,
967 P_char IN varchar)
968 Is
969 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
970 Begin
971 x_return_status := OKC_API.G_RET_STS_SUCCESS;
972
973 Exception
974 When G_EXCEPTION_HALT_VALIDATION Then
975 NULL;
976 When OTHERS Then
977 -- store SQL error message on message stack for caller
978 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
979 p_msg_name => g_unexpected_error,
980 p_token1 => g_sqlcode_token,
981 p_token1_value => sqlcode,
982 p_token2 => g_sqlerrm_token,
983 p_token2_value => sqlerrm);
984
985 -- notify caller of an UNEXPECTED error
986 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
987 END validate_context;
988
989 PROCEDURE validate_attribute1(x_return_status OUT NOCOPY varchar2,
990 P_char IN varchar)
991 Is
992 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
993 Begin
994 x_return_status := OKC_API.G_RET_STS_SUCCESS;
995
996 Exception
997 When G_EXCEPTION_HALT_VALIDATION Then
998 NULL;
999 When OTHERS Then
1000 -- store SQL error message on message stack for caller
1001 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1002 p_msg_name => g_unexpected_error,
1003 p_token1 => g_sqlcode_token,
1004 p_token1_value => sqlcode,
1005 p_token2 => g_sqlerrm_token,
1006 p_token2_value => sqlerrm);
1007
1008 -- notify caller of an UNEXPECTED error
1009 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1010 END validate_attribute1;
1011
1012 PROCEDURE validate_attribute2(x_return_status OUT NOCOPY varchar2,
1013 P_char IN varchar)
1014 Is
1015 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1016 Begin
1017 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1018
1019 Exception
1020 When G_EXCEPTION_HALT_VALIDATION Then
1021 NULL;
1022 When OTHERS Then
1023 -- store SQL error message on message stack for caller
1024 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1025 p_msg_name => g_unexpected_error,
1026 p_token1 => g_sqlcode_token,
1027 p_token1_value => sqlcode,
1028 p_token2 => g_sqlerrm_token,
1029 p_token2_value => sqlerrm);
1030
1031 -- notify caller of an UNEXPECTED error
1032 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1033 END validate_attribute2;
1034
1035 PROCEDURE validate_attribute3(x_return_status OUT NOCOPY varchar2,
1036 P_char IN varchar)
1037 Is
1038 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1039 Begin
1040 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1041
1042 Exception
1043 When G_EXCEPTION_HALT_VALIDATION Then
1044 NULL;
1045 When OTHERS Then
1046 -- store SQL error message on message stack for caller
1047 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1048 p_msg_name => g_unexpected_error,
1049 p_token1 => g_sqlcode_token,
1050 p_token1_value => sqlcode,
1051 p_token2 => g_sqlerrm_token,
1052 p_token2_value => sqlerrm);
1053
1054 -- notify caller of an UNEXPECTED error
1055 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1056 END validate_attribute3;
1057
1058 PROCEDURE validate_attribute4(x_return_status OUT NOCOPY varchar2,
1059 P_char IN varchar)
1060 Is
1061 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1062 Begin
1063 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1064
1065 Exception
1066 When G_EXCEPTION_HALT_VALIDATION Then
1067 NULL;
1068 When OTHERS Then
1069 -- store SQL error message on message stack for caller
1070 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1071 p_msg_name => g_unexpected_error,
1072 p_token1 => g_sqlcode_token,
1073 p_token1_value => sqlcode,
1074 p_token2 => g_sqlerrm_token,
1075 p_token2_value => sqlerrm);
1076
1077 -- notify caller of an UNEXPECTED error
1078 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1079 END validate_attribute4;
1080
1081 PROCEDURE validate_attribute5(x_return_status OUT NOCOPY varchar2,
1082 P_char IN varchar)
1083 Is
1084 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1085 Begin
1086 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1087
1088 Exception
1089 When G_EXCEPTION_HALT_VALIDATION Then
1090 NULL;
1091 When OTHERS Then
1092 -- store SQL error message on message stack for caller
1093 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1094 p_msg_name => g_unexpected_error,
1095 p_token1 => g_sqlcode_token,
1096 p_token1_value => sqlcode,
1097 p_token2 => g_sqlerrm_token,
1098 p_token2_value => sqlerrm);
1099
1100 -- notify caller of an UNEXPECTED error
1101 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1102 END validate_attribute5;
1103
1104 PROCEDURE validate_attribute6(x_return_status OUT NOCOPY varchar2,
1105 P_char IN varchar)
1106 Is
1107 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1108 Begin
1109 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1110
1111 Exception
1112 When G_EXCEPTION_HALT_VALIDATION Then
1113 NULL;
1114 When OTHERS Then
1115 -- store SQL error message on message stack for caller
1116 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1117 p_msg_name => g_unexpected_error,
1118 p_token1 => g_sqlcode_token,
1119 p_token1_value => sqlcode,
1120 p_token2 => g_sqlerrm_token,
1121 p_token2_value => sqlerrm);
1122
1123 -- notify caller of an UNEXPECTED error
1124 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1125 END validate_attribute6;
1126
1127 PROCEDURE validate_attribute7(x_return_status OUT NOCOPY varchar2,
1128 P_char IN varchar)
1129 Is
1130 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1131 Begin
1132 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1133
1134 Exception
1135 When G_EXCEPTION_HALT_VALIDATION Then
1136 NULL;
1137 When OTHERS Then
1138 -- store SQL error message on message stack for caller
1139 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1140 p_msg_name => g_unexpected_error,
1141 p_token1 => g_sqlcode_token,
1142 p_token1_value => sqlcode,
1143 p_token2 => g_sqlerrm_token,
1144 p_token2_value => sqlerrm);
1145
1146 -- notify caller of an UNEXPECTED error
1147 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1148 END validate_attribute7;
1149
1150 PROCEDURE validate_attribute8(x_return_status OUT NOCOPY varchar2,
1151 P_char IN varchar)
1152 Is
1153 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1154 Begin
1155 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1156
1157 Exception
1158 When G_EXCEPTION_HALT_VALIDATION Then
1159 NULL;
1160 When OTHERS Then
1161 -- store SQL error message on message stack for caller
1162 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1163 p_msg_name => g_unexpected_error,
1164 p_token1 => g_sqlcode_token,
1165 p_token1_value => sqlcode,
1166 p_token2 => g_sqlerrm_token,
1167 p_token2_value => sqlerrm);
1168
1169 -- notify caller of an UNEXPECTED error
1170 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1171 END validate_attribute8;
1172
1173 PROCEDURE validate_attribute9(x_return_status OUT NOCOPY varchar2,
1174 P_char IN varchar)
1175 Is
1176 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1177 Begin
1178 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1179
1180 Exception
1181 When G_EXCEPTION_HALT_VALIDATION Then
1182 NULL;
1183 When OTHERS Then
1184 -- store SQL error message on message stack for caller
1185 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1186 p_msg_name => g_unexpected_error,
1187 p_token1 => g_sqlcode_token,
1188 p_token1_value => sqlcode,
1189 p_token2 => g_sqlerrm_token,
1190 p_token2_value => sqlerrm);
1191
1192 -- notify caller of an UNEXPECTED error
1193 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1194 END validate_attribute9;
1195
1196 PROCEDURE validate_attribute10(x_return_status OUT NOCOPY varchar2,
1197 P_char IN varchar)
1198 Is
1199 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1200 Begin
1201 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1202
1203 Exception
1204 When G_EXCEPTION_HALT_VALIDATION Then
1205 NULL;
1206 When OTHERS Then
1207 -- store SQL error message on message stack for caller
1208 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1209 p_msg_name => g_unexpected_error,
1210 p_token1 => g_sqlcode_token,
1211 p_token1_value => sqlcode,
1212 p_token2 => g_sqlerrm_token,
1213 p_token2_value => sqlerrm);
1214
1215 -- notify caller of an UNEXPECTED error
1216 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1217 END validate_attribute10;
1218
1219 PROCEDURE validate_attribute11(x_return_status OUT NOCOPY varchar2,
1220 P_char IN varchar)
1221 Is
1222 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1223 Begin
1224 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1225
1226 Exception
1227 When G_EXCEPTION_HALT_VALIDATION Then
1228 NULL;
1229 When OTHERS Then
1230 -- store SQL error message on message stack for caller
1231 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1232 p_msg_name => g_unexpected_error,
1233 p_token1 => g_sqlcode_token,
1234 p_token1_value => sqlcode,
1235 p_token2 => g_sqlerrm_token,
1236 p_token2_value => sqlerrm);
1237
1238 -- notify caller of an UNEXPECTED error
1239 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1240 END validate_attribute11;
1241
1242 PROCEDURE validate_attribute12(x_return_status OUT NOCOPY varchar2,
1243 P_char IN varchar)
1244 Is
1245 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1246 Begin
1247 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1248
1249 Exception
1250 When G_EXCEPTION_HALT_VALIDATION Then
1251 NULL;
1252 When OTHERS Then
1253 -- store SQL error message on message stack for caller
1254 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1255 p_msg_name => g_unexpected_error,
1256 p_token1 => g_sqlcode_token,
1257 p_token1_value => sqlcode,
1258 p_token2 => g_sqlerrm_token,
1259 p_token2_value => sqlerrm);
1260
1261 -- notify caller of an UNEXPECTED error
1262 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1263 END validate_attribute12;
1264
1265 PROCEDURE validate_attribute13(x_return_status OUT NOCOPY varchar2,
1266 P_char IN varchar)
1267 Is
1268 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1269 Begin
1270 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1271
1272 Exception
1273 When G_EXCEPTION_HALT_VALIDATION Then
1274 NULL;
1275 When OTHERS Then
1276 -- store SQL error message on message stack for caller
1277 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1278 p_msg_name => g_unexpected_error,
1279 p_token1 => g_sqlcode_token,
1280 p_token1_value => sqlcode,
1281 p_token2 => g_sqlerrm_token,
1282 p_token2_value => sqlerrm);
1283
1284 -- notify caller of an UNEXPECTED error
1285 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1286 END validate_attribute13;
1287
1288 PROCEDURE validate_attribute14(x_return_status OUT NOCOPY varchar2,
1289 P_char IN varchar)
1290 Is
1291 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1292 Begin
1293 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1294
1295 Exception
1296 When G_EXCEPTION_HALT_VALIDATION Then
1297 NULL;
1298 When OTHERS Then
1299 -- store SQL error message on message stack for caller
1300 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1301 p_msg_name => g_unexpected_error,
1302 p_token1 => g_sqlcode_token,
1303 p_token1_value => sqlcode,
1304 p_token2 => g_sqlerrm_token,
1305 p_token2_value => sqlerrm);
1306
1307 -- notify caller of an UNEXPECTED error
1308 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1309 END validate_attribute14;
1310
1311 PROCEDURE validate_attribute15(x_return_status OUT NOCOPY varchar2,
1312 P_char IN varchar)
1313 Is
1314 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1315 Begin
1316 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1317
1318 Exception
1319 When G_EXCEPTION_HALT_VALIDATION Then
1320 NULL;
1321 When OTHERS Then
1322 -- store SQL error message on message stack for caller
1323 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1324 p_msg_name => g_unexpected_error,
1325 p_token1 => g_sqlcode_token,
1326 p_token1_value => sqlcode,
1327 p_token2 => g_sqlerrm_token,
1328 p_token2_value => sqlerrm);
1329
1330 -- notify caller of an UNEXPECTED error
1331 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1332 END validate_attribute15;
1333
1334 PROCEDURE validate_active_flag(x_return_status OUT NOCOPY varchar2,
1335 P_char IN varchar)
1336 Is
1337 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1338 Begin
1339 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1340
1341 Exception
1342 When G_EXCEPTION_HALT_VALIDATION Then
1343 NULL;
1344 When OTHERS Then
1345 -- store SQL error message on message stack for caller
1346 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1347 p_msg_name => g_unexpected_error,
1348 p_token1 => g_sqlcode_token,
1349 p_token1_value => sqlcode,
1350 p_token2 => g_sqlerrm_token,
1351 p_token2_value => sqlerrm);
1352
1353 -- notify caller of an UNEXPECTED error
1354 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1355 END validate_active_flag;
1356
1357 PROCEDURE validate_list_type_code(x_return_status OUT NOCOPY varchar2,
1358 P_char IN varchar)
1359 Is
1360 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1361 Begin
1362 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1363
1364 Exception
1365 When G_EXCEPTION_HALT_VALIDATION Then
1366 NULL;
1367 When OTHERS Then
1368 -- store SQL error message on message stack for caller
1369 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1370 p_msg_name => g_unexpected_error,
1371 p_token1 => g_sqlcode_token,
1372 p_token1_value => sqlcode,
1373 p_token2 => g_sqlerrm_token,
1374 p_token2_value => sqlerrm);
1375
1376 -- notify caller of an UNEXPECTED error
1377 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1378 END validate_list_type_code;
1379
1380 PROCEDURE val_QUAL_ATT_VAL_FRM(x_return_status OUT NOCOPY varchar2,
1381 P_char IN varchar)
1382 Is
1383 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1384 Begin
1385 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1386
1387 Exception
1388 When G_EXCEPTION_HALT_VALIDATION Then
1389 NULL;
1390 When OTHERS Then
1391 -- store SQL error message on message stack for caller
1392 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1393 p_msg_name => g_unexpected_error,
1394 p_token1 => g_sqlcode_token,
1395 p_token1_value => sqlcode,
1396 p_token2 => g_sqlerrm_token,
1397 p_token2_value => sqlerrm);
1398
1399 -- notify caller of an UNEXPECTED error
1400 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1401 END val_QUAL_ATT_VAL_FRM;
1402
1403 PROCEDURE val_QUAL_ATT_VAL_TO(x_return_status OUT NOCOPY varchar2,
1404 P_char IN varchar)
1405 Is
1406 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1407 Begin
1408 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1409
1410 Exception
1411 When G_EXCEPTION_HALT_VALIDATION Then
1412 NULL;
1413 When OTHERS Then
1414 -- store SQL error message on message stack for caller
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 => sqlerrm);
1421
1422 -- notify caller of an UNEXPECTED error
1423 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1424 END val_QUAL_ATT_VAL_TO;
1425
1426
1427
1428
1429 --------------------------------------------------
1430 -- Validate_Attributes for:OKS_QUALIFIERS_V--
1431 --------------------------------------------------
1432 /*
1433 FUNCTION Validate_Attributes (
1434 p_quav_rec IN quav_rec_type
1435 ) RETURN VARCHAR2 IS
1436 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1437 BEGIN
1438 IF p_quav_rec.id = OKC_API.G_MISS_NUM OR
1439 p_quav_rec.id IS NULL
1440 THEN
1441 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
1442 l_return_status := OKC_API.G_RET_STS_ERROR;
1443 ELSIF p_quav_rec.object_version_number = OKC_API.G_MISS_NUM OR
1444 p_quav_rec.object_version_number IS NULL
1445 THEN
1446 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
1447 l_return_status := OKC_API.G_RET_STS_ERROR;
1448 ELSIF p_quav_rec.cle_id = OKC_API.G_MISS_NUM OR
1449 p_quav_rec.cle_id IS NULL
1450 THEN
1451 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'cle_id');
1452 l_return_status := OKC_API.G_RET_STS_ERROR;
1453 ELSIF p_quav_rec.date_billed_from = OKC_API.G_MISS_DATE OR
1454 p_quav_rec.date_billed_from IS NULL
1455 THEN
1456 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'date_billed_from');
1457 l_return_status := OKC_API.G_RET_STS_ERROR;
1458 ELSIF p_quav_rec.date_billed_to = OKC_API.G_MISS_DATE OR
1459 p_quav_rec.date_billed_to IS NULL
1460 THEN
1461 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'date_billed_to');
1462 l_return_status := OKC_API.G_RET_STS_ERROR;
1463 END IF;
1464 RETURN(l_return_status);
1465 END Validate_Attributes;
1466 */
1467
1468 FUNCTION Validate_Attributes (
1469 p_quav_rec IN quav_rec_type
1470 )
1471 Return VARCHAR2 Is
1472 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1473 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1474
1475 Begin
1476 -- call OKC_UTIL.ADD_VIEW to prepare the PL/SQL table to hold columns of view
1477
1478 OKC_UTIL.ADD_VIEW('OKS_QUALIFIERS_V',x_return_status);
1479
1480 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1481 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1482 -- need to leave
1483 l_return_status := x_return_status;
1484 RAISE G_EXCEPTION_HALT_VALIDATION;
1485 ELSE
1486 -- record that there is a error
1487 l_return_status := x_return_status;
1488 END IF;
1489 END IF;
1490
1491 --Column Level Validation
1492
1493 --ID
1494 validate_qual_id(x_return_status, p_quav_rec.qualifier_id);
1495
1496 -- store the highest degree of error
1497 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1498 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1499 -- need to leave
1500 l_return_status := x_return_status;
1501 RAISE G_EXCEPTION_HALT_VALIDATION;
1502 ELSE
1503 -- record that there was an error
1504 l_return_status := x_return_status;
1505 END IF;
1506 END IF;
1507
1508 validate_creation_date(x_return_status, p_quav_rec.creation_date);
1509
1510 -- store the highest degree of error
1511 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1512 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1513 -- need to leave
1514 l_return_status := x_return_status;
1515 RAISE G_EXCEPTION_HALT_VALIDATION;
1516 ELSE
1517 -- record that there was an error
1518 l_return_status := x_return_status;
1519 END IF;
1520 END IF;
1521
1522 validate_created_by(x_return_status, p_quav_rec.created_by);
1523
1524 -- store the highest degree of error
1525 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1526 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1527 -- need to leave
1528 l_return_status := x_return_status;
1529 RAISE G_EXCEPTION_HALT_VALIDATION;
1530 ELSE
1531 -- record that there was an error
1532 l_return_status := x_return_status;
1533 END IF;
1534 END IF;
1535
1536
1537 validate_last_update_date(x_return_status, p_quav_rec.last_update_date);
1538
1539 -- store the highest degree of error
1540 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1541 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1542 -- need to leave
1543 l_return_status := x_return_status;
1544 RAISE G_EXCEPTION_HALT_VALIDATION;
1545 ELSE
1546 -- record that there was an error
1547 l_return_status := x_return_status;
1548 END IF;
1549 END IF;
1550
1551 validate_last_update_by(x_return_status, p_quav_rec.last_updated_by);
1552
1553 -- store the highest degree of error
1554 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1555 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1556 -- need to leave
1557 l_return_status := x_return_status;
1558 RAISE G_EXCEPTION_HALT_VALIDATION;
1559 ELSE
1560 -- record that there was an error
1561 l_return_status := x_return_status;
1562 END IF;
1563 END IF;
1564
1565 validate_qual_group_no(x_return_status, p_quav_rec.qualifier_grouping_no);
1566
1567 -- store the highest degree of error
1568 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1569 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1570 -- need to leave
1571 l_return_status := x_return_status;
1572 RAISE G_EXCEPTION_HALT_VALIDATION;
1573 ELSE
1574 -- record that there was an error
1575 l_return_status := x_return_status;
1576 END IF;
1577 END IF;
1578
1579 validate_qual_context(x_return_status, p_quav_rec.qualifier_context);
1580
1581 -- store the highest degree of error
1582 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1583 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1584 -- need to leave
1585 l_return_status := x_return_status;
1586 RAISE G_EXCEPTION_HALT_VALIDATION;
1587 ELSE
1588 -- record that there was an error
1589 l_return_status := x_return_status;
1590 END IF;
1591 END IF;
1592
1593
1594 validate_qual_attribute(x_return_status, p_quav_rec.qualifier_attribute);
1595
1596 -- store the highest degree of error
1597 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1598 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1599 -- need to leave
1600 l_return_status := x_return_status;
1601 RAISE G_EXCEPTION_HALT_VALIDATION;
1602 ELSE
1603 -- record that there was an error
1604 l_return_status := x_return_status;
1605 END IF;
1606 END IF;
1607
1608
1609 validate_qual_attr_value(x_return_status, p_quav_rec.qualifier_attr_value);
1610
1611 -- store the highest degree of error
1612 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1613 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1614 -- need to leave
1615 l_return_status := x_return_status;
1616 RAISE G_EXCEPTION_HALT_VALIDATION;
1617 ELSE
1618 -- record that there was an error
1619 l_return_status := x_return_status;
1620 END IF;
1621 END IF;
1622
1623 validate_COMP_OPER_CODE(x_return_status, p_quav_rec.COMPARISON_OPERATOR_CODE);
1624
1625 -- store the highest degree of error
1626 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1627 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1628 -- need to leave
1629 l_return_status := x_return_status;
1630 RAISE G_EXCEPTION_HALT_VALIDATION;
1631 ELSE
1632 -- record that there was an error
1633 l_return_status := x_return_status;
1634 END IF;
1635 END IF;
1636
1637 validate_excluder_Flag(x_return_status, p_quav_rec.excluder_Flag);
1638
1639 -- store the highest degree of error
1640 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1641 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1642 -- need to leave
1643 l_return_status := x_return_status;
1644 RAISE G_EXCEPTION_HALT_VALIDATION;
1645 ELSE
1646 -- record that there was an error
1647 l_return_status := x_return_status;
1648 END IF;
1649 END IF;
1650
1651 validate_qual_rule_id(x_return_status, p_quav_rec.qualifier_rule_id);
1652
1653 -- store the highest degree of error
1654 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1655 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1656 -- need to leave
1657 l_return_status := x_return_status;
1658 RAISE G_EXCEPTION_HALT_VALIDATION;
1659 ELSE
1660 -- record that there was an error
1661 l_return_status := x_return_status;
1662 END IF;
1663 END IF;
1664
1665 validate_start_date_active(x_return_status, p_quav_rec.start_date_active);
1666
1667 -- store the highest degree of error
1668 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1669 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1670 -- need to leave
1671 l_return_status := x_return_status;
1672 RAISE G_EXCEPTION_HALT_VALIDATION;
1673 ELSE
1674 -- record that there was an error
1675 l_return_status := x_return_status;
1676 END IF;
1677 END IF;
1678
1679 validate_end_date_active(x_return_status, p_quav_rec.end_date_active);
1680
1681 -- store the highest degree of error
1682 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1683 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1684 -- need to leave
1685 l_return_status := x_return_status;
1686 RAISE G_EXCEPTION_HALT_VALIDATION;
1687 ELSE
1688 -- record that there was an error
1689 l_return_status := x_return_status;
1690 END IF;
1691 END IF;
1692
1693 validate_created_from_rule_id(x_return_status, p_quav_rec.created_from_rule_id);
1694
1695 -- store the highest degree of error
1696 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1697 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1698 -- need to leave
1699 l_return_status := x_return_status;
1700 RAISE G_EXCEPTION_HALT_VALIDATION;
1701 ELSE
1702 -- record that there was an error
1703 l_return_status := x_return_status;
1704 END IF;
1705 END IF;
1706
1707 validate_qual_precedence(x_return_status, p_quav_rec.qualifier_precedence);
1708
1709 -- store the highest degree of error
1710 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1711 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1712 -- need to leave
1713 l_return_status := x_return_status;
1714 RAISE G_EXCEPTION_HALT_VALIDATION;
1715 ELSE
1716 -- record that there was an error
1717 l_return_status := x_return_status;
1718 END IF;
1719 END IF;
1720
1721 validate_list_header_id(x_return_status, p_quav_rec.list_header_id);
1722
1723 -- store the highest degree of error
1724 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1725 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1726 -- need to leave
1727 l_return_status := x_return_status;
1728 RAISE G_EXCEPTION_HALT_VALIDATION;
1729 ELSE
1730 -- record that there was an error
1731 l_return_status := x_return_status;
1732 END IF;
1733 END IF;
1734
1735
1736 validate_list_line_id(x_return_status, p_quav_rec.list_line_id);
1737
1738 -- store the highest degree of error
1739 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1740 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1741 -- need to leave
1742 l_return_status := x_return_status;
1743 RAISE G_EXCEPTION_HALT_VALIDATION;
1744 ELSE
1745 -- record that there was an error
1746 l_return_status := x_return_status;
1747 END IF;
1748 END IF;
1749
1750 validate_qual_datatype(x_return_status, p_quav_rec.qualifier_datatype);
1751
1752 -- store the highest degree of error
1753 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1754 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1755 -- need to leave
1756 l_return_status := x_return_status;
1757 RAISE G_EXCEPTION_HALT_VALIDATION;
1758 ELSE
1759 -- record that there was an error
1760 l_return_status := x_return_status;
1761 END IF;
1762 END IF;
1763
1764 validate_qual_attr_value_to(x_return_status, p_quav_rec.qualifier_attr_value_to);
1765
1766 -- store the highest degree of error
1767 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1768 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1769 -- need to leave
1770 l_return_status := x_return_status;
1771 RAISE G_EXCEPTION_HALT_VALIDATION;
1772 ELSE
1773 -- record that there was an error
1774 l_return_status := x_return_status;
1775 END IF;
1776 END IF;
1777
1778
1779 validate_context(x_return_status, p_quav_rec.context);
1780
1781 -- store the highest degree of error
1782 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1783 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1784 -- need to leave
1785 l_return_status := x_return_status;
1786 RAISE G_EXCEPTION_HALT_VALIDATION;
1787 ELSE
1788 -- record that there was an error
1789 l_return_status := x_return_status;
1790 END IF;
1791 END IF;
1792
1793 validate_attribute1(x_return_status, p_quav_rec.attribute1);
1794
1795 -- store the highest degree of error
1796 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1797 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1798 -- need to leave
1799 l_return_status := x_return_status;
1800 RAISE G_EXCEPTION_HALT_VALIDATION;
1801 ELSE
1802 -- record that there was an error
1803 l_return_status := x_return_status;
1804 END IF;
1805 END IF;
1806
1807 validate_attribute2(x_return_status, p_quav_rec.attribute2);
1808
1809 -- store the highest degree of error
1810 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1811 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1812 -- need to leave
1813 l_return_status := x_return_status;
1814 RAISE G_EXCEPTION_HALT_VALIDATION;
1815 ELSE
1816 -- record that there was an error
1817 l_return_status := x_return_status;
1818 END IF;
1819 END IF;
1820
1821 validate_attribute3(x_return_status, p_quav_rec.attribute3);
1822
1823 -- store the highest degree of error
1824 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1825 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1826 -- need to leave
1827 l_return_status := x_return_status;
1828 RAISE G_EXCEPTION_HALT_VALIDATION;
1829 ELSE
1830 -- record that there was an error
1831 l_return_status := x_return_status;
1832 END IF;
1833 END IF;
1834
1835 validate_attribute4(x_return_status, p_quav_rec.attribute4);
1836
1837 -- store the highest degree of error
1838 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1839 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1840 -- need to leave
1841 l_return_status := x_return_status;
1842 RAISE G_EXCEPTION_HALT_VALIDATION;
1843 ELSE
1844 -- record that there was an error
1845 l_return_status := x_return_status;
1846 END IF;
1847 END IF;
1848
1849 validate_attribute5(x_return_status, p_quav_rec.attribute5);
1850
1851 -- store the highest degree of error
1852 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1853 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1854 -- need to leave
1855 l_return_status := x_return_status;
1856 RAISE G_EXCEPTION_HALT_VALIDATION;
1857 ELSE
1858 -- record that there was an error
1859 l_return_status := x_return_status;
1860 END IF;
1861 END IF;
1862
1863 validate_attribute6(x_return_status, p_quav_rec.attribute6);
1864
1865 -- store the highest degree of error
1866 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1867 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1868 -- need to leave
1869 l_return_status := x_return_status;
1870 RAISE G_EXCEPTION_HALT_VALIDATION;
1871 ELSE
1872 -- record that there was an error
1873 l_return_status := x_return_status;
1874 END IF;
1875 END IF;
1876
1877 validate_attribute7(x_return_status, p_quav_rec.attribute7);
1878
1879 -- store the highest degree of error
1880 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1881 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1882 -- need to leave
1883 l_return_status := x_return_status;
1884 RAISE G_EXCEPTION_HALT_VALIDATION;
1885 ELSE
1886 -- record that there was an error
1887 l_return_status := x_return_status;
1888 END IF;
1889 END IF;
1890
1891 validate_attribute8(x_return_status, p_quav_rec.attribute8);
1892
1893 -- store the highest degree of error
1894 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1895 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1896 -- need to leave
1897 l_return_status := x_return_status;
1898 RAISE G_EXCEPTION_HALT_VALIDATION;
1899 ELSE
1900 -- record that there was an error
1901 l_return_status := x_return_status;
1902 END IF;
1903 END IF;
1904
1905 validate_attribute9(x_return_status, p_quav_rec.attribute9);
1906
1907 -- store the highest degree of error
1908 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1909 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1910 -- need to leave
1911 l_return_status := x_return_status;
1912 RAISE G_EXCEPTION_HALT_VALIDATION;
1913 ELSE
1914 -- record that there was an error
1915 l_return_status := x_return_status;
1916 END IF;
1917 END IF;
1918
1919 validate_attribute10(x_return_status, p_quav_rec.attribute10);
1920
1921 -- store the highest degree of error
1922 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1923 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1924 -- need to leave
1925 l_return_status := x_return_status;
1926 RAISE G_EXCEPTION_HALT_VALIDATION;
1927 ELSE
1928 -- record that there was an error
1929 l_return_status := x_return_status;
1930 END IF;
1931 END IF;
1932
1933
1934 validate_attribute11(x_return_status, p_quav_rec.attribute11);
1935
1936 -- store the highest degree of error
1937 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1938 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1939 -- need to leave
1940 l_return_status := x_return_status;
1941 RAISE G_EXCEPTION_HALT_VALIDATION;
1942 ELSE
1943 -- record that there was an error
1944 l_return_status := x_return_status;
1945 END IF;
1946 END IF;
1947
1948 validate_attribute12(x_return_status, p_quav_rec.attribute12);
1949
1950 -- store the highest degree of error
1951 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1952 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1953 -- need to leave
1954 l_return_status := x_return_status;
1955 RAISE G_EXCEPTION_HALT_VALIDATION;
1956 ELSE
1957 -- record that there was an error
1958 l_return_status := x_return_status;
1959 END IF;
1960 END IF;
1961
1962 validate_attribute13(x_return_status, p_quav_rec.attribute13);
1963
1964 -- store the highest degree of error
1965 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1966 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1967 -- need to leave
1968 l_return_status := x_return_status;
1969 RAISE G_EXCEPTION_HALT_VALIDATION;
1970 ELSE
1971 -- record that there was an error
1972 l_return_status := x_return_status;
1973 END IF;
1974 END IF;
1975
1976 validate_attribute14(x_return_status, p_quav_rec.attribute14);
1977
1978 -- store the highest degree of error
1979 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1980 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1981 -- need to leave
1982 l_return_status := x_return_status;
1983 RAISE G_EXCEPTION_HALT_VALIDATION;
1984 ELSE
1985 -- record that there was an error
1986 l_return_status := x_return_status;
1987 END IF;
1988 END IF;
1989
1990 validate_attribute15(x_return_status, p_quav_rec.attribute15);
1991
1992 -- store the highest degree of error
1993 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1994 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1995 -- need to leave
1996 l_return_status := x_return_status;
1997 RAISE G_EXCEPTION_HALT_VALIDATION;
1998 ELSE
1999 -- record that there was an error
2000 l_return_status := x_return_status;
2001 END IF;
2002 END IF;
2003
2004 validate_active_flag(x_return_status, p_quav_rec.active_flag);
2005
2006 -- store the highest degree of error
2007 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2008 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2009 -- need to leave
2010 l_return_status := x_return_status;
2011 RAISE G_EXCEPTION_HALT_VALIDATION;
2012 ELSE
2013 -- record that there was an error
2014 l_return_status := x_return_status;
2015 END IF;
2016 END IF;
2017
2018
2019 validate_list_type_code(x_return_status, p_quav_rec.list_type_code);
2020
2021 -- store the highest degree of error
2022 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2023 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2024 -- need to leave
2025 l_return_status := x_return_status;
2026 RAISE G_EXCEPTION_HALT_VALIDATION;
2027 ELSE
2028 -- record that there was an error
2029 l_return_status := x_return_status;
2030 END IF;
2031 END IF;
2032
2033 val_QUAL_ATT_VAL_FRM(x_return_status, p_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER);
2034
2035 -- store the highest degree of error
2036 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2037 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2038 -- need to leave
2039 l_return_status := x_return_status;
2040 RAISE G_EXCEPTION_HALT_VALIDATION;
2041 ELSE
2042 -- record that there was an error
2043 l_return_status := x_return_status;
2044 END IF;
2045 END IF;
2046
2047 val_QUAL_ATT_VAL_TO(x_return_status, p_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER);
2048
2049 -- store the highest degree of error
2050 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2051 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2052 -- need to leave
2053 l_return_status := x_return_status;
2054 RAISE G_EXCEPTION_HALT_VALIDATION;
2055 ELSE
2056 -- record that there was an error
2057 l_return_status := x_return_status;
2058 END IF;
2059 END IF;
2060
2061 RAISE G_EXCEPTION_HALT_VALIDATION;
2062 Exception
2063
2064 When G_EXCEPTION_HALT_VALIDATION Then
2065
2066 Return (l_return_status);
2067
2068 When OTHERS Then
2069 -- store SQL error message on message stack for caller
2070 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2071 p_msg_name => g_unexpected_error,
2072 p_token1 => g_sqlcode_token,
2073 p_token1_value => sqlcode,
2074 p_token2 => g_sqlerrm_token,
2075 p_token2_value => sqlerrm);
2076
2077 -- notify caller of an UNEXPECTED error
2078 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2079 Return(l_return_status);
2080
2081 END validate_attributes;
2082
2083 ---------------------------------------------------------------------------
2084 -- PROCEDURE Validate_Record
2085 ---------------------------------------------------------------------------
2086 ----------------------------------------------
2087 -- Validate_Record for:OKS_QUALIFIERS_V --
2088 ----------------------------------------------
2089 FUNCTION Validate_Record (
2090 p_quav_rec IN quav_rec_type
2091 ) RETURN VARCHAR2 IS
2092 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2093 ------------------------------------
2094 -- FUNCTION validate_foreign_keys --
2095 ------------------------------------
2096 FUNCTION validate_foreign_keys (
2097 p_quav_rec IN quav_rec_type
2098 ) RETURN VARCHAR2 IS
2099 item_not_found_error EXCEPTION;
2100 /*
2101 CURSOR okc_quav_pk_csr (p_id IN NUMBER) IS
2102 SELECT
2103 QUALIFIER_RULE_ID ,
2104 CREATION_DATE ,
2105 CREATED_BY ,
2106 LAST_UPDATE_DATE ,
2107 LAST_UPDATED_BY ,
2108 PROGRAM_APPLICATION_ID ,
2109 PROGRAM_ID ,
2110 PROGRAM_UPDATE_DATE ,
2111 REQUEST_ID ,
2112 LAST_UPDATE_LOGIN ,
2113 NAME ,
2114 DESCRIPTION ,
2115 CONTEXT ,
2116 ATTRIBUTE1 ,
2117 ATTRIBUTE2 ,
2118 ATTRIBUTE3 ,
2119 ATTRIBUTE4 ,
2120 ATTRIBUTE5 ,
2121 ATTRIBUTE6 ,
2122 ATTRIBUTE7 ,
2123 ATTRIBUTE8 ,
2124 ATTRIBUTE9 ,
2125 ATTRIBUTE10 ,
2126 ATTRIBUTE11 ,
2127 ATTRIBUTE12 ,
2128 ATTRIBUTE13 ,
2129 ATTRIBUTE14 ,
2130 ATTRIBUTE15
2131 FROM Oks_QUALIFIER_RULES_V
2132 WHERE OKS_QUALIFIER_RULES_V.qualifier_rule_id = p_id;
2133 l_okc_quav_pk okc_quav_pk_csr%ROWTYPE;
2134 */
2135 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2136 l_row_notfound BOOLEAN := TRUE;
2137 BEGIN
2138 l_return_status := OKC_API.G_RET_STS_SUCCESS;
2139 /*
2140 IF (p_quav_rec.QUALIFIER_RULE_ID IS NOT NULL)
2141 THEN
2142 OPEN okc_quav_pk_csr(p_quav_rec.QUALIFIER_RULE_ID);
2143 FETCH okc_quav_pk_csr INTO l_okc_quav_pk;
2144 l_row_notfound := okc_quav_pk_csr%NOTFOUND;
2145 CLOSE okc_quav_pk_csr;
2146 IF (l_row_notfound) THEN
2147 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'QUALIFIER_RULE_ID');
2148 RAISE item_not_found_error;
2149 END IF;
2150 END IF;
2151 */
2152 RETURN (l_return_status);
2153 EXCEPTION
2154 WHEN item_not_found_error THEN
2155 l_return_status := OKC_API.G_RET_STS_ERROR;
2156 RETURN (l_return_status);
2157 END validate_foreign_keys;
2158 BEGIN
2159 l_return_status := validate_foreign_keys (p_quav_rec);
2160 RETURN (l_return_status);
2161 END Validate_Record;
2162
2163 ---------------------------------------------------------------------------
2164 -- PROCEDURE Migrate
2165 ---------------------------------------------------------------------------
2166 PROCEDURE migrate (
2167 p_from IN quav_rec_type,
2168 p_to OUT NOCOPY qua_rec_type
2169 ) IS
2170 BEGIN
2171
2172 p_to.QUALIFIER_ID := p_from.QUALIFIER_ID ;
2173 p_to.CREATION_DATE := p_from.CREATION_DATE ;
2174 p_to.CREATED_BY := p_from.CREATED_BY ;
2175 p_to.LAST_UPDATE_DATE := p_from.LAST_UPDATE_DATE;
2176 p_to.LAST_UPDATED_BY := p_from.LAST_UPDATED_BY ;
2177 p_to.REQUEST_ID := p_from.REQUEST_ID ;
2178 p_to.PROGRAM_APPLICATION_ID := p_from.PROGRAM_APPLICATION_ID ;
2179 p_to.PROGRAM_ID := p_from.PROGRAM_ID ;
2180 p_to.PROGRAM_UPDATE_DATE := p_from.PROGRAM_UPDATE_DATE ;
2181 p_to.LAST_UPDATE_LOGIN := p_from.LAST_UPDATE_LOGIN ;
2182 p_to.QUALIFIER_GROUPING_NO := p_from.QUALIFIER_GROUPING_NO;
2183 p_to.QUALIFIER_CONTEXT := p_from.QUALIFIER_CONTEXT ;
2184 p_to.QUALIFIER_ATTRIBUTE := p_from.QUALIFIER_ATTRIBUTE ;
2185 p_to.QUALIFIER_ATTR_VALUE := p_from.QUALIFIER_ATTR_VALUE ;
2186 p_to.COMPARISON_OPERATOR_CODE:= p_from.COMPARISON_OPERATOR_CODE;
2187 p_to.EXCLUDER_FLAG := p_from.EXCLUDER_FLAG ;
2188 p_to.QUALIFIER_RULE_ID := p_from.QUALIFIER_RULE_ID ;
2189 p_to.START_DATE_ACTIVE := p_from.START_DATE_ACTIVE ;
2190 p_to.END_DATE_ACTIVE := p_from.END_DATE_ACTIVE ;
2191 p_to.CREATED_FROM_RULE_ID := p_from.CREATED_FROM_RULE_ID ;
2192 p_to.QUALIFIER_PRECEDENCE := p_from.QUALIFIER_PRECEDENCE ;
2193 p_to.LIST_HEADER_ID := p_from.LIST_HEADER_ID ;
2194 p_to.LIST_LINE_ID := p_from.LIST_LINE_ID ;
2195 p_to.QUALIFIER_DATATYPE := p_from.QUALIFIER_DATATYPE ;
2196 p_to.QUALIFIER_ATTR_VALUE_TO := p_from.QUALIFIER_ATTR_VALUE_TO ;
2197 p_to.CONTEXT := p_from.CONTEXT ;
2198 p_to.ATTRIBUTE1 := p_from.ATTRIBUTE1 ;
2199 p_to.ATTRIBUTE2 := p_from.ATTRIBUTE2 ;
2200 p_to.ATTRIBUTE3 := p_from.ATTRIBUTE3 ;
2201 p_to.ATTRIBUTE4 := p_from.ATTRIBUTE4 ;
2202 p_to.ATTRIBUTE5 := p_from.ATTRIBUTE5 ;
2203 p_to.ATTRIBUTE6 := p_from.ATTRIBUTE6 ;
2204 p_to.ATTRIBUTE7 := p_from.ATTRIBUTE7 ;
2205 p_to.ATTRIBUTE8 := p_from.ATTRIBUTE8 ;
2206 p_to.ATTRIBUTE9 := p_from.ATTRIBUTE9 ;
2207 p_to.ATTRIBUTE10 := p_from.ATTRIBUTE10 ;
2208 p_to.ATTRIBUTE11 := p_from.ATTRIBUTE11 ;
2209 p_to.ATTRIBUTE12 := p_from.ATTRIBUTE12 ;
2210 p_to.ATTRIBUTE13 := p_from.ATTRIBUTE13 ;
2211 p_to.ATTRIBUTE14 := p_from.ATTRIBUTE14 ;
2212 p_to.ATTRIBUTE15 := p_from.ATTRIBUTE15 ;
2213 p_to.ACTIVE_FLAG := p_from.ACTIVE_FLAG ;
2214 p_to.LIST_TYPE_CODE := p_from.LIST_TYPE_CODE;
2215 p_to.QUAL_ATTR_VALUE_FROM_NUMBER := p_from.QUAL_ATTR_VALUE_FROM_NUMBER ;
2216 p_to.QUAL_ATTR_VALUE_TO_NUMBER := p_from.QUAL_ATTR_VALUE_TO_NUMBER ;
2217
2218
2219 END migrate;
2220
2221 PROCEDURE migrate (
2222 p_from IN qua_rec_type,
2223 p_to OUT NOCOPY quav_rec_type
2224 ) IS
2225 BEGIN
2226 p_to.QUALIFIER_ID := p_from.QUALIFIER_ID ;
2227 p_to.CREATION_DATE := p_from.CREATION_DATE ;
2228 p_to.CREATED_BY := p_from.CREATED_BY ;
2229 p_to.LAST_UPDATE_DATE := p_from.LAST_UPDATE_DATE;
2230 p_to.LAST_UPDATED_BY := p_from.LAST_UPDATED_BY ;
2231 p_to.REQUEST_ID := p_from.REQUEST_ID ;
2232 p_to.PROGRAM_APPLICATION_ID := p_from.PROGRAM_APPLICATION_ID ;
2233 p_to.PROGRAM_ID := p_from.PROGRAM_ID ;
2234 p_to.PROGRAM_UPDATE_DATE := p_from.PROGRAM_UPDATE_DATE ;
2235 p_to.LAST_UPDATE_LOGIN := p_from.LAST_UPDATE_LOGIN ;
2236 p_to.QUALIFIER_GROUPING_NO := p_from.QUALIFIER_GROUPING_NO;
2237 p_to.QUALIFIER_CONTEXT := p_from.QUALIFIER_CONTEXT ;
2238 p_to.QUALIFIER_ATTRIBUTE := p_from.QUALIFIER_ATTRIBUTE ;
2239 p_to.QUALIFIER_ATTR_VALUE := p_from.QUALIFIER_ATTR_VALUE ;
2240 p_to.COMPARISON_OPERATOR_CODE:= p_from.COMPARISON_OPERATOR_CODE;
2241 p_to.EXCLUDER_FLAG := p_from.EXCLUDER_FLAG ;
2242 p_to.QUALIFIER_RULE_ID := p_from.QUALIFIER_RULE_ID ;
2243 p_to.START_DATE_ACTIVE := p_from.START_DATE_ACTIVE ;
2244 p_to.END_DATE_ACTIVE := p_from.END_DATE_ACTIVE ;
2245 p_to.CREATED_FROM_RULE_ID := p_from.CREATED_FROM_RULE_ID ;
2246 p_to.QUALIFIER_PRECEDENCE := p_from.QUALIFIER_PRECEDENCE ;
2247 p_to.LIST_HEADER_ID := p_from.LIST_HEADER_ID ;
2248 p_to.LIST_LINE_ID := p_from.LIST_LINE_ID ;
2249 p_to.QUALIFIER_DATATYPE := p_from.QUALIFIER_DATATYPE ;
2250 p_to.QUALIFIER_ATTR_VALUE_TO := p_from.QUALIFIER_ATTR_VALUE_TO ;
2251 p_to.CONTEXT := p_from.CONTEXT ;
2252 p_to.ATTRIBUTE1 := p_from.ATTRIBUTE1 ;
2253 p_to.ATTRIBUTE2 := p_from.ATTRIBUTE2 ;
2254 p_to.ATTRIBUTE3 := p_from.ATTRIBUTE3 ;
2255 p_to.ATTRIBUTE4 := p_from.ATTRIBUTE4 ;
2256 p_to.ATTRIBUTE5 := p_from.ATTRIBUTE5 ;
2257 p_to.ATTRIBUTE6 := p_from.ATTRIBUTE6 ;
2258 p_to.ATTRIBUTE7 := p_from.ATTRIBUTE7 ;
2259 p_to.ATTRIBUTE8 := p_from.ATTRIBUTE8 ;
2260 p_to.ATTRIBUTE9 := p_from.ATTRIBUTE9 ;
2261 p_to.ATTRIBUTE10 := p_from.ATTRIBUTE10 ;
2262 p_to.ATTRIBUTE11 := p_from.ATTRIBUTE11 ;
2263 p_to.ATTRIBUTE12 := p_from.ATTRIBUTE12 ;
2264 p_to.ATTRIBUTE13 := p_from.ATTRIBUTE13 ;
2265 p_to.ATTRIBUTE14 := p_from.ATTRIBUTE14 ;
2266 p_to.ATTRIBUTE15 := p_from.ATTRIBUTE15 ;
2267 p_to.ACTIVE_FLAG := p_from.ACTIVE_FLAG ;
2268 p_to.LIST_TYPE_CODE := p_from.LIST_TYPE_CODE;
2269 p_to.QUAL_ATTR_VALUE_FROM_NUMBER := p_from.QUAL_ATTR_VALUE_FROM_NUMBER ;
2270 p_to.QUAL_ATTR_VALUE_TO_NUMBER := p_from.QUAL_ATTR_VALUE_TO_NUMBER ;
2271 END migrate;
2272
2273 ---------------------------------------------------------------------------
2274 -- PROCEDURE validate_row
2275 ---------------------------------------------------------------------------
2276 -------------------------------------------
2277 -- validate_row for:OKS_QUALIFIERS_V --
2278 -------------------------------------------
2279 PROCEDURE validate_row(
2280 p_api_version IN NUMBER,
2281 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2282 x_return_status OUT NOCOPY VARCHAR2,
2283 x_msg_count OUT NOCOPY NUMBER,
2284 x_msg_data OUT NOCOPY VARCHAR2,
2285 p_quav_rec IN quav_rec_type) IS
2286
2287 l_api_version CONSTANT NUMBER := 1;
2288 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
2289 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2290 l_quav_rec quav_rec_type := p_quav_rec;
2291 l_qua_rec qua_rec_type;
2292 BEGIN
2293 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2294 G_PKG_NAME,
2295 p_init_msg_list,
2296 l_api_version,
2297 p_api_version,
2298 '_PVT',
2299 x_return_status);
2300 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2301 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2302 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2303 RAISE OKC_API.G_EXCEPTION_ERROR;
2304 END IF;
2305 --- Validate all non-missing attributes (Item Level Validation)
2306 l_return_status := Validate_Attributes(l_quav_rec);
2307 --- If any errors happen abort API
2308 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2309 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2310 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2311 RAISE OKC_API.G_EXCEPTION_ERROR;
2312 END IF;
2313 l_return_status := Validate_Record(l_quav_rec);
2314 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2315 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2316 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2317 RAISE OKC_API.G_EXCEPTION_ERROR;
2318 END IF;
2319 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2320 EXCEPTION
2321 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2322 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2323 (
2324 l_api_name,
2325 G_PKG_NAME,
2326 'OKC_API.G_RET_STS_ERROR',
2327 x_msg_count,
2328 x_msg_data,
2329 '_PVT'
2330 );
2331 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2332 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2333 (
2334 l_api_name,
2335 G_PKG_NAME,
2336 'OKC_API.G_RET_STS_UNEXP_ERROR',
2337 x_msg_count,
2338 x_msg_data,
2339 '_PVT'
2340 );
2341 WHEN OTHERS THEN
2342 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2343 (
2344 l_api_name,
2345 G_PKG_NAME,
2346 'OTHERS',
2347 x_msg_count,
2348 x_msg_data,
2349 '_PVT'
2350 );
2351 END validate_row;
2352 ------------------------------------------
2353 -- PL/SQL TBL validate_row for:BSLV_TBL --
2354 ------------------------------------------
2355 PROCEDURE validate_row(
2356 p_api_version IN NUMBER,
2357 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2358 x_return_status OUT NOCOPY VARCHAR2,
2359 x_msg_count OUT NOCOPY NUMBER,
2360 x_msg_data OUT NOCOPY VARCHAR2,
2361 p_quav_tbl IN quav_tbl_type) IS
2362
2363 l_api_version CONSTANT NUMBER := 1;
2364 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
2365 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2366 i NUMBER := 0;
2367 BEGIN
2368 OKC_API.init_msg_list(p_init_msg_list);
2369 -- Make sure PL/SQL table has records in it before passing
2370 IF (p_quav_tbl.COUNT > 0) THEN
2371 i := p_quav_tbl.FIRST;
2372 LOOP
2373 validate_row (
2374 p_api_version => p_api_version,
2375 p_init_msg_list => OKC_API.G_FALSE,
2376 x_return_status => x_return_status,
2377 x_msg_count => x_msg_count,
2378 x_msg_data => x_msg_data,
2379 p_quav_rec => p_quav_tbl(i));
2380 EXIT WHEN (i = p_quav_tbl.LAST);
2381 i := p_quav_tbl.NEXT(i);
2382 END LOOP;
2383 END IF;
2384 EXCEPTION
2385 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2386 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2387 (
2388 l_api_name,
2389 G_PKG_NAME,
2390 'OKC_API.G_RET_STS_ERROR',
2391 x_msg_count,
2392 x_msg_data,
2393 '_PVT'
2394 );
2395 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2396 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2397 (
2398 l_api_name,
2399 G_PKG_NAME,
2400 'OKC_API.G_RET_STS_UNEXP_ERROR',
2401 x_msg_count,
2402 x_msg_data,
2403 '_PVT'
2404 );
2405 WHEN OTHERS THEN
2406 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2407 (
2408 l_api_name,
2409 G_PKG_NAME,
2410 'OTHERS',
2411 x_msg_count,
2412 x_msg_data,
2413 '_PVT'
2414 );
2415 END validate_row;
2416
2417 ---------------------------------------------------------------------------
2418 -- PROCEDURE insert_row
2419 ---------------------------------------------------------------------------
2420 ---------------------------------------
2421 -- insert_row for:OKS_QUALIFIERS --
2422 ---------------------------------------
2423 PROCEDURE insert_row(
2424 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2425 x_return_status OUT NOCOPY VARCHAR2,
2426 x_msg_count OUT NOCOPY NUMBER,
2427 x_msg_data OUT NOCOPY VARCHAR2,
2428 p_qua_rec IN qua_rec_type,
2429 x_qua_rec OUT NOCOPY qua_rec_type) IS
2430
2431 l_api_version CONSTANT NUMBER := 1;
2432 l_api_name CONSTANT VARCHAR2(30) := 'LINES_insert_row';
2433 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2434 l_qua_rec qua_rec_type := p_qua_rec;
2435 l_def_qua_rec qua_rec_type;
2436 -------------------------------------------
2437 -- Set_Attributes for:OKS_QUALIFIER --
2438 -------------------------------------------
2439 FUNCTION Set_Attributes (
2440 p_qua_rec IN qua_rec_type,
2441 x_qua_rec OUT NOCOPY qua_rec_type
2442 ) RETURN VARCHAR2 IS
2443 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2444 BEGIN
2445 x_qua_rec := p_qua_rec;
2446 RETURN(l_return_status);
2447 END Set_Attributes;
2448 BEGIN
2449 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2450 p_init_msg_list,
2451 '_PVT',
2452 x_return_status);
2453 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2454 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2455 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2456 RAISE OKC_API.G_EXCEPTION_ERROR;
2457 END IF;
2458 --- Setting item attributes
2459 l_return_status := Set_Attributes(
2460 p_qua_rec, -- IN
2461 l_qua_rec); -- OUT
2462 --- If any errors happen abort API
2463 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2464 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2465 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2466 RAISE OKC_API.G_EXCEPTION_ERROR;
2467 END IF;
2468 INSERT INTO OKS_QUALIFIERS(
2469 QUALIFIER_ID
2470 ,CREATION_DATE
2471 ,CREATED_BY
2472 ,LAST_UPDATE_DATE
2473 ,LAST_UPDATED_BY
2474 ,REQUEST_ID
2475 ,PROGRAM_APPLICATION_ID
2476 ,PROGRAM_ID
2477 ,PROGRAM_UPDATE_DATE
2478 ,LAST_UPDATE_LOGIN
2479 ,QUALIFIER_GROUPING_NO
2480 ,QUALIFIER_CONTEXT
2481 ,QUALIFIER_ATTRIBUTE
2482 ,QUALIFIER_ATTR_VALUE
2483 ,COMPARISON_OPERATOR_CODE
2484 ,EXCLUDER_FLAG
2485 ,QUALIFIER_RULE_ID
2486 ,START_DATE_ACTIVE
2487 ,END_DATE_ACTIVE
2488 ,CREATED_FROM_RULE_ID
2489 ,QUALIFIER_PRECEDENCE
2490 ,LIST_HEADER_ID
2491 ,LIST_LINE_ID
2492 ,QUALIFIER_DATATYPE
2493 ,QUALIFIER_ATTR_VALUE_TO
2494 ,CONTEXT
2495 ,ATTRIBUTE1
2496 ,ATTRIBUTE2
2497 ,ATTRIBUTE3
2498 ,ATTRIBUTE4
2499 ,ATTRIBUTE5
2500 ,ATTRIBUTE6
2501 ,ATTRIBUTE7
2502 ,ATTRIBUTE8
2503 ,ATTRIBUTE9
2504 ,ATTRIBUTE10
2505 ,ATTRIBUTE11
2506 ,ATTRIBUTE12
2507 ,ATTRIBUTE13
2508 ,ATTRIBUTE14
2509 ,ATTRIBUTE15
2510 ,ACTIVE_FLAG
2511 ,LIST_TYPE_CODE
2512 ,QUAL_ATTR_VALUE_FROM_NUMBER
2513 ,QUAL_ATTR_VALUE_TO_NUMBER )
2514 VALUES (
2515 l_qua_rec.QUALIFIER_ID
2516 ,l_qua_rec.CREATION_DATE
2517 ,l_qua_rec.CREATED_BY
2518 ,l_qua_rec.LAST_UPDATE_DATE
2519 ,l_qua_rec.LAST_UPDATED_BY
2520 ,l_qua_rec.REQUEST_ID
2521 ,l_qua_rec.PROGRAM_APPLICATION_ID
2522 ,l_qua_rec.PROGRAM_ID
2523 ,l_qua_rec.PROGRAM_UPDATE_DATE
2524 ,l_qua_rec.LAST_UPDATE_LOGIN
2525 ,l_qua_rec.QUALIFIER_GROUPING_NO
2526 ,l_qua_rec.QUALIFIER_CONTEXT
2527 ,l_qua_rec.QUALIFIER_ATTRIBUTE
2528 ,l_qua_rec.QUALIFIER_ATTR_VALUE
2529 ,l_qua_rec.COMPARISON_OPERATOR_CODE
2530 ,l_qua_rec.EXCLUDER_FLAG
2531 ,l_qua_rec.QUALIFIER_RULE_ID
2532 ,l_qua_rec.START_DATE_ACTIVE
2533 ,l_qua_rec.END_DATE_ACTIVE
2534 ,l_qua_rec.CREATED_FROM_RULE_ID
2535 ,l_qua_rec.QUALIFIER_PRECEDENCE
2536 ,l_qua_rec.LIST_HEADER_ID
2537 ,l_qua_rec.LIST_LINE_ID
2538 ,l_qua_rec.QUALIFIER_DATATYPE
2539 ,l_qua_rec.QUALIFIER_ATTR_VALUE_TO
2540 ,l_qua_rec.CONTEXT
2541 ,l_qua_rec.ATTRIBUTE1
2542 ,l_qua_rec.ATTRIBUTE2
2543 ,l_qua_rec.ATTRIBUTE3
2544 ,l_qua_rec.ATTRIBUTE4
2545 ,l_qua_rec.ATTRIBUTE5
2546 ,l_qua_rec.ATTRIBUTE6
2547 ,l_qua_rec.ATTRIBUTE7
2548 ,l_qua_rec.ATTRIBUTE8
2549 ,l_qua_rec.ATTRIBUTE9
2550 ,l_qua_rec.ATTRIBUTE10
2551 ,l_qua_rec.ATTRIBUTE11
2552 ,l_qua_rec.ATTRIBUTE12
2553 ,l_qua_rec.ATTRIBUTE13
2554 ,l_qua_rec.ATTRIBUTE14
2555 ,l_qua_rec.ATTRIBUTE15
2556 ,l_qua_rec.ACTIVE_FLAG
2557 ,l_qua_rec.LIST_TYPE_CODE
2558 ,l_qua_rec.QUAL_ATTR_VALUE_FROM_NUMBER
2559 ,l_qua_rec.QUAL_ATTR_VALUE_TO_NUMBER );
2560 -- Set OUT values
2561 x_qua_rec := l_qua_rec;
2562 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2563 EXCEPTION
2564 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2565 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2566 (
2567 l_api_name,
2568 G_PKG_NAME,
2569 'OKC_API.G_RET_STS_ERROR',
2570 x_msg_count,
2571 x_msg_data,
2572 '_PVT'
2573 );
2574 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2575 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2576 (
2577 l_api_name,
2578 G_PKG_NAME,
2579 'OKC_API.G_RET_STS_UNEXP_ERROR',
2580 x_msg_count,
2581 x_msg_data,
2582 '_PVT'
2583 );
2584 WHEN OTHERS THEN
2585 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2586 (
2587 l_api_name,
2588 G_PKG_NAME,
2589 'OTHERS',
2590 x_msg_count,
2591 x_msg_data,
2592 '_PVT'
2593 );
2594 END insert_row;
2595 -----------------------------------------
2596 -- insert_row for:OKS_QUALIFIERS_V --
2597 -----------------------------------------
2598 PROCEDURE insert_row(
2599 p_api_version IN NUMBER,
2600 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2601 x_return_status OUT NOCOPY VARCHAR2,
2602 x_msg_count OUT NOCOPY NUMBER,
2603 x_msg_data OUT NOCOPY VARCHAR2,
2604 p_quav_rec IN quav_rec_type,
2605 x_quav_rec OUT NOCOPY quav_rec_type) IS
2606
2607 l_api_version CONSTANT NUMBER := 1;
2608 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
2609 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2610 l_quav_rec quav_rec_type;
2611 l_def_quav_rec quav_rec_type;
2612 l_qua_rec qua_rec_type;
2613 lx_qua_rec qua_rec_type;
2614 -------------------------------
2615 -- FUNCTION fill_who_columns --
2616 -------------------------------
2617 FUNCTION fill_who_columns (
2618 p_quav_rec IN quav_rec_type
2619 ) RETURN quav_rec_type IS
2620 l_quav_rec quav_rec_type := p_quav_rec;
2621 BEGIN
2622 l_quav_rec.CREATION_DATE := SYSDATE;
2623 l_quav_rec.CREATED_BY := FND_GLOBAL.USER_ID;
2624 l_quav_rec.LAST_UPDATE_DATE := SYSDATE;
2625 l_quav_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2626 l_quav_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2627 RETURN(l_quav_rec);
2628 END fill_who_columns;
2629 ---------------------------------------------
2630 -- Set_Attributes for:OKS_QUALIFIERS_V -
2631 ---------------------------------------------
2632 FUNCTION Set_Attributes (
2633 p_quav_rec IN quav_rec_type,
2634 x_quav_rec OUT NOCOPY quav_rec_type
2635 ) RETURN VARCHAR2 IS
2636 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2637 BEGIN
2638 x_quav_rec := p_quav_rec;
2639 --x_quav_rec.OBJECT_VERSION_NUMBER := 1;
2640 RETURN(l_return_status);
2641 END Set_Attributes;
2642 BEGIN
2643 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2644 G_PKG_NAME,
2645 p_init_msg_list,
2646 l_api_version,
2647 p_api_version,
2648 '_PVT',
2649 x_return_status);
2650 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2651 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2652 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2653 RAISE OKC_API.G_EXCEPTION_ERROR;
2654 END IF;
2655 l_quav_rec := null_out_defaults(p_quav_rec);
2656 -- Set primary key value
2657 l_quav_rec.qualifier_ID := get_seq_id;
2658 --- Setting item attributes
2659 l_return_status := Set_Attributes(
2660 l_quav_rec, -- IN
2661 l_def_quav_rec); -- OUT
2662 --- If any errors happen abort API
2663 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2664 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2665 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2666 RAISE OKC_API.G_EXCEPTION_ERROR;
2667 END IF;
2668 l_def_quav_rec := fill_who_columns(l_def_quav_rec);
2669 --- Validate all non-missing attributes (Item Level Validation)
2670 l_return_status := Validate_Attributes(l_def_quav_rec);
2671 --- If any errors happen abort API
2672 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2673 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2674 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2675 RAISE OKC_API.G_EXCEPTION_ERROR;
2676 END IF;
2677 l_return_status := Validate_Record(l_def_quav_rec);
2678 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2679 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2680 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2681 RAISE OKC_API.G_EXCEPTION_ERROR;
2682 END IF;
2683 --------------------------------------
2684 -- Move VIEW record to "Child" records
2685 --------------------------------------
2686 migrate(l_def_quav_rec, l_qua_rec);
2687 --------------------------------------------
2688 -- Call the INSERT_ROW for each child record
2689 --------------------------------------------
2690 insert_row(
2691 p_init_msg_list,
2692 x_return_status,
2693 x_msg_count,
2694 x_msg_data,
2695 l_qua_rec,
2696 lx_qua_rec
2697 );
2698 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2699 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2700 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2701 RAISE OKC_API.G_EXCEPTION_ERROR;
2702 END IF;
2703 migrate(lx_qua_rec, l_def_quav_rec);
2704 -- Set OUT values
2705 x_quav_rec := l_def_quav_rec;
2706 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2707 EXCEPTION
2708 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2709 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2710 (
2711 l_api_name,
2712 G_PKG_NAME,
2713 'OKC_API.G_RET_STS_ERROR',
2714 x_msg_count,
2715 x_msg_data,
2716 '_PVT'
2717 );
2718 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2719 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2720 (
2721 l_api_name,
2722 G_PKG_NAME,
2723 'OKC_API.G_RET_STS_UNEXP_ERROR',
2724 x_msg_count,
2725 x_msg_data,
2726 '_PVT'
2727 );
2728 WHEN OTHERS THEN
2729 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2730 (
2731 l_api_name,
2732 G_PKG_NAME,
2733 'OTHERS',
2734 x_msg_count,
2735 x_msg_data,
2736 '_PVT'
2737 );
2738 END insert_row;
2739 ----------------------------------------
2740 -- PL/SQL TBL insert_row for:BSLV_TBL --
2741 ----------------------------------------
2742 PROCEDURE insert_row(
2743 p_api_version IN NUMBER,
2744 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2745 x_return_status OUT NOCOPY VARCHAR2,
2746 x_msg_count OUT NOCOPY NUMBER,
2747 x_msg_data OUT NOCOPY VARCHAR2,
2748 p_quav_tbl IN quav_tbl_type,
2749 x_quav_tbl OUT NOCOPY quav_tbl_type) IS
2750
2751 l_api_version CONSTANT NUMBER := 1;
2752 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2753 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2754 i NUMBER := 0;
2755 BEGIN
2756 OKC_API.init_msg_list(p_init_msg_list);
2757 -- Make sure PL/SQL table has records in it before passing
2758 IF (p_quav_tbl.COUNT > 0) THEN
2759 i := p_quav_tbl.FIRST;
2760 LOOP
2761 insert_row (
2762 p_api_version => p_api_version,
2763 p_init_msg_list => OKC_API.G_FALSE,
2764 x_return_status => x_return_status,
2765 x_msg_count => x_msg_count,
2766 x_msg_data => x_msg_data,
2767 p_quav_rec => p_quav_tbl(i),
2768 x_quav_rec => x_quav_tbl(i));
2769 EXIT WHEN (i = p_quav_tbl.LAST);
2770 i := p_quav_tbl.NEXT(i);
2771 END LOOP;
2772 END IF;
2773 EXCEPTION
2774 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2775 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2776 (
2777 l_api_name,
2778 G_PKG_NAME,
2779 'OKC_API.G_RET_STS_ERROR',
2780 x_msg_count,
2781 x_msg_data,
2782 '_PVT'
2783 );
2784 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2785 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2786 (
2787 l_api_name,
2788 G_PKG_NAME,
2789 'OKC_API.G_RET_STS_UNEXP_ERROR',
2790 x_msg_count,
2791 x_msg_data,
2792 '_PVT'
2793 );
2794 WHEN OTHERS THEN
2795 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2796 (
2797 l_api_name,
2798 G_PKG_NAME,
2799 'OTHERS',
2800 x_msg_count,
2801 x_msg_data,
2802 '_PVT'
2803 );
2804 END insert_row;
2805
2806 ---------------------------------------------------------------------------
2807 -- PROCEDURE lock_row
2808 ---------------------------------------------------------------------------
2809 -------------------------------------
2810 -- lock_row for:OKS_QUALIFIER --
2811 -------------------------------------
2812 PROCEDURE lock_row(
2813 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2814 x_return_status OUT NOCOPY VARCHAR2,
2815 x_msg_count OUT NOCOPY NUMBER,
2816 x_msg_data OUT NOCOPY VARCHAR2,
2817 p_qua_rec IN qua_rec_type) IS
2818
2819 E_Resource_Busy EXCEPTION;
2820 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2821
2822 CURSOR lchk_csr (p_qua_rec IN qua_rec_type) IS
2823 SELECT qualifier_id
2824 FROM OKS_QUALIFIERS
2825 WHERE QUALIFIER_ID = p_qua_rec.qualifier_id;
2826 l_api_version CONSTANT NUMBER := 1;
2827 l_api_name CONSTANT VARCHAR2(30) := 'LINES_lock_row';
2828 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2829 l_qualifier_id OKS_QUALIFIERS.qualifier_id%TYPE;
2830 lc_qualifier_id OKS_QUALIFIERS.qualifier_id%TYPE;
2831 l_row_notfound BOOLEAN := FALSE;
2832 lc_row_notfound BOOLEAN := FALSE;
2833 BEGIN
2834 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2835 p_init_msg_list,
2836 '_PVT',
2837 x_return_status);
2838 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2839 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2840 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2841 RAISE OKC_API.G_EXCEPTION_ERROR;
2842 END IF;
2843
2844 OPEN lchk_csr(p_qua_rec);
2845 FETCH lchk_csr INTO lc_qualifier_id;
2846 lc_row_notfound := lchk_csr%NOTFOUND;
2847 CLOSE lchk_csr;
2848 IF (lc_row_notfound) THEN
2849 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2850 RAISE OKC_API.G_EXCEPTION_ERROR;
2851 ELSIF lc_qualifier_id <> p_qua_rec.qualifier_id THEN
2852 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2853 RAISE OKC_API.G_EXCEPTION_ERROR;
2854 ELSIF lc_qualifier_id = -1 THEN
2855 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2856 RAISE OKC_API.G_EXCEPTION_ERROR;
2857 END IF;
2858 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2859 EXCEPTION
2860 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2861 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2862 (
2863 l_api_name,
2864 G_PKG_NAME,
2865 'OKC_API.G_RET_STS_ERROR',
2866 x_msg_count,
2867 x_msg_data,
2868 '_PVT'
2869 );
2870 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2871 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2872 (
2873 l_api_name,
2874 G_PKG_NAME,
2875 'OKC_API.G_RET_STS_UNEXP_ERROR',
2876 x_msg_count,
2877 x_msg_data,
2878 '_PVT'
2879 );
2880 WHEN OTHERS THEN
2881 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2882 (
2883 l_api_name,
2884 G_PKG_NAME,
2885 'OTHERS',
2886 x_msg_count,
2887 x_msg_data,
2888 '_PVT'
2889 );
2890 END lock_row;
2891 ---------------------------------------
2892 -- lock_row for:OKS_QUALIFIERS_V --
2893 ---------------------------------------
2894 PROCEDURE lock_row(
2895 p_api_version IN NUMBER,
2896 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2897 x_return_status OUT NOCOPY VARCHAR2,
2898 x_msg_count OUT NOCOPY NUMBER,
2899 x_msg_data OUT NOCOPY VARCHAR2,
2900 p_quav_rec IN quav_rec_type) IS
2901
2902 l_api_version CONSTANT NUMBER := 1;
2903 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2904 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2905 l_qua_rec qua_rec_type;
2906 BEGIN
2907 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2908 G_PKG_NAME,
2909 p_init_msg_list,
2910 l_api_version,
2911 p_api_version,
2912 '_PVT',
2913 x_return_status);
2914 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2915 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2916 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2917 RAISE OKC_API.G_EXCEPTION_ERROR;
2918 END IF;
2919 --------------------------------------
2920 -- Move VIEW record to "Child" records
2921 --------------------------------------
2922 migrate(p_quav_rec, l_qua_rec);
2923 --------------------------------------------
2924 -- Call the LOCK_ROW for each child record
2925 --------------------------------------------
2926 lock_row(
2927 p_init_msg_list,
2928 x_return_status,
2929 x_msg_count,
2930 x_msg_data,
2931 l_qua_rec
2932 );
2933 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2934 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2935 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2936 RAISE OKC_API.G_EXCEPTION_ERROR;
2937 END IF;
2938 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2939 EXCEPTION
2940 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2941 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2942 (
2943 l_api_name,
2944 G_PKG_NAME,
2945 'OKC_API.G_RET_STS_ERROR',
2946 x_msg_count,
2947 x_msg_data,
2948 '_PVT'
2949 );
2950 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2951 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2952 (
2953 l_api_name,
2954 G_PKG_NAME,
2955 'OKC_API.G_RET_STS_UNEXP_ERROR',
2956 x_msg_count,
2957 x_msg_data,
2958 '_PVT'
2959 );
2960 WHEN OTHERS THEN
2961 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2962 (
2963 l_api_name,
2964 G_PKG_NAME,
2965 'OTHERS',
2966 x_msg_count,
2967 x_msg_data,
2968 '_PVT'
2969 );
2970 END lock_row;
2971 --------------------------------------
2972 -- PL/SQL TBL lock_row for:BSLV_TBL --
2973 --------------------------------------
2974 PROCEDURE lock_row(
2975 p_api_version IN NUMBER,
2976 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2977 x_return_status OUT NOCOPY VARCHAR2,
2978 x_msg_count OUT NOCOPY NUMBER,
2979 x_msg_data OUT NOCOPY VARCHAR2,
2980 p_quav_tbl IN quav_tbl_type) IS
2981
2982 l_api_version CONSTANT NUMBER := 1;
2983 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2984 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2985 i NUMBER := 0;
2986 BEGIN
2987 OKC_API.init_msg_list(p_init_msg_list);
2988 -- Make sure PL/SQL table has records in it before passing
2989 IF (p_quav_tbl.COUNT > 0) THEN
2990 i := p_quav_tbl.FIRST;
2991 LOOP
2992 lock_row (
2993 p_api_version => p_api_version,
2994 p_init_msg_list => OKC_API.G_FALSE,
2995 x_return_status => x_return_status,
2996 x_msg_count => x_msg_count,
2997 x_msg_data => x_msg_data,
2998 p_quav_rec => p_quav_tbl(i));
2999 EXIT WHEN (i = p_quav_tbl.LAST);
3000 i := p_quav_tbl.NEXT(i);
3001 END LOOP;
3002 END IF;
3003 EXCEPTION
3004 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3005 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3006 (
3007 l_api_name,
3008 G_PKG_NAME,
3009 'OKC_API.G_RET_STS_ERROR',
3010 x_msg_count,
3011 x_msg_data,
3012 '_PVT'
3013 );
3014 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3015 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3016 (
3017 l_api_name,
3018 G_PKG_NAME,
3019 'OKC_API.G_RET_STS_UNEXP_ERROR',
3020 x_msg_count,
3021 x_msg_data,
3022 '_PVT'
3023 );
3024 WHEN OTHERS THEN
3025 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3026 (
3027 l_api_name,
3028 G_PKG_NAME,
3029 'OTHERS',
3030 x_msg_count,
3031 x_msg_data,
3032 '_PVT'
3033 );
3034 END lock_row;
3035
3036 ---------------------------------------------------------------------------
3037 -- PROCEDURE update_row
3038 ---------------------------------------------------------------------------
3039 ---------------------------------------
3040 -- update_row for:OKS_QUALIFIERS --
3041 ---------------------------------------
3042 PROCEDURE update_row(
3043 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3044 x_return_status OUT NOCOPY VARCHAR2,
3045 x_msg_count OUT NOCOPY NUMBER,
3046 x_msg_data OUT NOCOPY VARCHAR2,
3047 p_qua_rec IN qua_rec_type,
3048 x_qua_rec OUT NOCOPY qua_rec_type) IS
3049
3050 l_api_version CONSTANT NUMBER := 1;
3051 l_api_name CONSTANT VARCHAR2(30) := 'LINES_update_row';
3052 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3053 l_qua_rec qua_rec_type := p_qua_rec;
3054 l_def_qua_rec qua_rec_type;
3055 l_row_notfound BOOLEAN := TRUE;
3056 ----------------------------------
3057 -- FUNCTION populate_new_record --
3058 ----------------------------------
3059 FUNCTION populate_new_record (
3060 p_qua_rec IN qua_rec_type,
3061 x_qua_rec OUT NOCOPY qua_rec_type
3062 ) RETURN VARCHAR2 IS
3063 l_qua_rec qua_rec_type;
3064 l_row_notfound BOOLEAN := TRUE;
3065 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3066 BEGIN
3067 x_qua_rec := p_qua_rec;
3068 -- Get current database values
3069 l_qua_rec := get_rec(p_qua_rec, l_row_notfound);
3070 IF (l_row_notfound) THEN
3071 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3072 END IF;
3073 IF (x_qua_rec.qualifier_id = OKC_API.G_MISS_NUM)
3074 OR (x_qua_rec.qualifier_id IS NULL)
3075 THEN
3076 x_qua_rec.qualifier_id := l_qua_rec.qualifier_id;
3077 END IF;
3078 IF (x_qua_rec.creation_date = OKC_API.G_MISS_DATE)
3079 OR (x_qua_rec.creation_date IS NULL)
3080 THEN
3081 x_qua_rec.creation_date := l_qua_rec.creation_date;
3082 END IF;
3083 IF (x_qua_rec.created_by = OKC_API.G_MISS_NUM)
3084 OR (x_qua_rec.created_by IS NULL)
3085 THEN
3086 x_qua_rec.created_by := l_qua_rec.created_by;
3087 END IF;
3088 IF (x_qua_rec.last_update_date = OKC_API.G_MISS_DATE)
3089 OR (x_qua_rec.last_update_date IS NULL)
3090 THEN
3091 x_qua_rec.last_update_date := l_qua_rec.last_update_date;
3092 END IF;
3093 IF (x_qua_rec.last_updated_BY = OKC_API.G_MISS_NUM)
3094 OR (x_qua_rec.last_updated_by IS NULL)
3095 THEN
3096 x_qua_rec.last_updated_BY := l_qua_rec.last_updated_BY;
3097 END IF;
3098 IF (x_qua_rec.qualifier_grouping_no = OKC_API.G_MISS_NUM)
3099 OR (x_qua_rec.qualifier_grouping_no IS NULL)
3100 THEN
3101 x_qua_rec.qualifier_grouping_no := l_qua_rec.qualifier_grouping_no;
3102 END IF;
3103 IF (x_qua_rec.qualifier_context = OKC_API.G_MISS_CHAR)
3104 OR (x_qua_rec.qualifier_context IS NULL)
3105 THEN
3106 x_qua_rec.qualifier_context := l_qua_rec.qualifier_context;
3107 END IF;
3108 IF (x_qua_rec.qualifier_attribute = OKC_API.G_MISS_CHAR)
3109 OR (x_qua_rec.qualifier_attribute IS NULL)
3110 THEN
3111 x_qua_rec.qualifier_attribute := l_qua_rec.qualifier_attribute;
3112 END IF;
3113 IF (x_qua_rec.qualifier_attr_value = OKC_API.G_MISS_CHAR)
3114 OR (x_qua_rec.qualifier_attr_value IS NULL)
3115 THEN
3116 x_qua_rec.qualifier_attr_value := l_qua_rec.qualifier_attr_value;
3117 END IF;
3118 IF (x_qua_rec.COMPARISON_OPERATOR_CODE = OKC_API.G_MISS_CHAR)
3119 OR (x_qua_rec.COMPARISON_OPERATOR_CODE IS NULL)
3120 THEN
3121 x_qua_rec.COMPARISON_OPERATOR_CODE := l_qua_rec.COMPARISON_OPERATOR_CODE;
3122 END IF;
3123 IF (x_qua_rec.excluder_flag = OKC_API.G_MISS_CHAR)
3124 OR (x_qua_rec.excluder_flag IS NULL)
3125 THEN
3126 x_qua_rec.excluder_flag := l_qua_rec.excluder_flag;
3127 END IF;
3128 IF (x_qua_rec.qualifier_rule_id = OKC_API.G_MISS_NUM)
3129 OR (x_qua_rec.qualifier_rule_id IS NULL)
3130 THEN
3131 x_qua_rec.qualifier_rule_id := l_qua_rec.qualifier_rule_id;
3132 END IF;
3133 IF (x_qua_rec.start_date_active = OKC_API.G_MISS_DATE)
3134 OR (x_qua_rec.start_date_active IS NULL)
3135 THEN
3136 x_qua_rec.start_date_active := l_qua_rec.start_date_active;
3137 END IF;
3138 IF (x_qua_rec.end_date_active = OKC_API.G_MISS_DATE)
3139 OR (x_qua_rec.end_date_active IS NULL)
3140 THEN
3141 x_qua_rec.end_date_active := l_qua_rec.end_date_active;
3142 END IF;
3143 IF (x_qua_rec.created_from_rule_id = OKC_API.G_MISS_NUM)
3144 OR (x_qua_rec.created_from_rule_id IS NULL)
3145 THEN
3146 x_qua_rec.created_from_rule_id := l_qua_rec.created_from_rule_id;
3147 END IF;
3148 IF (x_qua_rec.qualifier_precedence = OKC_API.G_MISS_NUM)
3149 OR (x_qua_rec.qualifier_precedence IS NULL)
3150 THEN
3151 x_qua_rec.qualifier_precedence := l_qua_rec.qualifier_precedence;
3152 END IF;
3153 IF (x_qua_rec.list_header_id = OKC_API.G_MISS_NUM)
3154 OR (x_qua_rec.list_header_id IS NULL)
3155 THEN
3156 x_qua_rec.list_header_id := l_qua_rec.list_header_id;
3157 END IF;
3158 IF (x_qua_rec.list_line_id = OKC_API.G_MISS_NUM)
3159 OR (x_qua_rec.list_line_id IS NULL)
3160 THEN
3161 x_qua_rec.list_line_id := l_qua_rec.list_line_id;
3162 END IF;
3163 IF (x_qua_rec.qualifier_datatype = OKC_API.G_MISS_CHAR)
3164 OR (x_qua_rec.qualifier_datatype IS NULL)
3165 THEN
3166 x_qua_rec.qualifier_datatype := l_qua_rec.qualifier_datatype;
3167 END IF;
3168 IF (x_qua_rec.qualifier_attr_value_to = OKC_API.G_MISS_CHAR)
3169 OR (x_qua_rec.qualifier_attr_value_to IS NULL)
3170 THEN
3171 x_qua_rec.qualifier_attr_value_to := l_qua_rec.qualifier_attr_value_to;
3172 END IF;
3173 IF (x_qua_rec.context = OKC_API.G_MISS_CHAR)
3174 OR (x_qua_rec.context IS NULL)
3175 THEN
3176 x_qua_rec.context := l_qua_rec.context;
3177 END IF;
3178 IF (x_qua_rec.attribute1 = OKC_API.G_MISS_CHAR)
3179 OR (x_qua_rec.attribute1 IS NULL)
3180 THEN
3181 x_qua_rec.attribute1 := l_qua_rec.attribute1;
3182 END IF;
3183 IF (x_qua_rec.attribute2 = OKC_API.G_MISS_CHAR)
3184 OR (x_qua_rec.attribute2 IS NULL)
3185 THEN
3186 x_qua_rec.attribute2 := l_qua_rec.attribute2;
3187 END IF;
3188 IF (x_qua_rec.attribute3 = OKC_API.G_MISS_CHAR)
3189 OR (x_qua_rec.attribute3 IS NULL)
3190 THEN
3191 x_qua_rec.attribute3 := l_qua_rec.attribute3;
3192 END IF;
3193 IF (x_qua_rec.attribute4 = OKC_API.G_MISS_CHAR)
3194 OR (x_qua_rec.attribute4 IS NULL)
3195 THEN
3196 x_qua_rec.attribute4 := l_qua_rec.attribute4;
3197 END IF;
3198 IF (x_qua_rec.attribute5 = OKC_API.G_MISS_CHAR)
3199 OR (x_qua_rec.attribute5 IS NULL)
3200 THEN
3201 x_qua_rec.attribute5 := l_qua_rec.attribute5;
3202 END IF;
3203 IF (x_qua_rec.attribute6 = OKC_API.G_MISS_CHAR)
3204 OR (x_qua_rec.attribute6 IS NULL)
3205 THEN
3206 x_qua_rec.attribute6 := l_qua_rec.attribute6;
3207 END IF;
3208 IF (x_qua_rec.attribute7 = OKC_API.G_MISS_CHAR)
3209 OR (x_qua_rec.attribute7 IS NULL)
3210 THEN
3211 x_qua_rec.attribute7 := l_qua_rec.attribute7;
3212 END IF;
3213 IF (x_qua_rec.attribute8 = OKC_API.G_MISS_CHAR)
3214 OR (x_qua_rec.attribute8 IS NULL)
3215 THEN
3216 x_qua_rec.attribute8 := l_qua_rec.attribute8;
3217 END IF;
3218 IF (x_qua_rec.attribute9 = OKC_API.G_MISS_CHAR)
3219 OR (x_qua_rec.attribute9 IS NULL)
3220 THEN
3221 x_qua_rec.attribute9 := l_qua_rec.attribute9;
3222 END IF;
3223 IF (x_qua_rec.attribute10 = OKC_API.G_MISS_CHAR)
3224 OR (x_qua_rec.attribute10 IS NULL)
3225 THEN
3226 x_qua_rec.attribute10 := l_qua_rec.attribute10;
3227 END IF;
3228 IF (x_qua_rec.attribute11 = OKC_API.G_MISS_CHAR)
3229 OR (x_qua_rec.attribute11 IS NULL)
3230 THEN
3231 x_qua_rec.attribute11 := l_qua_rec.attribute11;
3232 END IF;
3233 IF (x_qua_rec.attribute12 = OKC_API.G_MISS_CHAR)
3234 OR (x_qua_rec.attribute12 IS NULL)
3235 THEN
3236 x_qua_rec.attribute12 := l_qua_rec.attribute12;
3237 END IF;
3238 IF (x_qua_rec.attribute13 = OKC_API.G_MISS_CHAR)
3239 OR (x_qua_rec.attribute13 IS NULL)
3240 THEN
3241 x_qua_rec.attribute13 := l_qua_rec.attribute13;
3242 END IF;
3243 IF (x_qua_rec.attribute14 = OKC_API.G_MISS_CHAR)
3244 OR (x_qua_rec.attribute14 IS NULL)
3245 THEN
3246 x_qua_rec.attribute14 := l_qua_rec.attribute14;
3247 END IF;
3248 IF (x_qua_rec.attribute15 = OKC_API.G_MISS_CHAR)
3249 OR (x_qua_rec.attribute15 IS NULL)
3250 THEN
3251 x_qua_rec.attribute15 := l_qua_rec.attribute15;
3252 END IF;
3253 IF (x_qua_rec.active_flag = OKC_API.G_MISS_CHAR)
3254 OR (x_qua_rec.active_flag IS NULL)
3255 THEN
3256 x_qua_rec.active_flag := l_qua_rec.active_flag;
3257 END IF;
3258 IF (x_qua_rec.list_type_code = OKC_API.G_MISS_CHAR)
3259 OR (x_qua_rec.list_type_code IS NULL)
3260 THEN
3261 x_qua_rec.list_type_code := l_qua_rec.list_type_code;
3262 END IF;
3263 IF (x_qua_rec.QUAL_ATTR_VALUE_FROM_NUMBER = OKC_API.G_MISS_NUM)
3264 OR (x_qua_rec.QUAL_ATTR_VALUE_FROM_NUMBER IS NULL)
3265 THEN
3266 x_qua_rec.QUAL_ATTR_VALUE_FROM_NUMBER := l_qua_rec.QUAL_ATTR_VALUE_FROM_NUMBER;
3267 END IF;
3268 IF (x_qua_rec.QUAL_ATTR_VALUE_TO_NUMBER = OKC_API.G_MISS_NUM)
3269 OR (x_qua_rec.QUAL_ATTR_VALUE_TO_NUMBER IS NULL)
3270 THEN
3271 x_qua_rec.QUAL_ATTR_VALUE_TO_NUMBER := l_qua_rec.QUAL_ATTR_VALUE_TO_NUMBER;
3272 END IF;
3273
3274
3275 RETURN(l_return_status);
3276 END populate_new_record;
3277 -------------------------------------------
3278 -- Set_Attributes for:OKS_QUALIFIERS --
3279 -------------------------------------------
3280 FUNCTION Set_Attributes (
3281 p_qua_rec IN qua_rec_type,
3282 x_qua_rec OUT NOCOPY qua_rec_type
3283 ) RETURN VARCHAR2 IS
3284 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3285 BEGIN
3286 x_qua_rec := p_qua_rec;
3287 RETURN(l_return_status);
3288 END Set_Attributes;
3289 BEGIN
3290 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3291 p_init_msg_list,
3292 '_PVT',
3293 x_return_status);
3294 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3295 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3296 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3297 RAISE OKC_API.G_EXCEPTION_ERROR;
3298 END IF;
3299 --- Setting item attributes
3300 l_return_status := Set_Attributes(
3301 p_qua_rec, -- IN
3302 l_qua_rec); -- OUT
3303 --- If any errors happen abort API
3304 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3305 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3306 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3307 RAISE OKC_API.G_EXCEPTION_ERROR;
3308 END IF;
3309 l_return_status := populate_new_record(l_qua_rec, l_def_qua_rec);
3310 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3311 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3312 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3313 RAISE OKC_API.G_EXCEPTION_ERROR;
3314 END IF;
3315 UPDATE OKS_QUALIFIERS
3316 SET
3317 QUALIFIER_ID = l_def_qua_rec.QUALIFIER_ID ,
3318 CREATION_DATE = l_def_qua_rec.CREATION_DATE ,
3319 CREATED_BY = l_def_qua_rec.CREATED_BY ,
3320 LAST_UPDATE_DATE = l_def_qua_rec.LAST_UPDATE_DATE ,
3321 LAST_UPDATED_BY = l_def_qua_rec.LAST_UPDATED_BY ,
3322 REQUEST_ID = l_def_qua_rec.REQUEST_ID ,
3323 PROGRAM_APPLICATION_ID = l_def_qua_rec.PROGRAM_APPLICATION_ID ,
3324 PROGRAM_ID = l_def_qua_rec.PROGRAM_ID ,
3325 PROGRAM_UPDATE_DATE = l_def_qua_rec.PROGRAM_UPDATE_DATE ,
3326 LAST_UPDATE_LOGIN = l_def_qua_rec.LAST_UPDATE_LOGIN ,
3327 QUALIFIER_GROUPING_NO = l_def_qua_rec.QUALIFIER_GROUPING_NO ,
3328 QUALIFIER_CONTEXT = l_def_qua_rec.QUALIFIER_CONTEXT ,
3329 QUALIFIER_ATTRIBUTE = l_def_qua_rec.QUALIFIER_ATTRIBUTE,
3330 QUALIFIER_ATTR_VALUE = l_def_qua_rec.QUALIFIER_ATTR_VALUE,
3331 COMPARISON_OPERATOR_CODE = l_def_qua_rec.COMPARISON_OPERATOR_CODE ,
3332 EXCLUDER_FLAG = l_def_qua_rec.EXCLUDER_FLAG ,
3333 QUALIFIER_RULE_ID = l_def_qua_rec.QUALIFIER_RULE_ID ,
3334 START_DATE_ACTIVE = l_def_qua_rec.START_DATE_ACTIVE ,
3335 END_DATE_ACTIVE = l_def_qua_rec.END_DATE_ACTIVE ,
3336 CREATED_FROM_RULE_ID = l_def_qua_rec.CREATED_FROM_RULE_ID ,
3337 QUALIFIER_PRECEDENCE = l_def_qua_rec.QUALIFIER_PRECEDENCE ,
3338 LIST_HEADER_ID = l_def_qua_rec.LIST_HEADER_ID ,
3339 LIST_LINE_ID = l_def_qua_rec.LIST_LINE_ID ,
3340 QUALIFIER_DATATYPE = l_def_qua_rec.QUALIFIER_DATATYPE ,
3341 QUALIFIER_ATTR_VALUE_TO = l_def_qua_rec.QUALIFIER_ATTR_VALUE_TO ,
3342 CONTEXT = l_def_qua_rec.CONTEXT ,
3343 ATTRIBUTE1 = l_def_qua_rec.ATTRIBUTE1 ,
3344 ATTRIBUTE2 = l_def_qua_rec.ATTRIBUTE2 ,
3345 ATTRIBUTE3 = l_def_qua_rec.ATTRIBUTE3 ,
3346 ATTRIBUTE4 = l_def_qua_rec.ATTRIBUTE4 ,
3347 ATTRIBUTE5 = l_def_qua_rec.ATTRIBUTE5 ,
3348 ATTRIBUTE6 = l_def_qua_rec.ATTRIBUTE6 ,
3349 ATTRIBUTE7 = l_def_qua_rec.ATTRIBUTE7 ,
3350 ATTRIBUTE8 = l_def_qua_rec.ATTRIBUTE8 ,
3351 ATTRIBUTE9 = l_def_qua_rec.ATTRIBUTE9 ,
3352 ATTRIBUTE10 = l_def_qua_rec.ATTRIBUTE10 ,
3353 ATTRIBUTE11 = l_def_qua_rec.ATTRIBUTE11 ,
3354 ATTRIBUTE12 = l_def_qua_rec.ATTRIBUTE12 ,
3355 ATTRIBUTE13 = l_def_qua_rec.ATTRIBUTE13 ,
3356 ATTRIBUTE14 = l_def_qua_rec.ATTRIBUTE14 ,
3357 ATTRIBUTE15 = l_def_qua_rec.ATTRIBUTE15 ,
3358 ACTIVE_FLAG = l_def_qua_rec.ACTIVE_FLAG ,
3359 LIST_TYPE_CODE = l_def_qua_rec.LIST_TYPE_CODE ,
3360 QUAL_ATTR_VALUE_FROM_NUMBER = l_def_qua_rec.QUAL_ATTR_VALUE_FROM_NUMBER ,
3361 QUAL_ATTR_VALUE_TO_NUMBER = l_def_qua_rec.QUAL_ATTR_VALUE_TO_NUMBER
3362 WHere qualifier_id = l_def_qua_rec.qualifier_id;
3363
3364 x_qua_rec := l_def_qua_rec;
3365 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3366 EXCEPTION
3367 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3368 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3369 (
3370 l_api_name,
3371 G_PKG_NAME,
3372 'OKC_API.G_RET_STS_ERROR',
3373 x_msg_count,
3374 x_msg_data,
3375 '_PVT'
3376 );
3377 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3378 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3379 (
3380 l_api_name,
3381 G_PKG_NAME,
3382 'OKC_API.G_RET_STS_UNEXP_ERROR',
3383 x_msg_count,
3384 x_msg_data,
3385 '_PVT'
3386 );
3387 WHEN OTHERS THEN
3388 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3389 (
3390 l_api_name,
3391 G_PKG_NAME,
3392 'OTHERS',
3393 x_msg_count,
3394 x_msg_data,
3395 '_PVT'
3396 );
3397 END update_row;
3398 -----------------------------------------
3399 -- update_row for:OKS_qualifier_v --
3400 -----------------------------------------
3401 PROCEDURE update_row(
3402 p_api_version IN NUMBER,
3403 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3404 x_return_status OUT NOCOPY VARCHAR2,
3405 x_msg_count OUT NOCOPY NUMBER,
3406 x_msg_data OUT NOCOPY VARCHAR2,
3407 p_quav_rec IN quav_rec_type,
3408 x_quav_rec OUT NOCOPY quav_rec_type) IS
3409
3410 l_api_version CONSTANT NUMBER := 1;
3411 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3412 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3413 l_quav_rec quav_rec_type := p_quav_rec;
3414 l_def_quav_rec quav_rec_type;
3415 l_qua_rec qua_rec_type;
3416 lx_qua_rec qua_rec_type;
3417 -------------------------------
3418 -- FUNCTION fill_who_columns --
3419 -------------------------------
3420 FUNCTION fill_who_columns (
3421 p_quav_rec IN quav_rec_type
3422 ) RETURN quav_rec_type IS
3423 l_quav_rec quav_rec_type := p_quav_rec;
3424 BEGIN
3425 l_quav_rec.LAST_UPDATE_DATE := SYSDATE;
3426 l_quav_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3427 l_quav_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3428 RETURN(l_quav_rec);
3429 END fill_who_columns;
3430 ----------------------------------
3431 -- FUNCTION populate_new_record --
3432 ----------------------------------
3433 FUNCTION populate_new_record (
3434 p_quav_rec IN quav_rec_type,
3435 x_quav_rec OUT NOCOPY quav_rec_type
3436 ) RETURN VARCHAR2 IS
3437 l_quav_rec quav_rec_type;
3438 l_row_notfound BOOLEAN := TRUE;
3439 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3440 BEGIN
3441 x_quav_rec := p_quav_rec;
3442 -- Get current database values
3443 l_quav_rec := get_rec(p_quav_rec, l_row_notfound);
3444 IF (l_row_notfound) THEN
3445 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3446 END IF;
3447 IF (x_quav_rec.qualifier_id = OKC_API.G_MISS_NUM)
3448 OR (x_quav_rec.qualifier_id IS NULL)
3449 THEN
3450 x_quav_rec.qualifier_id := l_quav_rec.qualifier_id;
3451 END IF;
3452 IF (x_quav_rec.created_by = OKC_API.G_MISS_NUM)
3453 OR (x_quav_rec.created_by IS NULL)
3454 THEN
3455 x_quav_rec.created_by := l_quav_rec.created_by;
3456 END IF;
3457 IF (x_quav_rec.creation_date = OKC_API.G_MISS_DATE)
3458 OR (x_quav_rec.creation_date IS NULL)
3459 THEN
3460 x_quav_rec.creation_date := l_quav_rec.creation_date;
3461 END IF;
3462 IF (x_quav_rec.last_updated_by = OKC_API.G_MISS_NUM)
3463 OR (x_quav_rec.last_updated_by IS NULL)
3464 THEN
3465 x_quav_rec.last_updated_by := l_quav_rec.last_updated_by;
3466 END IF;
3467 IF (x_quav_rec.last_update_date = OKC_API.G_MISS_DATE)
3468 OR (x_quav_rec.last_update_date IS NULL)
3469 THEN
3470 x_quav_rec.last_update_date := l_quav_rec.last_update_date;
3471 END IF;
3472 IF (x_quav_rec.attribute1 = OKC_API.G_MISS_CHAR)
3473 OR (x_quav_rec.attribute1 IS NULL)
3474 THEN
3475 x_quav_rec.attribute1 := l_quav_rec.attribute1;
3476 END IF;
3477 IF (x_quav_rec.attribute2 = OKC_API.G_MISS_CHAR)
3478 OR (x_quav_rec.attribute2 IS NULL)
3479 THEN
3480 x_quav_rec.attribute2 := l_quav_rec.attribute2;
3481 END IF;
3482 IF (x_quav_rec.attribute3 = OKC_API.G_MISS_CHAR)
3483 OR (x_quav_rec.attribute3 IS NULL)
3484 THEN
3485 x_quav_rec.attribute3 := l_quav_rec.attribute3;
3486 END IF;
3487 IF (x_quav_rec.attribute4 = OKC_API.G_MISS_CHAR)
3488 OR (x_quav_rec.attribute4 IS NULL)
3489 THEN
3490 x_quav_rec.attribute4 := l_quav_rec.attribute4;
3491 END IF;
3492 IF (x_quav_rec.attribute5 = OKC_API.G_MISS_CHAR)
3493 OR (x_quav_rec.attribute5 IS NULL)
3494 THEN
3495 x_quav_rec.attribute5 := l_quav_rec.attribute5;
3496 END IF;
3497 IF (x_quav_rec.attribute6 = OKC_API.G_MISS_CHAR)
3498 OR (x_quav_rec.attribute6 IS NULL)
3499 THEN
3500 x_quav_rec.attribute6 := l_quav_rec.attribute6;
3501 END IF;
3502 IF (x_quav_rec.attribute7 = OKC_API.G_MISS_CHAR)
3503 OR (x_quav_rec.attribute7 IS NULL)
3504 THEN
3505 x_quav_rec.attribute7 := l_quav_rec.attribute7;
3506 END IF;
3507 IF (x_quav_rec.attribute8 = OKC_API.G_MISS_CHAR)
3508 OR (x_quav_rec.attribute8 IS NULL)
3509 THEN
3510 x_quav_rec.attribute8 := l_quav_rec.attribute8;
3511 END IF;
3512 IF (x_quav_rec.attribute9 = OKC_API.G_MISS_CHAR)
3513 OR (x_quav_rec.attribute9 IS NULL)
3514 THEN
3515 x_quav_rec.attribute9 := l_quav_rec.attribute9;
3516 END IF;
3517 IF (x_quav_rec.attribute10 = OKC_API.G_MISS_CHAR)
3518 OR (x_quav_rec.attribute10 IS NULL)
3519 THEN
3520 x_quav_rec.attribute10 := l_quav_rec.attribute10;
3521 END IF;
3522 IF (x_quav_rec.attribute11 = OKC_API.G_MISS_CHAR)
3523 OR (x_quav_rec.attribute11 IS NULL)
3524 THEN
3525 x_quav_rec.attribute11 := l_quav_rec.attribute11;
3526 END IF;
3527 IF (x_quav_rec.attribute12 = OKC_API.G_MISS_CHAR)
3528 OR (x_quav_rec.attribute12 IS NULL)
3529 THEN
3530 x_quav_rec.attribute12 := l_quav_rec.attribute12;
3531 END IF;
3532 IF (x_quav_rec.attribute13 = OKC_API.G_MISS_CHAR)
3533 OR (x_quav_rec.attribute13 IS NULL)
3534 THEN
3535 x_quav_rec.attribute13 := l_quav_rec.attribute13;
3536 END IF;
3537 IF (x_quav_rec.attribute14 = OKC_API.G_MISS_CHAR)
3538 OR (x_quav_rec.attribute14 IS NULL)
3539 THEN
3540 x_quav_rec.attribute14 := l_quav_rec.attribute14;
3541 END IF;
3542 IF (x_quav_rec.attribute15 = OKC_API.G_MISS_CHAR)
3543 OR (x_quav_rec.attribute15 IS NULL)
3544 THEN
3545 x_quav_rec.attribute15 := l_quav_rec.attribute15;
3546 END IF;
3547 IF (x_quav_rec.qualifier_grouping_no = OKC_API.G_MISS_NUM)
3548 OR (x_quav_rec.qualifier_grouping_no IS NULL)
3549 THEN
3550 x_quav_rec.qualifier_grouping_no := l_quav_rec.qualifier_grouping_no;
3551 END IF;
3552 IF (x_quav_rec.qualifier_context = OKC_API.G_MISS_CHAR)
3553 OR (x_quav_rec.qualifier_context IS NULL)
3554 THEN
3555 x_quav_rec.qualifier_context := l_quav_rec.qualifier_context;
3556 END IF;
3557 IF (x_quav_rec.qualifier_attribute = OKC_API.G_MISS_CHAR)
3558 OR (x_quav_rec.qualifier_attribute IS NULL)
3559 THEN
3560 x_quav_rec.qualifier_attribute := l_quav_rec.qualifier_attribute;
3561 END IF;
3562 IF (x_quav_rec.COMPARISON_OPERATOR_CODE = OKC_API.G_MISS_CHAR)
3563 OR (x_quav_rec.COMPARISON_OPERATOR_CODE IS NULL)
3564 THEN
3565 x_quav_rec.COMPARISON_OPERATOR_CODE := l_quav_rec.COMPARISON_OPERATOR_CODE;
3566 END IF;
3567 IF (x_quav_rec.excluder_flag = OKC_API.G_MISS_CHAR)
3568 OR (x_quav_rec.excluder_flag IS NULL)
3569 THEN
3570 x_quav_rec.excluder_flag := l_quav_rec.excluder_flag;
3571 END IF;
3572 IF (x_quav_rec.QUALIFIER_RULE_ID = OKC_API.G_MISS_NUM)
3573 OR (x_quav_rec.qualifier_rule_id IS NULL)
3574 THEN
3575 x_quav_rec.qualifier_rule_id := l_quav_rec.qualifier_rule_id;
3576 END IF;
3577 IF (x_quav_rec.start_date_active = OKC_API.G_MISS_DATE)
3578 OR (x_quav_rec.start_date_active IS NULL)
3579 THEN
3580 x_quav_rec.start_date_active := l_quav_rec.start_date_active;
3581 END IF;
3582 IF (x_quav_rec.end_date_active = OKC_API.G_MISS_DATE)
3583 OR (x_quav_rec.end_date_active IS NULL)
3584 THEN
3585 x_quav_rec.end_date_active := l_quav_rec.end_date_active;
3586 END IF;
3587 IF (x_quav_rec.created_from_rule_id = OKC_API.G_MISS_NUM)
3588 OR (x_quav_rec.created_from_rule_id IS NULL)
3589 THEN
3590 x_quav_rec.created_from_rule_id := l_quav_rec.created_from_rule_id;
3591 END IF;
3592 IF (x_quav_rec.qualifier_precedence = OKC_API.G_MISS_NUM)
3593 OR (x_quav_rec.qualifier_precedence IS NULL)
3594 THEN
3595 x_quav_rec.qualifier_precedence := l_quav_rec.qualifier_precedence;
3596 END IF;
3597 IF (x_quav_rec.list_header_id = OKC_API.G_MISS_NUM)
3598 OR (x_quav_rec.list_header_id IS NULL)
3599 THEN
3600 x_quav_rec.list_header_id := l_quav_rec.list_header_id;
3601 END IF;
3602 IF (x_quav_rec.list_line_id = OKC_API.G_MISS_NUM)
3603 OR (x_quav_rec.list_line_id IS NULL)
3604 THEN
3605 x_quav_rec.list_line_id := l_quav_rec.list_line_id;
3606 END IF;
3607 IF (x_quav_rec.qualifier_datatype = OKC_API.G_MISS_CHAR)
3608 OR (x_quav_rec.qualifier_datatype IS NULL)
3609 THEN
3610 x_quav_rec.qualifier_datatype := l_quav_rec.qualifier_datatype;
3611 END IF;
3612 IF (x_quav_rec.qualifier_attr_value_to = OKC_API.G_MISS_CHAR)
3613 OR (x_quav_rec.qualifier_attr_value_to IS NULL)
3614 THEN
3615 x_quav_rec.qualifier_attr_value_to := l_quav_rec.qualifier_attr_value_to;
3616 END IF;
3617 IF (x_quav_rec.context = OKC_API.G_MISS_CHAR)
3618 OR (x_quav_rec.context IS NULL)
3619 THEN
3620 x_quav_rec.context := l_quav_rec.context;
3621 END IF;
3622 IF (x_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER = OKC_API.G_MISS_NUM)
3623 OR (x_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER IS NULL)
3624 THEN
3625 x_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER := l_quav_rec.QUAL_ATTR_VALUE_TO_NUMBER;
3626 END IF;
3627 IF (x_quav_rec.active_flag = OKC_API.G_MISS_CHAR)
3628 OR (x_quav_rec.active_flag IS NULL)
3629 THEN
3630 x_quav_rec.active_flag := l_quav_rec.active_flag;
3631 END IF;
3632 IF (x_quav_rec.list_type_code = OKC_API.G_MISS_CHAR)
3633 OR (x_quav_rec.list_type_code IS NULL)
3634 THEN
3635 x_quav_rec.list_type_code := l_quav_rec.list_type_code;
3636 END IF;
3637 IF (x_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER = OKC_API.G_MISS_NUM)
3638 OR (x_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER IS NULL)
3639 THEN
3640 x_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER := l_quav_rec.QUAL_ATTR_VALUE_FROM_NUMBER;
3641 END IF;
3642
3643 RETURN(l_return_status);
3644 END populate_new_record;
3645 ---------------------------------------------
3646 -- Set_Attributes for:OKS_QUALIFIERS_V --
3647 ---------------------------------------------
3648 FUNCTION Set_Attributes (
3649 p_quav_rec IN quav_rec_type,
3650 x_quav_rec OUT NOCOPY quav_rec_type
3651 ) RETURN VARCHAR2 IS
3652 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3653 BEGIN
3654 x_quav_rec := p_quav_rec;
3655 RETURN(l_return_status);
3656 END Set_Attributes;
3657 BEGIN
3658 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3659 G_PKG_NAME,
3660 p_init_msg_list,
3661 l_api_version,
3662 p_api_version,
3663 '_PVT',
3664 x_return_status);
3665 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3666 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3667 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3668 RAISE OKC_API.G_EXCEPTION_ERROR;
3669 END IF;
3670 --- Setting item attributes
3671 l_return_status := Set_Attributes(
3672 p_quav_rec, -- IN
3673 l_quav_rec); -- OUT
3674 --- If any errors happen abort API
3675 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3676 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3677 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3678 RAISE OKC_API.G_EXCEPTION_ERROR;
3679 END IF;
3680 l_return_status := populate_new_record(l_quav_rec, l_def_quav_rec);
3681 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3682 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3683 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3684 RAISE OKC_API.G_EXCEPTION_ERROR;
3685 END IF;
3686 l_def_quav_rec := fill_who_columns(l_def_quav_rec);
3687 --- Validate all non-missing attributes (Item Level Validation)
3688 l_return_status := Validate_Attributes(l_def_quav_rec);
3689 --- If any errors happen abort API
3690 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3691 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3692 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3693 RAISE OKC_API.G_EXCEPTION_ERROR;
3694 END IF;
3695 l_return_status := Validate_Record(l_def_quav_rec);
3696 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3697 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3698 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3699 RAISE OKC_API.G_EXCEPTION_ERROR;
3700 END IF;
3701
3702 --------------------------------------
3703 -- Move VIEW record to "Child" records
3704 --------------------------------------
3705 migrate(l_def_quav_rec, l_qua_rec);
3706 --------------------------------------------
3707 -- Call the UPDATE_ROW for each child record
3708 --------------------------------------------
3709 update_row(
3710 p_init_msg_list,
3711 x_return_status,
3712 x_msg_count,
3713 x_msg_data,
3714 l_qua_rec,
3715 lx_qua_rec
3716 );
3717 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3718 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3719 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3720 RAISE OKC_API.G_EXCEPTION_ERROR;
3721 END IF;
3722 migrate(lx_qua_rec, l_def_quav_rec);
3723 x_quav_rec := l_def_quav_rec;
3724 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3725 EXCEPTION
3726 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3727 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3728 (
3729 l_api_name,
3730 G_PKG_NAME,
3731 'OKC_API.G_RET_STS_ERROR',
3732 x_msg_count,
3733 x_msg_data,
3734 '_PVT'
3735 );
3736 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3737 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3738 (
3739 l_api_name,
3740 G_PKG_NAME,
3741 'OKC_API.G_RET_STS_UNEXP_ERROR',
3742 x_msg_count,
3743 x_msg_data,
3744 '_PVT'
3745 );
3746 WHEN OTHERS THEN
3747 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3748 (
3749 l_api_name,
3750 G_PKG_NAME,
3751 'OTHERS',
3752 x_msg_count,
3753 x_msg_data,
3754 '_PVT'
3755 );
3756 END update_row;
3757 ----------------------------------------
3758 -- PL/SQL TBL update_row for:BSLV_TBL --
3759 ----------------------------------------
3760 PROCEDURE update_row(
3761 p_api_version IN NUMBER,
3762 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3763 x_return_status OUT NOCOPY VARCHAR2,
3764 x_msg_count OUT NOCOPY NUMBER,
3765 x_msg_data OUT NOCOPY VARCHAR2,
3766 p_quav_tbl IN quav_tbl_type,
3767 x_quav_tbl OUT NOCOPY quav_tbl_type) IS
3768
3769 l_api_version CONSTANT NUMBER := 1;
3770 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3771 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3772 i NUMBER := 0;
3773 BEGIN
3774 OKC_API.init_msg_list(p_init_msg_list);
3775 -- Make sure PL/SQL table has records in it before passing
3776 IF (p_quav_tbl.COUNT > 0) THEN
3777 i := p_quav_tbl.FIRST;
3778 LOOP
3779 update_row (
3780 p_api_version => p_api_version,
3781 p_init_msg_list => OKC_API.G_FALSE,
3782 x_return_status => x_return_status,
3783 x_msg_count => x_msg_count,
3784 x_msg_data => x_msg_data,
3785 p_quav_rec => p_quav_tbl(i),
3786 x_quav_rec => x_quav_tbl(i));
3787 EXIT WHEN (i = p_quav_tbl.LAST);
3788 i := p_quav_tbl.NEXT(i);
3789 END LOOP;
3790 END IF;
3791 EXCEPTION
3792 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3793 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3794 (
3795 l_api_name,
3796 G_PKG_NAME,
3797 'OKC_API.G_RET_STS_ERROR',
3798 x_msg_count,
3799 x_msg_data,
3800 '_PVT'
3801 );
3802 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3803 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3804 (
3805 l_api_name,
3806 G_PKG_NAME,
3807 'OKC_API.G_RET_STS_UNEXP_ERROR',
3808 x_msg_count,
3809 x_msg_data,
3810 '_PVT'
3811 );
3812 WHEN OTHERS THEN
3813 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3814 (
3815 l_api_name,
3816 G_PKG_NAME,
3817 'OTHERS',
3818 x_msg_count,
3819 x_msg_data,
3820 '_PVT'
3821 );
3822 END update_row;
3823
3824 ---------------------------------------------------------------------------
3825 -- PROCEDURE delete_row
3826 ---------------------------------------------------------------------------
3827 ---------------------------------------
3828 -- delete_row for:OKS_QUALIFIERS --
3829 ---------------------------------------
3830 PROCEDURE delete_row(
3831 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3832 x_return_status OUT NOCOPY VARCHAR2,
3833 x_msg_count OUT NOCOPY NUMBER,
3834 x_msg_data OUT NOCOPY VARCHAR2,
3835 p_qua_rec IN qua_rec_type) IS
3836
3837 l_api_version CONSTANT NUMBER := 1;
3838 l_api_name CONSTANT VARCHAR2(30) := 'LINES_delete_row';
3839 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3840 l_qua_rec qua_rec_type:= p_qua_rec;
3841 l_row_notfound BOOLEAN := TRUE;
3842 BEGIN
3843 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3844 p_init_msg_list,
3845 '_PVT',
3846 x_return_status);
3847 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3848 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3849 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3850 RAISE OKC_API.G_EXCEPTION_ERROR;
3851 END IF;
3852 DELETE FROM OKS_QUALIFIERS
3853 WHERE QUALIFIER_ID = l_qua_rec.qualifier_id;
3854
3855 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3856 EXCEPTION
3857 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3858 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3859 (
3860 l_api_name,
3861 G_PKG_NAME,
3862 'OKC_API.G_RET_STS_ERROR',
3863 x_msg_count,
3864 x_msg_data,
3865 '_PVT'
3866 );
3867 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3868 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3869 (
3870 l_api_name,
3871 G_PKG_NAME,
3872 'OKC_API.G_RET_STS_UNEXP_ERROR',
3873 x_msg_count,
3874 x_msg_data,
3875 '_PVT'
3876 );
3877 WHEN OTHERS THEN
3878 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3879 (
3880 l_api_name,
3881 G_PKG_NAME,
3882 'OTHERS',
3883 x_msg_count,
3884 x_msg_data,
3885 '_PVT'
3886 );
3887 END delete_row;
3888 -----------------------------------------
3889 -- delete_row for:OKS_QUALIFIERS_V --
3890 -----------------------------------------
3891 PROCEDURE delete_row(
3892 p_api_version IN NUMBER,
3893 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3894 x_return_status OUT NOCOPY VARCHAR2,
3895 x_msg_count OUT NOCOPY NUMBER,
3896 x_msg_data OUT NOCOPY VARCHAR2,
3897 p_quav_rec IN quav_rec_type) IS
3898
3899 l_api_version CONSTANT NUMBER := 1;
3900 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3901 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3902 l_quav_rec quav_rec_type := p_quav_rec;
3903 l_qua_rec qua_rec_type;
3904 BEGIN
3905 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3906 G_PKG_NAME,
3907 p_init_msg_list,
3908 l_api_version,
3909 p_api_version,
3910 '_PVT',
3911 x_return_status);
3912 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3913 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3914 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3915 RAISE OKC_API.G_EXCEPTION_ERROR;
3916 END IF;
3917 --------------------------------------
3918 -- Move VIEW record to "Child" records
3919 --------------------------------------
3920 migrate(l_quav_rec, l_qua_rec);
3921 --------------------------------------------
3922 -- Call the DELETE_ROW for each child record
3923 --------------------------------------------
3924 delete_row(
3925 p_init_msg_list,
3926 x_return_status,
3927 x_msg_count,
3928 x_msg_data,
3929 l_qua_rec
3930 );
3931 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3932 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3933 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3934 RAISE OKC_API.G_EXCEPTION_ERROR;
3935 END IF;
3936 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3937 EXCEPTION
3938 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3939 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3940 (
3941 l_api_name,
3942 G_PKG_NAME,
3943 'OKC_API.G_RET_STS_ERROR',
3944 x_msg_count,
3945 x_msg_data,
3946 '_PVT'
3947 );
3948 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3949 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3950 (
3951 l_api_name,
3952 G_PKG_NAME,
3953 'OKC_API.G_RET_STS_UNEXP_ERROR',
3954 x_msg_count,
3955 x_msg_data,
3956 '_PVT'
3957 );
3958 WHEN OTHERS THEN
3959 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3960 (
3961 l_api_name,
3962 G_PKG_NAME,
3963 'OTHERS',
3964 x_msg_count,
3965 x_msg_data,
3966 '_PVT'
3967 );
3968 END delete_row;
3969 ----------------------------------------
3970 -- PL/SQL TBL delete_row for:BSLV_TBL --
3971 ----------------------------------------
3972 PROCEDURE delete_row(
3973 p_api_version IN NUMBER,
3974 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3975 x_return_status OUT NOCOPY VARCHAR2,
3976 x_msg_count OUT NOCOPY NUMBER,
3977 x_msg_data OUT NOCOPY VARCHAR2,
3978 p_quav_tbl IN quav_tbl_type) IS
3979
3980 l_api_version CONSTANT NUMBER := 1;
3981 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3982 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3983 i NUMBER := 0;
3984 BEGIN
3985 OKC_API.init_msg_list(p_init_msg_list);
3986 -- Make sure PL/SQL table has records in it before passing
3987 IF (p_quav_tbl.COUNT > 0) THEN
3988 i := p_quav_tbl.FIRST;
3989 LOOP
3990 delete_row (
3991 p_api_version => p_api_version,
3992 p_init_msg_list => OKC_API.G_FALSE,
3993 x_return_status => x_return_status,
3994 x_msg_count => x_msg_count,
3995 x_msg_data => x_msg_data,
3996 p_quav_rec => p_quav_tbl(i));
3997 EXIT WHEN (i = p_quav_tbl.LAST);
3998 i := p_quav_tbl.NEXT(i);
3999 END LOOP;
4000 END IF;
4001 EXCEPTION
4002 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4003 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4004 (
4005 l_api_name,
4006 G_PKG_NAME,
4007 'OKC_API.G_RET_STS_ERROR',
4008 x_msg_count,
4009 x_msg_data,
4010 '_PVT'
4011 );
4012 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4013 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4014 (
4015 l_api_name,
4016 G_PKG_NAME,
4017 'OKC_API.G_RET_STS_UNEXP_ERROR',
4018 x_msg_count,
4019 x_msg_data,
4020 '_PVT'
4021 );
4022 WHEN OTHERS THEN
4023 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4024 (
4025 l_api_name,
4026 G_PKG_NAME,
4027 'OTHERS',
4028 x_msg_count,
4029 x_msg_data,
4030 '_PVT'
4031 );
4032 END delete_row;
4033 END OKS_QUA_PVT;