21: LOOP
22:
23: IF p_x_prog_type_subtype_tbl(I).DML_OPERATION='C'
24: THEN
25: IF p_x_prog_type_subtype_tbl(I).PROGRAM_TYPE_CODE= FND_API.G_MISS_CHAR
26: THEN
27: p_x_prog_type_subtype_tbl(I).PROGRAM_TYPE_CODE:=NULL;
28: END IF;
29:
26: THEN
27: p_x_prog_type_subtype_tbl(I).PROGRAM_TYPE_CODE:=NULL;
28: END IF;
29:
30: IF p_x_prog_type_subtype_tbl(I).PROGRAM_SUBTYPE_CODE= FND_API.G_MISS_CHAR
31: THEN
32: p_x_prog_type_subtype_tbl(I).PROGRAM_SUBTYPE_CODE:=NULL;
33: END IF;
34:
31: THEN
32: p_x_prog_type_subtype_tbl(I).PROGRAM_SUBTYPE_CODE:=NULL;
33: END IF;
34:
35: IF p_x_prog_type_subtype_tbl(I).PROG_TYPE_SUBTYPE_ID= FND_API.G_MISS_NUM
36: THEN
37: p_x_prog_type_subtype_tbl(I).PROG_TYPE_SUBTYPE_ID:=NULL;
38: END IF;
39: IF p_x_prog_type_subtype_tbl(i).OBJECT_VERSION_NUMBER= FND_API.G_MISS_NUM
35: IF p_x_prog_type_subtype_tbl(I).PROG_TYPE_SUBTYPE_ID= FND_API.G_MISS_NUM
36: THEN
37: p_x_prog_type_subtype_tbl(I).PROG_TYPE_SUBTYPE_ID:=NULL;
38: END IF;
39: IF p_x_prog_type_subtype_tbl(i).OBJECT_VERSION_NUMBER= FND_API.G_MISS_NUM
40: THEN
41: IF p_x_prog_type_subtype_tbl(i).dml_operation='C'
42: THEN
43: p_x_prog_type_subtype_tbl(i).OBJECT_VERSION_NUMBER:=1;
45: p_x_prog_type_subtype_tbl(i).OBJECT_VERSION_NUMBER:=NULL;
46: END IF;
47: END IF;
48:
49: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE_CATEGORY= FND_API.G_MISS_CHAR
50: THEN
51: p_x_prog_type_subtype_tbl(i).ATTRIBUTE_CATEGORY:=NULL;
52: END IF;
53:
50: THEN
51: p_x_prog_type_subtype_tbl(i).ATTRIBUTE_CATEGORY:=NULL;
52: END IF;
53:
54: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE1=FND_API.G_MISS_CHAR
55: THEN
56: p_x_prog_type_subtype_tbl(i).ATTRIBUTE1:=NULL;
57: END IF;
58:
55: THEN
56: p_x_prog_type_subtype_tbl(i).ATTRIBUTE1:=NULL;
57: END IF;
58:
59: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE2=FND_API.G_MISS_CHAR
60: THEN
61: p_x_prog_type_subtype_tbl(i).ATTRIBUTE2:=NULL;
62: END IF;
63:
60: THEN
61: p_x_prog_type_subtype_tbl(i).ATTRIBUTE2:=NULL;
62: END IF;
63:
64: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE3=FND_API.G_MISS_CHAR
65: THEN
66: p_x_prog_type_subtype_tbl(i).ATTRIBUTE3:=NULL;
67: END IF;
68:
65: THEN
66: p_x_prog_type_subtype_tbl(i).ATTRIBUTE3:=NULL;
67: END IF;
68:
69: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE4=FND_API.G_MISS_CHAR
70: THEN
71: p_x_prog_type_subtype_tbl(i).ATTRIBUTE4:=NULL;
72: END IF;
73:
70: THEN
71: p_x_prog_type_subtype_tbl(i).ATTRIBUTE4:=NULL;
72: END IF;
73:
74: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE5=FND_API.G_MISS_CHAR
75: THEN
76: p_x_prog_type_subtype_tbl(i).ATTRIBUTE5:=NULL;
77: END IF;
78:
75: THEN
76: p_x_prog_type_subtype_tbl(i).ATTRIBUTE5:=NULL;
77: END IF;
78:
79: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE6=FND_API.G_MISS_CHAR
80: THEN
81: p_x_prog_type_subtype_tbl(i).ATTRIBUTE6:=NULL;
82: END IF;
83:
80: THEN
81: p_x_prog_type_subtype_tbl(i).ATTRIBUTE6:=NULL;
82: END IF;
83:
84: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE7=FND_API.G_MISS_CHAR
85: THEN
86: p_x_prog_type_subtype_tbl(i).ATTRIBUTE7:=NULL;
87: END IF;
88:
85: THEN
86: p_x_prog_type_subtype_tbl(i).ATTRIBUTE7:=NULL;
87: END IF;
88:
89: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE8=FND_API.G_MISS_CHAR
90: THEN
91: p_x_prog_type_subtype_tbl(i).ATTRIBUTE8:=NULL;
92: END IF;
93:
90: THEN
91: p_x_prog_type_subtype_tbl(i).ATTRIBUTE8:=NULL;
92: END IF;
93:
94: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE9=FND_API.G_MISS_CHAR
95: THEN
96: p_x_prog_type_subtype_tbl(i).ATTRIBUTE9:=NULL;
97: END IF;
98:
95: THEN
96: p_x_prog_type_subtype_tbl(i).ATTRIBUTE9:=NULL;
97: END IF;
98:
99: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE10=FND_API.G_MISS_CHAR
100: THEN
101: p_x_prog_type_subtype_tbl(i).ATTRIBUTE10:=NULL;
102: END IF;
103:
100: THEN
101: p_x_prog_type_subtype_tbl(i).ATTRIBUTE10:=NULL;
102: END IF;
103:
104: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE11=FND_API.G_MISS_CHAR
105: THEN
106: p_x_prog_type_subtype_tbl(i).ATTRIBUTE11:=NULL;
107: END IF;
108:
105: THEN
106: p_x_prog_type_subtype_tbl(i).ATTRIBUTE11:=NULL;
107: END IF;
108:
109: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE12=FND_API.G_MISS_CHAR
110: THEN
111: p_x_prog_type_subtype_tbl(i).ATTRIBUTE12:=NULL;
112: END IF;
113:
110: THEN
111: p_x_prog_type_subtype_tbl(i).ATTRIBUTE12:=NULL;
112: END IF;
113:
114: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE13=FND_API.G_MISS_CHAR
115: THEN
116: p_x_prog_type_subtype_tbl(i).ATTRIBUTE13:=NULL;
117: END IF;
118:
115: THEN
116: p_x_prog_type_subtype_tbl(i).ATTRIBUTE13:=NULL;
117: END IF;
118:
119: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE14=FND_API.G_MISS_CHAR
120: THEN
121: p_x_prog_type_subtype_tbl(i).ATTRIBUTE14:=NULL;
122: END IF;
123:
120: THEN
121: p_x_prog_type_subtype_tbl(i).ATTRIBUTE14:=NULL;
122: END IF;
123:
124: IF p_x_prog_type_subtype_tbl(i).ATTRIBUTE15=FND_API.G_MISS_CHAR
125: THEN
126: p_x_prog_type_subtype_tbl(i).ATTRIBUTE15:=NULL;
127: END IF;
128: ELSIF p_x_prog_type_subtype_tbl(I).DML_OPERATION='U'
249:
250: PROCEDURE TRANS_VALUE_TO_ID
251: (
252: p_api_version IN NUMBER:=1.0,
253: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
254: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
255: p_module_type IN VARCHAR2 ,
256: x_return_status OUT NOCOPY VARCHAR2,
257: x_msg_count OUT NOCOPY NUMBER,
250: PROCEDURE TRANS_VALUE_TO_ID
251: (
252: p_api_version IN NUMBER:=1.0,
253: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
254: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
255: p_module_type IN VARCHAR2 ,
256: x_return_status OUT NOCOPY VARCHAR2,
257: x_msg_count OUT NOCOPY NUMBER,
258: x_msg_data OUT NOCOPY VARCHAR2,
293: IF G_DEBUG='Y' THEN
294: AHL_DEBUG_PUB.enable_debug;
295: END IF;
296:
297: x_return_status := FND_API.G_RET_STS_SUCCESS;
298:
299: IF p_x_prog_type_subtype_rec.dml_operation='C'
300: THEN
301: p_x_prog_type_subtype_rec.object_version_number:=1;
304: IF p_x_prog_type_subtype_rec.dml_operation<>'C'
305: THEN
306:
307: IF p_x_prog_type_subtype_rec.object_version_number is null or
308: p_x_prog_type_subtype_rec.object_version_number =FND_API.G_MISS_NUM
309: THEN
310: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PT_OBJ_VERSION_NULL');
311: FND_MESSAGE.SET_TOKEN('RECORD',p_x_prog_type_subtype_rec.PROGRAM_SUBTYPE,false);
312: FND_MSG_PUB.ADD;
312: FND_MSG_PUB.ADD;
313: END IF;
314:
315: IF p_x_prog_type_subtype_rec.PROG_TYPE_SUBTYPE_ID is null or
316: p_x_prog_type_subtype_rec.PROG_TYPE_SUBTYPE_ID =fnd_api.g_miss_num
317: THEN
318: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_PROGSUBTYPE_ID_NULL');
319: FND_MESSAGE.SET_TOKEN('RECORD',p_x_prog_type_subtype_rec.PROGRAM_SUBTYPE,false);
320: FND_MSG_PUB.ADD;
323:
324: IF p_x_prog_type_subtype_rec.dml_operation<>'D'
325: THEN
326: IF p_x_prog_type_subtype_rec.PROGRAM_TYPE is null or
327: p_x_prog_type_subtype_rec.PROGRAM_TYPE=FND_API.G_MISS_CHAR
328: THEN
329: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_PROGTYPE_NULL');
330: FND_MSG_PUB.ADD;
331: l_check_flag:='N';
333: l_check_flag:='Y';
334: END IF;
335:
336: IF p_x_prog_type_subtype_rec.PROGRAM_SUBTYPE is null or
337: p_x_prog_type_subtype_rec.PROGRAM_SUBTYPE=FND_API.G_MISS_char
338: THEN
339: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_PROGSUBTYPE_NULL');
340: FND_MESSAGE.SET_TOKEN('RECORD',p_x_prog_type_subtype_rec.PROGRAM_TYPE,false);
341: FND_MSG_PUB.ADD;
380: END IF;
381: END IF;
382:
383: EXCEPTION
384: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
385: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
386: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
387: p_count => x_msg_count,
388: p_data => x_msg_data);
381: END IF;
382:
383: EXCEPTION
384: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
385: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
386: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
387: p_count => x_msg_count,
388: p_data => x_msg_data);
389:
382:
383: EXCEPTION
384: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
385: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
386: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
387: p_count => x_msg_count,
388: p_data => x_msg_data);
389:
390: WHEN FND_API.G_EXC_ERROR THEN
386: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
387: p_count => x_msg_count,
388: p_data => x_msg_data);
389:
390: WHEN FND_API.G_EXC_ERROR THEN
391: X_return_status := FND_API.G_RET_STS_ERROR;
392: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
393: p_count => x_msg_count,
394: p_data => X_msg_data);
387: p_count => x_msg_count,
388: p_data => x_msg_data);
389:
390: WHEN FND_API.G_EXC_ERROR THEN
391: X_return_status := FND_API.G_RET_STS_ERROR;
392: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
393: p_count => x_msg_count,
394: p_data => X_msg_data);
395: WHEN OTHERS THEN
388: p_data => x_msg_data);
389:
390: WHEN FND_API.G_EXC_ERROR THEN
391: X_return_status := FND_API.G_RET_STS_ERROR;
392: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
393: p_count => x_msg_count,
394: p_data => X_msg_data);
395: WHEN OTHERS THEN
396: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
392: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
393: p_count => x_msg_count,
394: p_data => X_msg_data);
395: WHEN OTHERS THEN
396: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
397: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
398: THEN
399: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
400: p_procedure_name => L_API_NAME,
399: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
400: p_procedure_name => L_API_NAME,
401: p_error_text => SUBSTR(SQLERRM,1,240));
402: END IF;
403: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
404: p_count => x_msg_count,
405: p_data => X_msg_data);
406: END;
407:
408:
409: PROCEDURE VALIDATE_MR_PROGSUBTYPE
410: (
411: p_api_version IN NUMBER:=1.0,
412: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
413: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
414: p_module_type IN VARCHAR2,
415: x_return_status OUT NOCOPY VARCHAR2,
416: x_msg_count OUT NOCOPY NUMBER,
409: PROCEDURE VALIDATE_MR_PROGSUBTYPE
410: (
411: p_api_version IN NUMBER:=1.0,
412: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
413: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
414: p_module_type IN VARCHAR2,
415: x_return_status OUT NOCOPY VARCHAR2,
416: x_msg_count OUT NOCOPY NUMBER,
417: x_msg_data OUT NOCOPY VARCHAR2,
438: IF G_DEBUG='Y' THEN
439: AHL_DEBUG_PUB.enable_debug;
440: END IF;
441:
442: x_return_status := FND_API.G_RET_STS_SUCCESS;
443:
444:
445: IF p_prog_type_subtype_rec.object_version_number is null
446: or p_prog_type_subtype_rec.object_version_number=FND_API.G_MISS_NUM
442: x_return_status := FND_API.G_RET_STS_SUCCESS;
443:
444:
445: IF p_prog_type_subtype_rec.object_version_number is null
446: or p_prog_type_subtype_rec.object_version_number=FND_API.G_MISS_NUM
447: THEN
448: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_OBJ_VERSION_NULL');
449: FND_MESSAGE.SET_TOKEN('RECORD',p_prog_type_subtype_rec.PROGRAM_SUBTYPE,false);
450: FND_MSG_PUB.ADD;
452:
453: IF p_prog_type_subtype_rec.dml_operation<>'D'
454: THEN
455: IF p_prog_type_subtype_rec.PROGRAM_TYPE is null
456: or p_prog_type_subtype_rec.PROGRAM_TYPE=FND_API.G_MISS_char
457: THEN
458: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_PROG_TYPE_INVALID');
459: FND_MESSAGE.SET_TOKEN('RECORD',p_prog_type_subtype_rec.PROGRAM_TYPE,false);
460: FND_MSG_PUB.ADD;
502: --END
503: END IF;
504:
505: EXCEPTION
506: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
507: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
508: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
509: p_count => x_msg_count,
510: p_data => x_msg_data);
503: END IF;
504:
505: EXCEPTION
506: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
507: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
508: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
509: p_count => x_msg_count,
510: p_data => x_msg_data);
511:
504:
505: EXCEPTION
506: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
507: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
508: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
509: p_count => x_msg_count,
510: p_data => x_msg_data);
511:
512: WHEN FND_API.G_EXC_ERROR THEN
508: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
509: p_count => x_msg_count,
510: p_data => x_msg_data);
511:
512: WHEN FND_API.G_EXC_ERROR THEN
513: X_return_status := FND_API.G_RET_STS_ERROR;
514: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
515: p_count => x_msg_count,
516: p_data => X_msg_data);
509: p_count => x_msg_count,
510: p_data => x_msg_data);
511:
512: WHEN FND_API.G_EXC_ERROR THEN
513: X_return_status := FND_API.G_RET_STS_ERROR;
514: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
515: p_count => x_msg_count,
516: p_data => X_msg_data);
517: WHEN OTHERS THEN
510: p_data => x_msg_data);
511:
512: WHEN FND_API.G_EXC_ERROR THEN
513: X_return_status := FND_API.G_RET_STS_ERROR;
514: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
515: p_count => x_msg_count,
516: p_data => X_msg_data);
517: WHEN OTHERS THEN
518: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
514: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
515: p_count => x_msg_count,
516: p_data => X_msg_data);
517: WHEN OTHERS THEN
518: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
519: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
520: THEN
521: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
522: p_procedure_name => l_api_name,
521: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
522: p_procedure_name => l_api_name,
523: p_error_text => SUBSTR(SQLERRM,1,240));
524: END IF;
525: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
526: p_count => x_msg_count,
527: p_data => X_msg_data);
528: END;
529:
530: PROCEDURE process_prog_type_subtypes
531: (
532: p_api_version IN NUMBER :=1.0,
533: p_init_msg_list IN VARCHAR2,
534: p_commit IN VARCHAR2 := FND_API.G_FALSE,
535: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
536: p_default IN VARCHAR2 := FND_API.G_FALSE,
537: p_module_type IN VARCHAR2,
538: x_return_status OUT NOCOPY VARCHAR2,
531: (
532: p_api_version IN NUMBER :=1.0,
533: p_init_msg_list IN VARCHAR2,
534: p_commit IN VARCHAR2 := FND_API.G_FALSE,
535: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
536: p_default IN VARCHAR2 := FND_API.G_FALSE,
537: p_module_type IN VARCHAR2,
538: x_return_status OUT NOCOPY VARCHAR2,
539: x_msg_count OUT NOCOPY NUMBER,
532: p_api_version IN NUMBER :=1.0,
533: p_init_msg_list IN VARCHAR2,
534: p_commit IN VARCHAR2 := FND_API.G_FALSE,
535: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
536: p_default IN VARCHAR2 := FND_API.G_FALSE,
537: p_module_type IN VARCHAR2,
538: x_return_status OUT NOCOPY VARCHAR2,
539: x_msg_count OUT NOCOPY NUMBER,
540: x_msg_data OUT NOCOPY VARCHAR2,
545: l_api_version CONSTANT NUMBER := 1.0;
546: l_msg_count NUMBER;
547: l_msg_data VARCHAR2(2000);
548: l_return_status VARCHAR2(1);
549: l_init_msg_list VARCHAR2(10):=FND_API.G_TRUE;
550: l_PROG_TYPE_SUBTYPE_ID NUMBER:=0;
551: l_prog_subtype_rec prog_type_subtype_rec;
552: BEGIN
553: SAVEPOINT process_prog_type_subtypes;
552: BEGIN
553: SAVEPOINT process_prog_type_subtypes;
554:
555: -- Standard call to check for call compatibility.
556: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
557: p_api_version,
558: l_api_name,G_PKG_NAME) THEN
559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
560: END IF;
555: -- Standard call to check for call compatibility.
556: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
557: p_api_version,
558: l_api_name,G_PKG_NAME) THEN
559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
560: END IF;
561:
562: IF FND_API.to_boolean(l_init_msg_list) THEN
563: FND_MSG_PUB.initialize;
558: l_api_name,G_PKG_NAME) THEN
559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
560: END IF;
561:
562: IF FND_API.to_boolean(l_init_msg_list) THEN
563: FND_MSG_PUB.initialize;
564: END IF;
565:
566: x_return_status := FND_API.G_RET_STS_SUCCESS;
562: IF FND_API.to_boolean(l_init_msg_list) THEN
563: FND_MSG_PUB.initialize;
564: END IF;
565:
566: x_return_status := FND_API.G_RET_STS_SUCCESS;
567:
568:
569: IF G_DEBUG='Y' THEN
570: AHL_DEBUG_PUB.enable_debug;
610:
611: l_msg_count := FND_MSG_PUB.count_msg;
612: IF l_msg_count > 0 THEN
613: X_msg_count := l_msg_count;
614: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF FND_API.to_boolean(p_default)
611: l_msg_count := FND_MSG_PUB.count_msg;
612: IF l_msg_count > 0 THEN
613: X_msg_count := l_msg_count;
614: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF FND_API.to_boolean(p_default)
619: THEN
614: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF FND_API.to_boolean(p_default)
619: THEN
620: DEFAULT_MISSING_ATTRIBS
621: (
622: p_x_prog_type_subtype_tbl =>p_x_prog_type_subtype_tabl
630: FOR i IN p_x_prog_type_subtype_tabl.FIRST.. p_x_prog_type_subtype_tabl.LAST
631: LOOP
632:
633: -- Calling for Validation
634: x_return_status := FND_API.G_RET_STS_SUCCESS;
635:
636: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL )
637: THEN
638:
632:
633: -- Calling for Validation
634: x_return_status := FND_API.G_RET_STS_SUCCESS;
635:
636: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL )
637: THEN
638:
639: VALIDATE_MR_PROGSUBTYPE
640: (
651: END IF;
652: l_msg_count := FND_MSG_PUB.count_msg;
653: IF l_msg_count > 0 THEN
654: X_msg_count := l_msg_count;
655: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
656: END IF;
657:
658: if p_x_prog_type_subtype_tabl(i).DML_operation='D' then
659: DELETE from AHL_PROG_TYPE_SUBTYPES
664: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
665: FND_MSG_PUB.ADD;
666: end if;
667: elsif p_x_prog_type_subtype_tabl(i).DML_operation='U' then
668: IF x_return_status=FND_API.G_RET_STS_SUCCESS
669: THEN
670:
671: AHL_PROG_TYPE_SUBTYPES_PKG.UPDATE_ROW (
672: X_PROG_TYPE_SUBTYPE_ID =>p_x_prog_type_subtype_tabl(i).PROG_TYPE_SUBTYPE_ID,
694: X_LAST_UPDATE_LOGIN =>fnd_global.user_id);
695: end if;
696:
697: elsif p_x_prog_type_subtype_tabl(i).DML_operation='C' then
698: IF x_return_status=FND_API.G_RET_STS_SUCCESS
699: THEN
700:
701:
702: select AHL_PROG_TYPE_SUBTYPES_S.nextval
736:
737: l_msg_count := FND_MSG_PUB.count_msg;
738: IF l_msg_count > 0 THEN
739: X_msg_count := l_msg_count;
740: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
741: RAISE FND_API.G_EXC_ERROR;
742: END IF;
743:
744: IF FND_API.TO_BOOLEAN(p_commit) THEN
737: l_msg_count := FND_MSG_PUB.count_msg;
738: IF l_msg_count > 0 THEN
739: X_msg_count := l_msg_count;
740: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
741: RAISE FND_API.G_EXC_ERROR;
742: END IF;
743:
744: IF FND_API.TO_BOOLEAN(p_commit) THEN
745: COMMIT;
740: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
741: RAISE FND_API.G_EXC_ERROR;
742: END IF;
743:
744: IF FND_API.TO_BOOLEAN(p_commit) THEN
745: COMMIT;
746: END IF;
747:
748: -- Check if API is called in debug mode. If yes, disable debug.
751: AHL_DEBUG_PUB.disable_debug;
752: END IF;
753:
754: EXCEPTION
755: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
756: ROLLBACK TO process_prog_type_subtypes;
757: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
758: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
759: p_count => x_msg_count,
753:
754: EXCEPTION
755: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
756: ROLLBACK TO process_prog_type_subtypes;
757: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
758: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
759: p_count => x_msg_count,
760: p_data => x_msg_data);
761:
754: EXCEPTION
755: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
756: ROLLBACK TO process_prog_type_subtypes;
757: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
758: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
759: p_count => x_msg_count,
760: p_data => x_msg_data);
761:
762: WHEN FND_API.G_EXC_ERROR THEN
758: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
759: p_count => x_msg_count,
760: p_data => x_msg_data);
761:
762: WHEN FND_API.G_EXC_ERROR THEN
763: ROLLBACK TO process_prog_type_subtypes;
764: X_return_status := FND_API.G_RET_STS_ERROR;
765: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
766: p_count => x_msg_count,
760: p_data => x_msg_data);
761:
762: WHEN FND_API.G_EXC_ERROR THEN
763: ROLLBACK TO process_prog_type_subtypes;
764: X_return_status := FND_API.G_RET_STS_ERROR;
765: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
766: p_count => x_msg_count,
767: p_data => X_msg_data);
768: WHEN OTHERS THEN
761:
762: WHEN FND_API.G_EXC_ERROR THEN
763: ROLLBACK TO process_prog_type_subtypes;
764: X_return_status := FND_API.G_RET_STS_ERROR;
765: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
766: p_count => x_msg_count,
767: p_data => X_msg_data);
768: WHEN OTHERS THEN
769: ROLLBACK TO process_prog_type_subtypes;
766: p_count => x_msg_count,
767: p_data => X_msg_data);
768: WHEN OTHERS THEN
769: ROLLBACK TO process_prog_type_subtypes;
770: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
771: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
772: THEN
773: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
774: p_procedure_name => l_api_name,
773: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
774: p_procedure_name => l_api_name,
775: p_error_text => SUBSTR(SQLERRM,1,240));
776: END IF;
777: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
778: p_count => x_msg_count,
779: p_data => X_msg_data);
780: END;
781: END AHL_FMP_PROGTYPE_SUBTYPE_PVT;