[Home] [Help]
93: l_msg_data VARCHAR2(2000);
94: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
95: l_spec GMD_SPECIFICATIONS%ROWTYPE;
96: l_spec_out GMD_SPECIFICATIONS%ROWTYPE;
97: l_spec_tests GMD_SPEC_TESTS%ROWTYPE;
98: l_spec_tests_out GMD_SPEC_TESTS%ROWTYPE;
99: l_spec_tests_tbl GMD_SPEC_PUB.spec_tests_tbl;
100: l_spec_id NUMBER;
101: l_rowid ROWID;
94: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
95: l_spec GMD_SPECIFICATIONS%ROWTYPE;
96: l_spec_out GMD_SPECIFICATIONS%ROWTYPE;
97: l_spec_tests GMD_SPEC_TESTS%ROWTYPE;
98: l_spec_tests_out GMD_SPEC_TESTS%ROWTYPE;
99: l_spec_tests_tbl GMD_SPEC_PUB.spec_tests_tbl;
100: l_spec_id NUMBER;
101: l_rowid ROWID;
102: l_user_id NUMBER(15);
103: pp_spec_tests_tbl GMD_SPEC_PUB.spec_tests_tbl ;
104:
105: CURSOR Cur_get_dtl_base (p_basespec_id NUMBER) IS
106: SELECT *
107: FROM gmd_spec_tests
108: WHERE spec_id = p_basespec_id;
109: TYPE detail_tab_base IS TABLE OF Cur_get_dtl_base%ROWTYPE INDEX BY BINARY_INTEGER;
110: X_dtl_tbl_base detail_tab_base;
111:
297: -- Message detailing cause of validation failure is already on
298: -- the stack. But ensure the precise record is identified
299: -- ==========================================================
300: GMD_API_PUB.Log_Message('GMD_API_RECORD_IDENTIFIER',
301: 'l_table_name', 'GMD_SPEC_TESTS',
302: 'l_column_name', 'TEST_ID',
303: 'l_key_value', l_spec_tests.test_id);
304: RAISE FND_API.G_EXC_ERROR;
305: END IF;
310: -- ===================================
311: l_spec_tests.created_by := l_user_id;
312: l_spec_tests.last_updated_by := l_user_id;
313:
314: IF NOT GMD_SPEC_TESTS_PVT.INSERT_ROW(p_spec_tests => l_spec_tests)
315: THEN
316: GMD_API_PUB.Log_Message('GMD_FAILED_TO_INSERT_ROW',
317: 'l_table_name', 'GMD_SPEC_TESTS',
318: 'l_column_name', 'TEST_ID',
313:
314: IF NOT GMD_SPEC_TESTS_PVT.INSERT_ROW(p_spec_tests => l_spec_tests)
315: THEN
316: GMD_API_PUB.Log_Message('GMD_FAILED_TO_INSERT_ROW',
317: 'l_table_name', 'GMD_SPEC_TESTS',
318: 'l_column_name', 'TEST_ID',
319: 'l_key_value', l_spec_tests.test_id);
320: RAISE FND_API.G_EXC_ERROR;
321: END IF;
594: l_msg_count NUMBER :=0;
595: l_msg_data VARCHAR2(2000);
596: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
597: l_spec_id NUMBER :=0;
598: l_spec_tests GMD_SPEC_TESTS%ROWTYPE;
599: l_spec_tests_out GMD_SPEC_TESTS%ROWTYPE;
600: l_deleted_rows NUMBER :=0;
601:
602: BEGIN
595: l_msg_data VARCHAR2(2000);
596: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
597: l_spec_id NUMBER :=0;
598: l_spec_tests GMD_SPEC_TESTS%ROWTYPE;
599: l_spec_tests_out GMD_SPEC_TESTS%ROWTYPE;
600: l_deleted_rows NUMBER :=0;
601:
602: BEGIN
603:
682:
683: -- Fetch to ensure spec_test exists
684: -- ================================
685: -- KYH 05/NOV/02 use separate params for fetch_row input and output
686: IF NOT GMD_SPEC_TESTS_PVT.fetch_row ( l_spec_tests,l_spec_tests_out)
687: THEN
688: GMD_API_PUB.Log_Message('GMD_FAILED_TO_FETCH_ROW',
689: 'l_table_name', 'GMD_SPEC_TESTS',
690: 'l_column_name', 'TEST_ID',
685: -- KYH 05/NOV/02 use separate params for fetch_row input and output
686: IF NOT GMD_SPEC_TESTS_PVT.fetch_row ( l_spec_tests,l_spec_tests_out)
687: THEN
688: GMD_API_PUB.Log_Message('GMD_FAILED_TO_FETCH_ROW',
689: 'l_table_name', 'GMD_SPEC_TESTS',
690: 'l_column_name', 'TEST_ID',
691: 'l_key_value', l_spec_tests.test_id);
692: RAISE FND_API.G_EXC_ERROR;
693: END IF;
694: l_spec_tests := l_spec_tests_out;
695:
696: -- Lock the spec_test ahead of deleting
697: -- ====================================
698: IF NOT GMD_SPEC_TESTS_PVT.Lock_Row(l_spec_tests.spec_id,l_spec_tests.test_id)
699: THEN
700: -- Report Failure to obtain locks
701: -- ==============================
702: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
699: THEN
700: -- Report Failure to obtain locks
701: -- ==============================
702: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
703: 'l_table_name', 'GMD_SPEC_TESTS',
704: 'l_column_name', 'TEST_ID',
705: 'l_key_value', l_spec_tests.test_id);
706: RAISE FND_API.G_EXC_ERROR;
707: END IF;
705: 'l_key_value', l_spec_tests.test_id);
706: RAISE FND_API.G_EXC_ERROR;
707: END IF;
708:
709: IF NOT GMD_SPEC_TESTS_PVT.Delete_Row ( p_spec_id => l_spec_tests.spec_id
710: , p_test_id => l_spec_tests.test_id
711: )
712: THEN
713: GMD_API_PUB.Log_Message('GMD_FAILED_TO_DELETE_ROW',
710: , p_test_id => l_spec_tests.test_id
711: )
712: THEN
713: GMD_API_PUB.Log_Message('GMD_FAILED_TO_DELETE_ROW',
714: 'l_table_name', 'GMD_SPEC_TESTS',
715: 'l_column_name', 'TEST_ID',
716: 'l_key_value', l_spec_tests.test_id);
717: RAISE FND_API.G_EXC_ERROR;
718: END IF;