129:
130:
131:
132: -- Check if UOM entered and valid.
133: IF (p_uom_code IS NULL OR p_uom_code = FND_API.G_MISS_CHAR) THEN
134: -- uom_code is null but quantity is not null.
135: IF (p_inv_segment IS NULL OR p_inv_segment = FND_API.G_MISS_CHAR) THEN
136: FND_MESSAGE.Set_Name('AHL','AHL_MC_IG_UOM_NULL');
137: FND_MESSAGE.Set_Token('IG',p_item_group_name);
131:
132: -- Check if UOM entered and valid.
133: IF (p_uom_code IS NULL OR p_uom_code = FND_API.G_MISS_CHAR) THEN
134: -- uom_code is null but quantity is not null.
135: IF (p_inv_segment IS NULL OR p_inv_segment = FND_API.G_MISS_CHAR) THEN
136: FND_MESSAGE.Set_Name('AHL','AHL_MC_IG_UOM_NULL');
137: FND_MESSAGE.Set_Token('IG',p_item_group_name);
138: FND_MSG_PUB.ADD;
139: ELSE
164: END IF;
165: END IF ;
166:
167: -- Validate quantity.
168: IF (p_quantity IS NULL OR p_quantity = FND_API.G_MISS_NUM) THEN
169: IF (p_inv_segment IS NULL OR p_inv_segment = FND_API.G_MISS_CHAR) THEN
170: FND_MESSAGE.Set_Name('AHL','AHL_MC_IG_QTY_NULL');
171: FND_MESSAGE.Set_Token('IG',p_item_group_name);
172: FND_MSG_PUB.ADD;
165: END IF ;
166:
167: -- Validate quantity.
168: IF (p_quantity IS NULL OR p_quantity = FND_API.G_MISS_NUM) THEN
169: IF (p_inv_segment IS NULL OR p_inv_segment = FND_API.G_MISS_CHAR) THEN
170: FND_MESSAGE.Set_Name('AHL','AHL_MC_IG_QTY_NULL');
171: FND_MESSAGE.Set_Token('IG',p_item_group_name);
172: FND_MSG_PUB.ADD;
173: ELSE
176: FND_MSG_PUB.ADD;
177: END IF;
178: --dbms_output.put_line('Quantity is null');
179: ELSIF (p_quantity < 0) THEN
180: IF (p_inv_segment IS NULL OR p_inv_segment = FND_API.G_MISS_CHAR) THEN
181: FND_MESSAGE.Set_Name('AHL','AHL_MC_IG_QTY_INVALID');
182: FND_MESSAGE.Set_Token('IG',p_item_group_name);
183: FND_MESSAGE.Set_Token('QUANTITY',p_quantity);
184: FND_MSG_PUB.ADD;
367: -- Pre-reqs :
368: -- Parameters :
369: -- Standard IN Parameters :
370: -- p_api_version IN NUMBER Required
371: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
372: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
373: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
374: --
375: -- Standard OUT Parameters :
368: -- Parameters :
369: -- Standard IN Parameters :
370: -- p_api_version IN NUMBER Required
371: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
372: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
373: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
374: --
375: -- Standard OUT Parameters :
376: -- x_return_status OUT VARCHAR2 Required
369: -- Standard IN Parameters :
370: -- p_api_version IN NUMBER Required
371: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
372: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
373: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
374: --
375: -- Standard OUT Parameters :
376: -- x_return_status OUT VARCHAR2 Required
377: -- x_msg_count OUT NUMBER Required
393: -- End of Comments --
394:
395: PROCEDURE Create_Item_Composition(
396: p_api_version IN NUMBER,
397: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
398: p_commit IN VARCHAR2 := FND_API.G_FALSE,
399: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
400: x_return_status OUT NOCOPY VARCHAR2,
401: x_msg_count OUT NOCOPY NUMBER,
394:
395: PROCEDURE Create_Item_Composition(
396: p_api_version IN NUMBER,
397: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
398: p_commit IN VARCHAR2 := FND_API.G_FALSE,
399: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
400: x_return_status OUT NOCOPY VARCHAR2,
401: x_msg_count OUT NOCOPY NUMBER,
402: x_msg_data OUT NOCOPY VARCHAR2,
395: PROCEDURE Create_Item_Composition(
396: p_api_version IN NUMBER,
397: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
398: p_commit IN VARCHAR2 := FND_API.G_FALSE,
399: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
400: x_return_status OUT NOCOPY VARCHAR2,
401: x_msg_count OUT NOCOPY NUMBER,
402: x_msg_data OUT NOCOPY VARCHAR2,
403: p_x_ic_header_rec IN OUT NOCOPY AHL_MC_ITEM_COMP_PVT.Header_Rec_Type,
425:
426:
427: -- Standard call to check for call compatibility.
428:
429: IF FND_API.to_boolean(p_init_msg_list) THEN
430: FND_MSG_PUB.initialize;
431: END IF;
432:
433: -- Initialize API return status to success
431: END IF;
432:
433: -- Initialize API return status to success
434:
435: x_return_status :=FND_API.G_RET_STS_SUCCESS;
436:
437: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
438: THEN
439: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
454: IF item_composition_dup%FOUND THEN
455: FND_MESSAGE.Set_Name('AHL','AHL_MC_ITEM_COMP_EXISTS');
456: FND_MESSAGE.Set_Token('INV_ITEM',p_x_ic_header_rec.inventory_item_name);
457: FND_MSG_PUB.ADD;
458: RAISE FND_API.G_EXC_ERROR;
459: END IF;
460:
461: CLOSE item_composition_dup;
462:
559:
560: -- Check Error Message stack.
561: x_msg_count := FND_MSG_PUB.count_msg;
562: IF x_msg_count > 0 THEN
563: RAISE FND_API.G_EXC_ERROR;
564: END IF;
565:
566:
567: p_x_ic_header_rec.ITEM_COMPOSITION_ID := l_item_composition_id;
573: END IF;
574:
575:
576: EXCEPTION
577: WHEN FND_API.G_EXC_ERROR THEN
578: x_return_status := FND_API.G_RET_STS_ERROR;
579: Rollback to Create_Item_Composition;
580: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
581: p_data => x_msg_data,
574:
575:
576: EXCEPTION
577: WHEN FND_API.G_EXC_ERROR THEN
578: x_return_status := FND_API.G_RET_STS_ERROR;
579: Rollback to Create_Item_Composition;
580: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
581: p_data => x_msg_data,
582: p_encoded => fnd_api.g_false);
578: x_return_status := FND_API.G_RET_STS_ERROR;
579: Rollback to Create_Item_Composition;
580: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
581: p_data => x_msg_data,
582: p_encoded => fnd_api.g_false);
583:
584: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
585: THEN
586: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
587: 'ahl.plsql.'||G_PKG_NAME||'.Create_Item_Composition', 'Error in Create_Item_Composition');
588: END IF;
589:
590:
591: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
592: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
593: Rollback to Create_Item_Composition;
594: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
595: p_data => x_msg_data,
588: END IF;
589:
590:
591: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
592: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
593: Rollback to Create_Item_Composition;
594: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
595: p_data => x_msg_data,
596: p_encoded => fnd_api.g_false);
592: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
593: Rollback to Create_Item_Composition;
594: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
595: p_data => x_msg_data,
596: p_encoded => fnd_api.g_false);
597:
598: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
599: THEN
600: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
601: 'ahl.plsql.'||G_PKG_NAME||'.Create_Item_Composition', 'Unexpected Error in Create_Item_Composition');
602: END IF;
603:
604: WHEN OTHERS THEN
605: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
606: Rollback to Create_Item_Composition;
607: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
608: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
609: p_procedure_name => 'Create_Item_Composition',
610: p_error_text => SUBSTR(SQLERRM,1,240));
611: END IF;
612: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
613: p_data => x_msg_data,
614: p_encoded => fnd_api.g_false);
615:
616: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
617: THEN
618: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
633: -- Pre-reqs :
634: -- Parameters :
635: -- Standard IN Parameters :
636: -- p_api_version IN NUMBER Required
637: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
638: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
639: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
640: --
641: -- Standard OUT Parameters :
634: -- Parameters :
635: -- Standard IN Parameters :
636: -- p_api_version IN NUMBER Required
637: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
638: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
639: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
640: --
641: -- Standard OUT Parameters :
642: -- x_return_status OUT VARCHAR2 Required
635: -- Standard IN Parameters :
636: -- p_api_version IN NUMBER Required
637: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
638: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
639: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
640: --
641: -- Standard OUT Parameters :
642: -- x_return_status OUT VARCHAR2 Required
643: -- x_msg_count OUT NUMBER Required
659: -- End of Comments --
660:
661: PROCEDURE Modify_Item_Composition(
662: p_api_version IN NUMBER,
663: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
664: p_commit IN VARCHAR2 := FND_API.G_FALSE,
665: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
666: x_return_status OUT NOCOPY VARCHAR2,
667: x_msg_count OUT NOCOPY NUMBER,
660:
661: PROCEDURE Modify_Item_Composition(
662: p_api_version IN NUMBER,
663: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
664: p_commit IN VARCHAR2 := FND_API.G_FALSE,
665: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
666: x_return_status OUT NOCOPY VARCHAR2,
667: x_msg_count OUT NOCOPY NUMBER,
668: x_msg_data OUT NOCOPY VARCHAR2,
661: PROCEDURE Modify_Item_Composition(
662: p_api_version IN NUMBER,
663: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
664: p_commit IN VARCHAR2 := FND_API.G_FALSE,
665: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
666: x_return_status OUT NOCOPY VARCHAR2,
667: x_msg_count OUT NOCOPY NUMBER,
668: x_msg_data OUT NOCOPY VARCHAR2,
669: p_x_ic_header_rec IN OUT NOCOPY AHL_MC_ITEM_COMP_PVT.Header_Rec_Type,
720:
721:
722: -- Standard call to check for call compatibility.
723:
724: IF FND_API.to_boolean(p_init_msg_list) THEN
725: FND_MSG_PUB.initialize;
726: END IF;
727:
728: -- Initialize API return status to success
726: END IF;
727:
728: -- Initialize API return status to success
729:
730: x_return_status :=FND_API.G_RET_STS_SUCCESS;
731:
732: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
733: THEN
734: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
741: FETCH item_composition_det INTO l_item_composition_rec;
742: IF item_composition_det%NOTFOUND THEN
743: FND_MESSAGE.Set_Name('AHL','AHL_MC_ITEM_COMP_NOT_EXISTS');
744: FND_MSG_PUB.ADD;
745: RAISE FND_API.G_EXC_ERROR;
746: END IF;
747:
748: CLOSE item_composition_det;
749:
753: IF (NVL(l_item_composition_rec.sourced_from_enigma_flag, 'N') = 'N' AND
754: l_item_composition_rec.object_version_number <> p_x_ic_header_rec.object_version_number) THEN
755: FND_MESSAGE.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
756: FND_MSG_PUB.ADD;
757: RAISE FND_API.G_EXC_ERROR;
758: END IF;
759:
760:
761: -- IF l_item_composition_rec.approval_status_code NOT IN ('DRAFT','APPROVAL_REJECTED') THEN
762: IF (NVL(l_item_composition_rec.sourced_from_enigma_flag, 'N') = 'N' AND
763: l_item_composition_rec.approval_status_code NOT IN ('DRAFT','APPROVAL_REJECTED')) THEN
764: FND_MESSAGE.Set_Name('AHL','AHL_MC_COMP_STATUS_NO_EDIT');
765: FND_MSG_PUB.ADD;
766: RAISE FND_API.G_EXC_ERROR;
767: END IF;
768:
769:
770: IF (l_item_composition_rec.approval_status_code = 'APPROVAL_REJECTED') THEN
842:
843: -- Check Error Message stack.
844: x_msg_count := FND_MSG_PUB.count_msg;
845: IF x_msg_count > 0 THEN
846: RAISE FND_API.G_EXC_ERROR;
847: END IF;
848:
849:
850: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
855:
856:
857:
858: EXCEPTION
859: WHEN FND_API.G_EXC_ERROR THEN
860: x_return_status := FND_API.G_RET_STS_ERROR;
861: Rollback to Modify_Item_Composition;
862: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
863: p_data => x_msg_data,
856:
857:
858: EXCEPTION
859: WHEN FND_API.G_EXC_ERROR THEN
860: x_return_status := FND_API.G_RET_STS_ERROR;
861: Rollback to Modify_Item_Composition;
862: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
863: p_data => x_msg_data,
864: p_encoded => fnd_api.g_false);
860: x_return_status := FND_API.G_RET_STS_ERROR;
861: Rollback to Modify_Item_Composition;
862: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
863: p_data => x_msg_data,
864: p_encoded => fnd_api.g_false);
865:
866: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
867: THEN
868: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
869: 'ahl.plsql.'||G_PKG_NAME||'.Modify_Item_Composition', 'Error in Modify_Item_Composition');
870: END IF;
871:
872:
873: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
874: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
875: Rollback to Modify_Item_Composition;
876: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
877: p_data => x_msg_data,
870: END IF;
871:
872:
873: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
874: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
875: Rollback to Modify_Item_Composition;
876: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
877: p_data => x_msg_data,
878: p_encoded => fnd_api.g_false);
874: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
875: Rollback to Modify_Item_Composition;
876: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
877: p_data => x_msg_data,
878: p_encoded => fnd_api.g_false);
879:
880: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
881: THEN
882: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
883: 'ahl.plsql.'||G_PKG_NAME||'.Modify_Item_Composition', 'Unexpected Error in Modify_Item_Composition');
884: END IF;
885:
886: WHEN OTHERS THEN
887: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
888: Rollback to Modify_Item_Composition;
889: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
890: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
891: p_procedure_name => 'Modify_Item_Composition',
892: p_error_text => SUBSTR(SQLERRM,1,240));
893: END IF;
894: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
895: p_data => x_msg_data,
896: p_encoded => fnd_api.g_false);
897:
898: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
899: THEN
900: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
915: -- Pre-reqs :
916: -- Parameters :
917: -- Standard IN Parameters :
918: -- p_api_version IN NUMBER Required
919: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
920: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
921: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
922: --
923: -- Standard OUT Parameters :
916: -- Parameters :
917: -- Standard IN Parameters :
918: -- p_api_version IN NUMBER Required
919: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
920: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
921: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
922: --
923: -- Standard OUT Parameters :
924: -- x_return_status OUT VARCHAR2 Required
917: -- Standard IN Parameters :
918: -- p_api_version IN NUMBER Required
919: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
920: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
921: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
922: --
923: -- Standard OUT Parameters :
924: -- x_return_status OUT VARCHAR2 Required
925: -- x_msg_count OUT NUMBER Required
930: -- End of Comments --
931:
932: PROCEDURE Delete_Item_Composition (
933: p_api_version IN NUMBER,
934: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
935: p_commit IN VARCHAR2 := FND_API.G_FALSE,
936: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
937: x_return_status OUT NOCOPY VARCHAR2,
938: x_msg_count OUT NOCOPY NUMBER,
931:
932: PROCEDURE Delete_Item_Composition (
933: p_api_version IN NUMBER,
934: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
935: p_commit IN VARCHAR2 := FND_API.G_FALSE,
936: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
937: x_return_status OUT NOCOPY VARCHAR2,
938: x_msg_count OUT NOCOPY NUMBER,
939: x_msg_data OUT NOCOPY VARCHAR2,
932: PROCEDURE Delete_Item_Composition (
933: p_api_version IN NUMBER,
934: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
935: p_commit IN VARCHAR2 := FND_API.G_FALSE,
936: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
937: x_return_status OUT NOCOPY VARCHAR2,
938: x_msg_count OUT NOCOPY NUMBER,
939: x_msg_data OUT NOCOPY VARCHAR2,
940: p_item_composition_ID IN NUMBER ,
1010:
1011:
1012: -- Standard call to check for call compatibility.
1013:
1014: IF FND_API.to_boolean(p_init_msg_list) THEN
1015: FND_MSG_PUB.initialize;
1016: END IF;
1017:
1018: -- Initialize API return status to success
1016: END IF;
1017:
1018: -- Initialize API return status to success
1019:
1020: x_return_status :=FND_API.G_RET_STS_SUCCESS;
1021:
1022: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1023: THEN
1024: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1031: FETCH item_composition_det INTO l_item_composition_rec;
1032: IF item_composition_det%NOTFOUND THEN
1033: FND_MESSAGE.Set_Name('AHL','AHL_MC_ITEM_COMP_NOT_EXISTS');
1034: FND_MSG_PUB.ADD;
1035: RAISE FND_API.G_EXC_ERROR;
1036: END IF;
1037:
1038: CLOSE item_composition_det;
1039:
1040:
1041: IF l_item_composition_rec.object_version_number <> p_object_version_number THEN
1042: FND_MESSAGE.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
1043: FND_MSG_PUB.ADD;
1044: RAISE FND_API.G_EXC_ERROR;
1045: END IF;
1046:
1047:
1048: IF l_item_composition_rec.approval_status_code = 'APPROVAL_PENDING' THEN
1047:
1048: IF l_item_composition_rec.approval_status_code = 'APPROVAL_PENDING' THEN
1049: FND_MESSAGE.Set_Name('AHL','AHL_MC_COMP_STATUS_NO_DELETE');
1050: FND_MSG_PUB.ADD;
1051: RAISE FND_API.G_EXC_ERROR;
1052: END IF;
1053:
1054:
1055: -- Check Error Message stack.
1054:
1055: -- Check Error Message stack.
1056: x_msg_count := FND_MSG_PUB.count_msg;
1057: IF x_msg_count > 0 THEN
1058: RAISE FND_API.G_EXC_ERROR;
1059: END IF;
1060:
1061:
1062: IF l_item_composition_rec.approval_status_code = 'COMPLETE' THEN
1066: FETCH disposition_exist INTO l_dummy;
1067: IF disposition_exist%FOUND THEN
1068: FND_MESSAGE.Set_Name('AHL','AHL_MC_COMP_DISP_EXISTS');
1069: FND_MSG_PUB.ADD;
1070: RAISE FND_API.G_EXC_ERROR;
1071: END IF;
1072:
1073: CLOSE disposition_exist;
1074:
1076: FETCH item_rev_exists INTO l_rev_item_composition_id;
1077: IF item_rev_exists%FOUND THEN
1078: FND_MESSAGE.Set_Name('AHL','AHL_MC_COMP_REV_EXISTS');
1079: FND_MSG_PUB.ADD;
1080: RAISE FND_API.G_EXC_ERROR;
1081: END IF;
1082: CLOSE item_rev_exists;
1083:
1084:
1085: IF l_item_composition_rec.effective_end_date IS NOT NULL AND
1086: TRUNC(l_item_composition_rec.effective_end_date) <= TRUNC(SYSDATE) THEN
1087: FND_MESSAGE.Set_Name('AHL','AHL_MC_COMP_STATUS_NO_DELETE');
1088: FND_MSG_PUB.ADD;
1089: RAISE FND_API.G_EXC_ERROR;
1090: END IF;
1091:
1092:
1093:
1122: 'ahl.plsql.'||G_PKG_NAME||'.Delete_Item_Composition', 'End of Delete_Item_Composition');
1123: END IF;
1124:
1125: EXCEPTION
1126: WHEN FND_API.G_EXC_ERROR THEN
1127: x_return_status := FND_API.G_RET_STS_ERROR;
1128: Rollback to Delete_Item_Composition;
1129: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1130: p_data => x_msg_data,
1123: END IF;
1124:
1125: EXCEPTION
1126: WHEN FND_API.G_EXC_ERROR THEN
1127: x_return_status := FND_API.G_RET_STS_ERROR;
1128: Rollback to Delete_Item_Composition;
1129: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1130: p_data => x_msg_data,
1131: p_encoded => fnd_api.g_false);
1127: x_return_status := FND_API.G_RET_STS_ERROR;
1128: Rollback to Delete_Item_Composition;
1129: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1130: p_data => x_msg_data,
1131: p_encoded => fnd_api.g_false);
1132:
1133: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1134: THEN
1135: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1136: 'ahl.plsql.'||G_PKG_NAME||'.Delete_Item_Composition', 'Error in Delete_Item_Composition');
1137: END IF;
1138:
1139:
1140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1141: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1142: Rollback to Delete_Item_Composition;
1143: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1144: p_data => x_msg_data,
1137: END IF;
1138:
1139:
1140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1141: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1142: Rollback to Delete_Item_Composition;
1143: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1144: p_data => x_msg_data,
1145: p_encoded => fnd_api.g_false);
1141: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1142: Rollback to Delete_Item_Composition;
1143: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1144: p_data => x_msg_data,
1145: p_encoded => fnd_api.g_false);
1146:
1147: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1148: THEN
1149: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1150: 'ahl.plsql.'||G_PKG_NAME||'.Delete_Item_Composition', 'Unexpected Error in Delete_Item_Composition');
1151: END IF;
1152:
1153: WHEN OTHERS THEN
1154: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1155: Rollback to Delete_Item_Composition;
1156: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1157: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
1158: p_procedure_name => 'Delete_Item_Composition',
1159: p_error_text => SUBSTR(SQLERRM,1,240));
1160: END IF;
1161: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1162: p_data => x_msg_data,
1163: p_encoded => fnd_api.g_false);
1164:
1165: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1166: THEN
1167: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1183: -- Pre-reqs :
1184: -- Parameters :
1185: -- Standard IN Parameters :
1186: -- p_api_version IN NUMBER Required
1187: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1188: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1189: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1190: --
1191: -- Standard OUT Parameters :
1184: -- Parameters :
1185: -- Standard IN Parameters :
1186: -- p_api_version IN NUMBER Required
1187: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1188: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1189: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1190: --
1191: -- Standard OUT Parameters :
1192: -- x_return_status OUT VARCHAR2 Required
1185: -- Standard IN Parameters :
1186: -- p_api_version IN NUMBER Required
1187: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1188: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1189: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1190: --
1191: -- Standard OUT Parameters :
1192: -- x_return_status OUT VARCHAR2 Required
1193: -- x_msg_count OUT NUMBER Required
1198: -- End of Comments --
1199:
1200: PROCEDURE Reopen_Item_Composition (
1201: p_api_version IN NUMBER,
1202: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1203: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1204: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1205: x_return_status OUT NOCOPY VARCHAR2,
1206: x_msg_count OUT NOCOPY NUMBER,
1199:
1200: PROCEDURE Reopen_Item_Composition (
1201: p_api_version IN NUMBER,
1202: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1203: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1204: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1205: x_return_status OUT NOCOPY VARCHAR2,
1206: x_msg_count OUT NOCOPY NUMBER,
1207: x_msg_data OUT NOCOPY VARCHAR2,
1200: PROCEDURE Reopen_Item_Composition (
1201: p_api_version IN NUMBER,
1202: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1203: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1204: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1205: x_return_status OUT NOCOPY VARCHAR2,
1206: x_msg_count OUT NOCOPY NUMBER,
1207: x_msg_data OUT NOCOPY VARCHAR2,
1208: p_item_composition_ID IN NUMBER ,
1270:
1271:
1272: -- Standard call to check for call compatibility.
1273:
1274: IF FND_API.to_boolean(p_init_msg_list) THEN
1275: FND_MSG_PUB.initialize;
1276: END IF;
1277:
1278: -- Initialize API return status to success
1276: END IF;
1277:
1278: -- Initialize API return status to success
1279:
1280: x_return_status :=FND_API.G_RET_STS_SUCCESS;
1281:
1282: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1283: THEN
1284: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1289: FETCH item_composition_det INTO l_item_composition_rec;
1290: IF item_composition_det%NOTFOUND THEN
1291: FND_MESSAGE.Set_Name('AHL','AHL_MC_ITEM_COMP_NOT_EXISTS');
1292: FND_MSG_PUB.ADD;
1293: RAISE FND_API.G_EXC_ERROR;
1294: END IF;
1295:
1296: CLOSE item_composition_det;
1297:
1298:
1299: IF l_item_composition_rec.object_version_number <> p_object_version_number THEN
1300: FND_MESSAGE.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
1301: FND_MSG_PUB.ADD;
1302: RAISE FND_API.G_EXC_ERROR;
1303: END IF;
1304:
1305: /*
1306: OPEN item_composition_exists(l_item_composition_rec.inventory_item_id,
1309: IF item_composition_exists%FOUND THEN
1310: FND_MESSAGE.Set_Name('AHL','AHL_MC_ITEM_COMP_EXISTS');
1311: FND_MESSAGE.Set_Token('INV_ITEM',p_x_ic_header_rec.inventory_item_id);
1312: FND_MSG_PUB.ADD;
1313: RAISE FND_API.G_EXC_ERROR;
1314: END IF;
1315:
1316: CLOSE item_composition_exists;
1317: */
1319:
1320: IF NVL(l_item_composition_rec.effective_end_date,TRUNC(SYSDATE)) >= TRUNC(SYSDATE) THEN
1321: FND_MESSAGE.Set_Name('AHL','AHL_MC_ITEM_COMP_OPEN');
1322: FND_MSG_PUB.ADD;
1323: RAISE FND_API.G_EXC_ERROR;
1324: END IF;
1325:
1326:
1327: -- Check Error Message stack.
1326:
1327: -- Check Error Message stack.
1328: x_msg_count := FND_MSG_PUB.count_msg;
1329: IF x_msg_count > 0 THEN
1330: RAISE FND_API.G_EXC_ERROR;
1331: END IF;
1332:
1333:
1334:
1344: AND OBJECT_VERSION_NUMBER = p_object_version_number;
1345:
1346:
1347: -- Standard check of p_commit
1348: IF FND_API.TO_BOOLEAN(p_commit) THEN
1349: COMMIT WORK;
1350: END IF;
1351:
1352:
1350: END IF;
1351:
1352:
1353: EXCEPTION
1354: WHEN FND_API.G_EXC_ERROR THEN
1355: x_return_status := FND_API.G_RET_STS_ERROR;
1356: Rollback to Reopen_Item_Composition;
1357: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1358: p_data => x_msg_data,
1351:
1352:
1353: EXCEPTION
1354: WHEN FND_API.G_EXC_ERROR THEN
1355: x_return_status := FND_API.G_RET_STS_ERROR;
1356: Rollback to Reopen_Item_Composition;
1357: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1358: p_data => x_msg_data,
1359: p_encoded => fnd_api.g_false);
1355: x_return_status := FND_API.G_RET_STS_ERROR;
1356: Rollback to Reopen_Item_Composition;
1357: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1358: p_data => x_msg_data,
1359: p_encoded => fnd_api.g_false);
1360:
1361: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1362: THEN
1363: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1364: 'ahl.plsql.'||G_PKG_NAME||'.Reopen_Item_Composition', 'Error in Reopen_Item_Composition');
1365: END IF;
1366:
1367:
1368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1369: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1370: Rollback to Reopen_Item_Composition;
1371: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1372: p_data => x_msg_data,
1365: END IF;
1366:
1367:
1368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1369: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1370: Rollback to Reopen_Item_Composition;
1371: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1372: p_data => x_msg_data,
1373: p_encoded => fnd_api.g_false);
1369: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1370: Rollback to Reopen_Item_Composition;
1371: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1372: p_data => x_msg_data,
1373: p_encoded => fnd_api.g_false);
1374:
1375: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1376: THEN
1377: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1378: 'ahl.plsql.'||G_PKG_NAME||'.Reopen_Item_Composition', 'Unexpected Error in Reopen_Item_Composition');
1379: END IF;
1380:
1381: WHEN OTHERS THEN
1382: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1383: Rollback to Reopen_Item_Composition;
1384: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1385: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
1386: p_procedure_name => 'Reopen_Item_Composition',
1387: p_error_text => SUBSTR(SQLERRM,1,240));
1388: END IF;
1389: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1390: p_data => x_msg_data,
1391: p_encoded => fnd_api.g_false);
1392:
1393: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1394: THEN
1395: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1575: -- Pre-reqs :
1576: -- Parameters :
1577: -- Standard IN Parameters :
1578: -- p_api_version IN NUMBER Required
1579: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1580: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1581: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1582: --
1583: -- Standard OUT Parameters :
1576: -- Parameters :
1577: -- Standard IN Parameters :
1578: -- p_api_version IN NUMBER Required
1579: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1580: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1581: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1582: --
1583: -- Standard OUT Parameters :
1584: -- x_return_status OUT VARCHAR2 Required
1577: -- Standard IN Parameters :
1578: -- p_api_version IN NUMBER Required
1579: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1580: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1581: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1582: --
1583: -- Standard OUT Parameters :
1584: -- x_return_status OUT VARCHAR2 Required
1585: -- x_msg_count OUT NUMBER Required
1592: -- Enhancement 115.10
1593: -- End of Comments --
1594: PROCEDURE Initiate_Item_Comp_Approval (
1595: p_api_version IN NUMBER,
1596: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1597: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1598: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1599: x_return_status OUT NOCOPY VARCHAR2,
1600: x_msg_count OUT NOCOPY NUMBER,
1593: -- End of Comments --
1594: PROCEDURE Initiate_Item_Comp_Approval (
1595: p_api_version IN NUMBER,
1596: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1597: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1598: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1599: x_return_status OUT NOCOPY VARCHAR2,
1600: x_msg_count OUT NOCOPY NUMBER,
1601: x_msg_data OUT NOCOPY VARCHAR2,
1594: PROCEDURE Initiate_Item_Comp_Approval (
1595: p_api_version IN NUMBER,
1596: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1597: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1598: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1599: x_return_status OUT NOCOPY VARCHAR2,
1600: x_msg_count OUT NOCOPY NUMBER,
1601: x_msg_data OUT NOCOPY VARCHAR2,
1602: p_Item_Composition_id IN NUMBER,
1621: l_msg_count NUMBER;
1622: l_msg_data VARCHAR2(2000);
1623: l_activity_id NUMBER:=p_Item_Composition_id;
1624: l_Status VARCHAR2(1);
1625: l_init_msg_list VARCHAR2(10):=FND_API.G_TRUE;
1626: l_object_Version_number NUMBER:=nvl(p_object_Version_number,0);
1627:
1628: l_upd_status VARCHAR2(50);
1629: l_rev_status VARCHAR2(50);
1654: SAVEPOINT Initiate_Item_Comp_Approval;
1655:
1656: -- Standard call to check for call compatibility.
1657:
1658: IF FND_API.to_boolean(l_init_msg_list) THEN
1659: FND_MSG_PUB.initialize;
1660: END IF;
1661:
1662: -- Initialize API return status to success
1660: END IF;
1661:
1662: -- Initialize API return status to success
1663:
1664: x_return_status :=FND_API.G_RET_STS_SUCCESS;
1665:
1666: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1667: THEN
1668: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1687: from ahl_item_comp_details
1688: where item_composition_id = p_Item_Composition_id;
1689:
1690:
1691: IF p_object_Version_number is null or p_object_Version_number=FND_API.G_MISS_NUM
1692: THEN
1693: FND_MESSAGE.SET_NAME('AHL','AHL_MC_OBJ_VERSION_NULL');
1694: FND_MSG_PUB.ADD;
1695: END IF;
1693: FND_MESSAGE.SET_NAME('AHL','AHL_MC_OBJ_VERSION_NULL');
1694: FND_MSG_PUB.ADD;
1695: END IF;
1696:
1697: IF p_Item_Composition_id is null or p_Item_Composition_id = FND_API.G_MISS_NUM
1698: THEN
1699: FND_MESSAGE.SET_NAME('AHL','AHL_MC_OBJECT_ID_NULL');
1700: FND_MSG_PUB.ADD;
1701: ELSE
1713: IF l_count < 1 THEN
1714: FND_MESSAGE.SET_NAME('AHL','AHL_MC_IC_EMPTY');
1715: FND_MESSAGE.Set_Token('ITEM_COMP',l_item_comp_rec.concatenated_segments);
1716: FND_MSG_PUB.ADD;
1717: RAISE FND_API.G_EXC_ERROR;
1718: END IF;
1719:
1720:
1721: IF p_approval_type = 'APPROVE'
1739:
1740: IF l_msg_count > 0
1741: THEN
1742: X_msg_count := l_msg_count;
1743: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1744: RAISE FND_API.G_EXC_ERROR;
1745: END IF;
1746:
1747:
1740: IF l_msg_count > 0
1741: THEN
1742: X_msg_count := l_msg_count;
1743: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1744: RAISE FND_API.G_EXC_ERROR;
1745: END IF;
1746:
1747:
1748: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1760: IF sql%rowcount=0
1761: THEN
1762: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
1763: FND_MSG_PUB.ADD;
1764: RAISE FND_API.G_EXC_ERROR;
1765: END IF;
1766:
1767: IF l_ACTIVE='Y'
1768: THEN
1809:
1810: IF l_msg_count > 0
1811: THEN
1812: X_msg_count := l_msg_count;
1813: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1814: RAISE FND_API.G_EXC_ERROR;
1815: END IF;
1816:
1817:
1810: IF l_msg_count > 0
1811: THEN
1812: X_msg_count := l_msg_count;
1813: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1814: RAISE FND_API.G_EXC_ERROR;
1815: END IF;
1816:
1817:
1818: -- Standard check of p_commit
1815: END IF;
1816:
1817:
1818: -- Standard check of p_commit
1819: IF FND_API.TO_BOOLEAN(p_commit) THEN
1820: COMMIT WORK;
1821: END IF;
1822:
1823: -- Standard call to get message count and if count is 1, get message info
1823: -- Standard call to get message count and if count is 1, get message info
1824: FND_MSG_PUB.Count_And_Get
1825: ( p_count => x_msg_count,
1826: p_data => x_msg_data,
1827: p_encoded => fnd_api.g_false);
1828:
1829: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1830: THEN
1831: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1834:
1835:
1836:
1837: EXCEPTION
1838: WHEN FND_API.G_EXC_ERROR THEN
1839: x_return_status := FND_API.G_RET_STS_ERROR;
1840: Rollback to Initiate_Item_Comp_Approval;
1841: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1842: p_data => x_msg_data,
1835:
1836:
1837: EXCEPTION
1838: WHEN FND_API.G_EXC_ERROR THEN
1839: x_return_status := FND_API.G_RET_STS_ERROR;
1840: Rollback to Initiate_Item_Comp_Approval;
1841: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1842: p_data => x_msg_data,
1843: p_encoded => fnd_api.g_false);
1839: x_return_status := FND_API.G_RET_STS_ERROR;
1840: Rollback to Initiate_Item_Comp_Approval;
1841: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1842: p_data => x_msg_data,
1843: p_encoded => fnd_api.g_false);
1844:
1845: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1846: THEN
1847: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1848: 'ahl.plsql.'||G_PKG_NAME||'.Initiate_Item_Comp_Approval', 'Error in Initiate_Item_Comp_Approval');
1849: END IF;
1850:
1851:
1852: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1854: Rollback to Initiate_Item_Comp_Approval;
1855: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1856: p_data => x_msg_data,
1849: END IF;
1850:
1851:
1852: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1854: Rollback to Initiate_Item_Comp_Approval;
1855: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1856: p_data => x_msg_data,
1857: p_encoded => fnd_api.g_false);
1853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1854: Rollback to Initiate_Item_Comp_Approval;
1855: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1856: p_data => x_msg_data,
1857: p_encoded => fnd_api.g_false);
1858:
1859: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1860: THEN
1861: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1862: 'ahl.plsql.'||G_PKG_NAME||'.Initiate_Item_Comp_Approval', 'Unexpected Error in Initiate_Item_Comp_Approval');
1863: END IF;
1864:
1865: WHEN OTHERS THEN
1866: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1867: Rollback to Initiate_Item_Comp_Approval;
1868: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1869: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
1870: p_procedure_name => 'Initiate_Item_Comp_Approval',
1871: p_error_text => SUBSTR(SQLERRM,1,240));
1872: END IF;
1873: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1874: p_data => x_msg_data,
1875: p_encoded => fnd_api.g_false);
1876:
1877: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1878: THEN
1879: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1895: -- Pre-reqs :
1896: -- Parameters :
1897: -- Standard IN Parameters :
1898: -- p_api_version IN NUMBER Required
1899: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1900: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1901: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1902: --
1903: -- Standard OUT Parameters :
1896: -- Parameters :
1897: -- Standard IN Parameters :
1898: -- p_api_version IN NUMBER Required
1899: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1900: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1901: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1902: --
1903: -- Standard OUT Parameters :
1904: -- x_return_status OUT VARCHAR2 Required
1897: -- Standard IN Parameters :
1898: -- p_api_version IN NUMBER Required
1899: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1900: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1901: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1902: --
1903: -- Standard OUT Parameters :
1904: -- x_return_status OUT VARCHAR2 Required
1905: -- x_msg_count OUT NUMBER Required
1912: -- End of Comments --
1913:
1914: PROCEDURE Create_Item_Comp_Revision (
1915: p_api_version IN NUMBER,
1916: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1917: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1918: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1919: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
1920: P_MODULE_TYPE IN VARCHAR2,
1913:
1914: PROCEDURE Create_Item_Comp_Revision (
1915: p_api_version IN NUMBER,
1916: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1917: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1918: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1919: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
1920: P_MODULE_TYPE IN VARCHAR2,
1921: x_return_status OUT NOCOPY VARCHAR2,
1914: PROCEDURE Create_Item_Comp_Revision (
1915: p_api_version IN NUMBER,
1916: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1917: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1918: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1919: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
1920: P_MODULE_TYPE IN VARCHAR2,
1921: x_return_status OUT NOCOPY VARCHAR2,
1922: x_msg_count OUT NOCOPY NUMBER,
1915: p_api_version IN NUMBER,
1916: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1917: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1918: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1919: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
1920: P_MODULE_TYPE IN VARCHAR2,
1921: x_return_status OUT NOCOPY VARCHAR2,
1922: x_msg_count OUT NOCOPY NUMBER,
1923: x_msg_data OUT NOCOPY VARCHAR2,
1949: where link_comp_id = c_item_comp_id;
1950:
1951: l_dummy VARCHAR2(1);
1952: l_msg_count Number;
1953: l_init_msg_list VARCHAR2(10):=FND_API.G_TRUE;
1954: l_item_comp_id Number;
1955: l_last_update_login NUMBER;
1956: l_last_updated_by NUMBER;
1957: l_rowid UROWID;
1964: SAVEPOINT Create_Item_Comp_Revision;
1965:
1966: -- Standard call to check for call compatibility.
1967:
1968: IF FND_API.to_boolean(l_init_msg_list) THEN
1969: FND_MSG_PUB.initialize;
1970: END IF;
1971:
1972: -- Initialize API return status to success
1970: END IF;
1971:
1972: -- Initialize API return status to success
1973:
1974: x_return_status :=FND_API.G_RET_STS_SUCCESS;
1975:
1976: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
1977: THEN
1978: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2019:
2020: IF l_msg_count > 0
2021: THEN
2022: X_msg_count := l_msg_count;
2023: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2024: RAISE FND_API.G_EXC_ERROR;
2025: END IF;
2026:
2027: -- Sequence Number for the New Revision.
2020: IF l_msg_count > 0
2021: THEN
2022: X_msg_count := l_msg_count;
2023: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2024: RAISE FND_API.G_EXC_ERROR;
2025: END IF;
2026:
2027: -- Sequence Number for the New Revision.
2028:
2202: 'ahl.plsql.'||G_PKG_NAME||'.Create_Item_Comp_Revision', 'End of Loop');
2203: END IF;
2204:
2205: -- Standard check of p_commit
2206: IF FND_API.TO_BOOLEAN(p_commit) THEN
2207: COMMIT WORK;
2208: END IF;
2209:
2210: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2215:
2216:
2217:
2218: EXCEPTION
2219: WHEN FND_API.G_EXC_ERROR THEN
2220: x_return_status := FND_API.G_RET_STS_ERROR;
2221: Rollback to Create_Item_Comp_Revision;
2222: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2223: p_data => x_msg_data,
2216:
2217:
2218: EXCEPTION
2219: WHEN FND_API.G_EXC_ERROR THEN
2220: x_return_status := FND_API.G_RET_STS_ERROR;
2221: Rollback to Create_Item_Comp_Revision;
2222: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2223: p_data => x_msg_data,
2224: p_encoded => fnd_api.g_false);
2220: x_return_status := FND_API.G_RET_STS_ERROR;
2221: Rollback to Create_Item_Comp_Revision;
2222: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2223: p_data => x_msg_data,
2224: p_encoded => fnd_api.g_false);
2225: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2226: THEN
2227: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2228: 'ahl.plsql.'||G_PKG_NAME||'.Create_Item_Comp_Revision', 'Error in Create_Item_Comp_Revision');
2228: 'ahl.plsql.'||G_PKG_NAME||'.Create_Item_Comp_Revision', 'Error in Create_Item_Comp_Revision');
2229: END IF;
2230:
2231:
2232: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2233: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2234: Rollback to Create_Item_Comp_Revision;
2235: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2236: p_data => x_msg_data,
2229: END IF;
2230:
2231:
2232: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2233: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2234: Rollback to Create_Item_Comp_Revision;
2235: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2236: p_data => x_msg_data,
2237: p_encoded => fnd_api.g_false);
2233: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2234: Rollback to Create_Item_Comp_Revision;
2235: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2236: p_data => x_msg_data,
2237: p_encoded => fnd_api.g_false);
2238: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2239: THEN
2240: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2241: 'ahl.plsql.'||G_PKG_NAME||'.Create_Item_Comp_Revision', 'Unecpected Error in Create_Item_Comp_Revision');
2242: END IF;
2243:
2244:
2245: WHEN OTHERS THEN
2246: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2247: Rollback to Create_Item_Comp_Revision;
2248: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2249: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
2250: p_procedure_name => 'Create_Item_Comp_Revision',
2251: p_error_text => SUBSTR(SQLERRM,1,240));
2252: END IF;
2253: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2254: p_data => x_msg_data,
2255: p_encoded => fnd_api.g_false);
2256: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2257: THEN
2258: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2259: 'ahl.plsql.'||G_PKG_NAME||'.Create_Item_Comp_Revision', 'Unknown Error in Create_Item_Comp_Revision');
2277: -- Pre-reqs :
2278: -- Parameters :
2279: -- Standard IN Parameters :
2280: -- p_api_version IN NUMBER Required
2281: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2282: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2283: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2284: --
2285: -- Standard OUT Parameters :
2278: -- Parameters :
2279: -- Standard IN Parameters :
2280: -- p_api_version IN NUMBER Required
2281: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2282: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2283: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2284: --
2285: -- Standard OUT Parameters :
2286: -- x_return_status OUT VARCHAR2 Required
2279: -- Standard IN Parameters :
2280: -- p_api_version IN NUMBER Required
2281: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2282: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2283: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2284: --
2285: -- Standard OUT Parameters :
2286: -- x_return_status OUT VARCHAR2 Required
2287: -- x_msg_count OUT NUMBER Required
2295: -- End of Comments --
2296:
2297: PROCEDURE Approve_Item_Composiiton (
2298: p_api_version IN NUMBER,
2299: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2300: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2301: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2302: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
2303: P_MODULE_TYPE IN VARCHAR2,
2296:
2297: PROCEDURE Approve_Item_Composiiton (
2298: p_api_version IN NUMBER,
2299: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2300: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2301: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2302: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
2303: P_MODULE_TYPE IN VARCHAR2,
2304: x_return_status OUT NOCOPY VARCHAR2,
2297: PROCEDURE Approve_Item_Composiiton (
2298: p_api_version IN NUMBER,
2299: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2300: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2301: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2302: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
2303: P_MODULE_TYPE IN VARCHAR2,
2304: x_return_status OUT NOCOPY VARCHAR2,
2305: x_msg_count OUT NOCOPY NUMBER,
2298: p_api_version IN NUMBER,
2299: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2300: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2301: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2302: P_DEFAULT IN VARCHAR2 := FND_API.G_FALSE,
2303: P_MODULE_TYPE IN VARCHAR2,
2304: x_return_status OUT NOCOPY VARCHAR2,
2305: x_msg_count OUT NOCOPY NUMBER,
2306: x_msg_data OUT NOCOPY VARCHAR2,
2378:
2379:
2380: l_status VARCHAR2(30);
2381: l_msg_count Number;
2382: l_init_msg_list VARCHAR2(10):=FND_API.G_TRUE;
2383: l_rowid urowid;
2384: l_action varchar2(2);
2385:
2386:
2390:
2391:
2392: -- Standard call to check for call compatibility.
2393:
2394: IF FND_API.to_boolean(l_init_msg_list) THEN
2395: FND_MSG_PUB.initialize;
2396: END IF;
2397:
2398: -- Initialize API return status to success
2396: END IF;
2397:
2398: -- Initialize API return status to success
2399:
2400: x_return_status :=FND_API.G_RET_STS_SUCCESS;
2401:
2402: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2403: THEN
2404: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2427:
2428: IF l_msg_count > 0
2429: THEN
2430: X_msg_count := l_msg_count;
2431: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2432: RAISE FND_API.G_EXC_ERROR;
2433: END IF;
2434:
2435:
2428: IF l_msg_count > 0
2429: THEN
2430: X_msg_count := l_msg_count;
2431: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2432: RAISE FND_API.G_EXC_ERROR;
2433: END IF;
2434:
2435:
2436: IF p_appr_status='APPROVED'
2661:
2662:
2663:
2664: EXCEPTION
2665: WHEN FND_API.G_EXC_ERROR THEN
2666: x_return_status := FND_API.G_RET_STS_ERROR;
2667: Rollback to Approve_Item_Composiiton;
2668: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2669: p_data => x_msg_data,
2662:
2663:
2664: EXCEPTION
2665: WHEN FND_API.G_EXC_ERROR THEN
2666: x_return_status := FND_API.G_RET_STS_ERROR;
2667: Rollback to Approve_Item_Composiiton;
2668: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2669: p_data => x_msg_data,
2670: p_encoded => fnd_api.g_false);
2666: x_return_status := FND_API.G_RET_STS_ERROR;
2667: Rollback to Approve_Item_Composiiton;
2668: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2669: p_data => x_msg_data,
2670: p_encoded => fnd_api.g_false);
2671:
2672: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2673: THEN
2674: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2675: 'ahl.plsql.ahl_mc_itemgroup_pvt.Approve_Item_Composiiton', 'Error in Approve_Item_Composiiton');
2676: END IF;
2677:
2678:
2679: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2680: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2681: Rollback to Approve_Item_Composiiton;
2682: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2683: p_data => x_msg_data,
2676: END IF;
2677:
2678:
2679: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2680: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2681: Rollback to Approve_Item_Composiiton;
2682: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2683: p_data => x_msg_data,
2684: p_encoded => fnd_api.g_false);
2680: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2681: Rollback to Approve_Item_Composiiton;
2682: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2683: p_data => x_msg_data,
2684: p_encoded => fnd_api.g_false);
2685:
2686: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2687: THEN
2688: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2689: 'ahl.plsql.ahl_mc_itemgroup_pvt.Approve_Item_Composiiton', 'Unexpected Error in Approve_Item_Composiiton');
2690: END IF;
2691:
2692: WHEN OTHERS THEN
2693: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2694: Rollback to Approve_Item_Composiiton;
2695: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2696: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
2697: p_procedure_name => 'Approve_Item_Composiiton',
2698: p_error_text => SUBSTR(SQLERRM,1,240));
2699: END IF;
2700: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2701: p_data => x_msg_data,
2702: p_encoded => fnd_api.g_false);
2703:
2704: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL )
2705: THEN
2706: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,