141: x_return_status := FND_API.G_RET_STS_SUCCESS;
142: OPEN get_uc_header( p_x_uc_header_rec.uc_header_id );
143: FETCH get_uc_header INTO l_old_uc_header_rec;
144: IF ( get_uc_header%NOTFOUND ) THEN
145: FND_MESSAGE.set_name('AHL', 'AHL_UC_HEADER_ID_INVALID');
146: FND_MESSAGE.set_token('UC_HEADER_ID', p_x_uc_header_rec.uc_header_id);
147: FND_MSG_PUB.add;
148: x_return_status := FND_API.G_RET_STS_ERROR;
149: END IF;
142: OPEN get_uc_header( p_x_uc_header_rec.uc_header_id );
143: FETCH get_uc_header INTO l_old_uc_header_rec;
144: IF ( get_uc_header%NOTFOUND ) THEN
145: FND_MESSAGE.set_name('AHL', 'AHL_UC_HEADER_ID_INVALID');
146: FND_MESSAGE.set_token('UC_HEADER_ID', p_x_uc_header_rec.uc_header_id);
147: FND_MSG_PUB.add;
148: x_return_status := FND_API.G_RET_STS_ERROR;
149: END IF;
150: IF ( l_old_uc_header_rec.object_version_number <>
148: x_return_status := FND_API.G_RET_STS_ERROR;
149: END IF;
150: IF ( l_old_uc_header_rec.object_version_number <>
151: p_x_uc_header_rec.object_version_number ) THEN
152: FND_MESSAGE.set_name('AHL', 'AHL_COM_RECORD_CHANGED');
153: FND_MSG_PUB.add;
154: x_return_status := FND_API.G_RET_STS_ERROR;
155: END IF;
156: CLOSE get_uc_header;
302: IF (p_uc_header_rec.mc_name IS NULL AND
303: p_uc_header_rec.mc_revision IS NOT NULL) OR
304: (p_uc_header_rec.mc_name IS NOT NULL AND
305: p_uc_header_rec.mc_revision IS NULL) THEN
306: FND_MESSAGE.set_name( 'AHL','AHL_UC_MC_NAME_REV_INVALID' );
307: FND_MSG_PUB.add;
308: x_return_status := FND_API.G_RET_STS_ERROR;
309: END IF;
310: END;
344: x_return_status := FND_API.G_RET_STS_SUCCESS;
345: IF (p_mc_name IS NULL OR p_mc_revision IS NULL) AND
346: p_x_mc_header_id IS NULL THEN
347: x_return_status := FND_API.G_RET_STS_ERROR;
348: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
349: FND_MSG_PUB.add;
350: ELSIF (p_mc_name IS NULL OR p_mc_revision IS NULL) AND
351: p_x_mc_header_id IS NOT NULL THEN
352: OPEN get_rec_from_id(p_x_mc_header_id);
352: OPEN get_rec_from_id(p_x_mc_header_id);
353: FETCH get_rec_from_id INTO l_mc_header_id, l_relationship_id;
354: IF get_rec_from_id%NOTFOUND THEN
355: x_return_status := FND_API.G_RET_STS_ERROR;
356: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_ID_INVALID');
357: FND_MESSAGE.set_token('MC_HEADER_ID', p_x_mc_header_id);
358: FND_MSG_PUB.add;
359: ELSE
360: p_x_mc_header_id := l_mc_header_id;
353: FETCH get_rec_from_id INTO l_mc_header_id, l_relationship_id;
354: IF get_rec_from_id%NOTFOUND THEN
355: x_return_status := FND_API.G_RET_STS_ERROR;
356: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_ID_INVALID');
357: FND_MESSAGE.set_token('MC_HEADER_ID', p_x_mc_header_id);
358: FND_MSG_PUB.add;
359: ELSE
360: p_x_mc_header_id := l_mc_header_id;
361: x_relationship_id := l_relationship_id;
368: EXIT WHEN get_rec_from_value%NOTFOUND;
369: END LOOP;
370: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_INVALID');
373: FND_MESSAGE.set_token('MC_NAME', p_mc_name);
374: FND_MESSAGE.set_token('MC_REV', p_mc_revision);
375: FND_MSG_PUB.add;
376: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
369: END LOOP;
370: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_INVALID');
373: FND_MESSAGE.set_token('MC_NAME', p_mc_name);
374: FND_MESSAGE.set_token('MC_REV', p_mc_revision);
375: FND_MSG_PUB.add;
376: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
377: p_x_mc_header_id := l_mc_header_id;
370: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_INVALID');
373: FND_MESSAGE.set_token('MC_NAME', p_mc_name);
374: FND_MESSAGE.set_token('MC_REV', p_mc_revision);
375: FND_MSG_PUB.add;
376: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
377: p_x_mc_header_id := l_mc_header_id;
378: x_relationship_id := l_relationship_id;
377: p_x_mc_header_id := l_mc_header_id;
378: x_relationship_id := l_relationship_id;
379: ELSE
380: x_return_status := FND_API.G_RET_STS_ERROR;
381: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_INVALID');
382: FND_MESSAGE.set_token('MC_NAME', p_mc_name);
383: FND_MESSAGE.set_token('MC_REV', p_mc_revision);
384: FND_MSG_PUB.add;
385: END IF;
378: x_relationship_id := l_relationship_id;
379: ELSE
380: x_return_status := FND_API.G_RET_STS_ERROR;
381: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_INVALID');
382: FND_MESSAGE.set_token('MC_NAME', p_mc_name);
383: FND_MESSAGE.set_token('MC_REV', p_mc_revision);
384: FND_MSG_PUB.add;
385: END IF;
386: CLOSE get_rec_from_value;
379: ELSE
380: x_return_status := FND_API.G_RET_STS_ERROR;
381: FND_MESSAGE.set_name('AHL', 'AHL_UC_MC_HEADER_INVALID');
382: FND_MESSAGE.set_token('MC_NAME', p_mc_name);
383: FND_MESSAGE.set_token('MC_REV', p_mc_revision);
384: FND_MSG_PUB.add;
385: END IF;
386: CLOSE get_rec_from_value;
387: END IF;
466: BEGIN
467: x_return_status := FND_API.G_RET_STS_SUCCESS;
468: IF p_instance_num IS NULL AND p_x_instance_id IS NULL THEN
469: x_return_status := FND_API.G_RET_STS_ERROR;
470: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
471: FND_MSG_PUB.add;
472: ELSIF p_instance_num IS NULL AND p_x_instance_id IS NOT NULL THEN
473: OPEN get_rec_from_id(p_x_instance_id, p_relationship_id);
474: FETCH get_rec_from_id INTO l_instance_id;
473: OPEN get_rec_from_id(p_x_instance_id, p_relationship_id);
474: FETCH get_rec_from_id INTO l_instance_id;
475: IF get_rec_from_id%NOTFOUND THEN
476: x_return_status := FND_API.G_RET_STS_ERROR;
477: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
478: FND_MESSAGE.set_token('CSII', p_x_instance_id);
479: FND_MSG_PUB.add;
480: END IF;
481: CLOSE get_rec_from_id;
474: FETCH get_rec_from_id INTO l_instance_id;
475: IF get_rec_from_id%NOTFOUND THEN
476: x_return_status := FND_API.G_RET_STS_ERROR;
477: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
478: FND_MESSAGE.set_token('CSII', p_x_instance_id);
479: FND_MSG_PUB.add;
480: END IF;
481: CLOSE get_rec_from_id;
482: ELSIF p_instance_num IS NOT NULL THEN
486: EXIT WHEN get_rec_from_value%NOTFOUND;
487: END LOOP;
488: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
489: x_return_status := FND_API.G_RET_STS_ERROR;
490: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
491: FND_MESSAGE.set_token('CSII', p_instance_num);
492: FND_MSG_PUB.add;
493: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
494: p_x_instance_id := l_instance_id;
487: END LOOP;
488: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
489: x_return_status := FND_API.G_RET_STS_ERROR;
490: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
491: FND_MESSAGE.set_token('CSII', p_instance_num);
492: FND_MSG_PUB.add;
493: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
494: p_x_instance_id := l_instance_id;
495: ELSE
493: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
494: p_x_instance_id := l_instance_id;
495: ELSE
496: x_return_status := FND_API.G_RET_STS_ERROR;
497: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
498: FND_MESSAGE.set_token('CSII', p_instance_num);
499: FND_MSG_PUB.add;
500: END IF;
501: CLOSE get_rec_from_value;
494: p_x_instance_id := l_instance_id;
495: ELSE
496: x_return_status := FND_API.G_RET_STS_ERROR;
497: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
498: FND_MESSAGE.set_token('CSII', p_instance_num);
499: FND_MSG_PUB.add;
500: END IF;
501: CLOSE get_rec_from_value;
502: END IF;
530: IF p_dml_operation = 'C' THEN
531: OPEN check_uc_name1(p_uc_header_rec.uc_name);
532: FETCH check_uc_name1 INTO l_dummy;
533: IF check_uc_name1%FOUND THEN
534: FND_MESSAGE.set_name( 'AHL','AHL_UC_NAME_DUPLICATE' );
535: FND_MESSAGE.set_token( 'NAME', p_uc_header_rec.uc_name );
536: FND_MSG_PUB.add;
537: x_return_status := FND_API.G_RET_STS_ERROR;
538: END IF;
531: OPEN check_uc_name1(p_uc_header_rec.uc_name);
532: FETCH check_uc_name1 INTO l_dummy;
533: IF check_uc_name1%FOUND THEN
534: FND_MESSAGE.set_name( 'AHL','AHL_UC_NAME_DUPLICATE' );
535: FND_MESSAGE.set_token( 'NAME', p_uc_header_rec.uc_name );
536: FND_MSG_PUB.add;
537: x_return_status := FND_API.G_RET_STS_ERROR;
538: END IF;
539: CLOSE check_uc_name1;
540: ELSIF p_dml_operation = 'U' THEN
541: OPEN check_uc_name2(p_uc_header_rec.uc_name, p_uc_header_rec.uc_header_id);
542: FETCH check_uc_name2 INTO l_dummy;
543: IF check_uc_name2%FOUND THEN
544: FND_MESSAGE.set_name( 'AHL','AHL_UC_NAME_DUPLICATE' );
545: FND_MESSAGE.set_token( 'NAME', p_uc_header_rec.uc_name );
546: FND_MSG_PUB.add;
547: x_return_status := FND_API.G_RET_STS_ERROR;
548: END IF;
541: OPEN check_uc_name2(p_uc_header_rec.uc_name, p_uc_header_rec.uc_header_id);
542: FETCH check_uc_name2 INTO l_dummy;
543: IF check_uc_name2%FOUND THEN
544: FND_MESSAGE.set_name( 'AHL','AHL_UC_NAME_DUPLICATE' );
545: FND_MESSAGE.set_token( 'NAME', p_uc_header_rec.uc_name );
546: FND_MSG_PUB.add;
547: x_return_status := FND_API.G_RET_STS_ERROR;
548: END IF;
549: CLOSE check_uc_name2;
552: IF p_uc_header_rec.unit_config_status_code NOT IN ('DRAFT', 'APPROVAL_REJECTED') THEN
553: OPEN check_uc_name3(p_uc_header_rec.uc_header_id);
554: FETCH check_uc_name3 INTO l_name;
555: IF check_uc_name3%FOUND AND (l_name.name <> p_uc_header_rec.uc_name) THEN
556: FND_MESSAGE.set_name( 'AHL','AHL_UC_NAME_CHANGE_UNALLOWED' );
557: FND_MSG_PUB.add;
558: x_return_status := FND_API.G_RET_STS_ERROR;
559: END IF;
560: CLOSE check_uc_name3;
563: -- Check name is not null. This procedure is executed after nullify_attributes
564: -- (create) or convert_attributes(update), so the check is the same for creation
565: -- and update.
566: IF p_uc_header_rec.uc_name is NULL THEN
567: FND_MESSAGE.set_name('AHL','AHL_UC_NAME_NULL');
568: FND_MSG_PUB.add;
569: x_return_status := FND_API.G_RET_STS_ERROR;
570: END IF;
571: -- The following checks are actually not really necessary.
570: END IF;
571: -- The following checks are actually not really necessary.
572: -- Check if the master_config_id contains a null value.
573: IF p_uc_header_rec.mc_header_id IS NULL THEN
574: FND_MESSAGE.set_name('AHL','AHL_MC_HEADER_ID_INVALID');
575: FND_MESSAGE.set_token('MC_HEADER_ID', p_uc_header_rec.mc_header_id);
576: FND_MSG_PUB.add;
577: x_return_status := FND_API.G_RET_STS_ERROR;
578: END IF;
571: -- The following checks are actually not really necessary.
572: -- Check if the master_config_id contains a null value.
573: IF p_uc_header_rec.mc_header_id IS NULL THEN
574: FND_MESSAGE.set_name('AHL','AHL_MC_HEADER_ID_INVALID');
575: FND_MESSAGE.set_token('MC_HEADER_ID', p_uc_header_rec.mc_header_id);
576: FND_MSG_PUB.add;
577: x_return_status := FND_API.G_RET_STS_ERROR;
578: END IF;
579: -- Check if the csi_item_instance_id contains a null value.
577: x_return_status := FND_API.G_RET_STS_ERROR;
578: END IF;
579: -- Check if the csi_item_instance_id contains a null value.
580: IF p_uc_header_rec.instance_id IS NULL THEN
581: FND_MESSAGE.set_name('AHL','AHL_UC_INSTANCE_NULL');
582: FND_MSG_PUB.add;
583: x_return_status := FND_API.G_RET_STS_ERROR;
584: END IF;
585: -- Check if the unit_config_status_code contains a null value.
583: x_return_status := FND_API.G_RET_STS_ERROR;
584: END IF;
585: -- Check if the unit_config_status_code contains a null value.
586: IF p_uc_header_rec.unit_config_status_code IS NULL THEN
587: FND_MESSAGE.set_name('AHL','AHL_UC_CONFIG_STATUS_NULL');
588: FND_MSG_PUB.add;
589: x_return_status := FND_API.G_RET_STS_ERROR;
590: END IF;
591:
795: -- Insert into the exactly same record into ahl_unit_config_headers_h
796: ahl_util_uc_pkg.copy_uc_header_to_history(p_x_uc_header_rec.uc_header_id, l_return_status);
797: --IF history copy failed, then don't raise exception, just add the message to the message stack
798: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
799: FND_MESSAGE.set_name('AHL', 'AHL_UC_HISTORY_COPY_FAILED');
800: FND_MSG_PUB.add;
801: END IF;
802:
803: --Need to check if the instance picked from CSI with serial_number has a serial_no_tag, and
806: --mfg_searil_numbers, otherwise it is 'TEMPORARY'
807: OPEN get_serial_number(p_x_uc_header_rec.instance_id);
808: FETCH get_serial_number INTO l_serial_number, l_mfg_serial_number_flag;
809: IF get_serial_number%NOTFOUND THEN
810: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
811: FND_MESSAGE.set_token('CSII', p_x_uc_header_rec.instance_id);
812: FND_MSG_PUB.add;
813: RAISE FND_API.G_EXC_ERROR;
814: CLOSE get_serial_number;
807: OPEN get_serial_number(p_x_uc_header_rec.instance_id);
808: FETCH get_serial_number INTO l_serial_number, l_mfg_serial_number_flag;
809: IF get_serial_number%NOTFOUND THEN
810: FND_MESSAGE.set_name('AHL', 'AHL_UC_CSII_INVALID');
811: FND_MESSAGE.set_token('CSII', p_x_uc_header_rec.instance_id);
812: FND_MSG_PUB.add;
813: RAISE FND_API.G_EXC_ERROR;
814: CLOSE get_serial_number;
815: ELSE
839: l_csi_transaction_rec.source_transaction_date := SYSDATE;
840: l_csi_transaction_rec.transaction_type_id := l_transaction_type_id;
841: AHL_Util_UC_Pkg.getcsi_attribute_id('AHL_TEMP_SERIAL_NUM', l_attribute_id,l_return_val);
842: IF NOT(l_return_val) THEN
843: FND_MESSAGE.set_name('AHL','AHL_UC_ATTRIB_CODE_MISSING');
844: FND_MESSAGE.set_token('CODE', 'AHL_TEMP_SERIAL_NUM');
845: FND_MSG_PUB.add;
846: ELSE
847: l_csi_extend_attrib_rec.attribute_id := l_attribute_id;
840: l_csi_transaction_rec.transaction_type_id := l_transaction_type_id;
841: AHL_Util_UC_Pkg.getcsi_attribute_id('AHL_TEMP_SERIAL_NUM', l_attribute_id,l_return_val);
842: IF NOT(l_return_val) THEN
843: FND_MESSAGE.set_name('AHL','AHL_UC_ATTRIB_CODE_MISSING');
844: FND_MESSAGE.set_token('CODE', 'AHL_TEMP_SERIAL_NUM');
845: FND_MSG_PUB.add;
846: ELSE
847: l_csi_extend_attrib_rec.attribute_id := l_attribute_id;
848: l_csi_extend_attrib_rec.attribute_value := l_serial_number_tag;
980: END IF;
981:
982: -- ACL :: Changes for R12
983: IF (ahl_util_uc_pkg.IS_UNIT_QUARANTINED(p_unit_header_id => p_x_uc_header_rec.uc_header_id , p_instance_id => null) = FND_API.G_TRUE) THEN
984: FND_MESSAGE.set_name( 'AHL','AHL_UC_INVALID_Q_ACTION' );
985: FND_MSG_PUB.add;
986: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
987: END IF;
988:
1037: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1038: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
1039: 'ahl.plsql.'||G_PKG_NAME||'.'||l_api_name||': within API','ovn='||p_x_uc_header_rec.object_version_number);
1040: END IF;
1041: FND_MESSAGE.set_name('AHL', 'AHL_COM_RECORD_CHANGED');
1042: FND_MSG_PUB.add;
1043: x_return_status := FND_API.G_RET_STS_ERROR;
1044: RAISE FND_API.G_EXC_ERROR;
1045: END IF;
1046:
1047: ahl_util_uc_pkg.copy_uc_header_to_history(p_x_uc_header_rec.uc_header_id, l_return_status);
1048: --IF history copy failed, then don't raise exception, just add the message to the message stack
1049: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1050: FND_MESSAGE.set_name('AHL', 'AHL_UC_HISTORY_COPY_FAILED');
1051: FND_MSG_PUB.add;
1052: END IF;
1053:
1054: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1248:
1249: IF (p_uc_header_id IS NULL OR p_uc_header_id = FND_API.G_MISS_NUM OR
1250: p_object_version_number IS NULL OR p_object_version_number = FND_API.G_MISS_NUM OR
1251: p_csi_instance_ovn IS NULL OR p_csi_instance_ovn = FND_API.G_MISS_NUM ) THEN
1252: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_PROCEDURE_CALL' );
1253: FND_MSG_PUB.add;
1254: RAISE FND_API.G_EXC_ERROR;
1255: END IF;
1256:
1259: OPEN get_top_unit(p_uc_header_id);
1260: FETCH get_top_unit INTO l_dummy_num, l_uc_status;
1261: IF get_top_unit%NOTFOUND THEN
1262: CLOSE get_top_unit;
1263: FND_MESSAGE.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
1264: FND_MESSAGE.set_token('NAME', 'uc_header_id');
1265: FND_MESSAGE.set_token('VALUE', p_uc_header_id);
1266: FND_MSG_PUB.add;
1267: RAISE FND_API.G_EXC_ERROR;
1260: FETCH get_top_unit INTO l_dummy_num, l_uc_status;
1261: IF get_top_unit%NOTFOUND THEN
1262: CLOSE get_top_unit;
1263: FND_MESSAGE.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
1264: FND_MESSAGE.set_token('NAME', 'uc_header_id');
1265: FND_MESSAGE.set_token('VALUE', p_uc_header_id);
1266: FND_MSG_PUB.add;
1267: RAISE FND_API.G_EXC_ERROR;
1268: ELSIF (l_uc_status IS NULL OR l_uc_status NOT IN ('DRAFT', 'APPROVAL_REJECTED')) THEN
1261: IF get_top_unit%NOTFOUND THEN
1262: CLOSE get_top_unit;
1263: FND_MESSAGE.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
1264: FND_MESSAGE.set_token('NAME', 'uc_header_id');
1265: FND_MESSAGE.set_token('VALUE', p_uc_header_id);
1266: FND_MSG_PUB.add;
1267: RAISE FND_API.G_EXC_ERROR;
1268: ELSIF (l_uc_status IS NULL OR l_uc_status NOT IN ('DRAFT', 'APPROVAL_REJECTED')) THEN
1269: CLOSE get_top_unit;
1266: FND_MSG_PUB.add;
1267: RAISE FND_API.G_EXC_ERROR;
1268: ELSIF (l_uc_status IS NULL OR l_uc_status NOT IN ('DRAFT', 'APPROVAL_REJECTED')) THEN
1269: CLOSE get_top_unit;
1270: FND_MESSAGE.set_name( 'AHL', 'AHL_UC_STATUS_NOT_DRAFT' );
1271: FND_MSG_PUB.add;
1272: RAISE FND_API.G_EXC_ERROR;
1273: END IF;
1274:
1276: OPEN get_uc_header(p_uc_header_id);
1277: FETCH get_uc_header INTO l_uc_header_rec;
1278: IF get_uc_header%NOTFOUND THEN
1279: CLOSE get_uc_header;
1280: FND_MESSAGE.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
1281: FND_MESSAGE.set_token('NAME', 'uc_header_id');
1282: FND_MESSAGE.set_token('VALUE', p_uc_header_id);
1283: FND_MSG_PUB.add;
1284: RAISE FND_API.G_EXC_ERROR;
1277: FETCH get_uc_header INTO l_uc_header_rec;
1278: IF get_uc_header%NOTFOUND THEN
1279: CLOSE get_uc_header;
1280: FND_MESSAGE.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
1281: FND_MESSAGE.set_token('NAME', 'uc_header_id');
1282: FND_MESSAGE.set_token('VALUE', p_uc_header_id);
1283: FND_MSG_PUB.add;
1284: RAISE FND_API.G_EXC_ERROR;
1285: ELSE
1278: IF get_uc_header%NOTFOUND THEN
1279: CLOSE get_uc_header;
1280: FND_MESSAGE.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
1281: FND_MESSAGE.set_token('NAME', 'uc_header_id');
1282: FND_MESSAGE.set_token('VALUE', p_uc_header_id);
1283: FND_MSG_PUB.add;
1284: RAISE FND_API.G_EXC_ERROR;
1285: ELSE
1286: CLOSE get_uc_header;
1297: WHERE unit_config_header_id = p_uc_header_id
1298: AND object_version_number = p_object_version_number;
1299:
1300: IF SQL%NOTFOUND THEN
1301: FND_MESSAGE.set_name('AHL', 'AHL_COM_RECORD_CHANGED');
1302: FND_MSG_PUB.add;
1303: x_return_status := FND_API.G_RET_STS_ERROR;
1304: RAISE FND_API.G_EXC_ERROR;
1305: END IF;
1306:
1307: ahl_util_uc_pkg.copy_uc_header_to_history(p_uc_header_id, l_return_status);
1308: --IF history copy failed, then don't raise exception, just add the message tothe message stack
1309: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1310: FND_MESSAGE.set_name('AHL', 'AHL_UC_HISTORY_COPY_FAILED');
1311: FND_MSG_PUB.add;
1312: END IF;
1313:
1314: --The following lines are used to expire all the instances and subunits installed in this
1333: OPEN get_csi_obj_ver_num(l_uc_header_rec.csi_instance_id);
1334: FETCH get_csi_obj_ver_num INTO l_csi_instance_ovn;
1335: IF (get_csi_obj_ver_num%NOTFOUND) THEN
1336: CLOSE get_csi_obj_ver_num;
1337: FND_MESSAGE.set_name('AHL','AHL_COM_RECORD_DELETED');
1338: FND_MSG_PUB.add;
1339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1340: ELSIF (l_csi_instance_ovn <> p_csi_instance_ovn) THEN
1341: CLOSE get_csi_obj_ver_num;
1338: FND_MSG_PUB.add;
1339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1340: ELSIF (l_csi_instance_ovn <> p_csi_instance_ovn) THEN
1341: CLOSE get_csi_obj_ver_num;
1342: FND_MESSAGE.set_name('AHL','AHL_COM_RECORD_CHANGED');
1343: FND_MSG_PUB.add;
1344: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1345: END IF;
1346:
1350: OPEN get_csi_ii_relationship(l_uc_header_rec.csi_instance_id);
1351: FETCH get_csi_ii_relationship INTO l_csi_relationship_id, l_object_version_number;
1352: IF get_csi_ii_relationship%NOTFOUND THEN
1353: CLOSE get_csi_ii_relationship;
1354: FND_MESSAGE.set_name('AHL','AHL_UC_CSI_REL_REC_INVALID');
1355: FND_MESSAGE.set_token('INSTANCE', l_uc_header_rec.csi_instance_id);
1356: FND_MSG_PUB.add;
1357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1358: ELSE
1351: FETCH get_csi_ii_relationship INTO l_csi_relationship_id, l_object_version_number;
1352: IF get_csi_ii_relationship%NOTFOUND THEN
1353: CLOSE get_csi_ii_relationship;
1354: FND_MESSAGE.set_name('AHL','AHL_UC_CSI_REL_REC_INVALID');
1355: FND_MESSAGE.set_token('INSTANCE', l_uc_header_rec.csi_instance_id);
1356: FND_MSG_PUB.add;
1357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1358: ELSE
1359: CLOSE get_csi_ii_relationship;
1414:
1415: ahl_util_uc_pkg.copy_uc_header_to_history(l_subunits.unit_config_header_id,l_return_status);
1416: --IF history copy failed, then don't raise exception, just add the messageto the message stack
1417: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1418: FND_MESSAGE.set_name('AHL', 'AHL_UC_HISTORY_COPY_FAILED');
1419: FND_MSG_PUB.add;
1420: END IF;
1421: END LOOP;
1422: