Post date: Nov 10, 2010 3:37:1 PM
/* Formatted on 2008/05/05 11:01 (Formatter Plus v4.8.8) */
DECLARE
CURSOR c_master
IS
SELECT *
FROM mii_gmd_qc_tests
WHERE flag IS NULL;
l_qc_tests_rec gmd_qc_tests%ROWTYPE;
l_qc_test_values_tbl gmd_qc_tests_pub.qc_test_values_tbl;
l_qc_cust_tests_tbl gmd_qc_tests_pub.qc_cust_tests_tbl;
l_out_qc_tests_rec gmd_qc_tests%ROWTYPE;
l_out_qc_test_values_tbl gmd_qc_tests_pub.qc_test_values_tbl;
l_out_qc_cust_tests_tbl gmd_qc_tests_pub.qc_cust_tests_tbl;
l_count NUMBER := 0;
l_loop_cnt NUMBER := 0;
l_record_count NUMBER := 0;
l_data VARCHAR2 (2000);
l_return_status VARCHAR2 (1);
l_status VARCHAR2 (1);
i NUMBER := 1;
l_dummy_cnt NUMBER;
l_api_version NUMBER := 1;
l_init_msg_list BOOLEAN;
l_commit BOOLEAN;
return_sts BOOLEAN;
BEGIN
--FND_GLOBAL.APPS_INITIALIZE(1112,22882,552,0);
fnd_global.apps_initialize (user_id => 1090,
resp_id => 23805,
resp_appl_id => 552
);
/*FND_GLOBAL.APPS_INITIALIZE(user_id, resp_id, resp_appl_id);*/
l_init_msg_list := TRUE;
l_commit := TRUE;
FOR l_master IN c_master
LOOP
l_qc_tests_rec.test_code := l_master.test_code;
l_qc_tests_rec.test_desc := l_master.test_desc;
l_qc_tests_rec.test_method_id := l_master.test_method_id;
l_qc_tests_rec.test_type := l_master.test_type;
l_qc_tests_rec.TEST_UNIT:= l_master.test_unit;
l_qc_tests_rec.MIN_VALUE_NUM:= l_master.min_value_num;
l_qc_tests_rec.MAX_VALUE_NUM:= l_master.max_value_num;
l_qc_tests_rec.DISPLAY_PRECISION:= l_master.display_precision;
l_qc_tests_rec.REPORT_PRECISION:= l_master.report_precision;
l_qc_tests_rec.priority := l_master.priority;
l_qc_tests_rec.delete_mark := l_master.delete_mark;
-- l_qc_test_values_tbl (1).value_char := 'RC-MILD';
-- l_qc_test_values_tbl (1).test_value_desc := 'RC Mild Odor';
-- l_qc_test_values_tbl (2).value_char := 'RC-NONE';
-- l_qc_test_values_tbl (2).test_value_desc := 'RC Odorless';
-- l_qc_test_values_tbl (3).value_char := 'RC-STRONG';
-- l_qc_test_values_tbl (3).test_value_desc := 'RC Strong Odor';
DBMS_OUTPUT.put_line ('Value Test ' || l_qc_tests_rec.test_code);
gmd_qc_tests_pub.create_tests
(p_api_version => 1.0,
p_qc_tests_rec => l_qc_tests_rec,
p_qc_test_values_tbl => l_qc_test_values_tbl,
p_qc_cust_tests_tbl => l_qc_cust_tests_tbl,
x_qc_tests_rec => l_out_qc_tests_rec,
x_qc_test_values_tbl => l_out_qc_test_values_tbl,
x_qc_cust_tests_tbl => l_out_qc_cust_tests_tbl,
p_user_name => 'MII',
x_return_status => l_return_status,
x_msg_count => l_count,
x_msg_data => l_data
);
UPDATE mii_gmd_qc_tests
set flag = l_return_status
WHERE test_code = l_master.test_code;
END LOOP;
COMMIT;
IF l_count >= 0
THEN
l_loop_cnt := 1;
LOOP
fnd_msg_pub.get (p_msg_index => l_loop_cnt,
p_data => l_data,
p_encoded => fnd_api.g_false,
p_msg_index_out => l_dummy_cnt
);
DBMS_OUTPUT.put_line ('Record = ' || l_loop_cnt);
DBMS_OUTPUT.put_line (l_data);
IF l_status = 'E' OR l_status = 'U'
THEN
l_data := CONCAT ('ERROR ', l_data);
END IF;
DBMS_OUTPUT.put_line (l_data);
IF (l_status = 'U')
THEN
l_return_status := l_status;
ELSIF (l_status = 'E' AND l_return_status <> 'U')
THEN
l_return_status := l_status;
ELSE
l_return_status := l_status;
END IF;
l_loop_cnt := l_loop_cnt + 1;
IF l_loop_cnt > l_count
THEN
EXIT;
END IF;
END LOOP;
END IF;
END;