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