5:
6: FUNCTION validate_record (
7: p_rle_rec IN rle_rec_type
8: ) RETURN VARCHAR2 IS
9: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
10: BEGIN
11:
12: RETURN(l_return_status);
13:
18: FUNCTION validate_attributes(
19: p_rle_rec IN rle_rec_type
20: ) RETURN VARCHAR2 IS
21:
22: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
23: x_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
24:
25:
26: PROCEDURE validate_k_header_id(x_return_status OUT NOCOPY VARCHAR2,
19: p_rle_rec IN rle_rec_type
20: ) RETURN VARCHAR2 IS
21:
22: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
23: x_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
24:
25:
26: PROCEDURE validate_k_header_id(x_return_status OUT NOCOPY VARCHAR2,
27: p_rle_rec IN rle_rec_type)IS
33: WHERE K_HEADER_ID = p_rle_rec.K_HEADER_ID;
34:
35: BEGIN
36:
37: x_return_status := OKE_API.G_RET_STS_SUCCESS;
38:
39:
40: -- check required value - not null
41:
38:
39:
40: -- check required value - not null
41:
42: IF ( p_rle_rec.k_header_id = OKE_API.G_MISS_NUM
43: OR p_rle_rec.k_header_id IS NULL) THEN
44: OKE_API.SET_MESSAGE(
45: p_app_name =>g_app_name,
46: p_msg_name =>g_required_value,
40: -- check required value - not null
41:
42: IF ( p_rle_rec.k_header_id = OKE_API.G_MISS_NUM
43: OR p_rle_rec.k_header_id IS NULL) THEN
44: OKE_API.SET_MESSAGE(
45: p_app_name =>g_app_name,
46: p_msg_name =>g_required_value,
47: p_token1 =>g_col_name_token,
48: p_token1_value =>'K_HEADER_ID');
46: p_msg_name =>g_required_value,
47: p_token1 =>g_col_name_token,
48: p_token1_value =>'K_HEADER_ID');
49:
50: x_return_status := OKE_API.G_RET_STS_ERROR;
51: raise G_EXCEPTION_HALT_VALIDATION;
52: END IF;
53:
54:
56: FETCH l_csr INTO l_dummy_val;
57: CLOSE l_csr;
58:
59: IF (l_dummy_val = '?') THEN
60: OKE_API.SET_MESSAGE(
61: p_app_name =>g_app_name,
62: p_msg_name =>g_no_parent_record,
63: p_token1 =>g_col_name_token,
64: p_token1_value =>'K_HEADER_ID',
66: p_token2_value =>G_VIEW,
67: p_token3 =>g_parent_table_token,
68: p_token3_value =>'OKE_K_HEADERS');
69:
70: x_return_status := OKE_API.G_RET_STS_ERROR;
71: END IF;
72:
73:
74: EXCEPTION
75: WHEN G_EXCEPTION_HALT_VALIDATION THEN
76: NULL;
77: WHEN OTHERS THEN
78: -- store SQL error message on message stack
79: OKE_API.SET_MESSAGE(
80: p_app_name =>g_app_name,
81: p_msg_name =>G_UNEXPECTED_ERROR,
82: p_token1 =>G_SQLCODE_TOKEN,
83: p_token1_value =>SQLCODE,
82: p_token1 =>G_SQLCODE_TOKEN,
83: p_token1_value =>SQLCODE,
84: p_token2 =>G_SQLERRM_TOKEN,
85: p_token2_value =>SQLERRM);
86: x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
87:
88: IF l_csr%ISOPEN THEN
89: CLOSE l_csr;
90: END IF;
101: FROM OKE_CHG_REQUESTS
102: WHERE CHG_REQUEST_ID = p_rle_rec.CHG_REQUEST_ID;
103:
104: BEGIN
105: x_return_status := OKE_API.G_RET_STS_SUCCESS;
106: IF ( p_rle_rec.chg_request_id <> OKE_API.G_MISS_NUM
107: AND p_rle_rec.chg_request_id IS NOT NULL) THEN
108:
109: OPEN l_csr;
102: WHERE CHG_REQUEST_ID = p_rle_rec.CHG_REQUEST_ID;
103:
104: BEGIN
105: x_return_status := OKE_API.G_RET_STS_SUCCESS;
106: IF ( p_rle_rec.chg_request_id <> OKE_API.G_MISS_NUM
107: AND p_rle_rec.chg_request_id IS NOT NULL) THEN
108:
109: OPEN l_csr;
110: FETCH l_csr INTO l_dummy_val;
110: FETCH l_csr INTO l_dummy_val;
111: CLOSE l_csr;
112:
113: IF (l_dummy_val = '?') THEN
114: OKE_API.SET_MESSAGE(
115: p_app_name =>g_app_name,
116: p_msg_name =>g_no_parent_record,
117: p_token1 =>g_col_name_token,
118: p_token1_value =>'CHANGE_REQUEST_ID',
120: p_token2_value =>G_VIEW,
121: p_token3 =>g_parent_table_token,
122: p_token3_value =>'OKE_CHG_REQUESTS');
123:
124: x_return_status := OKE_API.G_RET_STS_ERROR;
125: END IF;
126: END IF;
127: EXCEPTION
128: WHEN OTHERS THEN
126: END IF;
127: EXCEPTION
128: WHEN OTHERS THEN
129: -- store SQL error message on message stack
130: OKE_API.SET_MESSAGE(
131: p_app_name =>g_app_name,
132: p_msg_name =>G_UNEXPECTED_ERROR,
133: p_token1 =>G_SQLCODE_TOKEN,
134: p_token1_value =>SQLCODE,
133: p_token1 =>G_SQLCODE_TOKEN,
134: p_token1_value =>SQLCODE,
135: p_token2 =>G_SQLERRM_TOKEN,
136: p_token2_value =>SQLERRM);
137: x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
138:
139: IF l_csr%ISOPEN THEN
140: CLOSE l_csr;
141: END IF;
155: WHERE K_HEADER_ID = p_rle_rec.related_entity_id;
156:
157: BEGIN
158:
159: x_return_status := OKE_API.G_RET_STS_SUCCESS;
160:
161:
162: -- check required value - not null
163:
160:
161:
162: -- check required value - not null
163:
164: IF ( p_rle_rec.related_entity_id = OKE_API.G_MISS_NUM
165: OR p_rle_rec.related_entity_id IS NULL) THEN
166: OKE_API.SET_MESSAGE(
167: p_app_name =>g_app_name,
168: p_msg_name =>g_required_value,
162: -- check required value - not null
163:
164: IF ( p_rle_rec.related_entity_id = OKE_API.G_MISS_NUM
165: OR p_rle_rec.related_entity_id IS NULL) THEN
166: OKE_API.SET_MESSAGE(
167: p_app_name =>g_app_name,
168: p_msg_name =>g_required_value,
169: p_token1 =>g_col_name_token,
170: p_token1_value =>'RELATED_ENTITY_ID');
168: p_msg_name =>g_required_value,
169: p_token1 =>g_col_name_token,
170: p_token1_value =>'RELATED_ENTITY_ID');
171:
172: x_return_status := OKE_API.G_RET_STS_ERROR;
173: raise G_EXCEPTION_HALT_VALIDATION;
174: END IF;
175:
176:
178: FETCH l_csr INTO l_dummy_val;
179: CLOSE l_csr;
180:
181: IF (l_dummy_val = '?') THEN
182: OKE_API.SET_MESSAGE(
183: p_app_name =>g_app_name,
184: p_msg_name =>g_no_parent_record,
185: p_token1 =>g_col_name_token,
186: p_token1_value =>'RELATED_ENTITY_ID',
188: p_token2_value =>G_VIEW,
189: p_token3 =>g_parent_table_token,
190: p_token3_value =>'OKE_K_HEADERS');
191:
192: x_return_status := OKE_API.G_RET_STS_ERROR;
193: END IF;
194:
195:
196: EXCEPTION
197: WHEN G_EXCEPTION_HALT_VALIDATION THEN
198: NULL;
199: WHEN OTHERS THEN
200: -- store SQL error message on message stack
201: OKE_API.SET_MESSAGE(
202: p_app_name =>g_app_name,
203: p_msg_name =>G_UNEXPECTED_ERROR,
204: p_token1 =>G_SQLCODE_TOKEN,
205: p_token1_value =>SQLCODE,
204: p_token1 =>G_SQLCODE_TOKEN,
205: p_token1_value =>SQLCODE,
206: p_token2 =>G_SQLERRM_TOKEN,
207: p_token2_value =>SQLERRM);
208: x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
209:
210: IF l_csr%ISOPEN THEN
211: CLOSE l_csr;
212: END IF;
234:
235:
236: BEGIN
237:
238: x_return_status := OKE_API.G_RET_STS_SUCCESS;
239:
240:
241: -- check required value - not null
242:
239:
240:
241: -- check required value - not null
242:
243: IF ( p_rle_rec.related_entity_version = OKE_API.G_MISS_NUM
244: OR p_rle_rec.related_entity_version IS NULL) THEN
245: OKE_API.SET_MESSAGE(
246: p_app_name =>g_app_name,
247: p_msg_name =>g_required_value,
241: -- check required value - not null
242:
243: IF ( p_rle_rec.related_entity_version = OKE_API.G_MISS_NUM
244: OR p_rle_rec.related_entity_version IS NULL) THEN
245: OKE_API.SET_MESSAGE(
246: p_app_name =>g_app_name,
247: p_msg_name =>g_required_value,
248: p_token1 =>g_col_name_token,
249: p_token1_value =>'RELATED_ENTITY_VERSION');
247: p_msg_name =>g_required_value,
248: p_token1 =>g_col_name_token,
249: p_token1_value =>'RELATED_ENTITY_VERSION');
250:
251: x_return_status := OKE_API.G_RET_STS_ERROR;
252: raise G_EXCEPTION_HALT_VALIDATION;
253: END IF;
254:
255:
257: FETCH l_csr INTO l_dummy_val;
258: CLOSE l_csr;
259:
260: IF (l_dummy_val = '?') THEN
261: OKE_API.SET_MESSAGE(
262: p_app_name =>g_app_name,
263: p_msg_name =>g_no_parent_record,
264: p_token1 =>g_col_name_token,
265: p_token1_value =>'VERSION',
267: p_token2_value =>G_VIEW,
268: p_token3 =>g_parent_table_token,
269: p_token3_value =>'OKC_K_VERS_NUMBERS');
270:
271: x_return_status := OKE_API.G_RET_STS_ERROR;
272: END IF;
273:
274:
275: EXCEPTION
276: WHEN G_EXCEPTION_HALT_VALIDATION THEN
277: NULL;
278: WHEN OTHERS THEN
279: -- store SQL error message on message stack
280: OKE_API.SET_MESSAGE(
281: p_app_name =>g_app_name,
282: p_msg_name =>G_UNEXPECTED_ERROR,
283: p_token1 =>G_SQLCODE_TOKEN,
284: p_token1_value =>SQLCODE,
283: p_token1 =>G_SQLCODE_TOKEN,
284: p_token1_value =>SQLCODE,
285: p_token2 =>G_SQLERRM_TOKEN,
286: p_token2_value =>SQLERRM);
287: x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
288:
289: IF l_csr%ISOPEN THEN
290: CLOSE l_csr;
291: END IF;
296: BEGIN
297:
298: validate_k_header_id (x_return_status => l_return_status,
299: p_rle_rec => p_rle_rec);
300: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
301: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
302: x_return_status := l_return_status;
303: END IF;
304: END IF;
297:
298: validate_k_header_id (x_return_status => l_return_status,
299: p_rle_rec => p_rle_rec);
300: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
301: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
302: x_return_status := l_return_status;
303: END IF;
304: END IF;
305:
304: END IF;
305:
306: validate_change_request_id (x_return_status => l_return_status,
307: p_rle_rec => p_rle_rec);
308: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
309: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
310: x_return_status := l_return_status;
311: END IF;
312: END IF;
305:
306: validate_change_request_id (x_return_status => l_return_status,
307: p_rle_rec => p_rle_rec);
308: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
309: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
310: x_return_status := l_return_status;
311: END IF;
312: END IF;
313:
312: END IF;
313:
314: validate_related_entity_id (x_return_status => l_return_status,
315: p_rle_rec => p_rle_rec);
316: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
317: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
318: x_return_status := l_return_status;
319: END IF;
320: END IF;
313:
314: validate_related_entity_id (x_return_status => l_return_status,
315: p_rle_rec => p_rle_rec);
316: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
317: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
318: x_return_status := l_return_status;
319: END IF;
320: END IF;
321:
320: END IF;
321:
322: /* validate_version (x_return_status => l_return_status,
323: p_rle_rec => p_rle_rec);
324: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
325: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
326: x_return_status := l_return_status;
327: END IF;
328: END IF; */
321:
322: /* validate_version (x_return_status => l_return_status,
323: p_rle_rec => p_rle_rec);
324: IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
325: IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
326: x_return_status := l_return_status;
327: END IF;
328: END IF; */
329:
340:
341: BEGIN
342:
343:
344: IF l_rle_rec.K_HEADER_ID = OKE_API.G_MISS_NUM THEN
345: l_rle_rec.K_HEADER_ID := NULL;
346: END IF;
347:
348: IF l_rle_rec.CHG_REQUEST_ID = OKE_API.G_MISS_NUM THEN
344: IF l_rle_rec.K_HEADER_ID = OKE_API.G_MISS_NUM THEN
345: l_rle_rec.K_HEADER_ID := NULL;
346: END IF;
347:
348: IF l_rle_rec.CHG_REQUEST_ID = OKE_API.G_MISS_NUM THEN
349: l_rle_rec.CHG_REQUEST_ID := NULL;
350: END IF;
351:
352: IF l_rle_rec.RELATED_ENTITY_ID = OKE_API.G_MISS_NUM THEN
348: IF l_rle_rec.CHG_REQUEST_ID = OKE_API.G_MISS_NUM THEN
349: l_rle_rec.CHG_REQUEST_ID := NULL;
350: END IF;
351:
352: IF l_rle_rec.RELATED_ENTITY_ID = OKE_API.G_MISS_NUM THEN
353: l_rle_rec.RELATED_ENTITY_ID := NULL;
354: END IF;
355:
356: IF l_rle_rec.RELATED_ENTITY_VERSION = OKE_API.G_MISS_NUM THEN
352: IF l_rle_rec.RELATED_ENTITY_ID = OKE_API.G_MISS_NUM THEN
353: l_rle_rec.RELATED_ENTITY_ID := NULL;
354: END IF;
355:
356: IF l_rle_rec.RELATED_ENTITY_VERSION = OKE_API.G_MISS_NUM THEN
357: l_rle_rec.RELATED_ENTITY_VERSION := NULL;
358: END IF;
359:
360: IF l_rle_rec.CREATED_BY = OKE_API.G_MISS_NUM THEN
356: IF l_rle_rec.RELATED_ENTITY_VERSION = OKE_API.G_MISS_NUM THEN
357: l_rle_rec.RELATED_ENTITY_VERSION := NULL;
358: END IF;
359:
360: IF l_rle_rec.CREATED_BY = OKE_API.G_MISS_NUM THEN
361: l_rle_rec.CREATED_BY := NULL;
362: END IF;
363:
364: IF l_rle_rec.CREATION_DATE = OKE_API.G_MISS_DATE THEN
360: IF l_rle_rec.CREATED_BY = OKE_API.G_MISS_NUM THEN
361: l_rle_rec.CREATED_BY := NULL;
362: END IF;
363:
364: IF l_rle_rec.CREATION_DATE = OKE_API.G_MISS_DATE THEN
365: l_rle_rec.CREATION_DATE := NULL;
366: END IF;
367:
368: IF l_rle_rec.LAST_UPDATED_BY = OKE_API.G_MISS_NUM THEN
364: IF l_rle_rec.CREATION_DATE = OKE_API.G_MISS_DATE THEN
365: l_rle_rec.CREATION_DATE := NULL;
366: END IF;
367:
368: IF l_rle_rec.LAST_UPDATED_BY = OKE_API.G_MISS_NUM THEN
369: l_rle_rec.LAST_UPDATED_BY := NULL;
370: END IF;
371:
372: IF l_rle_rec.LAST_UPDATE_LOGIN = OKE_API.G_MISS_NUM THEN
368: IF l_rle_rec.LAST_UPDATED_BY = OKE_API.G_MISS_NUM THEN
369: l_rle_rec.LAST_UPDATED_BY := NULL;
370: END IF;
371:
372: IF l_rle_rec.LAST_UPDATE_LOGIN = OKE_API.G_MISS_NUM THEN
373: l_rle_rec.LAST_UPDATE_LOGIN := NULL;
374: END IF;
375:
376: IF l_rle_rec.LAST_UPDATE_DATE = OKE_API.G_MISS_DATE THEN
372: IF l_rle_rec.LAST_UPDATE_LOGIN = OKE_API.G_MISS_NUM THEN
373: l_rle_rec.LAST_UPDATE_LOGIN := NULL;
374: END IF;
375:
376: IF l_rle_rec.LAST_UPDATE_DATE = OKE_API.G_MISS_DATE THEN
377: l_rle_rec.LAST_UPDATE_DATE := NULL;
378: END IF;
379:
380:
386: -- row level insert
387:
388: PROCEDURE insert_row(
389: p_api_version IN NUMBER,
390: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
391: x_return_status OUT NOCOPY VARCHAR2,
392: x_msg_count OUT NOCOPY NUMBER,
393: x_msg_data OUT NOCOPY VARCHAR2,
394: p_rle_rec IN rle_rec_type,
395: x_rle_rec OUT NOCOPY rle_rec_type) IS
396:
397: l_api_version CONSTANT NUMBER := 1;
398: l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
399: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
400: l_rle_rec rle_rec_type;
401: l_def_rle_rec rle_rec_type;
402: lx_rle_rec rle_rec_type;
403:
427: FUNCTION Set_Attributes (
428: p_rle_rec IN rle_rec_type,
429: x_rle_rec OUT NOCOPY rle_rec_type
430: ) RETURN VARCHAR2 IS
431: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
432: BEGIN
433: x_rle_rec := p_rle_rec;
434:
435: RETURN(l_return_status);
438:
439:
440: BEGIN -- insert
441:
442: l_return_status := OKE_API.START_ACTIVITY(l_api_name,
443: G_PKG_NAME,
444: p_init_msg_list,
445: l_api_version,
446: p_api_version,
447: '_PVT',
448: x_return_status);
449:
450:
451: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
452: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
453: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
454: RAISE OKE_API.G_EXCEPTION_ERROR;
455: END IF;
448: x_return_status);
449:
450:
451: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
452: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
453: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
454: RAISE OKE_API.G_EXCEPTION_ERROR;
455: END IF;
456:
449:
450:
451: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
452: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
453: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
454: RAISE OKE_API.G_EXCEPTION_ERROR;
455: END IF;
456:
457:
450:
451: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
452: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
453: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
454: RAISE OKE_API.G_EXCEPTION_ERROR;
455: END IF;
456:
457:
458: l_rle_rec := null_out_defaults(p_rle_rec);
464: l_rle_rec, -- IN
465: l_def_rle_rec); -- OUT
466:
467: --- If any errors happen abort API
468: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
469: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
470: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
471: RAISE OKE_API.G_EXCEPTION_ERROR;
472: END IF;
465: l_def_rle_rec); -- OUT
466:
467: --- If any errors happen abort API
468: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
469: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
470: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
471: RAISE OKE_API.G_EXCEPTION_ERROR;
472: END IF;
473:
466:
467: --- If any errors happen abort API
468: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
469: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
470: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
471: RAISE OKE_API.G_EXCEPTION_ERROR;
472: END IF;
473:
474:
467: --- If any errors happen abort API
468: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
469: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
470: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
471: RAISE OKE_API.G_EXCEPTION_ERROR;
472: END IF;
473:
474:
475: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
471: RAISE OKE_API.G_EXCEPTION_ERROR;
472: END IF;
473:
474:
475: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
476: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
477: END IF;
478:
479: l_def_rle_rec := fill_who_columns(l_def_rle_rec);
472: END IF;
473:
474:
475: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
476: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
477: END IF;
478:
479: l_def_rle_rec := fill_who_columns(l_def_rle_rec);
480:
482: --- Validate all non-missing attributes (Item Level Validation)
483: l_return_status := Validate_Attributes(l_def_rle_rec);
484:
485: --- If any errors happen abort API
486: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
487: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
488:
489: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
490: RAISE OKE_API.G_EXCEPTION_ERROR;
483: l_return_status := Validate_Attributes(l_def_rle_rec);
484:
485: --- If any errors happen abort API
486: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
487: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
488:
489: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
490: RAISE OKE_API.G_EXCEPTION_ERROR;
491: END IF;
485: --- If any errors happen abort API
486: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
487: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
488:
489: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
490: RAISE OKE_API.G_EXCEPTION_ERROR;
491: END IF;
492:
493:
486: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
487: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
488:
489: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
490: RAISE OKE_API.G_EXCEPTION_ERROR;
491: END IF;
492:
493:
494: l_return_status := Validate_Record(l_def_rle_rec);
492:
493:
494: l_return_status := Validate_Record(l_def_rle_rec);
495:
496: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
497: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
498: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
499: RAISE OKE_API.G_EXCEPTION_ERROR;
500: END IF;
493:
494: l_return_status := Validate_Record(l_def_rle_rec);
495:
496: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
497: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
498: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
499: RAISE OKE_API.G_EXCEPTION_ERROR;
500: END IF;
501:
494: l_return_status := Validate_Record(l_def_rle_rec);
495:
496: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
497: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
498: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
499: RAISE OKE_API.G_EXCEPTION_ERROR;
500: END IF;
501:
502:
495:
496: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
497: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
498: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
499: RAISE OKE_API.G_EXCEPTION_ERROR;
500: END IF;
501:
502:
503: INSERT INTO OKE_K_RELATED_ENTITIES(
545: (RELATED_ENTITY_VERSION IS NULL
546: AND x_rle_rec.RELATED_ENTITY_VERSION IS NULL));
547:
548:
549: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
550:
551: EXCEPTION
552: WHEN OKE_API.G_EXCEPTION_ERROR THEN
553: x_return_status := OKE_API.HANDLE_EXCEPTIONS
548:
549: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
550:
551: EXCEPTION
552: WHEN OKE_API.G_EXCEPTION_ERROR THEN
553: x_return_status := OKE_API.HANDLE_EXCEPTIONS
554: (
555: l_api_name,
556: G_PKG_NAME,
549: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
550:
551: EXCEPTION
552: WHEN OKE_API.G_EXCEPTION_ERROR THEN
553: x_return_status := OKE_API.HANDLE_EXCEPTIONS
554: (
555: l_api_name,
556: G_PKG_NAME,
557: 'OKE_API.G_RET_STS_ERROR',
553: x_return_status := OKE_API.HANDLE_EXCEPTIONS
554: (
555: l_api_name,
556: G_PKG_NAME,
557: 'OKE_API.G_RET_STS_ERROR',
558: x_msg_count,
559: x_msg_data,
560: '_PVT'
561: );
558: x_msg_count,
559: x_msg_data,
560: '_PVT'
561: );
562: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
563: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
564: (
565: l_api_name,
566: G_PKG_NAME,
559: x_msg_data,
560: '_PVT'
561: );
562: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
563: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
564: (
565: l_api_name,
566: G_PKG_NAME,
567: 'OKE_API.G_RET_STS_UNEXP_ERROR',
563: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
564: (
565: l_api_name,
566: G_PKG_NAME,
567: 'OKE_API.G_RET_STS_UNEXP_ERROR',
568: x_msg_count,
569: x_msg_data,
570: '_PVT'
571: );
569: x_msg_data,
570: '_PVT'
571: );
572: WHEN OTHERS THEN
573: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
574: (
575: l_api_name,
576: G_PKG_NAME,
577: 'OTHERS',
587: -- table level insert
588:
589: PROCEDURE insert_row(
590: p_api_version IN NUMBER,
591: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
592: x_return_status OUT NOCOPY VARCHAR2,
593: x_msg_count OUT NOCOPY NUMBER,
594: x_msg_data OUT NOCOPY VARCHAR2,
595: p_rle_tbl IN rle_tbl_type,
596: x_rle_tbl OUT NOCOPY rle_tbl_type) IS
597:
598: l_api_version CONSTANT NUMBER := 1;
599: l_api_name CONSTANT VARCHAR2(30) := 'TBL_insert_row';
600: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
601: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
602: i NUMBER := 0;
603: BEGIN
604:
597:
598: l_api_version CONSTANT NUMBER := 1;
599: l_api_name CONSTANT VARCHAR2(30) := 'TBL_insert_row';
600: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
601: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
602: i NUMBER := 0;
603: BEGIN
604:
605: OKE_API.init_msg_list(p_init_msg_list);
601: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
602: i NUMBER := 0;
603: BEGIN
604:
605: OKE_API.init_msg_list(p_init_msg_list);
606: -- Make sure PL/SQL table has records in it before passing
607: IF (p_rle_tbl.COUNT > 0) THEN
608: i := p_rle_tbl.FIRST;
609: LOOP
608: i := p_rle_tbl.FIRST;
609: LOOP
610: insert_row (
611: p_api_version => p_api_version,
612: p_init_msg_list => OKE_API.G_FALSE,
613: x_return_status => x_return_status,
614: x_msg_count => x_msg_count,
615: x_msg_data => x_msg_data,
616:
617: p_rle_rec => p_rle_tbl(i),
618: x_rle_rec => x_rle_tbl(i));
619:
620: -- store the highest degree of error
621: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
622: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
623: l_overall_status := x_return_status;
624: End If;
625: End If;
618: x_rle_rec => x_rle_tbl(i));
619:
620: -- store the highest degree of error
621: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
622: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
623: l_overall_status := x_return_status;
624: End If;
625: End If;
626:
632: x_return_status := l_overall_status;
633: END IF;
634:
635: EXCEPTION
636: WHEN OKE_API.G_EXCEPTION_ERROR THEN
637: x_return_status := OKE_API.HANDLE_EXCEPTIONS
638: (
639: l_api_name,
640: G_PKG_NAME,
633: END IF;
634:
635: EXCEPTION
636: WHEN OKE_API.G_EXCEPTION_ERROR THEN
637: x_return_status := OKE_API.HANDLE_EXCEPTIONS
638: (
639: l_api_name,
640: G_PKG_NAME,
641: 'OKE_API.G_RET_STS_ERROR',
637: x_return_status := OKE_API.HANDLE_EXCEPTIONS
638: (
639: l_api_name,
640: G_PKG_NAME,
641: 'OKE_API.G_RET_STS_ERROR',
642: x_msg_count,
643: x_msg_data,
644: '_PVT'
645: );
642: x_msg_count,
643: x_msg_data,
644: '_PVT'
645: );
646: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
647: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
648: (
649: l_api_name,
650: G_PKG_NAME,
643: x_msg_data,
644: '_PVT'
645: );
646: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
647: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
648: (
649: l_api_name,
650: G_PKG_NAME,
651: 'OKE_API.G_RET_STS_UNEXP_ERROR',
647: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
648: (
649: l_api_name,
650: G_PKG_NAME,
651: 'OKE_API.G_RET_STS_UNEXP_ERROR',
652: x_msg_count,
653: x_msg_data,
654: '_PVT'
655: );
653: x_msg_data,
654: '_PVT'
655: );
656: WHEN OTHERS THEN
657: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
658: (
659: l_api_name,
660: G_PKG_NAME,
661: 'OTHERS',
673:
674:
675: PROCEDURE update_row(
676: p_api_version IN NUMBER,
677: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
678: x_return_status OUT NOCOPY VARCHAR2,
679: x_msg_count OUT NOCOPY NUMBER,
680: x_msg_data OUT NOCOPY VARCHAR2,
681: p_rle_rec IN rle_rec_type,
682: x_rle_rec OUT NOCOPY rle_rec_type) IS
683:
684: l_api_version CONSTANT NUMBER := 1.0;
685: l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
686: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
687: l_rle_rec rle_rec_type := p_rle_rec;
688: l_def_rle_rec rle_rec_type;
689: lx_rle_rec rle_rec_type;
690:
709: FUNCTION set_attributes(
710: p_rle_rec IN rle_rec_type,
711: x_rle_rec OUT NOCOPY rle_rec_type
712: ) RETURN VARCHAR2 IS
713: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
714: BEGIN
715: x_rle_rec := p_rle_rec;
716: RETURN(l_return_status);
717: END Set_Attributes;
719:
720: BEGIN -- update row
721:
722:
723: l_return_status := OKE_API.START_ACTIVITY(l_api_name,
724: G_PKG_NAME,
725: p_init_msg_list,
726: l_api_version,
727: p_api_version,
728: '_PVT',
729: x_return_status);
730:
731:
732: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
733: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
734: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
735: RAISE OKE_API.G_EXCEPTION_ERROR;
736: END IF;
729: x_return_status);
730:
731:
732: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
733: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
734: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
735: RAISE OKE_API.G_EXCEPTION_ERROR;
736: END IF;
737:
730:
731:
732: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
733: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
734: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
735: RAISE OKE_API.G_EXCEPTION_ERROR;
736: END IF;
737:
738:
731:
732: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
733: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
734: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
735: RAISE OKE_API.G_EXCEPTION_ERROR;
736: END IF;
737:
738:
739: l_return_status := Set_Attributes(
740: p_rle_rec, -- IN
741: l_rle_rec); -- OUT
742:
743: --- If any errors happen abort API
744: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
747: RAISE OKE_API.G_EXCEPTION_ERROR;
748: END IF;
741: l_rle_rec); -- OUT
742:
743: --- If any errors happen abort API
744: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
747: RAISE OKE_API.G_EXCEPTION_ERROR;
748: END IF;
749:
742:
743: --- If any errors happen abort API
744: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
747: RAISE OKE_API.G_EXCEPTION_ERROR;
748: END IF;
749:
750:
743: --- If any errors happen abort API
744: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
747: RAISE OKE_API.G_EXCEPTION_ERROR;
748: END IF;
749:
750:
751: l_def_rle_rec:=l_rle_rec;
756: --- Validate all non-missing attributes (Item Level Validation)
757: l_return_status := Validate_Attributes(l_def_rle_rec);
758:
759: --- If any errors happen abort API
760: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
761: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
762: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
763: RAISE OKE_API.G_EXCEPTION_ERROR;
764: END IF;
757: l_return_status := Validate_Attributes(l_def_rle_rec);
758:
759: --- If any errors happen abort API
760: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
761: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
762: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
763: RAISE OKE_API.G_EXCEPTION_ERROR;
764: END IF;
765:
758:
759: --- If any errors happen abort API
760: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
761: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
762: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
763: RAISE OKE_API.G_EXCEPTION_ERROR;
764: END IF;
765:
766: l_return_status := Validate_Record(l_def_rle_rec);
759: --- If any errors happen abort API
760: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
761: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
762: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
763: RAISE OKE_API.G_EXCEPTION_ERROR;
764: END IF;
765:
766: l_return_status := Validate_Record(l_def_rle_rec);
767: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
763: RAISE OKE_API.G_EXCEPTION_ERROR;
764: END IF;
765:
766: l_return_status := Validate_Record(l_def_rle_rec);
767: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
768: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
769: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
770: RAISE OKE_API.G_EXCEPTION_ERROR;
771: END IF;
764: END IF;
765:
766: l_return_status := Validate_Record(l_def_rle_rec);
767: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
768: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
769: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
770: RAISE OKE_API.G_EXCEPTION_ERROR;
771: END IF;
772:
765:
766: l_return_status := Validate_Record(l_def_rle_rec);
767: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
768: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
769: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
770: RAISE OKE_API.G_EXCEPTION_ERROR;
771: END IF;
772:
773:
766: l_return_status := Validate_Record(l_def_rle_rec);
767: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
768: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
769: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
770: RAISE OKE_API.G_EXCEPTION_ERROR;
771: END IF;
772:
773:
774: UPDATE OKE_K_RELATED_ENTITIES
786: rowid = l_def_rle_rec.ROW_ID;
787:
788: x_rle_rec := l_def_rle_rec;
789:
790: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
791:
792: EXCEPTION
793: WHEN OKE_API.G_EXCEPTION_ERROR THEN
794: x_return_status := OKE_API.HANDLE_EXCEPTIONS
789:
790: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
791:
792: EXCEPTION
793: WHEN OKE_API.G_EXCEPTION_ERROR THEN
794: x_return_status := OKE_API.HANDLE_EXCEPTIONS
795: (
796: l_api_name,
797: G_PKG_NAME,
790: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
791:
792: EXCEPTION
793: WHEN OKE_API.G_EXCEPTION_ERROR THEN
794: x_return_status := OKE_API.HANDLE_EXCEPTIONS
795: (
796: l_api_name,
797: G_PKG_NAME,
798: 'OKE_API.G_RET_STS_ERROR',
794: x_return_status := OKE_API.HANDLE_EXCEPTIONS
795: (
796: l_api_name,
797: G_PKG_NAME,
798: 'OKE_API.G_RET_STS_ERROR',
799: x_msg_count,
800: x_msg_data,
801: '_PVT'
802: );
799: x_msg_count,
800: x_msg_data,
801: '_PVT'
802: );
803: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
804: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
805: (
806: l_api_name,
807: G_PKG_NAME,
800: x_msg_data,
801: '_PVT'
802: );
803: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
804: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
805: (
806: l_api_name,
807: G_PKG_NAME,
808: 'OKE_API.G_RET_STS_UNEXP_ERROR',
804: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
805: (
806: l_api_name,
807: G_PKG_NAME,
808: 'OKE_API.G_RET_STS_UNEXP_ERROR',
809: x_msg_count,
810: x_msg_data,
811: '_PVT'
812: );
810: x_msg_data,
811: '_PVT'
812: );
813: WHEN OTHERS THEN
814: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
815: (
816: l_api_name,
817: G_PKG_NAME,
818: 'OTHERS',
825:
826:
827: PROCEDURE update_row(
828: p_api_version IN NUMBER,
829: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
830: x_return_status OUT NOCOPY VARCHAR2,
831: x_msg_count OUT NOCOPY NUMBER,
832: x_msg_data OUT NOCOPY VARCHAR2,
833: p_rle_tbl IN rle_tbl_type,
836: l_api_version CONSTANT NUMBER := 1.0;
837: l_api_name CONSTANT VARCHAR2(30) := 'TBL_update_row';
838:
839:
840: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
841: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
842: i NUMBER := 0;
843: BEGIN
844:
837: l_api_name CONSTANT VARCHAR2(30) := 'TBL_update_row';
838:
839:
840: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
841: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
842: i NUMBER := 0;
843: BEGIN
844:
845: OKE_API.init_msg_list(p_init_msg_list);
841: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
842: i NUMBER := 0;
843: BEGIN
844:
845: OKE_API.init_msg_list(p_init_msg_list);
846: -- Make sure PL/SQL table has records in it before passing
847: IF (p_rle_tbl.COUNT > 0) THEN
848: i := p_rle_tbl.FIRST;
849: LOOP
849: LOOP
850:
851: update_row (
852: p_api_version => p_api_version,
853: p_init_msg_list => OKE_API.G_FALSE,
854: x_return_status => x_return_status,
855: x_msg_count => x_msg_count,
856: x_msg_data => x_msg_data,
857: p_rle_rec => p_rle_tbl(i),
857: p_rle_rec => p_rle_tbl(i),
858: x_rle_rec => x_rle_tbl(i));
859:
860: -- store the highest degree of error
861: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
862: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
863: l_overall_status := x_return_status;
864: End If;
865: End If;
858: x_rle_rec => x_rle_tbl(i));
859:
860: -- store the highest degree of error
861: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
862: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
863: l_overall_status := x_return_status;
864: End If;
865: End If;
866:
871: x_return_status := l_overall_status;
872: END IF;
873:
874: EXCEPTION
875: WHEN OKE_API.G_EXCEPTION_ERROR THEN
876: x_return_status := OKE_API.HANDLE_EXCEPTIONS
877: (
878: l_api_name,
879: G_PKG_NAME,
872: END IF;
873:
874: EXCEPTION
875: WHEN OKE_API.G_EXCEPTION_ERROR THEN
876: x_return_status := OKE_API.HANDLE_EXCEPTIONS
877: (
878: l_api_name,
879: G_PKG_NAME,
880: 'OKE_API.G_RET_STS_ERROR',
876: x_return_status := OKE_API.HANDLE_EXCEPTIONS
877: (
878: l_api_name,
879: G_PKG_NAME,
880: 'OKE_API.G_RET_STS_ERROR',
881: x_msg_count,
882: x_msg_data,
883: '_PVT'
884: );
882: x_msg_data,
883: '_PVT'
884: );
885:
886: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
887: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
888: (
889: l_api_name,
890: G_PKG_NAME,
883: '_PVT'
884: );
885:
886: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
887: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
888: (
889: l_api_name,
890: G_PKG_NAME,
891: 'OKE_API.G_RET_STS_UNEXP_ERROR',
887: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
888: (
889: l_api_name,
890: G_PKG_NAME,
891: 'OKE_API.G_RET_STS_UNEXP_ERROR',
892: x_msg_count,
893: x_msg_data,
894: '_PVT'
895: );
893: x_msg_data,
894: '_PVT'
895: );
896: WHEN OTHERS THEN
897: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
898: (
899: l_api_name,
900: G_PKG_NAME,
901: 'OTHERS',
907:
908:
909: PROCEDURE delete_row(
910: p_api_version IN NUMBER,
911: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
912: x_return_status OUT NOCOPY VARCHAR2,
913: x_msg_count OUT NOCOPY NUMBER,
914: x_msg_data OUT NOCOPY VARCHAR2,
915: p_rle_rec IN rle_rec_type) IS
915: p_rle_rec IN rle_rec_type) IS
916:
917: l_api_version CONSTANT NUMBER := 1;
918: l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
919: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
920: l_rle_rec rle_rec_type := p_rle_rec;
921:
922: BEGIN
923:
920: l_rle_rec rle_rec_type := p_rle_rec;
921:
922: BEGIN
923:
924: l_return_status := OKE_API.START_ACTIVITY(l_api_name,
925: p_init_msg_list,
926: '_PVT',
927: x_return_status);
928:
926: '_PVT',
927: x_return_status);
928:
929:
930: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
931: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
932: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
933: RAISE OKE_API.G_EXCEPTION_ERROR;
934: END IF;
927: x_return_status);
928:
929:
930: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
931: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
932: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
933: RAISE OKE_API.G_EXCEPTION_ERROR;
934: END IF;
935:
928:
929:
930: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
931: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
932: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
933: RAISE OKE_API.G_EXCEPTION_ERROR;
934: END IF;
935:
936:
929:
930: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
931: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
932: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
933: RAISE OKE_API.G_EXCEPTION_ERROR;
934: END IF;
935:
936:
937: DELETE FROM OKE_K_RELATED_ENTITIES
936:
937: DELETE FROM OKE_K_RELATED_ENTITIES
938: WHERE rowid = p_rle_rec.ROW_ID;
939:
940: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
941:
942: EXCEPTION
943: WHEN OKE_API.G_EXCEPTION_ERROR THEN
944: x_return_status := OKE_API.HANDLE_EXCEPTIONS
939:
940: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
941:
942: EXCEPTION
943: WHEN OKE_API.G_EXCEPTION_ERROR THEN
944: x_return_status := OKE_API.HANDLE_EXCEPTIONS
945: (
946: l_api_name,
947: G_PKG_NAME,
940: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
941:
942: EXCEPTION
943: WHEN OKE_API.G_EXCEPTION_ERROR THEN
944: x_return_status := OKE_API.HANDLE_EXCEPTIONS
945: (
946: l_api_name,
947: G_PKG_NAME,
948: 'OKE_API.G_RET_STS_ERROR',
944: x_return_status := OKE_API.HANDLE_EXCEPTIONS
945: (
946: l_api_name,
947: G_PKG_NAME,
948: 'OKE_API.G_RET_STS_ERROR',
949: x_msg_count,
950: x_msg_data,
951: '_PVT'
952: );
949: x_msg_count,
950: x_msg_data,
951: '_PVT'
952: );
953: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
954: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
955: (
956: l_api_name,
957: G_PKG_NAME,
950: x_msg_data,
951: '_PVT'
952: );
953: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
954: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
955: (
956: l_api_name,
957: G_PKG_NAME,
958: 'OKE_API.G_RET_STS_UNEXP_ERROR',
954: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
955: (
956: l_api_name,
957: G_PKG_NAME,
958: 'OKE_API.G_RET_STS_UNEXP_ERROR',
959: x_msg_count,
960: x_msg_data,
961: '_PVT'
962: );
960: x_msg_data,
961: '_PVT'
962: );
963: WHEN OTHERS THEN
964: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
965: (
966: l_api_name,
967: G_PKG_NAME,
968: 'OTHERS',
976: -- table level delete
977:
978: PROCEDURE delete_row(
979: p_api_version IN NUMBER,
980: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
981: x_return_status OUT NOCOPY VARCHAR2,
982: x_msg_count OUT NOCOPY NUMBER,
983: x_msg_data OUT NOCOPY VARCHAR2,
984: p_rle_tbl IN rle_tbl_type) IS
984: p_rle_tbl IN rle_tbl_type) IS
985:
986: l_api_version CONSTANT NUMBER := 1;
987: l_api_name CONSTANT VARCHAR2(30) := 'TBL_delete_row';
988: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
989: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
990: i NUMBER := 0;
991: BEGIN
992: OKE_API.init_msg_list(p_init_msg_list);
985:
986: l_api_version CONSTANT NUMBER := 1;
987: l_api_name CONSTANT VARCHAR2(30) := 'TBL_delete_row';
988: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
989: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
990: i NUMBER := 0;
991: BEGIN
992: OKE_API.init_msg_list(p_init_msg_list);
993:
988: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
989: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
990: i NUMBER := 0;
991: BEGIN
992: OKE_API.init_msg_list(p_init_msg_list);
993:
994: -- Make sure PL/SQL table has records in it before passing
995: IF (p_rle_tbl.COUNT > 0) THEN
996: i := p_rle_tbl.FIRST;
996: i := p_rle_tbl.FIRST;
997: LOOP
998: delete_row (
999: p_api_version => p_api_version,
1000: p_init_msg_list => OKE_API.G_FALSE,
1001: x_return_status => x_return_status,
1002: x_msg_count => x_msg_count,
1003: x_msg_data => x_msg_data,
1004: p_rle_rec => p_rle_tbl(i));
1005:
1006:
1007:
1008: -- store the highest degree of error
1009: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
1010: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
1011: l_overall_status := x_return_status;
1012: End If;
1013: End If;
1006:
1007:
1008: -- store the highest degree of error
1009: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
1010: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
1011: l_overall_status := x_return_status;
1012: End If;
1013: End If;
1014:
1020: x_return_status := l_overall_status;
1021: END IF;
1022:
1023: EXCEPTION
1024: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1025: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1026: (
1027: l_api_name,
1028: G_PKG_NAME,
1021: END IF;
1022:
1023: EXCEPTION
1024: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1025: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1026: (
1027: l_api_name,
1028: G_PKG_NAME,
1029: 'OKE_API.G_RET_STS_ERROR',
1025: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1026: (
1027: l_api_name,
1028: G_PKG_NAME,
1029: 'OKE_API.G_RET_STS_ERROR',
1030: x_msg_count,
1031: x_msg_data,
1032: '_PVT'
1033: );
1030: x_msg_count,
1031: x_msg_data,
1032: '_PVT'
1033: );
1034: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1035: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1036: (
1037: l_api_name,
1038: G_PKG_NAME,
1031: x_msg_data,
1032: '_PVT'
1033: );
1034: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1035: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1036: (
1037: l_api_name,
1038: G_PKG_NAME,
1039: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1035: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1036: (
1037: l_api_name,
1038: G_PKG_NAME,
1039: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1040: x_msg_count,
1041: x_msg_data,
1042: '_PVT'
1043: );
1041: x_msg_data,
1042: '_PVT'
1043: );
1044: WHEN OTHERS THEN
1045: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1046: (
1047: l_api_name,
1048: G_PKG_NAME,
1049: 'OTHERS',
1057: -- validate row
1058:
1059: PROCEDURE validate_row(
1060: p_api_version IN NUMBER,
1061: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
1062: x_return_status OUT NOCOPY VARCHAR2,
1063: x_msg_count OUT NOCOPY NUMBER,
1064: x_msg_data OUT NOCOPY VARCHAR2,
1065: p_rle_rec IN rle_rec_type
1066: ) IS
1067:
1068: l_api_version CONSTANT NUMBER := 1;
1069: l_api_name CONSTANT VARCHAR2(30) := 'B_validate_row';
1070: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1071: l_rle_rec rle_rec_type := p_rle_rec;
1072:
1073: BEGIN
1074: l_return_status := OKE_API.START_ACTIVITY(l_api_name,
1070: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1071: l_rle_rec rle_rec_type := p_rle_rec;
1072:
1073: BEGIN
1074: l_return_status := OKE_API.START_ACTIVITY(l_api_name,
1075: G_PKG_NAME,
1076: p_init_msg_list,
1077: l_api_version,
1078: p_api_version,
1077: l_api_version,
1078: p_api_version,
1079: '_PVT',
1080: x_return_status);
1081: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1082: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1083: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1084:
1085: RAISE OKE_API.G_EXCEPTION_ERROR;
1078: p_api_version,
1079: '_PVT',
1080: x_return_status);
1081: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1082: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1083: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1084:
1085: RAISE OKE_API.G_EXCEPTION_ERROR;
1086: END IF;
1079: '_PVT',
1080: x_return_status);
1081: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1082: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1083: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1084:
1085: RAISE OKE_API.G_EXCEPTION_ERROR;
1086: END IF;
1087: --- Validate all non-missing attributes (Item Level Validation)
1081: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1082: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1083: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1084:
1085: RAISE OKE_API.G_EXCEPTION_ERROR;
1086: END IF;
1087: --- Validate all non-missing attributes (Item Level Validation)
1088: l_return_status := Validate_Attributes(l_rle_rec);
1089: --- If any errors happen abort API
1086: END IF;
1087: --- Validate all non-missing attributes (Item Level Validation)
1088: l_return_status := Validate_Attributes(l_rle_rec);
1089: --- If any errors happen abort API
1090: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1091: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1092: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1093: RAISE OKE_API.G_EXCEPTION_ERROR;
1094: END IF;
1087: --- Validate all non-missing attributes (Item Level Validation)
1088: l_return_status := Validate_Attributes(l_rle_rec);
1089: --- If any errors happen abort API
1090: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1091: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1092: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1093: RAISE OKE_API.G_EXCEPTION_ERROR;
1094: END IF;
1095: l_return_status := Validate_Record(l_rle_rec);
1088: l_return_status := Validate_Attributes(l_rle_rec);
1089: --- If any errors happen abort API
1090: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1091: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1092: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1093: RAISE OKE_API.G_EXCEPTION_ERROR;
1094: END IF;
1095: l_return_status := Validate_Record(l_rle_rec);
1096:
1089: --- If any errors happen abort API
1090: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1091: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1092: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1093: RAISE OKE_API.G_EXCEPTION_ERROR;
1094: END IF;
1095: l_return_status := Validate_Record(l_rle_rec);
1096:
1097: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1093: RAISE OKE_API.G_EXCEPTION_ERROR;
1094: END IF;
1095: l_return_status := Validate_Record(l_rle_rec);
1096:
1097: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1098: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1099: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1100: RAISE OKE_API.G_EXCEPTION_ERROR;
1101: END IF;
1094: END IF;
1095: l_return_status := Validate_Record(l_rle_rec);
1096:
1097: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1098: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1099: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1100: RAISE OKE_API.G_EXCEPTION_ERROR;
1101: END IF;
1102: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1095: l_return_status := Validate_Record(l_rle_rec);
1096:
1097: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1098: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1099: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1100: RAISE OKE_API.G_EXCEPTION_ERROR;
1101: END IF;
1102: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1103: EXCEPTION
1096:
1097: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1098: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1099: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1100: RAISE OKE_API.G_EXCEPTION_ERROR;
1101: END IF;
1102: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1103: EXCEPTION
1104: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1098: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1099: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1100: RAISE OKE_API.G_EXCEPTION_ERROR;
1101: END IF;
1102: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1103: EXCEPTION
1104: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1105: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1106: (
1100: RAISE OKE_API.G_EXCEPTION_ERROR;
1101: END IF;
1102: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1103: EXCEPTION
1104: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1105: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1106: (
1107: l_api_name,
1108: G_PKG_NAME,
1101: END IF;
1102: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1103: EXCEPTION
1104: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1105: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1106: (
1107: l_api_name,
1108: G_PKG_NAME,
1109: 'OKE_API.G_RET_STS_ERROR',
1105: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1106: (
1107: l_api_name,
1108: G_PKG_NAME,
1109: 'OKE_API.G_RET_STS_ERROR',
1110: x_msg_count,
1111: x_msg_data,
1112: '_PVT'
1113: );
1110: x_msg_count,
1111: x_msg_data,
1112: '_PVT'
1113: );
1114: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1115: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1116: (
1117: l_api_name,
1118: G_PKG_NAME,
1111: x_msg_data,
1112: '_PVT'
1113: );
1114: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1115: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1116: (
1117: l_api_name,
1118: G_PKG_NAME,
1119: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1115: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1116: (
1117: l_api_name,
1118: G_PKG_NAME,
1119: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1120: x_msg_count,
1121: x_msg_data,
1122: '_PVT'
1123: );
1121: x_msg_data,
1122: '_PVT'
1123: );
1124: WHEN OTHERS THEN
1125: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1126: (
1127: l_api_name,
1128: G_PKG_NAME,
1129: 'OTHERS',
1134: END validate_row;
1135:
1136: PROCEDURE validate_row(
1137: p_api_version IN NUMBER,
1138: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
1139: x_return_status OUT NOCOPY VARCHAR2,
1140: x_msg_count OUT NOCOPY NUMBER,
1141: x_msg_data OUT NOCOPY VARCHAR2,
1142: p_rle_tbl IN rle_tbl_type
1143: ) IS
1144:
1145: l_api_version CONSTANT NUMBER := 1;
1146: l_api_name CONSTANT VARCHAR2(30) := 'TBL_validate_row';
1147: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1148: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1149: i NUMBER := 0;
1150: BEGIN
1151: OKE_API.init_msg_list(p_init_msg_list);
1144:
1145: l_api_version CONSTANT NUMBER := 1;
1146: l_api_name CONSTANT VARCHAR2(30) := 'TBL_validate_row';
1147: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1148: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1149: i NUMBER := 0;
1150: BEGIN
1151: OKE_API.init_msg_list(p_init_msg_list);
1152: -- Make sure PL/SQL table has records in it before passing
1147: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1148: l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1149: i NUMBER := 0;
1150: BEGIN
1151: OKE_API.init_msg_list(p_init_msg_list);
1152: -- Make sure PL/SQL table has records in it before passing
1153: IF (p_rle_tbl.COUNT > 0) THEN
1154: i := p_rle_tbl.FIRST;
1155: LOOP
1154: i := p_rle_tbl.FIRST;
1155: LOOP
1156: validate_row (
1157: p_api_version => p_api_version,
1158: p_init_msg_list => OKE_API.G_FALSE,
1159: x_return_status => x_return_status,
1160: x_msg_count => x_msg_count,
1161: x_msg_data => x_msg_data,
1162: p_rle_rec => p_rle_tbl(i));
1161: x_msg_data => x_msg_data,
1162: p_rle_rec => p_rle_tbl(i));
1163:
1164: -- store the highest degree of error
1165: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
1166: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
1167: l_overall_status := x_return_status;
1168: End If;
1169: End If;
1162: p_rle_rec => p_rle_tbl(i));
1163:
1164: -- store the highest degree of error
1165: If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
1166: If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
1167: l_overall_status := x_return_status;
1168: End If;
1169: End If;
1170:
1175: x_return_status := l_overall_status;
1176: END IF;
1177:
1178: EXCEPTION
1179: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1180: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1181: (
1182: l_api_name,
1183: G_PKG_NAME,
1176: END IF;
1177:
1178: EXCEPTION
1179: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1180: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1181: (
1182: l_api_name,
1183: G_PKG_NAME,
1184: 'OKE_API.G_RET_STS_ERROR',
1180: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1181: (
1182: l_api_name,
1183: G_PKG_NAME,
1184: 'OKE_API.G_RET_STS_ERROR',
1185: x_msg_count,
1186: x_msg_data,
1187: '_PVT'
1188: );
1185: x_msg_count,
1186: x_msg_data,
1187: '_PVT'
1188: );
1189: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1190: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1191: (
1192: l_api_name,
1193: G_PKG_NAME,
1186: x_msg_data,
1187: '_PVT'
1188: );
1189: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1190: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1191: (
1192: l_api_name,
1193: G_PKG_NAME,
1194: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1190: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1191: (
1192: l_api_name,
1193: G_PKG_NAME,
1194: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1195: x_msg_count,
1196: x_msg_data,
1197: '_PVT'
1198: );
1196: x_msg_data,
1197: '_PVT'
1198: );
1199: WHEN OTHERS THEN
1200: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1201: (
1202: l_api_name,
1203: G_PKG_NAME,
1204: 'OTHERS',
1212:
1213:
1214: PROCEDURE lock_row(
1215: p_api_version IN NUMBER,
1216: p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
1217: x_return_status OUT NOCOPY VARCHAR2,
1218: x_msg_count OUT NOCOPY NUMBER,
1219: x_msg_data OUT NOCOPY VARCHAR2,
1220: p_rle_rec IN rle_rec_type) IS
1221:
1222:
1223: l_api_version CONSTANT NUMBER := 1;
1224: l_api_name CONSTANT VARCHAR2(30) := 'lock_row';
1225: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
1226: l_row_notfound BOOLEAN := FALSE;
1227:
1228: l_chr_id NUMBER;
1229: l_rle_id NUMBER;
1240: FOR UPDATE NOWAIT;
1241:
1242:
1243: BEGIN
1244: l_return_status := OKE_API.START_ACTIVITY(l_api_name,
1245: p_init_msg_list,
1246: '_PVT',
1247: x_return_status);
1248: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1244: l_return_status := OKE_API.START_ACTIVITY(l_api_name,
1245: p_init_msg_list,
1246: '_PVT',
1247: x_return_status);
1248: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1249: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1250: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1251: RAISE OKE_API.G_EXCEPTION_ERROR;
1252: END IF;
1245: p_init_msg_list,
1246: '_PVT',
1247: x_return_status);
1248: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1249: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1250: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1251: RAISE OKE_API.G_EXCEPTION_ERROR;
1252: END IF;
1253:
1246: '_PVT',
1247: x_return_status);
1248: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1249: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1250: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1251: RAISE OKE_API.G_EXCEPTION_ERROR;
1252: END IF;
1253:
1254:
1247: x_return_status);
1248: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
1249: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1250: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
1251: RAISE OKE_API.G_EXCEPTION_ERROR;
1252: END IF;
1253:
1254:
1255: BEGIN
1263: WHEN E_Resource_Busy THEN
1264: IF (lock_csr%ISOPEN) THEN
1265: CLOSE lock_csr;
1266: END IF;
1267: OKE_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1268: RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1269: END;
1270:
1271:
1269: END;
1270:
1271:
1272: IF (l_row_notfound) THEN
1273: OKE_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1274: RAISE OKE_API.G_EXCEPTION_ERROR;
1275: END IF;
1276:
1277: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1270:
1271:
1272: IF (l_row_notfound) THEN
1273: OKE_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1274: RAISE OKE_API.G_EXCEPTION_ERROR;
1275: END IF;
1276:
1277: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1278:
1273: OKE_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1274: RAISE OKE_API.G_EXCEPTION_ERROR;
1275: END IF;
1276:
1277: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1278:
1279: EXCEPTION
1280: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1281: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1276:
1277: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1278:
1279: EXCEPTION
1280: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1281: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1282: (
1283: l_api_name,
1284: G_PKG_NAME,
1277: OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
1278:
1279: EXCEPTION
1280: WHEN OKE_API.G_EXCEPTION_ERROR THEN
1281: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1282: (
1283: l_api_name,
1284: G_PKG_NAME,
1285: 'OKE_API.G_RET_STS_ERROR',
1281: x_return_status := OKE_API.HANDLE_EXCEPTIONS
1282: (
1283: l_api_name,
1284: G_PKG_NAME,
1285: 'OKE_API.G_RET_STS_ERROR',
1286: x_msg_count,
1287: x_msg_data,
1288: '_PVT'
1289: );
1286: x_msg_count,
1287: x_msg_data,
1288: '_PVT'
1289: );
1290: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1291: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1292: (
1293: l_api_name,
1294: G_PKG_NAME,
1287: x_msg_data,
1288: '_PVT'
1289: );
1290: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1291: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1292: (
1293: l_api_name,
1294: G_PKG_NAME,
1295: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1291: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1292: (
1293: l_api_name,
1294: G_PKG_NAME,
1295: 'OKE_API.G_RET_STS_UNEXP_ERROR',
1296: x_msg_count,
1297: x_msg_data,
1298: '_PVT'
1299: );
1297: x_msg_data,
1298: '_PVT'
1299: );
1300: WHEN OTHERS THEN
1301: x_return_status :=OKE_API.HANDLE_EXCEPTIONS
1302: (
1303: l_api_name,
1304: G_PKG_NAME,
1305: 'OTHERS',