3: ---------------------------------------------------------------------------
4: -- PROCEDURE load_error_tbl
5: ---------------------------------------------------------------------------
6: PROCEDURE load_error_tbl (
7: px_error_rec IN OUT NOCOPY OKC_API.ERROR_REC_TYPE,
8: px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
9:
10: j INTEGER := NVL(px_error_tbl.LAST, 0) + 1;
11: last_msg_idx INTEGER := FND_MSG_PUB.COUNT_MSG;
4: -- PROCEDURE load_error_tbl
5: ---------------------------------------------------------------------------
6: PROCEDURE load_error_tbl (
7: px_error_rec IN OUT NOCOPY OKC_API.ERROR_REC_TYPE,
8: px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
9:
10: j INTEGER := NVL(px_error_tbl.LAST, 0) + 1;
11: last_msg_idx INTEGER := FND_MSG_PUB.COUNT_MSG;
12: l_msg_idx INTEGER := FND_MSG_PUB.G_NEXT;
36: ---------------------------------------------------------------------------
37: -- FUNCTION find_highest_exception
38: ---------------------------------------------------------------------------
39: -- Finds the highest exception (G_RET_STS_UNEXP_ERROR)
40: -- in a OKC_API.ERROR_TBL_TYPE, and returns it.
41: FUNCTION find_highest_exception(
42: p_error_tbl IN OKC_API.ERROR_TBL_TYPE
43: ) RETURN VARCHAR2 IS
44: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
38: ---------------------------------------------------------------------------
39: -- Finds the highest exception (G_RET_STS_UNEXP_ERROR)
40: -- in a OKC_API.ERROR_TBL_TYPE, and returns it.
41: FUNCTION find_highest_exception(
42: p_error_tbl IN OKC_API.ERROR_TBL_TYPE
43: ) RETURN VARCHAR2 IS
44: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
45: i INTEGER := 1;
46: BEGIN
40: -- in a OKC_API.ERROR_TBL_TYPE, and returns it.
41: FUNCTION find_highest_exception(
42: p_error_tbl IN OKC_API.ERROR_TBL_TYPE
43: ) RETURN VARCHAR2 IS
44: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
45: i INTEGER := 1;
46: BEGIN
47: IF (p_error_tbl.COUNT > 0) THEN
48: i := p_error_tbl.FIRST;
46: BEGIN
47: IF (p_error_tbl.COUNT > 0) THEN
48: i := p_error_tbl.FIRST;
49: LOOP
50: IF (p_error_tbl(i).error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
51: IF (l_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
52: l_return_status := p_error_tbl(i).error_type;
53: END IF;
54: END IF;
47: IF (p_error_tbl.COUNT > 0) THEN
48: i := p_error_tbl.FIRST;
49: LOOP
50: IF (p_error_tbl(i).error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
51: IF (l_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
52: l_return_status := p_error_tbl(i).error_type;
53: END IF;
54: END IF;
55: EXIT WHEN (i = p_error_tbl.LAST);
148: ) RETURN insv_rec_type IS
149: l_insv_rec insv_rec_type;
150: l_row_notfound BOOLEAN := TRUE;
151: BEGIN
152: x_return_status := OKC_API.G_RET_STS_SUCCESS;
153: l_insv_rec := get_rec(p_insv_rec, l_row_notfound);
154: IF (l_row_notfound) THEN
155: OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
156: x_return_status := OKC_API.G_RET_STS_ERROR;
151: BEGIN
152: x_return_status := OKC_API.G_RET_STS_SUCCESS;
153: l_insv_rec := get_rec(p_insv_rec, l_row_notfound);
154: IF (l_row_notfound) THEN
155: OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
156: x_return_status := OKC_API.G_RET_STS_ERROR;
157: END IF;
158: RETURN(l_insv_rec);
159: END get_rec;
152: x_return_status := OKC_API.G_RET_STS_SUCCESS;
153: l_insv_rec := get_rec(p_insv_rec, l_row_notfound);
154: IF (l_row_notfound) THEN
155: OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
156: x_return_status := OKC_API.G_RET_STS_ERROR;
157: END IF;
158: RETURN(l_insv_rec);
159: END get_rec;
160: -----------------------------------------------------------
225: ) RETURN ins_rec_type IS
226: l_ins_rec ins_rec_type;
227: l_row_notfound BOOLEAN := TRUE;
228: BEGIN
229: x_return_status := OKC_API.G_RET_STS_SUCCESS;
230: l_ins_rec := get_rec(p_ins_rec, l_row_notfound);
231: IF (l_row_notfound) THEN
232: OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
233: x_return_status := OKC_API.G_RET_STS_ERROR;
228: BEGIN
229: x_return_status := OKC_API.G_RET_STS_SUCCESS;
230: l_ins_rec := get_rec(p_ins_rec, l_row_notfound);
231: IF (l_row_notfound) THEN
232: OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
233: x_return_status := OKC_API.G_RET_STS_ERROR;
234: END IF;
235: RETURN(l_ins_rec);
236: END get_rec;
229: x_return_status := OKC_API.G_RET_STS_SUCCESS;
230: l_ins_rec := get_rec(p_ins_rec, l_row_notfound);
231: IF (l_row_notfound) THEN
232: OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
233: x_return_status := OKC_API.G_RET_STS_ERROR;
234: END IF;
235: RETURN(l_ins_rec);
236: END get_rec;
237: -----------------------------------------------------------
251: p_insv_rec IN insv_rec_type
252: ) RETURN insv_rec_type IS
253: l_insv_rec insv_rec_type := p_insv_rec;
254: BEGIN
255: IF (l_insv_rec.id = OKC_API.G_MISS_NUM ) THEN
256: l_insv_rec.id := NULL;
257: END IF;
258: IF (l_insv_rec.instance_id = OKC_API.G_MISS_NUM ) THEN
259: l_insv_rec.instance_id := NULL;
254: BEGIN
255: IF (l_insv_rec.id = OKC_API.G_MISS_NUM ) THEN
256: l_insv_rec.id := NULL;
257: END IF;
258: IF (l_insv_rec.instance_id = OKC_API.G_MISS_NUM ) THEN
259: l_insv_rec.instance_id := NULL;
260: END IF;
261: IF (l_insv_rec.transaction_type = OKC_API.G_MISS_CHAR ) THEN
262: l_insv_rec.transaction_type := NULL;
257: END IF;
258: IF (l_insv_rec.instance_id = OKC_API.G_MISS_NUM ) THEN
259: l_insv_rec.instance_id := NULL;
260: END IF;
261: IF (l_insv_rec.transaction_type = OKC_API.G_MISS_CHAR ) THEN
262: l_insv_rec.transaction_type := NULL;
263: END IF;
264: IF (l_insv_rec.transaction_date = OKC_API.G_MISS_DATE ) THEN
265: l_insv_rec.transaction_date := NULL;
260: END IF;
261: IF (l_insv_rec.transaction_type = OKC_API.G_MISS_CHAR ) THEN
262: l_insv_rec.transaction_type := NULL;
263: END IF;
264: IF (l_insv_rec.transaction_date = OKC_API.G_MISS_DATE ) THEN
265: l_insv_rec.transaction_date := NULL;
266: END IF;
267: IF (l_insv_rec.reference_number = OKC_API.G_MISS_CHAR ) THEN
268: l_insv_rec.reference_number := NULL;
263: END IF;
264: IF (l_insv_rec.transaction_date = OKC_API.G_MISS_DATE ) THEN
265: l_insv_rec.transaction_date := NULL;
266: END IF;
267: IF (l_insv_rec.reference_number = OKC_API.G_MISS_CHAR ) THEN
268: l_insv_rec.reference_number := NULL;
269: END IF;
270: IF (l_insv_rec.parameters = OKC_API.G_MISS_CHAR ) THEN
271: l_insv_rec.parameters := NULL;
266: END IF;
267: IF (l_insv_rec.reference_number = OKC_API.G_MISS_CHAR ) THEN
268: l_insv_rec.reference_number := NULL;
269: END IF;
270: IF (l_insv_rec.parameters = OKC_API.G_MISS_CHAR ) THEN
271: l_insv_rec.parameters := NULL;
272: END IF;
273: IF (l_insv_rec.created_by = OKC_API.G_MISS_NUM ) THEN
274: l_insv_rec.created_by := NULL;
269: END IF;
270: IF (l_insv_rec.parameters = OKC_API.G_MISS_CHAR ) THEN
271: l_insv_rec.parameters := NULL;
272: END IF;
273: IF (l_insv_rec.created_by = OKC_API.G_MISS_NUM ) THEN
274: l_insv_rec.created_by := NULL;
275: END IF;
276: IF (l_insv_rec.creation_date = OKC_API.G_MISS_DATE ) THEN
277: l_insv_rec.creation_date := NULL;
272: END IF;
273: IF (l_insv_rec.created_by = OKC_API.G_MISS_NUM ) THEN
274: l_insv_rec.created_by := NULL;
275: END IF;
276: IF (l_insv_rec.creation_date = OKC_API.G_MISS_DATE ) THEN
277: l_insv_rec.creation_date := NULL;
278: END IF;
279: IF (l_insv_rec.last_updated_by = OKC_API.G_MISS_NUM ) THEN
280: l_insv_rec.last_updated_by := NULL;
275: END IF;
276: IF (l_insv_rec.creation_date = OKC_API.G_MISS_DATE ) THEN
277: l_insv_rec.creation_date := NULL;
278: END IF;
279: IF (l_insv_rec.last_updated_by = OKC_API.G_MISS_NUM ) THEN
280: l_insv_rec.last_updated_by := NULL;
281: END IF;
282: IF (l_insv_rec.last_update_date = OKC_API.G_MISS_DATE ) THEN
283: l_insv_rec.last_update_date := NULL;
278: END IF;
279: IF (l_insv_rec.last_updated_by = OKC_API.G_MISS_NUM ) THEN
280: l_insv_rec.last_updated_by := NULL;
281: END IF;
282: IF (l_insv_rec.last_update_date = OKC_API.G_MISS_DATE ) THEN
283: l_insv_rec.last_update_date := NULL;
284: END IF;
285: IF (l_insv_rec.last_update_login = OKC_API.G_MISS_NUM ) THEN
286: l_insv_rec.last_update_login := NULL;
281: END IF;
282: IF (l_insv_rec.last_update_date = OKC_API.G_MISS_DATE ) THEN
283: l_insv_rec.last_update_date := NULL;
284: END IF;
285: IF (l_insv_rec.last_update_login = OKC_API.G_MISS_NUM ) THEN
286: l_insv_rec.last_update_login := NULL;
287: END IF;
288: IF (l_insv_rec.object_version_number = OKC_API.G_MISS_NUM ) THEN
289: l_insv_rec.object_version_number := NULL;
284: END IF;
285: IF (l_insv_rec.last_update_login = OKC_API.G_MISS_NUM ) THEN
286: l_insv_rec.last_update_login := NULL;
287: END IF;
288: IF (l_insv_rec.object_version_number = OKC_API.G_MISS_NUM ) THEN
289: l_insv_rec.object_version_number := NULL;
290: END IF;
291: IF (l_insv_rec.security_group_id = OKC_API.G_MISS_NUM ) THEN
292: l_insv_rec.security_group_id := NULL;
287: END IF;
288: IF (l_insv_rec.object_version_number = OKC_API.G_MISS_NUM ) THEN
289: l_insv_rec.object_version_number := NULL;
290: END IF;
291: IF (l_insv_rec.security_group_id = OKC_API.G_MISS_NUM ) THEN
292: l_insv_rec.security_group_id := NULL;
293: END IF;
294: RETURN(l_insv_rec);
295: END null_out_defaults;
299: PROCEDURE validate_id(
300: x_return_status OUT NOCOPY VARCHAR2,
301: p_id IN NUMBER) IS
302: BEGIN
303: x_return_status := OKC_API.G_RET_STS_SUCCESS;
304: IF (p_id = OKC_API.G_MISS_NUM OR
305: p_id IS NULL)
306: THEN
307: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'id');
300: x_return_status OUT NOCOPY VARCHAR2,
301: p_id IN NUMBER) IS
302: BEGIN
303: x_return_status := OKC_API.G_RET_STS_SUCCESS;
304: IF (p_id = OKC_API.G_MISS_NUM OR
305: p_id IS NULL)
306: THEN
307: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'id');
308: x_return_status := OKC_API.G_RET_STS_ERROR;
303: x_return_status := OKC_API.G_RET_STS_SUCCESS;
304: IF (p_id = OKC_API.G_MISS_NUM OR
305: p_id IS NULL)
306: THEN
307: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'id');
308: x_return_status := OKC_API.G_RET_STS_ERROR;
309: RAISE G_EXCEPTION_HALT_VALIDATION;
310: END IF;
311: EXCEPTION
304: IF (p_id = OKC_API.G_MISS_NUM OR
305: p_id IS NULL)
306: THEN
307: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'id');
308: x_return_status := OKC_API.G_RET_STS_ERROR;
309: RAISE G_EXCEPTION_HALT_VALIDATION;
310: END IF;
311: EXCEPTION
312: WHEN G_EXCEPTION_HALT_VALIDATION THEN
311: EXCEPTION
312: WHEN G_EXCEPTION_HALT_VALIDATION THEN
313: null;
314: WHEN OTHERS THEN
315: OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
316: ,p_msg_name => G_UNEXPECTED_ERROR
317: ,p_token1 => G_SQLCODE_TOKEN
318: ,p_token1_value => SQLCODE
319: ,p_token2 => G_SQLERRM_TOKEN
317: ,p_token1 => G_SQLCODE_TOKEN
318: ,p_token1_value => SQLCODE
319: ,p_token2 => G_SQLERRM_TOKEN
320: ,p_token2_value => SQLERRM);
321: x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
322: END validate_id;
323: ----------------------------------------------------
324: -- Validate_Attributes for: OBJECT_VERSION_NUMBER --
325: ----------------------------------------------------
326: PROCEDURE validate_object_version_number(
327: x_return_status OUT NOCOPY VARCHAR2,
328: p_object_version_number IN NUMBER) IS
329: BEGIN
330: x_return_status := OKC_API.G_RET_STS_SUCCESS;
331: IF (p_object_version_number = OKC_API.G_MISS_NUM OR
332: p_object_version_number IS NULL)
333: THEN
334: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'object_version_number');
327: x_return_status OUT NOCOPY VARCHAR2,
328: p_object_version_number IN NUMBER) IS
329: BEGIN
330: x_return_status := OKC_API.G_RET_STS_SUCCESS;
331: IF (p_object_version_number = OKC_API.G_MISS_NUM OR
332: p_object_version_number IS NULL)
333: THEN
334: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'object_version_number');
335: x_return_status := OKC_API.G_RET_STS_ERROR;
330: x_return_status := OKC_API.G_RET_STS_SUCCESS;
331: IF (p_object_version_number = OKC_API.G_MISS_NUM OR
332: p_object_version_number IS NULL)
333: THEN
334: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'object_version_number');
335: x_return_status := OKC_API.G_RET_STS_ERROR;
336: RAISE G_EXCEPTION_HALT_VALIDATION;
337: END IF;
338: EXCEPTION
331: IF (p_object_version_number = OKC_API.G_MISS_NUM OR
332: p_object_version_number IS NULL)
333: THEN
334: OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'object_version_number');
335: x_return_status := OKC_API.G_RET_STS_ERROR;
336: RAISE G_EXCEPTION_HALT_VALIDATION;
337: END IF;
338: EXCEPTION
339: WHEN G_EXCEPTION_HALT_VALIDATION THEN
338: EXCEPTION
339: WHEN G_EXCEPTION_HALT_VALIDATION THEN
340: null;
341: WHEN OTHERS THEN
342: OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
343: ,p_msg_name => G_UNEXPECTED_ERROR
344: ,p_token1 => G_SQLCODE_TOKEN
345: ,p_token1_value => SQLCODE
346: ,p_token2 => G_SQLERRM_TOKEN
344: ,p_token1 => G_SQLCODE_TOKEN
345: ,p_token1_value => SQLCODE
346: ,p_token2 => G_SQLERRM_TOKEN
347: ,p_token2_value => SQLERRM);
348: x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
349: END validate_object_version_number;
350: ---------------------------------------------------------------------------
351: -- FUNCTION Validate_Attributes
352: ---------------------------------------------------------------------------
355: ----------------------------------------------------
356: FUNCTION Validate_Attributes (
357: p_insv_rec IN insv_rec_type
358: ) RETURN VARCHAR2 IS
359: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
360: x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
361: BEGIN
362: -----------------------------
363: -- Column Level Validation --
356: FUNCTION Validate_Attributes (
357: p_insv_rec IN insv_rec_type
358: ) RETURN VARCHAR2 IS
359: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
360: x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
361: BEGIN
362: -----------------------------
363: -- Column Level Validation --
364: -----------------------------
365: -- ***
366: -- id
367: -- ***
368: validate_id(x_return_status, p_insv_rec.id);
369: IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
370: l_return_status := x_return_status;
371: RAISE G_EXCEPTION_HALT_VALIDATION;
372: END IF;
373:
374: -- ***
375: -- object_version_number
376: -- ***
377: validate_object_version_number(x_return_status, p_insv_rec.object_version_number);
378: IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
379: l_return_status := x_return_status;
380: RAISE G_EXCEPTION_HALT_VALIDATION;
381: END IF;
382:
384: EXCEPTION
385: WHEN G_EXCEPTION_HALT_VALIDATION THEN
386: RETURN(l_return_status);
387: WHEN OTHERS THEN
388: OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
389: ,p_msg_name => G_UNEXPECTED_ERROR
390: ,p_token1 => G_SQLCODE_TOKEN
391: ,p_token1_value => SQLCODE
392: ,p_token2 => G_SQLERRM_TOKEN
390: ,p_token1 => G_SQLCODE_TOKEN
391: ,p_token1_value => SQLCODE
392: ,p_token2 => G_SQLERRM_TOKEN
393: ,p_token2_value => SQLERRM);
394: l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
395: RETURN(l_return_status);
396: END Validate_Attributes;
397: ---------------------------------------------------------------------------
398: -- PROCEDURE Validate_Record
403: FUNCTION Validate_Record (
404: p_insv_rec IN insv_rec_type,
405: p_db_insv_rec IN insv_rec_type
406: ) RETURN VARCHAR2 IS
407: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
408: BEGIN
409: RETURN (l_return_status);
410: END Validate_Record;
411: FUNCTION Validate_Record (
410: END Validate_Record;
411: FUNCTION Validate_Record (
412: p_insv_rec IN insv_rec_type
413: ) RETURN VARCHAR2 IS
414: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
415: l_db_insv_rec insv_rec_type := get_rec(p_insv_rec);
416: BEGIN
417: l_return_status := Validate_Record(p_insv_rec => p_insv_rec,
418: p_db_insv_rec => l_db_insv_rec);
473: p_insv_rec IN insv_rec_type) IS
474:
475: l_api_version CONSTANT NUMBER := 1;
476: l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
477: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
478: l_insv_rec insv_rec_type := p_insv_rec;
479: l_ins_rec ins_rec_type;
480: l_ins_rec ins_rec_type;
481: BEGIN
478: l_insv_rec insv_rec_type := p_insv_rec;
479: l_ins_rec ins_rec_type;
480: l_ins_rec ins_rec_type;
481: BEGIN
482: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
483: G_PKG_NAME,
484: p_init_msg_list,
485: l_api_version,
486: p_api_version,
485: l_api_version,
486: p_api_version,
487: '_PVT',
488: x_return_status);
489: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
490: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
491: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
492: RAISE OKC_API.G_EXCEPTION_ERROR;
493: END IF;
486: p_api_version,
487: '_PVT',
488: x_return_status);
489: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
490: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
491: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
492: RAISE OKC_API.G_EXCEPTION_ERROR;
493: END IF;
494: --- Validate all non-missing attributes (Item Level Validation)
487: '_PVT',
488: x_return_status);
489: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
490: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
491: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
492: RAISE OKC_API.G_EXCEPTION_ERROR;
493: END IF;
494: --- Validate all non-missing attributes (Item Level Validation)
495: l_return_status := Validate_Attributes(l_insv_rec);
488: x_return_status);
489: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
490: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
491: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
492: RAISE OKC_API.G_EXCEPTION_ERROR;
493: END IF;
494: --- Validate all non-missing attributes (Item Level Validation)
495: l_return_status := Validate_Attributes(l_insv_rec);
496: --- If any errors happen abort API
493: END IF;
494: --- Validate all non-missing attributes (Item Level Validation)
495: l_return_status := Validate_Attributes(l_insv_rec);
496: --- If any errors happen abort API
497: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
498: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
499: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
500: RAISE OKC_API.G_EXCEPTION_ERROR;
501: END IF;
494: --- Validate all non-missing attributes (Item Level Validation)
495: l_return_status := Validate_Attributes(l_insv_rec);
496: --- If any errors happen abort API
497: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
498: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
499: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
500: RAISE OKC_API.G_EXCEPTION_ERROR;
501: END IF;
502: l_return_status := Validate_Record(l_insv_rec);
495: l_return_status := Validate_Attributes(l_insv_rec);
496: --- If any errors happen abort API
497: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
498: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
499: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
500: RAISE OKC_API.G_EXCEPTION_ERROR;
501: END IF;
502: l_return_status := Validate_Record(l_insv_rec);
503: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
496: --- If any errors happen abort API
497: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
498: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
499: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
500: RAISE OKC_API.G_EXCEPTION_ERROR;
501: END IF;
502: l_return_status := Validate_Record(l_insv_rec);
503: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
504: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
499: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
500: RAISE OKC_API.G_EXCEPTION_ERROR;
501: END IF;
502: l_return_status := Validate_Record(l_insv_rec);
503: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
504: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
505: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
506: RAISE OKC_API.G_EXCEPTION_ERROR;
507: END IF;
500: RAISE OKC_API.G_EXCEPTION_ERROR;
501: END IF;
502: l_return_status := Validate_Record(l_insv_rec);
503: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
504: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
505: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
506: RAISE OKC_API.G_EXCEPTION_ERROR;
507: END IF;
508: x_return_status := l_return_status;
501: END IF;
502: l_return_status := Validate_Record(l_insv_rec);
503: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
504: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
505: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
506: RAISE OKC_API.G_EXCEPTION_ERROR;
507: END IF;
508: x_return_status := l_return_status;
509: EXCEPTION
502: l_return_status := Validate_Record(l_insv_rec);
503: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
504: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
505: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
506: RAISE OKC_API.G_EXCEPTION_ERROR;
507: END IF;
508: x_return_status := l_return_status;
509: EXCEPTION
510: WHEN OKC_API.G_EXCEPTION_ERROR THEN
506: RAISE OKC_API.G_EXCEPTION_ERROR;
507: END IF;
508: x_return_status := l_return_status;
509: EXCEPTION
510: WHEN OKC_API.G_EXCEPTION_ERROR THEN
511: x_return_status := OKC_API.HANDLE_EXCEPTIONS
512: (
513: l_api_name,
514: G_PKG_NAME,
507: END IF;
508: x_return_status := l_return_status;
509: EXCEPTION
510: WHEN OKC_API.G_EXCEPTION_ERROR THEN
511: x_return_status := OKC_API.HANDLE_EXCEPTIONS
512: (
513: l_api_name,
514: G_PKG_NAME,
515: 'OKC_API.G_RET_STS_ERROR',
511: x_return_status := OKC_API.HANDLE_EXCEPTIONS
512: (
513: l_api_name,
514: G_PKG_NAME,
515: 'OKC_API.G_RET_STS_ERROR',
516: x_msg_count,
517: x_msg_data,
518: '_PVT'
519: );
516: x_msg_count,
517: x_msg_data,
518: '_PVT'
519: );
520: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
521: x_return_status := OKC_API.HANDLE_EXCEPTIONS
522: (
523: l_api_name,
524: G_PKG_NAME,
517: x_msg_data,
518: '_PVT'
519: );
520: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
521: x_return_status := OKC_API.HANDLE_EXCEPTIONS
522: (
523: l_api_name,
524: G_PKG_NAME,
525: 'OKC_API.G_RET_STS_UNEXP_ERROR',
521: x_return_status := OKC_API.HANDLE_EXCEPTIONS
522: (
523: l_api_name,
524: G_PKG_NAME,
525: 'OKC_API.G_RET_STS_UNEXP_ERROR',
526: x_msg_count,
527: x_msg_data,
528: '_PVT'
529: );
527: x_msg_data,
528: '_PVT'
529: );
530: WHEN OTHERS THEN
531: x_return_status := OKC_API.HANDLE_EXCEPTIONS
532: (
533: l_api_name,
534: G_PKG_NAME,
535: 'OTHERS',
547: x_return_status OUT NOCOPY VARCHAR2,
548: x_msg_count OUT NOCOPY NUMBER,
549: x_msg_data OUT NOCOPY VARCHAR2,
550: p_insv_tbl IN insv_tbl_type,
551: px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
552:
553: l_api_version CONSTANT NUMBER := 1;
554: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
555: i NUMBER := 0;
553: l_api_version CONSTANT NUMBER := 1;
554: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
555: i NUMBER := 0;
556: BEGIN
557: OKC_API.init_msg_list(p_init_msg_list);
558: -- Make sure PL/SQL table has records in it before passing
559: IF (p_insv_tbl.COUNT > 0) THEN
560: i := p_insv_tbl.FIRST;
561: LOOP
559: IF (p_insv_tbl.COUNT > 0) THEN
560: i := p_insv_tbl.FIRST;
561: LOOP
562: DECLARE
563: l_error_rec OKC_API.ERROR_REC_TYPE;
564: BEGIN
565: l_error_rec.api_name := l_api_name;
566: l_error_rec.api_package := G_PKG_NAME;
567: l_error_rec.idx := i;
566: l_error_rec.api_package := G_PKG_NAME;
567: l_error_rec.idx := i;
568: validate_row (
569: p_api_version => p_api_version,
570: p_init_msg_list => OKC_API.G_FALSE,
571: x_return_status => l_error_rec.error_type,
572: x_msg_count => l_error_rec.msg_count,
573: x_msg_data => l_error_rec.msg_data,
574: p_insv_rec => p_insv_tbl(i));
571: x_return_status => l_error_rec.error_type,
572: x_msg_count => l_error_rec.msg_count,
573: x_msg_data => l_error_rec.msg_data,
574: p_insv_rec => p_insv_tbl(i));
575: IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
576: l_error_rec.sqlcode := SQLCODE;
577: load_error_tbl(l_error_rec, px_error_tbl);
578: ELSE
579: x_msg_count := l_error_rec.msg_count;
579: x_msg_count := l_error_rec.msg_count;
580: x_msg_data := l_error_rec.msg_data;
581: END IF;
582: EXCEPTION
583: WHEN OKC_API.G_EXCEPTION_ERROR THEN
584: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
585: l_error_rec.sqlcode := SQLCODE;
586: load_error_tbl(l_error_rec, px_error_tbl);
587: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
580: x_msg_data := l_error_rec.msg_data;
581: END IF;
582: EXCEPTION
583: WHEN OKC_API.G_EXCEPTION_ERROR THEN
584: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
585: l_error_rec.sqlcode := SQLCODE;
586: load_error_tbl(l_error_rec, px_error_tbl);
587: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
588: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
583: WHEN OKC_API.G_EXCEPTION_ERROR THEN
584: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
585: l_error_rec.sqlcode := SQLCODE;
586: load_error_tbl(l_error_rec, px_error_tbl);
587: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
588: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
589: l_error_rec.sqlcode := SQLCODE;
590: load_error_tbl(l_error_rec, px_error_tbl);
591: WHEN OTHERS THEN
584: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
585: l_error_rec.sqlcode := SQLCODE;
586: load_error_tbl(l_error_rec, px_error_tbl);
587: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
588: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
589: l_error_rec.sqlcode := SQLCODE;
590: load_error_tbl(l_error_rec, px_error_tbl);
591: WHEN OTHERS THEN
592: l_error_rec.error_type := 'OTHERS';
599: END IF;
600: -- Loop through the error_tbl to find the error with the highest severity
601: -- and return it.
602: x_return_status := find_highest_exception(px_error_tbl);
603: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
604: EXCEPTION
605: WHEN OKC_API.G_EXCEPTION_ERROR THEN
606: x_return_status := OKC_API.HANDLE_EXCEPTIONS
607: (
601: -- and return it.
602: x_return_status := find_highest_exception(px_error_tbl);
603: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
604: EXCEPTION
605: WHEN OKC_API.G_EXCEPTION_ERROR THEN
606: x_return_status := OKC_API.HANDLE_EXCEPTIONS
607: (
608: l_api_name,
609: G_PKG_NAME,
602: x_return_status := find_highest_exception(px_error_tbl);
603: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
604: EXCEPTION
605: WHEN OKC_API.G_EXCEPTION_ERROR THEN
606: x_return_status := OKC_API.HANDLE_EXCEPTIONS
607: (
608: l_api_name,
609: G_PKG_NAME,
610: 'OKC_API.G_RET_STS_ERROR',
606: x_return_status := OKC_API.HANDLE_EXCEPTIONS
607: (
608: l_api_name,
609: G_PKG_NAME,
610: 'OKC_API.G_RET_STS_ERROR',
611: x_msg_count,
612: x_msg_data,
613: '_PVT'
614: );
611: x_msg_count,
612: x_msg_data,
613: '_PVT'
614: );
615: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
616: x_return_status := OKC_API.HANDLE_EXCEPTIONS
617: (
618: l_api_name,
619: G_PKG_NAME,
612: x_msg_data,
613: '_PVT'
614: );
615: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
616: x_return_status := OKC_API.HANDLE_EXCEPTIONS
617: (
618: l_api_name,
619: G_PKG_NAME,
620: 'OKC_API.G_RET_STS_UNEXP_ERROR',
616: x_return_status := OKC_API.HANDLE_EXCEPTIONS
617: (
618: l_api_name,
619: G_PKG_NAME,
620: 'OKC_API.G_RET_STS_UNEXP_ERROR',
621: x_msg_count,
622: x_msg_data,
623: '_PVT'
624: );
622: x_msg_data,
623: '_PVT'
624: );
625: WHEN OTHERS THEN
626: x_return_status := OKC_API.HANDLE_EXCEPTIONS
627: (
628: l_api_name,
629: G_PKG_NAME,
630: 'OTHERS',
646: p_insv_tbl IN insv_tbl_type) IS
647:
648: l_api_version CONSTANT NUMBER := 1;
649: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
650: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
651: l_error_tbl OKC_API.ERROR_TBL_TYPE;
652: BEGIN
653: OKC_API.init_msg_list(p_init_msg_list);
654: -- Make sure PL/SQL table has records in it before passing
647:
648: l_api_version CONSTANT NUMBER := 1;
649: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
650: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
651: l_error_tbl OKC_API.ERROR_TBL_TYPE;
652: BEGIN
653: OKC_API.init_msg_list(p_init_msg_list);
654: -- Make sure PL/SQL table has records in it before passing
655: IF (p_insv_tbl.COUNT > 0) THEN
649: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
650: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
651: l_error_tbl OKC_API.ERROR_TBL_TYPE;
652: BEGIN
653: OKC_API.init_msg_list(p_init_msg_list);
654: -- Make sure PL/SQL table has records in it before passing
655: IF (p_insv_tbl.COUNT > 0) THEN
656: validate_row (
657: p_api_version => p_api_version,
654: -- Make sure PL/SQL table has records in it before passing
655: IF (p_insv_tbl.COUNT > 0) THEN
656: validate_row (
657: p_api_version => p_api_version,
658: p_init_msg_list => OKC_API.G_FALSE,
659: x_return_status => x_return_status,
660: x_msg_count => x_msg_count,
661: x_msg_data => x_msg_data,
662: p_insv_tbl => p_insv_tbl,
661: x_msg_data => x_msg_data,
662: p_insv_tbl => p_insv_tbl,
663: px_error_tbl => l_error_tbl);
664: END IF;
665: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
666: EXCEPTION
667: WHEN OKC_API.G_EXCEPTION_ERROR THEN
668: x_return_status := OKC_API.HANDLE_EXCEPTIONS
669: (
663: px_error_tbl => l_error_tbl);
664: END IF;
665: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
666: EXCEPTION
667: WHEN OKC_API.G_EXCEPTION_ERROR THEN
668: x_return_status := OKC_API.HANDLE_EXCEPTIONS
669: (
670: l_api_name,
671: G_PKG_NAME,
664: END IF;
665: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
666: EXCEPTION
667: WHEN OKC_API.G_EXCEPTION_ERROR THEN
668: x_return_status := OKC_API.HANDLE_EXCEPTIONS
669: (
670: l_api_name,
671: G_PKG_NAME,
672: 'OKC_API.G_RET_STS_ERROR',
668: x_return_status := OKC_API.HANDLE_EXCEPTIONS
669: (
670: l_api_name,
671: G_PKG_NAME,
672: 'OKC_API.G_RET_STS_ERROR',
673: x_msg_count,
674: x_msg_data,
675: '_PVT'
676: );
673: x_msg_count,
674: x_msg_data,
675: '_PVT'
676: );
677: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
678: x_return_status := OKC_API.HANDLE_EXCEPTIONS
679: (
680: l_api_name,
681: G_PKG_NAME,
674: x_msg_data,
675: '_PVT'
676: );
677: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
678: x_return_status := OKC_API.HANDLE_EXCEPTIONS
679: (
680: l_api_name,
681: G_PKG_NAME,
682: 'OKC_API.G_RET_STS_UNEXP_ERROR',
678: x_return_status := OKC_API.HANDLE_EXCEPTIONS
679: (
680: l_api_name,
681: G_PKG_NAME,
682: 'OKC_API.G_RET_STS_UNEXP_ERROR',
683: x_msg_count,
684: x_msg_data,
685: '_PVT'
686: );
684: x_msg_data,
685: '_PVT'
686: );
687: WHEN OTHERS THEN
688: x_return_status := OKC_API.HANDLE_EXCEPTIONS
689: (
690: l_api_name,
691: G_PKG_NAME,
692: 'OTHERS',
711: x_ins_rec OUT NOCOPY ins_rec_type) IS
712:
713: l_api_version CONSTANT NUMBER := 1;
714: l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
715: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
716: l_ins_rec ins_rec_type := p_ins_rec;
717: l_def_ins_rec ins_rec_type;
718: ---------------------------------------------
719: -- Set_Attributes for:OKS_INSTANCE_HISTORY --
721: FUNCTION Set_Attributes (
722: p_ins_rec IN ins_rec_type,
723: x_ins_rec OUT NOCOPY ins_rec_type
724: ) RETURN VARCHAR2 IS
725: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
726: BEGIN
727: x_ins_rec := p_ins_rec;
728: RETURN(l_return_status);
729: END Set_Attributes;
727: x_ins_rec := p_ins_rec;
728: RETURN(l_return_status);
729: END Set_Attributes;
730: BEGIN
731: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
732: p_init_msg_list,
733: '_PVT',
734: x_return_status);
735: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
731: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
732: p_init_msg_list,
733: '_PVT',
734: x_return_status);
735: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
736: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
737: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
738: RAISE OKC_API.G_EXCEPTION_ERROR;
739: END IF;
732: p_init_msg_list,
733: '_PVT',
734: x_return_status);
735: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
736: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
737: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
738: RAISE OKC_API.G_EXCEPTION_ERROR;
739: END IF;
740: --- Setting item atributes
733: '_PVT',
734: x_return_status);
735: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
736: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
737: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
738: RAISE OKC_API.G_EXCEPTION_ERROR;
739: END IF;
740: --- Setting item atributes
741: l_return_status := Set_Attributes(
734: x_return_status);
735: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
736: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
737: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
738: RAISE OKC_API.G_EXCEPTION_ERROR;
739: END IF;
740: --- Setting item atributes
741: l_return_status := Set_Attributes(
742: p_ins_rec, -- IN
741: l_return_status := Set_Attributes(
742: p_ins_rec, -- IN
743: l_ins_rec); -- OUT
744: --- If any errors happen abort API
745: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
746: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
747: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
748: RAISE OKC_API.G_EXCEPTION_ERROR;
749: END IF;
742: p_ins_rec, -- IN
743: l_ins_rec); -- OUT
744: --- If any errors happen abort API
745: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
746: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
747: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
748: RAISE OKC_API.G_EXCEPTION_ERROR;
749: END IF;
750: INSERT INTO OKS_INSTANCE_HISTORY(
743: l_ins_rec); -- OUT
744: --- If any errors happen abort API
745: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
746: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
747: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
748: RAISE OKC_API.G_EXCEPTION_ERROR;
749: END IF;
750: INSERT INTO OKS_INSTANCE_HISTORY(
751: id,
744: --- If any errors happen abort API
745: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
746: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
747: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
748: RAISE OKC_API.G_EXCEPTION_ERROR;
749: END IF;
750: INSERT INTO OKS_INSTANCE_HISTORY(
751: id,
752: instance_id,
777: l_ins_rec.batch_id);
778: -- Set OUT values
779: x_ins_rec := l_ins_rec;
780: x_return_status := l_return_status;
781: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
782: EXCEPTION
783: WHEN OKC_API.G_EXCEPTION_ERROR THEN
784: x_return_status := OKC_API.HANDLE_EXCEPTIONS
785: (
779: x_ins_rec := l_ins_rec;
780: x_return_status := l_return_status;
781: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
782: EXCEPTION
783: WHEN OKC_API.G_EXCEPTION_ERROR THEN
784: x_return_status := OKC_API.HANDLE_EXCEPTIONS
785: (
786: l_api_name,
787: G_PKG_NAME,
780: x_return_status := l_return_status;
781: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
782: EXCEPTION
783: WHEN OKC_API.G_EXCEPTION_ERROR THEN
784: x_return_status := OKC_API.HANDLE_EXCEPTIONS
785: (
786: l_api_name,
787: G_PKG_NAME,
788: 'OKC_API.G_RET_STS_ERROR',
784: x_return_status := OKC_API.HANDLE_EXCEPTIONS
785: (
786: l_api_name,
787: G_PKG_NAME,
788: 'OKC_API.G_RET_STS_ERROR',
789: x_msg_count,
790: x_msg_data,
791: '_PVT'
792: );
789: x_msg_count,
790: x_msg_data,
791: '_PVT'
792: );
793: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
794: x_return_status := OKC_API.HANDLE_EXCEPTIONS
795: (
796: l_api_name,
797: G_PKG_NAME,
790: x_msg_data,
791: '_PVT'
792: );
793: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
794: x_return_status := OKC_API.HANDLE_EXCEPTIONS
795: (
796: l_api_name,
797: G_PKG_NAME,
798: 'OKC_API.G_RET_STS_UNEXP_ERROR',
794: x_return_status := OKC_API.HANDLE_EXCEPTIONS
795: (
796: l_api_name,
797: G_PKG_NAME,
798: 'OKC_API.G_RET_STS_UNEXP_ERROR',
799: x_msg_count,
800: x_msg_data,
801: '_PVT'
802: );
800: x_msg_data,
801: '_PVT'
802: );
803: WHEN OTHERS THEN
804: x_return_status := OKC_API.HANDLE_EXCEPTIONS
805: (
806: l_api_name,
807: G_PKG_NAME,
808: 'OTHERS',
824: x_insv_rec OUT NOCOPY insv_rec_type) IS
825:
826: l_api_version CONSTANT NUMBER := 1;
827: l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
828: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
829: l_insv_rec insv_rec_type := p_insv_rec;
830: l_def_insv_rec insv_rec_type;
831: l_ins_rec ins_rec_type;
832: lx_ins_rec ins_rec_type;
851: FUNCTION Set_Attributes (
852: p_insv_rec IN insv_rec_type,
853: x_insv_rec OUT NOCOPY insv_rec_type
854: ) RETURN VARCHAR2 IS
855: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
856: BEGIN
857: x_insv_rec := p_insv_rec;
858: x_insv_rec.OBJECT_VERSION_NUMBER := 1;
859: RETURN(l_return_status);
858: x_insv_rec.OBJECT_VERSION_NUMBER := 1;
859: RETURN(l_return_status);
860: END Set_Attributes;
861: BEGIN
862: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
863: G_PKG_NAME,
864: p_init_msg_list,
865: l_api_version,
866: p_api_version,
865: l_api_version,
866: p_api_version,
867: '_PVT',
868: x_return_status);
869: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
870: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
872: RAISE OKC_API.G_EXCEPTION_ERROR;
873: END IF;
866: p_api_version,
867: '_PVT',
868: x_return_status);
869: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
870: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
872: RAISE OKC_API.G_EXCEPTION_ERROR;
873: END IF;
874: l_insv_rec := null_out_defaults(p_insv_rec);
867: '_PVT',
868: x_return_status);
869: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
870: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
872: RAISE OKC_API.G_EXCEPTION_ERROR;
873: END IF;
874: l_insv_rec := null_out_defaults(p_insv_rec);
875: -- Set primary key value
868: x_return_status);
869: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
870: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
872: RAISE OKC_API.G_EXCEPTION_ERROR;
873: END IF;
874: l_insv_rec := null_out_defaults(p_insv_rec);
875: -- Set primary key value
876: l_insv_rec.ID := get_seq_id;
878: l_return_Status := Set_Attributes(
879: l_insv_rec, -- IN
880: l_def_insv_rec); -- OUT
881: --- If any errors happen abort API
882: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
883: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
884: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
885: RAISE OKC_API.G_EXCEPTION_ERROR;
886: END IF;
879: l_insv_rec, -- IN
880: l_def_insv_rec); -- OUT
881: --- If any errors happen abort API
882: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
883: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
884: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
885: RAISE OKC_API.G_EXCEPTION_ERROR;
886: END IF;
887: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
880: l_def_insv_rec); -- OUT
881: --- If any errors happen abort API
882: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
883: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
884: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
885: RAISE OKC_API.G_EXCEPTION_ERROR;
886: END IF;
887: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
888: --- Validate all non-missing attributes (Item Level Validation)
881: --- If any errors happen abort API
882: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
883: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
884: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
885: RAISE OKC_API.G_EXCEPTION_ERROR;
886: END IF;
887: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
888: --- Validate all non-missing attributes (Item Level Validation)
889: l_return_status := Validate_Attributes(l_def_insv_rec);
887: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
888: --- Validate all non-missing attributes (Item Level Validation)
889: l_return_status := Validate_Attributes(l_def_insv_rec);
890: --- If any errors happen abort API
891: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
894: RAISE OKC_API.G_EXCEPTION_ERROR;
895: END IF;
888: --- Validate all non-missing attributes (Item Level Validation)
889: l_return_status := Validate_Attributes(l_def_insv_rec);
890: --- If any errors happen abort API
891: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
894: RAISE OKC_API.G_EXCEPTION_ERROR;
895: END IF;
896: l_return_status := Validate_Record(l_def_insv_rec);
889: l_return_status := Validate_Attributes(l_def_insv_rec);
890: --- If any errors happen abort API
891: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
894: RAISE OKC_API.G_EXCEPTION_ERROR;
895: END IF;
896: l_return_status := Validate_Record(l_def_insv_rec);
897: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
890: --- If any errors happen abort API
891: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
894: RAISE OKC_API.G_EXCEPTION_ERROR;
895: END IF;
896: l_return_status := Validate_Record(l_def_insv_rec);
897: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
898: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
894: RAISE OKC_API.G_EXCEPTION_ERROR;
895: END IF;
896: l_return_status := Validate_Record(l_def_insv_rec);
897: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
898: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
899: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
900: RAISE OKC_API.G_EXCEPTION_ERROR;
901: END IF;
894: RAISE OKC_API.G_EXCEPTION_ERROR;
895: END IF;
896: l_return_status := Validate_Record(l_def_insv_rec);
897: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
898: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
899: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
900: RAISE OKC_API.G_EXCEPTION_ERROR;
901: END IF;
902: -----------------------------------------
895: END IF;
896: l_return_status := Validate_Record(l_def_insv_rec);
897: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
898: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
899: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
900: RAISE OKC_API.G_EXCEPTION_ERROR;
901: END IF;
902: -----------------------------------------
903: -- Move VIEW record to "Child" records --
896: l_return_status := Validate_Record(l_def_insv_rec);
897: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
898: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
899: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
900: RAISE OKC_API.G_EXCEPTION_ERROR;
901: END IF;
902: -----------------------------------------
903: -- Move VIEW record to "Child" records --
904: -----------------------------------------
913: x_msg_data,
914: l_ins_rec,
915: lx_ins_rec
916: );
917: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
918: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
919: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
920: RAISE OKC_API.G_EXCEPTION_ERROR;
921: END IF;
914: l_ins_rec,
915: lx_ins_rec
916: );
917: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
918: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
919: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
920: RAISE OKC_API.G_EXCEPTION_ERROR;
921: END IF;
922: migrate(lx_ins_rec, l_def_insv_rec);
915: lx_ins_rec
916: );
917: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
918: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
919: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
920: RAISE OKC_API.G_EXCEPTION_ERROR;
921: END IF;
922: migrate(lx_ins_rec, l_def_insv_rec);
923: -- Set OUT values
916: );
917: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
918: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
919: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
920: RAISE OKC_API.G_EXCEPTION_ERROR;
921: END IF;
922: migrate(lx_ins_rec, l_def_insv_rec);
923: -- Set OUT values
924: x_insv_rec := l_def_insv_rec;
922: migrate(lx_ins_rec, l_def_insv_rec);
923: -- Set OUT values
924: x_insv_rec := l_def_insv_rec;
925: x_return_status := l_return_status;
926: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
927: EXCEPTION
928: WHEN OKC_API.G_EXCEPTION_ERROR THEN
929: x_return_status := OKC_API.HANDLE_EXCEPTIONS
930: (
924: x_insv_rec := l_def_insv_rec;
925: x_return_status := l_return_status;
926: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
927: EXCEPTION
928: WHEN OKC_API.G_EXCEPTION_ERROR THEN
929: x_return_status := OKC_API.HANDLE_EXCEPTIONS
930: (
931: l_api_name,
932: G_PKG_NAME,
925: x_return_status := l_return_status;
926: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
927: EXCEPTION
928: WHEN OKC_API.G_EXCEPTION_ERROR THEN
929: x_return_status := OKC_API.HANDLE_EXCEPTIONS
930: (
931: l_api_name,
932: G_PKG_NAME,
933: 'OKC_API.G_RET_STS_ERROR',
929: x_return_status := OKC_API.HANDLE_EXCEPTIONS
930: (
931: l_api_name,
932: G_PKG_NAME,
933: 'OKC_API.G_RET_STS_ERROR',
934: x_msg_count,
935: x_msg_data,
936: '_PVT'
937: );
934: x_msg_count,
935: x_msg_data,
936: '_PVT'
937: );
938: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
939: x_return_status := OKC_API.HANDLE_EXCEPTIONS
940: (
941: l_api_name,
942: G_PKG_NAME,
935: x_msg_data,
936: '_PVT'
937: );
938: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
939: x_return_status := OKC_API.HANDLE_EXCEPTIONS
940: (
941: l_api_name,
942: G_PKG_NAME,
943: 'OKC_API.G_RET_STS_UNEXP_ERROR',
939: x_return_status := OKC_API.HANDLE_EXCEPTIONS
940: (
941: l_api_name,
942: G_PKG_NAME,
943: 'OKC_API.G_RET_STS_UNEXP_ERROR',
944: x_msg_count,
945: x_msg_data,
946: '_PVT'
947: );
945: x_msg_data,
946: '_PVT'
947: );
948: WHEN OTHERS THEN
949: x_return_status := OKC_API.HANDLE_EXCEPTIONS
950: (
951: l_api_name,
952: G_PKG_NAME,
953: 'OTHERS',
966: x_msg_count OUT NOCOPY NUMBER,
967: x_msg_data OUT NOCOPY VARCHAR2,
968: p_insv_tbl IN insv_tbl_type,
969: x_insv_tbl OUT NOCOPY insv_tbl_type,
970: px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
971:
972: l_api_version CONSTANT NUMBER := 1;
973: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
974: i NUMBER := 0;
972: l_api_version CONSTANT NUMBER := 1;
973: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
974: i NUMBER := 0;
975: BEGIN
976: OKC_API.init_msg_list(p_init_msg_list);
977: -- Make sure PL/SQL table has records in it before passing
978: IF (p_insv_tbl.COUNT > 0) THEN
979: i := p_insv_tbl.FIRST;
980: LOOP
978: IF (p_insv_tbl.COUNT > 0) THEN
979: i := p_insv_tbl.FIRST;
980: LOOP
981: DECLARE
982: l_error_rec OKC_API.ERROR_REC_TYPE;
983: BEGIN
984: l_error_rec.api_name := l_api_name;
985: l_error_rec.api_package := G_PKG_NAME;
986: l_error_rec.idx := i;
985: l_error_rec.api_package := G_PKG_NAME;
986: l_error_rec.idx := i;
987: insert_row (
988: p_api_version => p_api_version,
989: p_init_msg_list => OKC_API.G_FALSE,
990: x_return_status => l_error_rec.error_type,
991: x_msg_count => l_error_rec.msg_count,
992: x_msg_data => l_error_rec.msg_data,
993: p_insv_rec => p_insv_tbl(i),
991: x_msg_count => l_error_rec.msg_count,
992: x_msg_data => l_error_rec.msg_data,
993: p_insv_rec => p_insv_tbl(i),
994: x_insv_rec => x_insv_tbl(i));
995: IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
996: l_error_rec.sqlcode := SQLCODE;
997: load_error_tbl(l_error_rec, px_error_tbl);
998: ELSE
999: x_msg_count := l_error_rec.msg_count;
999: x_msg_count := l_error_rec.msg_count;
1000: x_msg_data := l_error_rec.msg_data;
1001: END IF;
1002: EXCEPTION
1003: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1004: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1005: l_error_rec.sqlcode := SQLCODE;
1006: load_error_tbl(l_error_rec, px_error_tbl);
1007: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1000: x_msg_data := l_error_rec.msg_data;
1001: END IF;
1002: EXCEPTION
1003: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1004: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1005: l_error_rec.sqlcode := SQLCODE;
1006: load_error_tbl(l_error_rec, px_error_tbl);
1007: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1008: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1003: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1004: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1005: l_error_rec.sqlcode := SQLCODE;
1006: load_error_tbl(l_error_rec, px_error_tbl);
1007: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1008: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1009: l_error_rec.sqlcode := SQLCODE;
1010: load_error_tbl(l_error_rec, px_error_tbl);
1011: WHEN OTHERS THEN
1004: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1005: l_error_rec.sqlcode := SQLCODE;
1006: load_error_tbl(l_error_rec, px_error_tbl);
1007: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1008: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1009: l_error_rec.sqlcode := SQLCODE;
1010: load_error_tbl(l_error_rec, px_error_tbl);
1011: WHEN OTHERS THEN
1012: l_error_rec.error_type := 'OTHERS';
1019: END IF;
1020: -- Loop through the error_tbl to find the error with the highest severity
1021: -- and return it.
1022: x_return_status := find_highest_exception(px_error_tbl);
1023: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1024: EXCEPTION
1025: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1026: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1027: (
1021: -- and return it.
1022: x_return_status := find_highest_exception(px_error_tbl);
1023: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1024: EXCEPTION
1025: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1026: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1027: (
1028: l_api_name,
1029: G_PKG_NAME,
1022: x_return_status := find_highest_exception(px_error_tbl);
1023: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1024: EXCEPTION
1025: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1026: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1027: (
1028: l_api_name,
1029: G_PKG_NAME,
1030: 'OKC_API.G_RET_STS_ERROR',
1026: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1027: (
1028: l_api_name,
1029: G_PKG_NAME,
1030: 'OKC_API.G_RET_STS_ERROR',
1031: x_msg_count,
1032: x_msg_data,
1033: '_PVT'
1034: );
1031: x_msg_count,
1032: x_msg_data,
1033: '_PVT'
1034: );
1035: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1036: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1037: (
1038: l_api_name,
1039: G_PKG_NAME,
1032: x_msg_data,
1033: '_PVT'
1034: );
1035: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1036: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1037: (
1038: l_api_name,
1039: G_PKG_NAME,
1040: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1036: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1037: (
1038: l_api_name,
1039: G_PKG_NAME,
1040: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1041: x_msg_count,
1042: x_msg_data,
1043: '_PVT'
1044: );
1042: x_msg_data,
1043: '_PVT'
1044: );
1045: WHEN OTHERS THEN
1046: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1047: (
1048: l_api_name,
1049: G_PKG_NAME,
1050: 'OTHERS',
1069: x_insv_tbl OUT NOCOPY insv_tbl_type) IS
1070:
1071: l_api_version CONSTANT NUMBER := 1;
1072: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1073: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1074: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1075: BEGIN
1076: OKC_API.init_msg_list(p_init_msg_list);
1077: -- Make sure PL/SQL table has records in it before passing
1070:
1071: l_api_version CONSTANT NUMBER := 1;
1072: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1073: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1074: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1075: BEGIN
1076: OKC_API.init_msg_list(p_init_msg_list);
1077: -- Make sure PL/SQL table has records in it before passing
1078: IF (p_insv_tbl.COUNT > 0) THEN
1072: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1073: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1074: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1075: BEGIN
1076: OKC_API.init_msg_list(p_init_msg_list);
1077: -- Make sure PL/SQL table has records in it before passing
1078: IF (p_insv_tbl.COUNT > 0) THEN
1079: insert_row (
1080: p_api_version => p_api_version,
1077: -- Make sure PL/SQL table has records in it before passing
1078: IF (p_insv_tbl.COUNT > 0) THEN
1079: insert_row (
1080: p_api_version => p_api_version,
1081: p_init_msg_list => OKC_API.G_FALSE,
1082: x_return_status => x_return_status,
1083: x_msg_count => x_msg_count,
1084: x_msg_data => x_msg_data,
1085: p_insv_tbl => p_insv_tbl,
1085: p_insv_tbl => p_insv_tbl,
1086: x_insv_tbl => x_insv_tbl,
1087: px_error_tbl => l_error_tbl);
1088: END IF;
1089: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1090: EXCEPTION
1091: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1092: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1093: (
1087: px_error_tbl => l_error_tbl);
1088: END IF;
1089: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1090: EXCEPTION
1091: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1092: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1093: (
1094: l_api_name,
1095: G_PKG_NAME,
1088: END IF;
1089: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1090: EXCEPTION
1091: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1092: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1093: (
1094: l_api_name,
1095: G_PKG_NAME,
1096: 'OKC_API.G_RET_STS_ERROR',
1092: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1093: (
1094: l_api_name,
1095: G_PKG_NAME,
1096: 'OKC_API.G_RET_STS_ERROR',
1097: x_msg_count,
1098: x_msg_data,
1099: '_PVT'
1100: );
1097: x_msg_count,
1098: x_msg_data,
1099: '_PVT'
1100: );
1101: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1102: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1103: (
1104: l_api_name,
1105: G_PKG_NAME,
1098: x_msg_data,
1099: '_PVT'
1100: );
1101: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1102: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1103: (
1104: l_api_name,
1105: G_PKG_NAME,
1106: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1102: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1103: (
1104: l_api_name,
1105: G_PKG_NAME,
1106: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1107: x_msg_count,
1108: x_msg_data,
1109: '_PVT'
1110: );
1108: x_msg_data,
1109: '_PVT'
1110: );
1111: WHEN OTHERS THEN
1112: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1113: (
1114: l_api_name,
1115: G_PKG_NAME,
1116: 'OTHERS',
1147: FROM OKS_INSTANCE_HISTORY
1148: WHERE ID = p_ins_rec.id;
1149: l_api_version CONSTANT NUMBER := 1;
1150: l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
1151: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1152: l_object_version_number OKS_INSTANCE_HISTORY.OBJECT_VERSION_NUMBER%TYPE;
1153: lc_object_version_number OKS_INSTANCE_HISTORY.OBJECT_VERSION_NUMBER%TYPE;
1154: l_row_notfound BOOLEAN := FALSE;
1155: lc_row_notfound BOOLEAN := FALSE;
1153: lc_object_version_number OKS_INSTANCE_HISTORY.OBJECT_VERSION_NUMBER%TYPE;
1154: l_row_notfound BOOLEAN := FALSE;
1155: lc_row_notfound BOOLEAN := FALSE;
1156: BEGIN
1157: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1158: p_init_msg_list,
1159: '_PVT',
1160: x_return_status);
1161: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1157: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1158: p_init_msg_list,
1159: '_PVT',
1160: x_return_status);
1161: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1162: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1163: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1164: RAISE OKC_API.G_EXCEPTION_ERROR;
1165: END IF;
1158: p_init_msg_list,
1159: '_PVT',
1160: x_return_status);
1161: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1162: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1163: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1164: RAISE OKC_API.G_EXCEPTION_ERROR;
1165: END IF;
1166: BEGIN
1159: '_PVT',
1160: x_return_status);
1161: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1162: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1163: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1164: RAISE OKC_API.G_EXCEPTION_ERROR;
1165: END IF;
1166: BEGIN
1167: OPEN lock_csr(p_ins_rec);
1160: x_return_status);
1161: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1162: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1163: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1164: RAISE OKC_API.G_EXCEPTION_ERROR;
1165: END IF;
1166: BEGIN
1167: OPEN lock_csr(p_ins_rec);
1168: FETCH lock_csr INTO l_object_version_number;
1172: WHEN E_Resource_Busy THEN
1173: IF (lock_csr%ISOPEN) THEN
1174: CLOSE lock_csr;
1175: END IF;
1176: OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1177: RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1178: END;
1179:
1180: IF ( l_row_notfound ) THEN
1183: lc_row_notfound := lchk_csr%NOTFOUND;
1184: CLOSE lchk_csr;
1185: END IF;
1186: IF (lc_row_notfound) THEN
1187: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1188: RAISE OKC_API.G_EXCEPTION_ERROR;
1189: ELSIF lc_object_version_number > p_ins_rec.object_version_number THEN
1190: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1191: RAISE OKC_API.G_EXCEPTION_ERROR;
1184: CLOSE lchk_csr;
1185: END IF;
1186: IF (lc_row_notfound) THEN
1187: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1188: RAISE OKC_API.G_EXCEPTION_ERROR;
1189: ELSIF lc_object_version_number > p_ins_rec.object_version_number THEN
1190: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1191: RAISE OKC_API.G_EXCEPTION_ERROR;
1192: ELSIF lc_object_version_number <> p_ins_rec.object_version_number THEN
1186: IF (lc_row_notfound) THEN
1187: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1188: RAISE OKC_API.G_EXCEPTION_ERROR;
1189: ELSIF lc_object_version_number > p_ins_rec.object_version_number THEN
1190: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1191: RAISE OKC_API.G_EXCEPTION_ERROR;
1192: ELSIF lc_object_version_number <> p_ins_rec.object_version_number THEN
1193: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1194: RAISE OKC_API.G_EXCEPTION_ERROR;
1187: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1188: RAISE OKC_API.G_EXCEPTION_ERROR;
1189: ELSIF lc_object_version_number > p_ins_rec.object_version_number THEN
1190: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1191: RAISE OKC_API.G_EXCEPTION_ERROR;
1192: ELSIF lc_object_version_number <> p_ins_rec.object_version_number THEN
1193: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1194: RAISE OKC_API.G_EXCEPTION_ERROR;
1195: ELSIF lc_object_version_number = -1 THEN
1189: ELSIF lc_object_version_number > p_ins_rec.object_version_number THEN
1190: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1191: RAISE OKC_API.G_EXCEPTION_ERROR;
1192: ELSIF lc_object_version_number <> p_ins_rec.object_version_number THEN
1193: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1194: RAISE OKC_API.G_EXCEPTION_ERROR;
1195: ELSIF lc_object_version_number = -1 THEN
1196: OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1197: RAISE OKC_API.G_EXCEPTION_ERROR;
1190: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1191: RAISE OKC_API.G_EXCEPTION_ERROR;
1192: ELSIF lc_object_version_number <> p_ins_rec.object_version_number THEN
1193: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1194: RAISE OKC_API.G_EXCEPTION_ERROR;
1195: ELSIF lc_object_version_number = -1 THEN
1196: OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1197: RAISE OKC_API.G_EXCEPTION_ERROR;
1198: END IF;
1192: ELSIF lc_object_version_number <> p_ins_rec.object_version_number THEN
1193: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1194: RAISE OKC_API.G_EXCEPTION_ERROR;
1195: ELSIF lc_object_version_number = -1 THEN
1196: OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1197: RAISE OKC_API.G_EXCEPTION_ERROR;
1198: END IF;
1199: x_return_status := l_return_status;
1200: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1193: OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1194: RAISE OKC_API.G_EXCEPTION_ERROR;
1195: ELSIF lc_object_version_number = -1 THEN
1196: OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1197: RAISE OKC_API.G_EXCEPTION_ERROR;
1198: END IF;
1199: x_return_status := l_return_status;
1200: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1201: EXCEPTION
1196: OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1197: RAISE OKC_API.G_EXCEPTION_ERROR;
1198: END IF;
1199: x_return_status := l_return_status;
1200: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1201: EXCEPTION
1202: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1203: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1204: (
1198: END IF;
1199: x_return_status := l_return_status;
1200: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1201: EXCEPTION
1202: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1203: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1204: (
1205: l_api_name,
1206: G_PKG_NAME,
1199: x_return_status := l_return_status;
1200: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1201: EXCEPTION
1202: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1203: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1204: (
1205: l_api_name,
1206: G_PKG_NAME,
1207: 'OKC_API.G_RET_STS_ERROR',
1203: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1204: (
1205: l_api_name,
1206: G_PKG_NAME,
1207: 'OKC_API.G_RET_STS_ERROR',
1208: x_msg_count,
1209: x_msg_data,
1210: '_PVT'
1211: );
1208: x_msg_count,
1209: x_msg_data,
1210: '_PVT'
1211: );
1212: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1213: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1214: (
1215: l_api_name,
1216: G_PKG_NAME,
1209: x_msg_data,
1210: '_PVT'
1211: );
1212: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1213: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1214: (
1215: l_api_name,
1216: G_PKG_NAME,
1217: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1213: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1214: (
1215: l_api_name,
1216: G_PKG_NAME,
1217: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1218: x_msg_count,
1219: x_msg_data,
1220: '_PVT'
1221: );
1219: x_msg_data,
1220: '_PVT'
1221: );
1222: WHEN OTHERS THEN
1223: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1224: (
1225: l_api_name,
1226: G_PKG_NAME,
1227: 'OTHERS',
1242: p_insv_rec IN insv_rec_type) IS
1243:
1244: l_api_version CONSTANT NUMBER := 1;
1245: l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
1246: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1247: l_ins_rec ins_rec_type;
1248: BEGIN
1249: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1250: G_PKG_NAME,
1245: l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
1246: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1247: l_ins_rec ins_rec_type;
1248: BEGIN
1249: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1250: G_PKG_NAME,
1251: p_init_msg_list,
1252: l_api_version,
1253: p_api_version,
1252: l_api_version,
1253: p_api_version,
1254: '_PVT',
1255: x_return_status);
1256: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1257: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1258: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1259: RAISE OKC_API.G_EXCEPTION_ERROR;
1260: END IF;
1253: p_api_version,
1254: '_PVT',
1255: x_return_status);
1256: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1257: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1258: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1259: RAISE OKC_API.G_EXCEPTION_ERROR;
1260: END IF;
1261: -----------------------------------------
1254: '_PVT',
1255: x_return_status);
1256: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1257: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1258: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1259: RAISE OKC_API.G_EXCEPTION_ERROR;
1260: END IF;
1261: -----------------------------------------
1262: -- Move VIEW record to "Child" records --
1255: x_return_status);
1256: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1257: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1258: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1259: RAISE OKC_API.G_EXCEPTION_ERROR;
1260: END IF;
1261: -----------------------------------------
1262: -- Move VIEW record to "Child" records --
1263: -----------------------------------------
1271: x_msg_count,
1272: x_msg_data,
1273: l_ins_rec
1274: );
1275: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1276: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1277: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1278: RAISE OKC_API.G_EXCEPTION_ERROR;
1279: END IF;
1272: x_msg_data,
1273: l_ins_rec
1274: );
1275: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1276: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1277: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1278: RAISE OKC_API.G_EXCEPTION_ERROR;
1279: END IF;
1280: x_return_status := l_return_status;
1273: l_ins_rec
1274: );
1275: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1276: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1277: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1278: RAISE OKC_API.G_EXCEPTION_ERROR;
1279: END IF;
1280: x_return_status := l_return_status;
1281: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1274: );
1275: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1276: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1277: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1278: RAISE OKC_API.G_EXCEPTION_ERROR;
1279: END IF;
1280: x_return_status := l_return_status;
1281: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1282: EXCEPTION
1277: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1278: RAISE OKC_API.G_EXCEPTION_ERROR;
1279: END IF;
1280: x_return_status := l_return_status;
1281: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1282: EXCEPTION
1283: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1284: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1285: (
1279: END IF;
1280: x_return_status := l_return_status;
1281: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1282: EXCEPTION
1283: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1284: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1285: (
1286: l_api_name,
1287: G_PKG_NAME,
1280: x_return_status := l_return_status;
1281: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1282: EXCEPTION
1283: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1284: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1285: (
1286: l_api_name,
1287: G_PKG_NAME,
1288: 'OKC_API.G_RET_STS_ERROR',
1284: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1285: (
1286: l_api_name,
1287: G_PKG_NAME,
1288: 'OKC_API.G_RET_STS_ERROR',
1289: x_msg_count,
1290: x_msg_data,
1291: '_PVT'
1292: );
1289: x_msg_count,
1290: x_msg_data,
1291: '_PVT'
1292: );
1293: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1294: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1295: (
1296: l_api_name,
1297: G_PKG_NAME,
1290: x_msg_data,
1291: '_PVT'
1292: );
1293: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1294: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1295: (
1296: l_api_name,
1297: G_PKG_NAME,
1298: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1294: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1295: (
1296: l_api_name,
1297: G_PKG_NAME,
1298: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1299: x_msg_count,
1300: x_msg_data,
1301: '_PVT'
1302: );
1300: x_msg_data,
1301: '_PVT'
1302: );
1303: WHEN OTHERS THEN
1304: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1305: (
1306: l_api_name,
1307: G_PKG_NAME,
1308: 'OTHERS',
1320: x_return_status OUT NOCOPY VARCHAR2,
1321: x_msg_count OUT NOCOPY NUMBER,
1322: x_msg_data OUT NOCOPY VARCHAR2,
1323: p_insv_tbl IN insv_tbl_type,
1324: px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
1325:
1326: l_api_version CONSTANT NUMBER := 1;
1327: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
1328: i NUMBER := 0;
1326: l_api_version CONSTANT NUMBER := 1;
1327: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
1328: i NUMBER := 0;
1329: BEGIN
1330: OKC_API.init_msg_list(p_init_msg_list);
1331: -- Make sure PL/SQL table has recrods in it before passing
1332: IF (p_insv_tbl.COUNT > 0) THEN
1333: i := p_insv_tbl.FIRST;
1334: LOOP
1332: IF (p_insv_tbl.COUNT > 0) THEN
1333: i := p_insv_tbl.FIRST;
1334: LOOP
1335: DECLARE
1336: l_error_rec OKC_API.ERROR_REC_TYPE;
1337: BEGIN
1338: l_error_rec.api_name := l_api_name;
1339: l_error_rec.api_package := G_PKG_NAME;
1340: l_error_rec.idx := i;
1339: l_error_rec.api_package := G_PKG_NAME;
1340: l_error_rec.idx := i;
1341: lock_row(
1342: p_api_version => p_api_version,
1343: p_init_msg_list => OKC_API.G_FALSE,
1344: x_return_status => l_error_rec.error_type,
1345: x_msg_count => l_error_rec.msg_count,
1346: x_msg_data => l_error_rec.msg_data,
1347: p_insv_rec => p_insv_tbl(i));
1344: x_return_status => l_error_rec.error_type,
1345: x_msg_count => l_error_rec.msg_count,
1346: x_msg_data => l_error_rec.msg_data,
1347: p_insv_rec => p_insv_tbl(i));
1348: IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
1349: l_error_rec.sqlcode := SQLCODE;
1350: load_error_tbl(l_error_rec, px_error_tbl);
1351: ELSE
1352: x_msg_count := l_error_rec.msg_count;
1352: x_msg_count := l_error_rec.msg_count;
1353: x_msg_data := l_error_rec.msg_data;
1354: END IF;
1355: EXCEPTION
1356: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1357: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1358: l_error_rec.sqlcode := SQLCODE;
1359: load_error_tbl(l_error_rec, px_error_tbl);
1360: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1353: x_msg_data := l_error_rec.msg_data;
1354: END IF;
1355: EXCEPTION
1356: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1357: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1358: l_error_rec.sqlcode := SQLCODE;
1359: load_error_tbl(l_error_rec, px_error_tbl);
1360: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1361: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1356: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1357: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1358: l_error_rec.sqlcode := SQLCODE;
1359: load_error_tbl(l_error_rec, px_error_tbl);
1360: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1361: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1362: l_error_rec.sqlcode := SQLCODE;
1363: load_error_tbl(l_error_rec, px_error_tbl);
1364: WHEN OTHERS THEN
1357: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1358: l_error_rec.sqlcode := SQLCODE;
1359: load_error_tbl(l_error_rec, px_error_tbl);
1360: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1361: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1362: l_error_rec.sqlcode := SQLCODE;
1363: load_error_tbl(l_error_rec, px_error_tbl);
1364: WHEN OTHERS THEN
1365: l_error_rec.error_type := 'OTHERS';
1372: END IF;
1373: -- Loop through the error_tbl to find the error with the highest severity
1374: -- and return it.
1375: x_return_status := find_highest_exception(px_error_tbl);
1376: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1377: EXCEPTION
1378: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1379: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1380: (
1374: -- and return it.
1375: x_return_status := find_highest_exception(px_error_tbl);
1376: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1377: EXCEPTION
1378: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1379: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1380: (
1381: l_api_name,
1382: G_PKG_NAME,
1375: x_return_status := find_highest_exception(px_error_tbl);
1376: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1377: EXCEPTION
1378: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1379: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1380: (
1381: l_api_name,
1382: G_PKG_NAME,
1383: 'OKC_API.G_RET_STS_ERROR',
1379: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1380: (
1381: l_api_name,
1382: G_PKG_NAME,
1383: 'OKC_API.G_RET_STS_ERROR',
1384: x_msg_count,
1385: x_msg_data,
1386: '_PVT'
1387: );
1384: x_msg_count,
1385: x_msg_data,
1386: '_PVT'
1387: );
1388: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1389: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1390: (
1391: l_api_name,
1392: G_PKG_NAME,
1385: x_msg_data,
1386: '_PVT'
1387: );
1388: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1389: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1390: (
1391: l_api_name,
1392: G_PKG_NAME,
1393: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1389: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1390: (
1391: l_api_name,
1392: G_PKG_NAME,
1393: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1394: x_msg_count,
1395: x_msg_data,
1396: '_PVT'
1397: );
1395: x_msg_data,
1396: '_PVT'
1397: );
1398: WHEN OTHERS THEN
1399: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1400: (
1401: l_api_name,
1402: G_PKG_NAME,
1403: 'OTHERS',
1418: p_insv_tbl IN insv_tbl_type) IS
1419:
1420: l_api_version CONSTANT NUMBER := 1;
1421: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
1422: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1423: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1424: BEGIN
1425: OKC_API.init_msg_list(p_init_msg_list);
1426: -- Make sure PL/SQL table has recrods in it before passing
1419:
1420: l_api_version CONSTANT NUMBER := 1;
1421: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
1422: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1423: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1424: BEGIN
1425: OKC_API.init_msg_list(p_init_msg_list);
1426: -- Make sure PL/SQL table has recrods in it before passing
1427: IF (p_insv_tbl.COUNT > 0) THEN
1421: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
1422: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1423: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1424: BEGIN
1425: OKC_API.init_msg_list(p_init_msg_list);
1426: -- Make sure PL/SQL table has recrods in it before passing
1427: IF (p_insv_tbl.COUNT > 0) THEN
1428: lock_row(
1429: p_api_version => p_api_version,
1426: -- Make sure PL/SQL table has recrods in it before passing
1427: IF (p_insv_tbl.COUNT > 0) THEN
1428: lock_row(
1429: p_api_version => p_api_version,
1430: p_init_msg_list => OKC_API.G_FALSE,
1431: x_return_status => x_return_status,
1432: x_msg_count => x_msg_count,
1433: x_msg_data => x_msg_data,
1434: p_insv_tbl => p_insv_tbl,
1433: x_msg_data => x_msg_data,
1434: p_insv_tbl => p_insv_tbl,
1435: px_error_tbl => l_error_tbl);
1436: END IF;
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: (
1435: px_error_tbl => l_error_tbl);
1436: END IF;
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,
1436: END IF;
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',
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: );
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,
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',
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: );
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',
1482: x_ins_rec OUT NOCOPY ins_rec_type) IS
1483:
1484: l_api_version CONSTANT NUMBER := 1;
1485: l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
1486: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1487: l_ins_rec ins_rec_type := p_ins_rec;
1488: l_def_ins_rec ins_rec_type;
1489: l_row_notfound BOOLEAN := TRUE;
1490: ----------------------------------
1495: x_ins_rec OUT NOCOPY ins_rec_type
1496: ) RETURN VARCHAR2 IS
1497: l_ins_rec ins_rec_type;
1498: l_row_notfound BOOLEAN := TRUE;
1499: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1500: BEGIN
1501: x_ins_rec := p_ins_rec;
1502: -- Get current database values
1503: l_ins_rec := get_rec(p_ins_rec, l_return_status);
1500: BEGIN
1501: x_ins_rec := p_ins_rec;
1502: -- Get current database values
1503: l_ins_rec := get_rec(p_ins_rec, l_return_status);
1504: IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1505: IF (x_ins_rec.id = OKC_API.G_MISS_NUM)
1506: THEN
1507: x_ins_rec.id := l_ins_rec.id;
1508: END IF;
1501: x_ins_rec := p_ins_rec;
1502: -- Get current database values
1503: l_ins_rec := get_rec(p_ins_rec, l_return_status);
1504: IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1505: IF (x_ins_rec.id = OKC_API.G_MISS_NUM)
1506: THEN
1507: x_ins_rec.id := l_ins_rec.id;
1508: END IF;
1509: IF (x_ins_rec.instance_id = OKC_API.G_MISS_NUM)
1505: IF (x_ins_rec.id = OKC_API.G_MISS_NUM)
1506: THEN
1507: x_ins_rec.id := l_ins_rec.id;
1508: END IF;
1509: IF (x_ins_rec.instance_id = OKC_API.G_MISS_NUM)
1510: THEN
1511: x_ins_rec.instance_id := l_ins_rec.instance_id;
1512: END IF;
1513: IF (x_ins_rec.transaction_type = OKC_API.G_MISS_CHAR)
1509: IF (x_ins_rec.instance_id = OKC_API.G_MISS_NUM)
1510: THEN
1511: x_ins_rec.instance_id := l_ins_rec.instance_id;
1512: END IF;
1513: IF (x_ins_rec.transaction_type = OKC_API.G_MISS_CHAR)
1514: THEN
1515: x_ins_rec.transaction_type := l_ins_rec.transaction_type;
1516: END IF;
1517: IF (x_ins_rec.transaction_date = OKC_API.G_MISS_DATE)
1513: IF (x_ins_rec.transaction_type = OKC_API.G_MISS_CHAR)
1514: THEN
1515: x_ins_rec.transaction_type := l_ins_rec.transaction_type;
1516: END IF;
1517: IF (x_ins_rec.transaction_date = OKC_API.G_MISS_DATE)
1518: THEN
1519: x_ins_rec.transaction_date := l_ins_rec.transaction_date;
1520: END IF;
1521: IF (x_ins_rec.reference_number = OKC_API.G_MISS_CHAR)
1517: IF (x_ins_rec.transaction_date = OKC_API.G_MISS_DATE)
1518: THEN
1519: x_ins_rec.transaction_date := l_ins_rec.transaction_date;
1520: END IF;
1521: IF (x_ins_rec.reference_number = OKC_API.G_MISS_CHAR)
1522: THEN
1523: x_ins_rec.reference_number := l_ins_rec.reference_number;
1524: END IF;
1525: IF (x_ins_rec.parameters = OKC_API.G_MISS_CHAR)
1521: IF (x_ins_rec.reference_number = OKC_API.G_MISS_CHAR)
1522: THEN
1523: x_ins_rec.reference_number := l_ins_rec.reference_number;
1524: END IF;
1525: IF (x_ins_rec.parameters = OKC_API.G_MISS_CHAR)
1526: THEN
1527: x_ins_rec.parameters := l_ins_rec.parameters;
1528: END IF;
1529: IF (x_ins_rec.created_by = OKC_API.G_MISS_NUM)
1525: IF (x_ins_rec.parameters = OKC_API.G_MISS_CHAR)
1526: THEN
1527: x_ins_rec.parameters := l_ins_rec.parameters;
1528: END IF;
1529: IF (x_ins_rec.created_by = OKC_API.G_MISS_NUM)
1530: THEN
1531: x_ins_rec.created_by := l_ins_rec.created_by;
1532: END IF;
1533: IF (x_ins_rec.creation_date = OKC_API.G_MISS_DATE)
1529: IF (x_ins_rec.created_by = OKC_API.G_MISS_NUM)
1530: THEN
1531: x_ins_rec.created_by := l_ins_rec.created_by;
1532: END IF;
1533: IF (x_ins_rec.creation_date = OKC_API.G_MISS_DATE)
1534: THEN
1535: x_ins_rec.creation_date := l_ins_rec.creation_date;
1536: END IF;
1537: IF (x_ins_rec.last_updated_by = OKC_API.G_MISS_NUM)
1533: IF (x_ins_rec.creation_date = OKC_API.G_MISS_DATE)
1534: THEN
1535: x_ins_rec.creation_date := l_ins_rec.creation_date;
1536: END IF;
1537: IF (x_ins_rec.last_updated_by = OKC_API.G_MISS_NUM)
1538: THEN
1539: x_ins_rec.last_updated_by := l_ins_rec.last_updated_by;
1540: END IF;
1541: IF (x_ins_rec.last_update_date = OKC_API.G_MISS_DATE)
1537: IF (x_ins_rec.last_updated_by = OKC_API.G_MISS_NUM)
1538: THEN
1539: x_ins_rec.last_updated_by := l_ins_rec.last_updated_by;
1540: END IF;
1541: IF (x_ins_rec.last_update_date = OKC_API.G_MISS_DATE)
1542: THEN
1543: x_ins_rec.last_update_date := l_ins_rec.last_update_date;
1544: END IF;
1545: IF (x_ins_rec.last_update_login = OKC_API.G_MISS_NUM)
1541: IF (x_ins_rec.last_update_date = OKC_API.G_MISS_DATE)
1542: THEN
1543: x_ins_rec.last_update_date := l_ins_rec.last_update_date;
1544: END IF;
1545: IF (x_ins_rec.last_update_login = OKC_API.G_MISS_NUM)
1546: THEN
1547: x_ins_rec.last_update_login := l_ins_rec.last_update_login;
1548: END IF;
1549: IF (x_ins_rec.object_version_number = OKC_API.G_MISS_NUM)
1545: IF (x_ins_rec.last_update_login = OKC_API.G_MISS_NUM)
1546: THEN
1547: x_ins_rec.last_update_login := l_ins_rec.last_update_login;
1548: END IF;
1549: IF (x_ins_rec.object_version_number = OKC_API.G_MISS_NUM)
1550: THEN
1551: x_ins_rec.object_version_number := l_ins_rec.object_version_number;
1552: END IF;
1553: IF (x_ins_rec.batch_id = OKC_API.G_MISS_NUM)
1549: IF (x_ins_rec.object_version_number = OKC_API.G_MISS_NUM)
1550: THEN
1551: x_ins_rec.object_version_number := l_ins_rec.object_version_number;
1552: END IF;
1553: IF (x_ins_rec.batch_id = OKC_API.G_MISS_NUM)
1554: THEN
1555: x_ins_rec.batch_id := l_ins_rec.batch_id;
1556: END IF;
1557: END IF;
1563: FUNCTION Set_Attributes (
1564: p_ins_rec IN ins_rec_type,
1565: x_ins_rec OUT NOCOPY ins_rec_type
1566: ) RETURN VARCHAR2 IS
1567: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1568: BEGIN
1569: x_ins_rec := p_ins_rec;
1570: x_ins_rec.OBJECT_VERSION_NUMBER := p_ins_rec.OBJECT_VERSION_NUMBER + 1;
1571: RETURN(l_return_status);
1570: x_ins_rec.OBJECT_VERSION_NUMBER := p_ins_rec.OBJECT_VERSION_NUMBER + 1;
1571: RETURN(l_return_status);
1572: END Set_Attributes;
1573: BEGIN
1574: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1575: p_init_msg_list,
1576: '_PVT',
1577: x_return_status);
1578: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1574: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1575: p_init_msg_list,
1576: '_PVT',
1577: x_return_status);
1578: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1579: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1580: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1581: RAISE OKC_API.G_EXCEPTION_ERROR;
1582: END IF;
1575: p_init_msg_list,
1576: '_PVT',
1577: x_return_status);
1578: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1579: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1580: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1581: RAISE OKC_API.G_EXCEPTION_ERROR;
1582: END IF;
1583: --- Setting item attributes
1576: '_PVT',
1577: x_return_status);
1578: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1579: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1580: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1581: RAISE OKC_API.G_EXCEPTION_ERROR;
1582: END IF;
1583: --- Setting item attributes
1584: l_return_status := Set_Attributes(
1577: x_return_status);
1578: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1579: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1580: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1581: RAISE OKC_API.G_EXCEPTION_ERROR;
1582: END IF;
1583: --- Setting item attributes
1584: l_return_status := Set_Attributes(
1585: p_ins_rec, -- IN
1584: l_return_status := Set_Attributes(
1585: p_ins_rec, -- IN
1586: l_ins_rec); -- OUT
1587: --- If any errors happen abort API
1588: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1589: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1590: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1591: RAISE OKC_API.G_EXCEPTION_ERROR;
1592: END IF;
1585: p_ins_rec, -- IN
1586: l_ins_rec); -- OUT
1587: --- If any errors happen abort API
1588: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1589: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1590: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1591: RAISE OKC_API.G_EXCEPTION_ERROR;
1592: END IF;
1593: l_return_status := populate_new_record(l_ins_rec, l_def_ins_rec);
1586: l_ins_rec); -- OUT
1587: --- If any errors happen abort API
1588: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1589: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1590: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1591: RAISE OKC_API.G_EXCEPTION_ERROR;
1592: END IF;
1593: l_return_status := populate_new_record(l_ins_rec, l_def_ins_rec);
1594: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1587: --- If any errors happen abort API
1588: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1589: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1590: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1591: RAISE OKC_API.G_EXCEPTION_ERROR;
1592: END IF;
1593: l_return_status := populate_new_record(l_ins_rec, l_def_ins_rec);
1594: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1595: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1590: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1591: RAISE OKC_API.G_EXCEPTION_ERROR;
1592: END IF;
1593: l_return_status := populate_new_record(l_ins_rec, l_def_ins_rec);
1594: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1595: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1596: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1597: RAISE OKC_API.G_EXCEPTION_ERROR;
1598: END IF;
1591: RAISE OKC_API.G_EXCEPTION_ERROR;
1592: END IF;
1593: l_return_status := populate_new_record(l_ins_rec, l_def_ins_rec);
1594: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1595: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1596: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1597: RAISE OKC_API.G_EXCEPTION_ERROR;
1598: END IF;
1599: UPDATE OKS_INSTANCE_HISTORY
1592: END IF;
1593: l_return_status := populate_new_record(l_ins_rec, l_def_ins_rec);
1594: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1595: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1596: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1597: RAISE OKC_API.G_EXCEPTION_ERROR;
1598: END IF;
1599: UPDATE OKS_INSTANCE_HISTORY
1600: SET INSTANCE_ID = l_def_ins_rec.instance_id,
1593: l_return_status := populate_new_record(l_ins_rec, l_def_ins_rec);
1594: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1595: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1596: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1597: RAISE OKC_API.G_EXCEPTION_ERROR;
1598: END IF;
1599: UPDATE OKS_INSTANCE_HISTORY
1600: SET INSTANCE_ID = l_def_ins_rec.instance_id,
1601: TRANSACTION_TYPE = l_def_ins_rec.transaction_type,
1612: WHERE ID = l_def_ins_rec.id;
1613:
1614: x_ins_rec := l_ins_rec;
1615: x_return_status := l_return_status;
1616: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1617: EXCEPTION
1618: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1619: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1620: (
1614: x_ins_rec := l_ins_rec;
1615: x_return_status := l_return_status;
1616: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1617: EXCEPTION
1618: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1619: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1620: (
1621: l_api_name,
1622: G_PKG_NAME,
1615: x_return_status := l_return_status;
1616: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1617: EXCEPTION
1618: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1619: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1620: (
1621: l_api_name,
1622: G_PKG_NAME,
1623: 'OKC_API.G_RET_STS_ERROR',
1619: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1620: (
1621: l_api_name,
1622: G_PKG_NAME,
1623: 'OKC_API.G_RET_STS_ERROR',
1624: x_msg_count,
1625: x_msg_data,
1626: '_PVT'
1627: );
1624: x_msg_count,
1625: x_msg_data,
1626: '_PVT'
1627: );
1628: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1629: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1630: (
1631: l_api_name,
1632: G_PKG_NAME,
1625: x_msg_data,
1626: '_PVT'
1627: );
1628: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1629: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1630: (
1631: l_api_name,
1632: G_PKG_NAME,
1633: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1629: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1630: (
1631: l_api_name,
1632: G_PKG_NAME,
1633: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1634: x_msg_count,
1635: x_msg_data,
1636: '_PVT'
1637: );
1635: x_msg_data,
1636: '_PVT'
1637: );
1638: WHEN OTHERS THEN
1639: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1640: (
1641: l_api_name,
1642: G_PKG_NAME,
1643: 'OTHERS',
1659: x_insv_rec OUT NOCOPY insv_rec_type) IS
1660:
1661: l_api_version CONSTANT NUMBER := 1;
1662: l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
1663: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1664: l_insv_rec insv_rec_type := p_insv_rec;
1665: l_def_insv_rec insv_rec_type;
1666: l_db_insv_rec insv_rec_type;
1667: l_ins_rec ins_rec_type;
1686: p_insv_rec IN insv_rec_type,
1687: x_insv_rec OUT NOCOPY insv_rec_type
1688: ) RETURN VARCHAR2 IS
1689: l_row_notfound BOOLEAN := TRUE;
1690: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1691: BEGIN
1692: x_insv_rec := p_insv_rec;
1693: -- Get current database values
1694: -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
1693: -- Get current database values
1694: -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
1695: -- so it may be verified through LOCK_ROW.
1696: l_db_insv_rec := get_rec(p_insv_rec, l_return_status);
1697: IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1698: IF (x_insv_rec.id = OKC_API.G_MISS_NUM)
1699: THEN
1700: x_insv_rec.id := l_db_insv_rec.id;
1701: END IF;
1694: -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
1695: -- so it may be verified through LOCK_ROW.
1696: l_db_insv_rec := get_rec(p_insv_rec, l_return_status);
1697: IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1698: IF (x_insv_rec.id = OKC_API.G_MISS_NUM)
1699: THEN
1700: x_insv_rec.id := l_db_insv_rec.id;
1701: END IF;
1702: IF (x_insv_rec.instance_id = OKC_API.G_MISS_NUM)
1698: IF (x_insv_rec.id = OKC_API.G_MISS_NUM)
1699: THEN
1700: x_insv_rec.id := l_db_insv_rec.id;
1701: END IF;
1702: IF (x_insv_rec.instance_id = OKC_API.G_MISS_NUM)
1703: THEN
1704: x_insv_rec.instance_id := l_db_insv_rec.instance_id;
1705: END IF;
1706: IF (x_insv_rec.transaction_type = OKC_API.G_MISS_CHAR)
1702: IF (x_insv_rec.instance_id = OKC_API.G_MISS_NUM)
1703: THEN
1704: x_insv_rec.instance_id := l_db_insv_rec.instance_id;
1705: END IF;
1706: IF (x_insv_rec.transaction_type = OKC_API.G_MISS_CHAR)
1707: THEN
1708: x_insv_rec.transaction_type := l_db_insv_rec.transaction_type;
1709: END IF;
1710: IF (x_insv_rec.transaction_date = OKC_API.G_MISS_DATE)
1706: IF (x_insv_rec.transaction_type = OKC_API.G_MISS_CHAR)
1707: THEN
1708: x_insv_rec.transaction_type := l_db_insv_rec.transaction_type;
1709: END IF;
1710: IF (x_insv_rec.transaction_date = OKC_API.G_MISS_DATE)
1711: THEN
1712: x_insv_rec.transaction_date := l_db_insv_rec.transaction_date;
1713: END IF;
1714: IF (x_insv_rec.reference_number = OKC_API.G_MISS_CHAR)
1710: IF (x_insv_rec.transaction_date = OKC_API.G_MISS_DATE)
1711: THEN
1712: x_insv_rec.transaction_date := l_db_insv_rec.transaction_date;
1713: END IF;
1714: IF (x_insv_rec.reference_number = OKC_API.G_MISS_CHAR)
1715: THEN
1716: x_insv_rec.reference_number := l_db_insv_rec.reference_number;
1717: END IF;
1718: IF (x_insv_rec.parameters = OKC_API.G_MISS_CHAR)
1714: IF (x_insv_rec.reference_number = OKC_API.G_MISS_CHAR)
1715: THEN
1716: x_insv_rec.reference_number := l_db_insv_rec.reference_number;
1717: END IF;
1718: IF (x_insv_rec.parameters = OKC_API.G_MISS_CHAR)
1719: THEN
1720: x_insv_rec.parameters := l_db_insv_rec.parameters;
1721: END IF;
1722: IF (x_insv_rec.created_by = OKC_API.G_MISS_NUM)
1718: IF (x_insv_rec.parameters = OKC_API.G_MISS_CHAR)
1719: THEN
1720: x_insv_rec.parameters := l_db_insv_rec.parameters;
1721: END IF;
1722: IF (x_insv_rec.created_by = OKC_API.G_MISS_NUM)
1723: THEN
1724: x_insv_rec.created_by := l_db_insv_rec.created_by;
1725: END IF;
1726: IF (x_insv_rec.creation_date = OKC_API.G_MISS_DATE)
1722: IF (x_insv_rec.created_by = OKC_API.G_MISS_NUM)
1723: THEN
1724: x_insv_rec.created_by := l_db_insv_rec.created_by;
1725: END IF;
1726: IF (x_insv_rec.creation_date = OKC_API.G_MISS_DATE)
1727: THEN
1728: x_insv_rec.creation_date := l_db_insv_rec.creation_date;
1729: END IF;
1730: IF (x_insv_rec.last_updated_by = OKC_API.G_MISS_NUM)
1726: IF (x_insv_rec.creation_date = OKC_API.G_MISS_DATE)
1727: THEN
1728: x_insv_rec.creation_date := l_db_insv_rec.creation_date;
1729: END IF;
1730: IF (x_insv_rec.last_updated_by = OKC_API.G_MISS_NUM)
1731: THEN
1732: x_insv_rec.last_updated_by := l_db_insv_rec.last_updated_by;
1733: END IF;
1734: IF (x_insv_rec.last_update_date = OKC_API.G_MISS_DATE)
1730: IF (x_insv_rec.last_updated_by = OKC_API.G_MISS_NUM)
1731: THEN
1732: x_insv_rec.last_updated_by := l_db_insv_rec.last_updated_by;
1733: END IF;
1734: IF (x_insv_rec.last_update_date = OKC_API.G_MISS_DATE)
1735: THEN
1736: x_insv_rec.last_update_date := l_db_insv_rec.last_update_date;
1737: END IF;
1738: IF (x_insv_rec.last_update_login = OKC_API.G_MISS_NUM)
1734: IF (x_insv_rec.last_update_date = OKC_API.G_MISS_DATE)
1735: THEN
1736: x_insv_rec.last_update_date := l_db_insv_rec.last_update_date;
1737: END IF;
1738: IF (x_insv_rec.last_update_login = OKC_API.G_MISS_NUM)
1739: THEN
1740: x_insv_rec.last_update_login := l_db_insv_rec.last_update_login;
1741: END IF;
1742: IF (x_insv_rec.security_group_id = OKC_API.G_MISS_NUM)
1738: IF (x_insv_rec.last_update_login = OKC_API.G_MISS_NUM)
1739: THEN
1740: x_insv_rec.last_update_login := l_db_insv_rec.last_update_login;
1741: END IF;
1742: IF (x_insv_rec.security_group_id = OKC_API.G_MISS_NUM)
1743: THEN
1744: x_insv_rec.security_group_id := l_db_insv_rec.security_group_id;
1745: END IF;
1746: END IF;
1752: FUNCTION Set_Attributes (
1753: p_insv_rec IN insv_rec_type,
1754: x_insv_rec OUT NOCOPY insv_rec_type
1755: ) RETURN VARCHAR2 IS
1756: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1757: BEGIN
1758: x_insv_rec := p_insv_rec;
1759: RETURN(l_return_status);
1760: END Set_Attributes;
1758: x_insv_rec := p_insv_rec;
1759: RETURN(l_return_status);
1760: END Set_Attributes;
1761: BEGIN
1762: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1763: G_PKG_NAME,
1764: p_init_msg_list,
1765: l_api_version,
1766: p_api_version,
1765: l_api_version,
1766: p_api_version,
1767: '_PVT',
1768: x_return_status);
1769: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1770: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1771: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1772: RAISE OKC_API.G_EXCEPTION_ERROR;
1773: END IF;
1766: p_api_version,
1767: '_PVT',
1768: x_return_status);
1769: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1770: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1771: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1772: RAISE OKC_API.G_EXCEPTION_ERROR;
1773: END IF;
1774: --- Setting item attributes
1767: '_PVT',
1768: x_return_status);
1769: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1770: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1771: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1772: RAISE OKC_API.G_EXCEPTION_ERROR;
1773: END IF;
1774: --- Setting item attributes
1775: l_return_status := Set_Attributes(
1768: x_return_status);
1769: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1770: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1771: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1772: RAISE OKC_API.G_EXCEPTION_ERROR;
1773: END IF;
1774: --- Setting item attributes
1775: l_return_status := Set_Attributes(
1776: p_insv_rec, -- IN
1775: l_return_status := Set_Attributes(
1776: p_insv_rec, -- IN
1777: x_insv_rec); -- OUT
1778: --- If any errors happen abort API
1779: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1780: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1781: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1782: RAISE OKC_API.G_EXCEPTION_ERROR;
1783: END IF;
1776: p_insv_rec, -- IN
1777: x_insv_rec); -- OUT
1778: --- If any errors happen abort API
1779: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1780: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1781: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1782: RAISE OKC_API.G_EXCEPTION_ERROR;
1783: END IF;
1784: l_return_status := populate_new_record(l_insv_rec, l_def_insv_rec);
1777: x_insv_rec); -- OUT
1778: --- If any errors happen abort API
1779: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1780: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1781: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1782: RAISE OKC_API.G_EXCEPTION_ERROR;
1783: END IF;
1784: l_return_status := populate_new_record(l_insv_rec, l_def_insv_rec);
1785: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1778: --- If any errors happen abort API
1779: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1780: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1781: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1782: RAISE OKC_API.G_EXCEPTION_ERROR;
1783: END IF;
1784: l_return_status := populate_new_record(l_insv_rec, l_def_insv_rec);
1785: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1786: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1781: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1782: RAISE OKC_API.G_EXCEPTION_ERROR;
1783: END IF;
1784: l_return_status := populate_new_record(l_insv_rec, l_def_insv_rec);
1785: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1786: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1787: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1788: RAISE OKC_API.G_EXCEPTION_ERROR;
1789: END IF;
1782: RAISE OKC_API.G_EXCEPTION_ERROR;
1783: END IF;
1784: l_return_status := populate_new_record(l_insv_rec, l_def_insv_rec);
1785: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1786: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1787: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1788: RAISE OKC_API.G_EXCEPTION_ERROR;
1789: END IF;
1790: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
1783: END IF;
1784: l_return_status := populate_new_record(l_insv_rec, l_def_insv_rec);
1785: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1786: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1787: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1788: RAISE OKC_API.G_EXCEPTION_ERROR;
1789: END IF;
1790: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
1791: --- Validate all non-missing attributes (Item Level Validation)
1784: l_return_status := populate_new_record(l_insv_rec, l_def_insv_rec);
1785: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1786: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1787: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1788: RAISE OKC_API.G_EXCEPTION_ERROR;
1789: END IF;
1790: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
1791: --- Validate all non-missing attributes (Item Level Validation)
1792: l_return_status := Validate_Attributes(l_def_insv_rec);
1790: l_def_insv_rec := fill_who_columns(l_def_insv_rec);
1791: --- Validate all non-missing attributes (Item Level Validation)
1792: l_return_status := Validate_Attributes(l_def_insv_rec);
1793: --- If any errors happen abort API
1794: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1797: RAISE OKC_API.G_EXCEPTION_ERROR;
1798: END IF;
1791: --- Validate all non-missing attributes (Item Level Validation)
1792: l_return_status := Validate_Attributes(l_def_insv_rec);
1793: --- If any errors happen abort API
1794: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1797: RAISE OKC_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: l_return_status := Validate_Record(l_def_insv_rec, l_db_insv_rec);
1792: l_return_status := Validate_Attributes(l_def_insv_rec);
1793: --- If any errors happen abort API
1794: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1797: RAISE OKC_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: l_return_status := Validate_Record(l_def_insv_rec, l_db_insv_rec);
1800: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1793: --- If any errors happen abort API
1794: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1797: RAISE OKC_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: l_return_status := Validate_Record(l_def_insv_rec, l_db_insv_rec);
1800: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1801: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1797: RAISE OKC_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: l_return_status := Validate_Record(l_def_insv_rec, l_db_insv_rec);
1800: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1801: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1802: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1803: RAISE OKC_API.G_EXCEPTION_ERROR;
1804: END IF;
1797: RAISE OKC_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: l_return_status := Validate_Record(l_def_insv_rec, l_db_insv_rec);
1800: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1801: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1802: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1803: RAISE OKC_API.G_EXCEPTION_ERROR;
1804: END IF;
1805:
1798: END IF;
1799: l_return_status := Validate_Record(l_def_insv_rec, l_db_insv_rec);
1800: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1801: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1802: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1803: RAISE OKC_API.G_EXCEPTION_ERROR;
1804: END IF;
1805:
1806: -- Lock the Record
1799: l_return_status := Validate_Record(l_def_insv_rec, l_db_insv_rec);
1800: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1801: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1802: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1803: RAISE OKC_API.G_EXCEPTION_ERROR;
1804: END IF;
1805:
1806: -- Lock the Record
1807: lock_row(
1810: x_return_status => l_return_status,
1811: x_msg_count => x_msg_count,
1812: x_msg_data => x_msg_data,
1813: p_insv_rec => p_insv_rec);
1814: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1815: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1816: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1817: RAISE OKC_API.G_EXCEPTION_ERROR;
1818: END IF;
1811: x_msg_count => x_msg_count,
1812: x_msg_data => x_msg_data,
1813: p_insv_rec => p_insv_rec);
1814: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1815: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1816: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1817: RAISE OKC_API.G_EXCEPTION_ERROR;
1818: END IF;
1819:
1812: x_msg_data => x_msg_data,
1813: p_insv_rec => p_insv_rec);
1814: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1815: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1816: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1817: RAISE OKC_API.G_EXCEPTION_ERROR;
1818: END IF;
1819:
1820: -----------------------------------------
1813: p_insv_rec => p_insv_rec);
1814: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1815: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1816: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1817: RAISE OKC_API.G_EXCEPTION_ERROR;
1818: END IF;
1819:
1820: -----------------------------------------
1821: -- Move VIEW record to "Child" records --
1831: x_msg_data,
1832: l_ins_rec,
1833: lx_ins_rec
1834: );
1835: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1836: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1837: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1838: RAISE OKC_API.G_EXCEPTION_ERROR;
1839: END IF;
1832: l_ins_rec,
1833: lx_ins_rec
1834: );
1835: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1836: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1837: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1838: RAISE OKC_API.G_EXCEPTION_ERROR;
1839: END IF;
1840: migrate(lx_ins_rec, l_def_insv_rec);
1833: lx_ins_rec
1834: );
1835: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1836: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1837: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1838: RAISE OKC_API.G_EXCEPTION_ERROR;
1839: END IF;
1840: migrate(lx_ins_rec, l_def_insv_rec);
1841: x_insv_rec := l_def_insv_rec;
1834: );
1835: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1836: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1837: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1838: RAISE OKC_API.G_EXCEPTION_ERROR;
1839: END IF;
1840: migrate(lx_ins_rec, l_def_insv_rec);
1841: x_insv_rec := l_def_insv_rec;
1842: x_return_status := l_return_status;
1839: END IF;
1840: migrate(lx_ins_rec, l_def_insv_rec);
1841: x_insv_rec := l_def_insv_rec;
1842: x_return_status := l_return_status;
1843: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1844: EXCEPTION
1845: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1846: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1847: (
1841: x_insv_rec := l_def_insv_rec;
1842: x_return_status := l_return_status;
1843: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1844: EXCEPTION
1845: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1846: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1847: (
1848: l_api_name,
1849: G_PKG_NAME,
1842: x_return_status := l_return_status;
1843: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1844: EXCEPTION
1845: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1846: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1847: (
1848: l_api_name,
1849: G_PKG_NAME,
1850: 'OKC_API.G_RET_STS_ERROR',
1846: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1847: (
1848: l_api_name,
1849: G_PKG_NAME,
1850: 'OKC_API.G_RET_STS_ERROR',
1851: x_msg_count,
1852: x_msg_data,
1853: '_PVT'
1854: );
1851: x_msg_count,
1852: x_msg_data,
1853: '_PVT'
1854: );
1855: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1856: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1857: (
1858: l_api_name,
1859: G_PKG_NAME,
1852: x_msg_data,
1853: '_PVT'
1854: );
1855: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1856: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1857: (
1858: l_api_name,
1859: G_PKG_NAME,
1860: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1856: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1857: (
1858: l_api_name,
1859: G_PKG_NAME,
1860: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1861: x_msg_count,
1862: x_msg_data,
1863: '_PVT'
1864: );
1862: x_msg_data,
1863: '_PVT'
1864: );
1865: WHEN OTHERS THEN
1866: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1867: (
1868: l_api_name,
1869: G_PKG_NAME,
1870: 'OTHERS',
1883: x_msg_count OUT NOCOPY NUMBER,
1884: x_msg_data OUT NOCOPY VARCHAR2,
1885: p_insv_tbl IN insv_tbl_type,
1886: x_insv_tbl OUT NOCOPY insv_tbl_type,
1887: px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
1888:
1889: l_api_version CONSTANT NUMBER := 1;
1890: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
1891: i NUMBER := 0;
1889: l_api_version CONSTANT NUMBER := 1;
1890: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
1891: i NUMBER := 0;
1892: BEGIN
1893: OKC_API.init_msg_list(p_init_msg_list);
1894: -- Make sure PL/SQL table has records in it before passing
1895: IF (p_insv_tbl.COUNT > 0) THEN
1896: i := p_insv_tbl.FIRST;
1897: LOOP
1895: IF (p_insv_tbl.COUNT > 0) THEN
1896: i := p_insv_tbl.FIRST;
1897: LOOP
1898: DECLARE
1899: l_error_rec OKC_API.ERROR_REC_TYPE;
1900: BEGIN
1901: l_error_rec.api_name := l_api_name;
1902: l_error_rec.api_package := G_PKG_NAME;
1903: l_error_rec.idx := i;
1902: l_error_rec.api_package := G_PKG_NAME;
1903: l_error_rec.idx := i;
1904: update_row (
1905: p_api_version => p_api_version,
1906: p_init_msg_list => OKC_API.G_FALSE,
1907: x_return_status => l_error_rec.error_type,
1908: x_msg_count => l_error_rec.msg_count,
1909: x_msg_data => l_error_rec.msg_data,
1910: p_insv_rec => p_insv_tbl(i),
1908: x_msg_count => l_error_rec.msg_count,
1909: x_msg_data => l_error_rec.msg_data,
1910: p_insv_rec => p_insv_tbl(i),
1911: x_insv_rec => x_insv_tbl(i));
1912: IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
1913: l_error_rec.sqlcode := SQLCODE;
1914: load_error_tbl(l_error_rec, px_error_tbl);
1915: ELSE
1916: x_msg_count := l_error_rec.msg_count;
1916: x_msg_count := l_error_rec.msg_count;
1917: x_msg_data := l_error_rec.msg_data;
1918: END IF;
1919: EXCEPTION
1920: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1921: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1922: l_error_rec.sqlcode := SQLCODE;
1923: load_error_tbl(l_error_rec, px_error_tbl);
1924: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1917: x_msg_data := l_error_rec.msg_data;
1918: END IF;
1919: EXCEPTION
1920: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1921: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1922: l_error_rec.sqlcode := SQLCODE;
1923: load_error_tbl(l_error_rec, px_error_tbl);
1924: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1925: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1920: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1921: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1922: l_error_rec.sqlcode := SQLCODE;
1923: load_error_tbl(l_error_rec, px_error_tbl);
1924: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1925: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1926: l_error_rec.sqlcode := SQLCODE;
1927: load_error_tbl(l_error_rec, px_error_tbl);
1928: WHEN OTHERS THEN
1921: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1922: l_error_rec.sqlcode := SQLCODE;
1923: load_error_tbl(l_error_rec, px_error_tbl);
1924: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1925: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1926: l_error_rec.sqlcode := SQLCODE;
1927: load_error_tbl(l_error_rec, px_error_tbl);
1928: WHEN OTHERS THEN
1929: l_error_rec.error_type := 'OTHERS';
1936: END IF;
1937: -- Loop through the error_tbl to find the error with the highest severity
1938: -- and return it.
1939: x_return_status := find_highest_exception(px_error_tbl);
1940: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1941: EXCEPTION
1942: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1943: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1944: (
1938: -- and return it.
1939: x_return_status := find_highest_exception(px_error_tbl);
1940: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1941: EXCEPTION
1942: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1943: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1944: (
1945: l_api_name,
1946: G_PKG_NAME,
1939: x_return_status := find_highest_exception(px_error_tbl);
1940: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1941: EXCEPTION
1942: WHEN OKC_API.G_EXCEPTION_ERROR THEN
1943: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1944: (
1945: l_api_name,
1946: G_PKG_NAME,
1947: 'OKC_API.G_RET_STS_ERROR',
1943: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1944: (
1945: l_api_name,
1946: G_PKG_NAME,
1947: 'OKC_API.G_RET_STS_ERROR',
1948: x_msg_count,
1949: x_msg_data,
1950: '_PVT'
1951: );
1948: x_msg_count,
1949: x_msg_data,
1950: '_PVT'
1951: );
1952: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1953: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1954: (
1955: l_api_name,
1956: G_PKG_NAME,
1949: x_msg_data,
1950: '_PVT'
1951: );
1952: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1953: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1954: (
1955: l_api_name,
1956: G_PKG_NAME,
1957: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1953: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1954: (
1955: l_api_name,
1956: G_PKG_NAME,
1957: 'OKC_API.G_RET_STS_UNEXP_ERROR',
1958: x_msg_count,
1959: x_msg_data,
1960: '_PVT'
1961: );
1959: x_msg_data,
1960: '_PVT'
1961: );
1962: WHEN OTHERS THEN
1963: x_return_status := OKC_API.HANDLE_EXCEPTIONS
1964: (
1965: l_api_name,
1966: G_PKG_NAME,
1967: 'OTHERS',
1986: x_insv_tbl OUT NOCOPY insv_tbl_type) IS
1987:
1988: l_api_version CONSTANT NUMBER := 1;
1989: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
1990: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1991: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1992: BEGIN
1993: OKC_API.init_msg_list(p_init_msg_list);
1994: -- Make sure PL/SQL table has records in it before passing
1987:
1988: l_api_version CONSTANT NUMBER := 1;
1989: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
1990: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1991: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1992: BEGIN
1993: OKC_API.init_msg_list(p_init_msg_list);
1994: -- Make sure PL/SQL table has records in it before passing
1995: IF (p_insv_tbl.COUNT > 0) THEN
1989: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
1990: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1991: l_error_tbl OKC_API.ERROR_TBL_TYPE;
1992: BEGIN
1993: OKC_API.init_msg_list(p_init_msg_list);
1994: -- Make sure PL/SQL table has records in it before passing
1995: IF (p_insv_tbl.COUNT > 0) THEN
1996: update_row (
1997: p_api_version => p_api_version,
1994: -- Make sure PL/SQL table has records in it before passing
1995: IF (p_insv_tbl.COUNT > 0) THEN
1996: update_row (
1997: p_api_version => p_api_version,
1998: p_init_msg_list => OKC_API.G_FALSE,
1999: x_return_status => x_return_status,
2000: x_msg_count => x_msg_count,
2001: x_msg_data => x_msg_data,
2002: p_insv_tbl => p_insv_tbl,
2002: p_insv_tbl => p_insv_tbl,
2003: x_insv_tbl => x_insv_tbl,
2004: px_error_tbl => l_error_tbl);
2005: END IF;
2006: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2007: EXCEPTION
2008: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2009: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2010: (
2004: px_error_tbl => l_error_tbl);
2005: END IF;
2006: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2007: EXCEPTION
2008: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2009: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2010: (
2011: l_api_name,
2012: G_PKG_NAME,
2005: END IF;
2006: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2007: EXCEPTION
2008: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2009: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2010: (
2011: l_api_name,
2012: G_PKG_NAME,
2013: 'OKC_API.G_RET_STS_ERROR',
2009: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2010: (
2011: l_api_name,
2012: G_PKG_NAME,
2013: 'OKC_API.G_RET_STS_ERROR',
2014: x_msg_count,
2015: x_msg_data,
2016: '_PVT'
2017: );
2014: x_msg_count,
2015: x_msg_data,
2016: '_PVT'
2017: );
2018: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2019: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2020: (
2021: l_api_name,
2022: G_PKG_NAME,
2015: x_msg_data,
2016: '_PVT'
2017: );
2018: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2019: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2020: (
2021: l_api_name,
2022: G_PKG_NAME,
2023: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2019: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2020: (
2021: l_api_name,
2022: G_PKG_NAME,
2023: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2024: x_msg_count,
2025: x_msg_data,
2026: '_PVT'
2027: );
2025: x_msg_data,
2026: '_PVT'
2027: );
2028: WHEN OTHERS THEN
2029: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2030: (
2031: l_api_name,
2032: G_PKG_NAME,
2033: 'OTHERS',
2051: p_ins_rec IN ins_rec_type) IS
2052:
2053: l_api_version CONSTANT NUMBER := 1;
2054: l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
2055: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2056: l_ins_rec ins_rec_type := p_ins_rec;
2057: l_row_notfound BOOLEAN := TRUE;
2058: BEGIN
2059: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2055: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2056: l_ins_rec ins_rec_type := p_ins_rec;
2057: l_row_notfound BOOLEAN := TRUE;
2058: BEGIN
2059: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2060: p_init_msg_list,
2061: '_PVT',
2062: x_return_status);
2063: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2059: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2060: p_init_msg_list,
2061: '_PVT',
2062: x_return_status);
2063: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2064: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2065: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2066: RAISE OKC_API.G_EXCEPTION_ERROR;
2067: END IF;
2060: p_init_msg_list,
2061: '_PVT',
2062: x_return_status);
2063: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2064: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2065: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2066: RAISE OKC_API.G_EXCEPTION_ERROR;
2067: END IF;
2068:
2061: '_PVT',
2062: x_return_status);
2063: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2064: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2065: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2066: RAISE OKC_API.G_EXCEPTION_ERROR;
2067: END IF;
2068:
2069: DELETE FROM OKS_INSTANCE_HISTORY
2062: x_return_status);
2063: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2064: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2065: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2066: RAISE OKC_API.G_EXCEPTION_ERROR;
2067: END IF;
2068:
2069: DELETE FROM OKS_INSTANCE_HISTORY
2070: WHERE ID = p_ins_rec.id;
2069: DELETE FROM OKS_INSTANCE_HISTORY
2070: WHERE ID = p_ins_rec.id;
2071:
2072: x_return_status := l_return_status;
2073: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2074: EXCEPTION
2075: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2076: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2077: (
2071:
2072: x_return_status := l_return_status;
2073: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2074: EXCEPTION
2075: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2076: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2077: (
2078: l_api_name,
2079: G_PKG_NAME,
2072: x_return_status := l_return_status;
2073: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2074: EXCEPTION
2075: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2076: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2077: (
2078: l_api_name,
2079: G_PKG_NAME,
2080: 'OKC_API.G_RET_STS_ERROR',
2076: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2077: (
2078: l_api_name,
2079: G_PKG_NAME,
2080: 'OKC_API.G_RET_STS_ERROR',
2081: x_msg_count,
2082: x_msg_data,
2083: '_PVT'
2084: );
2081: x_msg_count,
2082: x_msg_data,
2083: '_PVT'
2084: );
2085: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2086: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2087: (
2088: l_api_name,
2089: G_PKG_NAME,
2082: x_msg_data,
2083: '_PVT'
2084: );
2085: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2086: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2087: (
2088: l_api_name,
2089: G_PKG_NAME,
2090: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2086: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2087: (
2088: l_api_name,
2089: G_PKG_NAME,
2090: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2091: x_msg_count,
2092: x_msg_data,
2093: '_PVT'
2094: );
2092: x_msg_data,
2093: '_PVT'
2094: );
2095: WHEN OTHERS THEN
2096: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2097: (
2098: l_api_name,
2099: G_PKG_NAME,
2100: 'OTHERS',
2115: p_insv_rec IN insv_rec_type) IS
2116:
2117: l_api_version CONSTANT NUMBER := 1;
2118: l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
2119: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2120: l_insv_rec insv_rec_type := p_insv_rec;
2121: l_ins_rec ins_rec_type;
2122: BEGIN
2123: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2119: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2120: l_insv_rec insv_rec_type := p_insv_rec;
2121: l_ins_rec ins_rec_type;
2122: BEGIN
2123: l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2124: G_PKG_NAME,
2125: p_init_msg_list,
2126: l_api_version,
2127: p_api_version,
2126: l_api_version,
2127: p_api_version,
2128: '_PVT',
2129: x_return_status);
2130: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2131: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2132: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2133: RAISE OKC_API.G_EXCEPTION_ERROR;
2134: END IF;
2127: p_api_version,
2128: '_PVT',
2129: x_return_status);
2130: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2131: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2132: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2133: RAISE OKC_API.G_EXCEPTION_ERROR;
2134: END IF;
2135: -----------------------------------------
2128: '_PVT',
2129: x_return_status);
2130: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2131: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2132: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2133: RAISE OKC_API.G_EXCEPTION_ERROR;
2134: END IF;
2135: -----------------------------------------
2136: -- Move VIEW record to "Child" records --
2129: x_return_status);
2130: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2131: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2132: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2133: RAISE OKC_API.G_EXCEPTION_ERROR;
2134: END IF;
2135: -----------------------------------------
2136: -- Move VIEW record to "Child" records --
2137: -----------------------------------------
2145: x_msg_count,
2146: x_msg_data,
2147: l_ins_rec
2148: );
2149: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2150: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2151: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2152: RAISE OKC_API.G_EXCEPTION_ERROR;
2153: END IF;
2146: x_msg_data,
2147: l_ins_rec
2148: );
2149: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2150: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2151: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2152: RAISE OKC_API.G_EXCEPTION_ERROR;
2153: END IF;
2154: x_return_status := l_return_status;
2147: l_ins_rec
2148: );
2149: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2150: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2151: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2152: RAISE OKC_API.G_EXCEPTION_ERROR;
2153: END IF;
2154: x_return_status := l_return_status;
2155: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2148: );
2149: IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2150: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2151: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2152: RAISE OKC_API.G_EXCEPTION_ERROR;
2153: END IF;
2154: x_return_status := l_return_status;
2155: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2156: EXCEPTION
2151: ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2152: RAISE OKC_API.G_EXCEPTION_ERROR;
2153: END IF;
2154: x_return_status := l_return_status;
2155: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2156: EXCEPTION
2157: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2158: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2159: (
2153: END IF;
2154: x_return_status := l_return_status;
2155: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2156: EXCEPTION
2157: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2158: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2159: (
2160: l_api_name,
2161: G_PKG_NAME,
2154: x_return_status := l_return_status;
2155: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2156: EXCEPTION
2157: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2158: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2159: (
2160: l_api_name,
2161: G_PKG_NAME,
2162: 'OKC_API.G_RET_STS_ERROR',
2158: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2159: (
2160: l_api_name,
2161: G_PKG_NAME,
2162: 'OKC_API.G_RET_STS_ERROR',
2163: x_msg_count,
2164: x_msg_data,
2165: '_PVT'
2166: );
2163: x_msg_count,
2164: x_msg_data,
2165: '_PVT'
2166: );
2167: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2168: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2169: (
2170: l_api_name,
2171: G_PKG_NAME,
2164: x_msg_data,
2165: '_PVT'
2166: );
2167: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2168: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2169: (
2170: l_api_name,
2171: G_PKG_NAME,
2172: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2168: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2169: (
2170: l_api_name,
2171: G_PKG_NAME,
2172: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2173: x_msg_count,
2174: x_msg_data,
2175: '_PVT'
2176: );
2174: x_msg_data,
2175: '_PVT'
2176: );
2177: WHEN OTHERS THEN
2178: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2179: (
2180: l_api_name,
2181: G_PKG_NAME,
2182: 'OTHERS',
2194: x_return_status OUT NOCOPY VARCHAR2,
2195: x_msg_count OUT NOCOPY NUMBER,
2196: x_msg_data OUT NOCOPY VARCHAR2,
2197: p_insv_tbl IN insv_tbl_type,
2198: px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
2199:
2200: l_api_version CONSTANT NUMBER := 1;
2201: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
2202: i NUMBER := 0;
2200: l_api_version CONSTANT NUMBER := 1;
2201: l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
2202: i NUMBER := 0;
2203: BEGIN
2204: OKC_API.init_msg_list(p_init_msg_list);
2205: -- Make sure PL/SQL table has records in it before passing
2206: IF (p_insv_tbl.COUNT > 0) THEN
2207: i := p_insv_tbl.FIRST;
2208: LOOP
2206: IF (p_insv_tbl.COUNT > 0) THEN
2207: i := p_insv_tbl.FIRST;
2208: LOOP
2209: DECLARE
2210: l_error_rec OKC_API.ERROR_REC_TYPE;
2211: BEGIN
2212: l_error_rec.api_name := l_api_name;
2213: l_error_rec.api_package := G_PKG_NAME;
2214: l_error_rec.idx := i;
2213: l_error_rec.api_package := G_PKG_NAME;
2214: l_error_rec.idx := i;
2215: delete_row (
2216: p_api_version => p_api_version,
2217: p_init_msg_list => OKC_API.G_FALSE,
2218: x_return_status => l_error_rec.error_type,
2219: x_msg_count => l_error_rec.msg_count,
2220: x_msg_data => l_error_rec.msg_data,
2221: p_insv_rec => p_insv_tbl(i));
2218: x_return_status => l_error_rec.error_type,
2219: x_msg_count => l_error_rec.msg_count,
2220: x_msg_data => l_error_rec.msg_data,
2221: p_insv_rec => p_insv_tbl(i));
2222: IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
2223: l_error_rec.sqlcode := SQLCODE;
2224: load_error_tbl(l_error_rec, px_error_tbl);
2225: ELSE
2226: x_msg_count := l_error_rec.msg_count;
2226: x_msg_count := l_error_rec.msg_count;
2227: x_msg_data := l_error_rec.msg_data;
2228: END IF;
2229: EXCEPTION
2230: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2231: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
2232: l_error_rec.sqlcode := SQLCODE;
2233: load_error_tbl(l_error_rec, px_error_tbl);
2234: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2227: x_msg_data := l_error_rec.msg_data;
2228: END IF;
2229: EXCEPTION
2230: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2231: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
2232: l_error_rec.sqlcode := SQLCODE;
2233: load_error_tbl(l_error_rec, px_error_tbl);
2234: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2235: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
2230: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2231: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
2232: l_error_rec.sqlcode := SQLCODE;
2233: load_error_tbl(l_error_rec, px_error_tbl);
2234: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2235: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
2236: l_error_rec.sqlcode := SQLCODE;
2237: load_error_tbl(l_error_rec, px_error_tbl);
2238: WHEN OTHERS THEN
2231: l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
2232: l_error_rec.sqlcode := SQLCODE;
2233: load_error_tbl(l_error_rec, px_error_tbl);
2234: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2235: l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
2236: l_error_rec.sqlcode := SQLCODE;
2237: load_error_tbl(l_error_rec, px_error_tbl);
2238: WHEN OTHERS THEN
2239: l_error_rec.error_type := 'OTHERS';
2246: END IF;
2247: -- Loop through the error_tbl to find the error with the highest severity
2248: -- and return it.
2249: x_return_status := find_highest_exception(px_error_tbl);
2250: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2251: EXCEPTION
2252: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2253: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2254: (
2248: -- and return it.
2249: x_return_status := find_highest_exception(px_error_tbl);
2250: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2251: EXCEPTION
2252: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2253: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2254: (
2255: l_api_name,
2256: G_PKG_NAME,
2249: x_return_status := find_highest_exception(px_error_tbl);
2250: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2251: EXCEPTION
2252: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2253: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2254: (
2255: l_api_name,
2256: G_PKG_NAME,
2257: 'OKC_API.G_RET_STS_ERROR',
2253: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2254: (
2255: l_api_name,
2256: G_PKG_NAME,
2257: 'OKC_API.G_RET_STS_ERROR',
2258: x_msg_count,
2259: x_msg_data,
2260: '_PVT'
2261: );
2258: x_msg_count,
2259: x_msg_data,
2260: '_PVT'
2261: );
2262: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2263: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2264: (
2265: l_api_name,
2266: G_PKG_NAME,
2259: x_msg_data,
2260: '_PVT'
2261: );
2262: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2263: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2264: (
2265: l_api_name,
2266: G_PKG_NAME,
2267: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2263: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2264: (
2265: l_api_name,
2266: G_PKG_NAME,
2267: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2268: x_msg_count,
2269: x_msg_data,
2270: '_PVT'
2271: );
2269: x_msg_data,
2270: '_PVT'
2271: );
2272: WHEN OTHERS THEN
2273: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2274: (
2275: l_api_name,
2276: G_PKG_NAME,
2277: 'OTHERS',
2293: p_insv_tbl IN insv_tbl_type) IS
2294:
2295: l_api_version CONSTANT NUMBER := 1;
2296: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
2297: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2298: l_error_tbl OKC_API.ERROR_TBL_TYPE;
2299: BEGIN
2300: OKC_API.init_msg_list(p_init_msg_list);
2301: -- Make sure PL/SQL table has records in it before passing
2294:
2295: l_api_version CONSTANT NUMBER := 1;
2296: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
2297: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2298: l_error_tbl OKC_API.ERROR_TBL_TYPE;
2299: BEGIN
2300: OKC_API.init_msg_list(p_init_msg_list);
2301: -- Make sure PL/SQL table has records in it before passing
2302: IF (p_insv_tbl.COUNT > 0) THEN
2296: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
2297: l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2298: l_error_tbl OKC_API.ERROR_TBL_TYPE;
2299: BEGIN
2300: OKC_API.init_msg_list(p_init_msg_list);
2301: -- Make sure PL/SQL table has records in it before passing
2302: IF (p_insv_tbl.COUNT > 0) THEN
2303: delete_row (
2304: p_api_version => p_api_version,
2301: -- Make sure PL/SQL table has records in it before passing
2302: IF (p_insv_tbl.COUNT > 0) THEN
2303: delete_row (
2304: p_api_version => p_api_version,
2305: p_init_msg_list => OKC_API.G_FALSE,
2306: x_return_status => x_return_status,
2307: x_msg_count => x_msg_count,
2308: x_msg_data => x_msg_data,
2309: p_insv_tbl => p_insv_tbl,
2308: x_msg_data => x_msg_data,
2309: p_insv_tbl => p_insv_tbl,
2310: px_error_tbl => l_error_tbl);
2311: END IF;
2312: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2313: EXCEPTION
2314: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2315: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2316: (
2310: px_error_tbl => l_error_tbl);
2311: END IF;
2312: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2313: EXCEPTION
2314: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2315: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2316: (
2317: l_api_name,
2318: G_PKG_NAME,
2311: END IF;
2312: OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2313: EXCEPTION
2314: WHEN OKC_API.G_EXCEPTION_ERROR THEN
2315: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2316: (
2317: l_api_name,
2318: G_PKG_NAME,
2319: 'OKC_API.G_RET_STS_ERROR',
2315: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2316: (
2317: l_api_name,
2318: G_PKG_NAME,
2319: 'OKC_API.G_RET_STS_ERROR',
2320: x_msg_count,
2321: x_msg_data,
2322: '_PVT'
2323: );
2320: x_msg_count,
2321: x_msg_data,
2322: '_PVT'
2323: );
2324: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2325: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2326: (
2327: l_api_name,
2328: G_PKG_NAME,
2321: x_msg_data,
2322: '_PVT'
2323: );
2324: WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2325: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2326: (
2327: l_api_name,
2328: G_PKG_NAME,
2329: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2325: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2326: (
2327: l_api_name,
2328: G_PKG_NAME,
2329: 'OKC_API.G_RET_STS_UNEXP_ERROR',
2330: x_msg_count,
2331: x_msg_data,
2332: '_PVT'
2333: );
2331: x_msg_data,
2332: '_PVT'
2333: );
2334: WHEN OTHERS THEN
2335: x_return_status := OKC_API.HANDLE_EXCEPTIONS
2336: (
2337: l_api_name,
2338: G_PKG_NAME,
2339: 'OTHERS',