434:
435: IF l_test_type IN ('U','T','V') THEN
436:
437: IF (x_spec_tests.display_precision IS NOT NULL OR x_spec_tests.report_precision IS NOT NULL) THEN
438: FND_MESSAGE.SET_NAME('GMD','GMD_PRECISION_NOT_REQD');
439: FND_MSG_PUB.ADD;
440: RAISE FND_API.G_EXC_ERROR;
441: END IF;
442:
440: RAISE FND_API.G_EXC_ERROR;
441: END IF;
442:
443: IF (x_spec_tests.min_value_num IS NOT NULL OR x_spec_tests.max_value_num IS NOT NULL) THEN
444: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_NUM_RANGE_NOT_REQD');
445: FND_MSG_PUB.ADD;
446: RAISE FND_API.G_EXC_ERROR;
447: END IF;
448:
446: RAISE FND_API.G_EXC_ERROR;
447: END IF;
448:
449: IF x_spec_tests.target_value_num IS NOT NULL THEN
450: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_NUM_TARGET_NOT_REQD');
451: FND_MSG_PUB.ADD;
452: RAISE FND_API.G_EXC_ERROR;
453: END IF;
454: --BEGIN BUG#3545701
453: END IF;
454: --BEGIN BUG#3545701
455: --Commented the code for Non-validated tests.
456: /* IF l_test_type = 'U' and x_spec_tests.target_value_char IS NOT NULL THEN
457: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_CHAR_TARGET_NOT_REQD');
458: FND_MSG_PUB.ADD;
459: RAISE FND_API.G_EXC_ERROR; */
460: --END BUG#3545701
461: IF l_test_type = 'V' and x_spec_tests.target_value_char IS NULL THEN
458: FND_MSG_PUB.ADD;
459: RAISE FND_API.G_EXC_ERROR; */
460: --END BUG#3545701
461: IF l_test_type = 'V' and x_spec_tests.target_value_char IS NULL THEN
462: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_CHAR_TARGET_REQD');
463: FND_MSG_PUB.ADD;
464: RAISE FND_API.G_EXC_ERROR;
465: END IF;
466:
465: END IF;
466:
467: IF (l_test_type = 'T') THEN
468: IF (x_spec_tests.min_value_char IS NULL OR x_spec_tests.max_value_char IS NULL) THEN
469: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_RANGE_REQ');
470: FND_MSG_PUB.ADD;
471: RAISE FND_API.G_EXC_ERROR;
472: END IF;
473: ELSE
471: RAISE FND_API.G_EXC_ERROR;
472: END IF;
473: ELSE
474: IF (x_spec_tests.min_value_char IS NOT NULL OR x_spec_tests.max_value_char IS NOT NULL) THEN
475: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_CHAR_RANGE_NOT_REQD');
476: FND_MSG_PUB.ADD;
477: RAISE FND_API.G_EXC_ERROR;
478: END IF;
479: END IF;
480:
481: --BEGIN BUG#3545701
482: --Commented the code for Non-validated tests.
483: /* IF l_test_type = 'U' and x_spec_tests.out_of_spec_action IS NOT NULL THEN
484: FND_MESSAGE.SET_NAME('GMD','GMD_ACTION_CODE_NOT_REQD');
485: FND_MSG_PUB.ADD;
486: RAISE FND_API.G_EXC_ERROR;
487: END IF; */
488: --END BUG#3545701
487: END IF; */
488: --END BUG#3545701
489:
490: IF x_spec_tests.exp_error_type IS NOT NULL THEN
491: FND_MESSAGE.SET_NAME('GMD','GMD_INVALID_EXP_ERROR_TYPE');
492: FND_MSG_PUB.ADD;
493: RAISE FND_API.G_EXC_ERROR;
494: END IF;
495:
496: IF (x_spec_tests.below_spec_min IS NOT NULL OR x_spec_tests.below_min_action_code IS NOT NULL )
497: OR (x_spec_tests.above_spec_min IS NOT NULL OR x_spec_tests.above_min_action_code IS NOT NULL )
498: OR (x_spec_tests.below_spec_max IS NOT NULL OR x_spec_tests.below_max_action_code IS NOT NULL )
499: OR (x_spec_tests.above_spec_max IS NOT NULL OR x_spec_tests.above_max_action_code IS NOT NULL ) THEN
500: FND_MESSAGE.SET_NAME('GMD', 'GMD_EXP_ERROR_NOT_REQD');
501: FND_MSG_PUB.ADD;
502: RAISE FND_API.G_EXC_ERROR;
503: END IF;
504: ELSE
517: RAISE FND_API.G_EXC_ERROR;
518: END IF;
519:
520: IF (x_spec_tests.min_value_num IS NULL AND x_spec_tests.max_value_num IS NULL) THEN
521: FND_MESSAGE.SET_NAME('GMD','GMD_MIN_MAX_REQ');
522: FND_MSG_PUB.ADD;
523: RAISE FND_API.G_EXC_ERROR;
524: END IF;
525:
524: END IF;
525:
526: IF ((x_spec_tests.min_value_num IS NULL AND l_test_min_value_num IS NOT NULL)
527: OR (x_spec_tests.max_value_num IS NULL AND l_test_max_value_num IS NOT NULL)) THEN
528: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_RANGE_REQ');
529: FND_MSG_PUB.ADD;
530: RAISE FND_API.G_EXC_ERROR;
531: END IF;
532:
530: RAISE FND_API.G_EXC_ERROR;
531: END IF;
532:
533: IF (x_spec_tests.min_value_char IS NOT NULL OR x_spec_tests.max_value_char IS NOT NULL) THEN
534: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_CHAR_RANGE_NOT_REQD');
535: FND_MSG_PUB.ADD;
536: RAISE FND_API.G_EXC_ERROR;
537: END IF;
538:
536: RAISE FND_API.G_EXC_ERROR;
537: END IF;
538:
539: IF x_spec_tests.target_value_char IS NOT NULL THEN
540: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_CHAR_TARGET_NOT_REQD');
541: FND_MSG_PUB.ADD;
542: RAISE FND_API.G_EXC_ERROR;
543: END IF;
544:
544:
545: IF ((x_spec_tests.exp_error_type IN ('N','P')) OR (x_spec_tests.exp_error_type IS NULL)) THEN
546: NULL ;
547: ELSE
548: FND_MESSAGE.SET_NAME('GMD','GMD_INVALID_EXP_ERROR_TYPE');
549: FND_MSG_PUB.ADD;
550: RAISE FND_API.G_EXC_ERROR;
551: END IF;
552:
553: IF x_spec_tests.exp_error_type IS NULL AND
554: (x_spec_tests.below_spec_min IS NOT NULL OR x_spec_tests.above_spec_min IS NOT NULL
555: OR x_spec_tests.below_spec_max IS NOT NULL OR x_spec_tests.above_spec_max IS NOT NULL)
556: THEN
557: FND_MESSAGE.SET_NAME('GMD', 'GMD_EXP_ERROR_TYPE_REQ');
558: FND_MSG_PUB.ADD;
559: RAISE FND_API.G_EXC_ERROR;
560: END IF;
561:
562: IF x_spec_tests.exp_error_type IS NOT NULL AND
563: (x_spec_tests.below_spec_min IS NULL AND x_spec_tests.above_spec_min IS NULL
564: AND x_spec_tests.below_spec_max IS NULL AND x_spec_tests.above_spec_max IS NULL)
565: THEN
566: FND_MESSAGE.SET_NAME('GMD', 'GMD_EXP_ERR_TYPE_NULL');
567: FND_MSG_PUB.ADD;
568: RAISE FND_API.G_EXC_ERROR;
569: END IF;
570:
1407: FROM GMD_SPEC_TESTS_B
1408: WHERE spec_id = p_spec_id ;
1409:
1410: IF l_test_count = 0 THEN
1411: FND_MESSAGE.SET_NAME('GMD','GMD_SPEC_NO_TEST');
1412: FND_MSG_PUB.ADD;
1413: RAISE FND_API.G_EXC_ERROR;
1414: END IF;
1415:
1472:
1473: -- validate for primary key
1474: -- ========================
1475: IF p_spec_id IS NULL THEN
1476: FND_MESSAGE.SET_NAME('GMD','GMD_SPEC_ID_REQUIRED'); -- New Message
1477: FND_MSG_PUB.ADD;
1478: RAISE FND_API.G_EXC_ERROR;
1479: ELSE
1480: l_spec.spec_id := p_spec_id;
1483: -- Fetch the row
1484: -- =============
1485: IF NOT GMD_Specifications_PVT.Fetch_Row(l_spec,l_spec_out)
1486: THEN
1487: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1488: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1489: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1490: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1491: fnd_msg_pub.ADD;
1484: -- =============
1485: IF NOT GMD_Specifications_PVT.Fetch_Row(l_spec,l_spec_out)
1486: THEN
1487: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1488: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1489: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1490: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1491: fnd_msg_pub.ADD;
1492: RAISE FND_API.G_EXC_ERROR;
1485: IF NOT GMD_Specifications_PVT.Fetch_Row(l_spec,l_spec_out)
1486: THEN
1487: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1488: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1489: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1490: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1491: fnd_msg_pub.ADD;
1492: RAISE FND_API.G_EXC_ERROR;
1493: END IF;
1486: THEN
1487: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1488: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1489: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1490: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1491: fnd_msg_pub.ADD;
1492: RAISE FND_API.G_EXC_ERROR;
1493: END IF;
1494:
1497: -- Terminate if the row is already delete marked
1498: -- =============================================
1499: IF l_spec.delete_mark <> 0
1500: THEN
1501: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1502: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1503: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1504: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1505: fnd_msg_pub.ADD;
1498: -- =============================================
1499: IF l_spec.delete_mark <> 0
1500: THEN
1501: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1502: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1503: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1504: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1505: fnd_msg_pub.ADD;
1506: RAISE FND_API.G_EXC_ERROR;
1499: IF l_spec.delete_mark <> 0
1500: THEN
1501: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1502: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1503: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1504: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1505: fnd_msg_pub.ADD;
1506: RAISE FND_API.G_EXC_ERROR;
1507: END IF;
1500: THEN
1501: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1502: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1503: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1504: fnd_message.set_token('L_KEY_VALUE',l_spec.spec_id);
1505: fnd_msg_pub.ADD;
1506: RAISE FND_API.G_EXC_ERROR;
1507: END IF;
1508:
1511: -- ============================== 700 (Approved for General Use)
1512: -- ============================================================
1513: IF l_spec.spec_status in (400,700)
1514: THEN
1515: fnd_message.set_name('GMD','GMD_SPEC_STATUS_BLOCKS_DELETE');
1516: fnd_msg_pub.ADD;
1517: RAISE FND_API.G_EXC_ERROR;
1518: END IF;
1519:
1520: -- Ensure that the status permits updates
1521: -- ======================================
1522: IF NOT GMD_SPEC_GRP.Record_Updateable_With_Status(l_spec.spec_status)
1523: THEN
1524: fnd_message.set_name('GMD','GMD_SPEC_STATUS_BLOCKS_UPDATE');
1525: fnd_msg_pub.ADD;
1526: RAISE FND_API.G_EXC_ERROR;
1527: END IF;
1528:
1531: x_return_status := FND_API.G_RET_STS_ERROR ;
1532: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1533:
1534: WHEN OTHERS THEN
1535: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1536: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1537: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1538: FND_MESSAGE.Set_Token('POSITION',l_progress );
1539: FND_MSG_PUB.ADD;
1532: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1533:
1534: WHEN OTHERS THEN
1535: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1536: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1537: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1538: FND_MESSAGE.Set_Token('POSITION',l_progress );
1539: FND_MSG_PUB.ADD;
1540: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1533:
1534: WHEN OTHERS THEN
1535: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1536: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1537: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1538: FND_MESSAGE.Set_Token('POSITION',l_progress );
1539: FND_MSG_PUB.ADD;
1540: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1541: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1534: WHEN OTHERS THEN
1535: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1536: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1537: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1538: FND_MESSAGE.Set_Token('POSITION',l_progress );
1539: FND_MSG_PUB.ADD;
1540: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1541: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1542:
1572:
1573: -- validate for primary key
1574: -- ========================
1575: IF p_spec_id IS NULL THEN
1576: FND_MESSAGE.SET_NAME('GMD','GMD_SPEC_ID_REQUIRED');
1577: FND_MSG_PUB.ADD;
1578: RAISE FND_API.G_EXC_ERROR;
1579: ELSE
1580: l_spec_tests.spec_id := p_spec_id;
1580: l_spec_tests.spec_id := p_spec_id;
1581: END IF;
1582:
1583: IF p_test_id IS NULL THEN
1584: FND_MESSAGE.SET_NAME('GMD','GMD_TEST_ID_CODE_NULL');
1585: FND_MSG_PUB.ADD;
1586: RAISE FND_API.G_EXC_ERROR;
1587: ELSE
1588: l_spec_tests.test_id := p_test_id;
1591: -- Fetch the row
1592: -- =============
1593: IF NOT GMD_Spec_Tests_PVT.Fetch_Row(l_spec_tests,l_spec_tests_out)
1594: THEN
1595: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1596: fnd_message.set_token('L_TABLE_NAME','GMD_SPEC_TESTS');
1597: fnd_message.set_token('L_COLUMN_NAME','TEST_ID');
1598: fnd_message.set_token('L_KEY_VALUE',l_spec_tests.test_id);
1599: fnd_msg_pub.ADD;
1592: -- =============
1593: IF NOT GMD_Spec_Tests_PVT.Fetch_Row(l_spec_tests,l_spec_tests_out)
1594: THEN
1595: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1596: fnd_message.set_token('L_TABLE_NAME','GMD_SPEC_TESTS');
1597: fnd_message.set_token('L_COLUMN_NAME','TEST_ID');
1598: fnd_message.set_token('L_KEY_VALUE',l_spec_tests.test_id);
1599: fnd_msg_pub.ADD;
1600: RAISE FND_API.G_EXC_ERROR;
1593: IF NOT GMD_Spec_Tests_PVT.Fetch_Row(l_spec_tests,l_spec_tests_out)
1594: THEN
1595: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1596: fnd_message.set_token('L_TABLE_NAME','GMD_SPEC_TESTS');
1597: fnd_message.set_token('L_COLUMN_NAME','TEST_ID');
1598: fnd_message.set_token('L_KEY_VALUE',l_spec_tests.test_id);
1599: fnd_msg_pub.ADD;
1600: RAISE FND_API.G_EXC_ERROR;
1601: END IF;
1594: THEN
1595: fnd_message.set_name('GMD','GMD_FAILED_TO_FETCH_ROW');
1596: fnd_message.set_token('L_TABLE_NAME','GMD_SPEC_TESTS');
1597: fnd_message.set_token('L_COLUMN_NAME','TEST_ID');
1598: fnd_message.set_token('L_KEY_VALUE',l_spec_tests.test_id);
1599: fnd_msg_pub.ADD;
1600: RAISE FND_API.G_EXC_ERROR;
1601: END IF;
1602:
1607: WHERE spec_id = p_spec_id ;
1608:
1609: IF l_spec_delete_mark <> 0
1610: THEN
1611: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1612: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1613: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1614: fnd_message.set_token('L_KEY_VALUE',p_spec_id);
1615: fnd_msg_pub.ADD;
1608:
1609: IF l_spec_delete_mark <> 0
1610: THEN
1611: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1612: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1613: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1614: fnd_message.set_token('L_KEY_VALUE',p_spec_id);
1615: fnd_msg_pub.ADD;
1616: RAISE FND_API.G_EXC_ERROR;
1609: IF l_spec_delete_mark <> 0
1610: THEN
1611: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1612: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1613: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1614: fnd_message.set_token('L_KEY_VALUE',p_spec_id);
1615: fnd_msg_pub.ADD;
1616: RAISE FND_API.G_EXC_ERROR;
1617: END IF;
1610: THEN
1611: fnd_message.set_name('GMD','GMD_RECORD_DELETE_MARKED');
1612: fnd_message.set_token('L_TABLE_NAME','GMD_SPECIFICATIONS');
1613: fnd_message.set_token('L_COLUMN_NAME','SPEC_ID');
1614: fnd_message.set_token('L_KEY_VALUE',p_spec_id);
1615: fnd_msg_pub.ADD;
1616: RAISE FND_API.G_EXC_ERROR;
1617: END IF;
1618:
1621: x_return_status := FND_API.G_RET_STS_ERROR ;
1622: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1623:
1624: WHEN OTHERS THEN
1625: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1626: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1627: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1628: FND_MESSAGE.Set_Token('POSITION',l_progress );
1629: FND_MSG_PUB.ADD;
1622: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1623:
1624: WHEN OTHERS THEN
1625: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1626: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1627: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1628: FND_MESSAGE.Set_Token('POSITION',l_progress );
1629: FND_MSG_PUB.ADD;
1630: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1623:
1624: WHEN OTHERS THEN
1625: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1626: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1627: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1628: FND_MESSAGE.Set_Token('POSITION',l_progress );
1629: FND_MSG_PUB.ADD;
1630: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1631: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1624: WHEN OTHERS THEN
1625: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
1626: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.VALIDATE_BEFORE_DELETE');
1627: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
1628: FND_MESSAGE.Set_Token('POSITION',l_progress );
1629: FND_MSG_PUB.ADD;
1630: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
1631: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1632:
2648:
2649: EXCEPTION
2650: WHEN OTHERS THEN
2651: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2652: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
2653: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.CREATE_SPECIFICATION');
2654: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
2655: FND_MESSAGE.Set_Token('POSITION',l_progress );
2656: FND_MSG_PUB.ADD;
2649: EXCEPTION
2650: WHEN OTHERS THEN
2651: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2652: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
2653: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.CREATE_SPECIFICATION');
2654: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
2655: FND_MESSAGE.Set_Token('POSITION',l_progress );
2656: FND_MSG_PUB.ADD;
2657: END create_specification ;
2650: WHEN OTHERS THEN
2651: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2652: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
2653: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.CREATE_SPECIFICATION');
2654: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
2655: FND_MESSAGE.Set_Token('POSITION',l_progress );
2656: FND_MSG_PUB.ADD;
2657: END create_specification ;
2658:
2651: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2652: FND_MESSAGE.Set_Name('GMD','GMD_API_ERROR');
2653: FND_MESSAGE.Set_Token('PACKAGE','GMD_SPEC_GRP.CREATE_SPECIFICATION');
2654: FND_MESSAGE.Set_Token('ERROR', substr(sqlerrm,1,100));
2655: FND_MESSAGE.Set_Token('POSITION',l_progress );
2656: FND_MSG_PUB.ADD;
2657: END create_specification ;
2658:
2659:
2724: -- Validate Input Parameters for NULLs
2725: IF (p_table_name IS NULL OR p_id IS NULL OR p_source_status IS NULL OR
2726: p_target_status IS NULL OR p_mode IS NULL) THEN
2727: x_return_status := 'E';
2728: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_PARAMETERS');
2729: x_message := FND_MESSAGE.GET;
2730: RETURN;
2731: END IF;
2732:
2725: IF (p_table_name IS NULL OR p_id IS NULL OR p_source_status IS NULL OR
2726: p_target_status IS NULL OR p_mode IS NULL) THEN
2727: x_return_status := 'E';
2728: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_PARAMETERS');
2729: x_message := FND_MESSAGE.GET;
2730: RETURN;
2731: END IF;
2732:
2733:
2732:
2733:
2734: IF NOT (p_mode in ('P', 'R', 'A', 'S')) THEN
2735: x_return_status := 'E';
2736: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_PARAMETERS');
2737: x_message := FND_MESSAGE.GET;
2738: RETURN;
2739: END IF;
2740:
2733:
2734: IF NOT (p_mode in ('P', 'R', 'A', 'S')) THEN
2735: x_return_status := 'E';
2736: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_PARAMETERS');
2737: x_message := FND_MESSAGE.GET;
2738: RETURN;
2739: END IF;
2740:
2741: IF (l_debug = 'Y') THEN
2750: FETCH c_all_status INTO l_status;
2751: IF c_all_status%NOTFOUND THEN
2752: CLOSE c_all_status;
2753: x_return_status := 'E';
2754: FND_MESSAGE.SET_NAME('GMD', 'GMD_STATUS_NOT_FOUND');
2755: x_message := FND_MESSAGE.GET;
2756: RETURN;
2757: END IF;
2758: CLOSE c_all_status;
2751: IF c_all_status%NOTFOUND THEN
2752: CLOSE c_all_status;
2753: x_return_status := 'E';
2754: FND_MESSAGE.SET_NAME('GMD', 'GMD_STATUS_NOT_FOUND');
2755: x_message := FND_MESSAGE.GET;
2756: RETURN;
2757: END IF;
2758: CLOSE c_all_status;
2759:
2800: RETURN;
2801:
2802: EXCEPTION
2803: WHEN OTHERS THEN
2804: FND_MESSAGE.SET_NAME('GMD', 'GMD_API_ERROR');
2805: FND_MESSAGE.SET_TOKEN('PACKAGE','GMD_SPEC_GRP.change_status');
2806: FND_MESSAGE.SET_TOKEN('ERROR', SUBSTR(SQLERRM,1,100));
2807: x_message := FND_MESSAGE.GET;
2808: x_return_status := 'E';
2801:
2802: EXCEPTION
2803: WHEN OTHERS THEN
2804: FND_MESSAGE.SET_NAME('GMD', 'GMD_API_ERROR');
2805: FND_MESSAGE.SET_TOKEN('PACKAGE','GMD_SPEC_GRP.change_status');
2806: FND_MESSAGE.SET_TOKEN('ERROR', SUBSTR(SQLERRM,1,100));
2807: x_message := FND_MESSAGE.GET;
2808: x_return_status := 'E';
2809: RETURN;
2802: EXCEPTION
2803: WHEN OTHERS THEN
2804: FND_MESSAGE.SET_NAME('GMD', 'GMD_API_ERROR');
2805: FND_MESSAGE.SET_TOKEN('PACKAGE','GMD_SPEC_GRP.change_status');
2806: FND_MESSAGE.SET_TOKEN('ERROR', SUBSTR(SQLERRM,1,100));
2807: x_message := FND_MESSAGE.GET;
2808: x_return_status := 'E';
2809: RETURN;
2810:
2803: WHEN OTHERS THEN
2804: FND_MESSAGE.SET_NAME('GMD', 'GMD_API_ERROR');
2805: FND_MESSAGE.SET_TOKEN('PACKAGE','GMD_SPEC_GRP.change_status');
2806: FND_MESSAGE.SET_TOKEN('ERROR', SUBSTR(SQLERRM,1,100));
2807: x_message := FND_MESSAGE.GET;
2808: x_return_status := 'E';
2809: RETURN;
2810:
2811: END change_status;