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