--发放生产批 --created by jenrry DECLARE x_return_status VARCHAR2 (1); l_exception_material_tbl gme_common_pvt.exceptions_tab; l_batch_header_rec gme_batch_header%ROWTYPE; l_in_batch_header_rec gme_batch_header%ROWTYPE; l_org_code VARCHAR2 (3); l_ignore_exception VARCHAR2 (1); l_val_ff VARCHAR2 (1); x_message_count NUMBER; x_message_list VARCHAR2 (2000); l_user_name VARCHAR2 (80); l_user_id NUMBER; CURSOR get_user_id (v_user_name IN VARCHAR2) IS SELECT user_id FROM fnd_user WHERE user_name = v_user_name; PROCEDURE display_messages (p_msg_count IN NUMBER) IS MESSAGE VARCHAR2 (2000); dummy NUMBER; l_api_name CONSTANT VARCHAR2 (30) := ‘DISPLAY_MESSAGES‘; BEGIN FOR i IN 1 .. p_msg_count LOOP fnd_msg_pub.get (p_msg_index => i, p_data => MESSAGE, p_encoded => ‘F‘, p_msg_index_out => dummy ); DBMS_OUTPUT.put_line (‘Message ‘ || TO_CHAR (i) || ‘ ‘ || MESSAGE); END LOOP; EXCEPTION WHEN OTHERS THEN fnd_msg_pub.add_exc_msg (‘wrapper for Release_Batch ‘, l_api_name); END display_messages; BEGIN DBMS_OUTPUT.ENABLE (20000); l_user_name := ‘SYSADMIN‘; OPEN get_user_id (l_user_name); FETCH get_user_id INTO l_user_id; IF get_user_id%NOTFOUND THEN DBMS_OUTPUT.put_line (‘Invalid User ‘ || l_user_name); CLOSE get_user_id; RAISE NO_DATA_FOUND; END IF; CLOSE get_user_id; fnd_profile.initialize (l_user_id); fnd_global.apps_initialize (user_id => l_user_id, resp_id => NULL, resp_appl_id => NULL ); l_in_batch_header_rec.batch_no := ‘20170731‘; l_org_code := ‘B01‘; l_in_batch_header_rec.actual_start_date := TO_DATE (‘07-31-2017 08:00:00‘, ‘MM-DD-YYYY HH24:MI:SS‘); l_ignore_exception := fnd_api.g_true; l_val_ff := fnd_api.g_true; gme_api_pub.release_batch (p_api_version => 2.0, p_validation_level => gme_common_pvt.g_max_errors, p_init_msg_list => fnd_api.g_true, p_commit => fnd_api.g_true, x_message_count => x_message_count, x_message_list => x_message_list, x_return_status => x_return_status, p_batch_header_rec => l_in_batch_header_rec, p_org_code => l_org_code, p_ignore_exception => l_ignore_exception, p_validate_flexfields => l_val_ff, x_batch_header_rec => l_batch_header_rec, x_exception_material_tbl => l_exception_material_tbl ); DBMS_OUTPUT.put_line (SUBSTR (‘x_return_status = ‘ || x_return_status, 1, 255 ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.batch_id = ‘ || TO_CHAR (l_batch_header_rec.batch_id) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.organization_id = ‘ || TO_CHAR (l_batch_header_rec.organization_id) ); DBMS_OUTPUT.put_line (SUBSTR ( ‘l_batch_header_rec.batch_no = ‘ || l_batch_header_rec.batch_no, 1, 255 ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.batch_type = ‘ || TO_CHAR (l_batch_header_rec.batch_type) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.plan_start_date = ‘ || TO_CHAR (l_batch_header_rec.plan_start_date, ‘DD-MON-YYYY HH24:MI:SS‘ ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.plan_cmplt_date = ‘ || TO_CHAR (l_batch_header_rec.plan_cmplt_date, ‘DD-MON-YYYY HH24:MI:SS‘ ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.actual_start_date = ‘ || TO_CHAR (l_batch_header_rec.actual_start_date, ‘DD-MON-YYYY HH24:MI:SS‘ ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.actual_cmplt_date = ‘ || TO_CHAR (l_batch_header_rec.actual_cmplt_date, ‘DD-MON-YYYY HH24:MI:SS‘ ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.batch_status = ‘ || TO_CHAR (l_batch_header_rec.batch_status) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.last_update_date = ‘ || TO_CHAR (l_batch_header_rec.last_update_date, ‘DD-MON-YYYY HH24:MI:SS‘ ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.last_updated_by = ‘ || TO_CHAR (l_batch_header_rec.last_updated_by) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.creation_date = ‘ || TO_CHAR (l_batch_header_rec.creation_date, ‘DD-MON-YYYY HH24:MI:SS‘ ) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.created_by = ‘ || TO_CHAR (l_batch_header_rec.created_by) ); DBMS_OUTPUT.put_line ( ‘l_batch_header_rec.last_update_login = ‘ || TO_CHAR (l_batch_header_rec.last_update_login) ); FOR i IN 1 .. l_exception_material_tbl.COUNT LOOP DBMS_OUTPUT.put_line (‘Record i = ‘ || TO_CHAR (i)); DBMS_OUTPUT.put_line ( ‘l_exception_material_tbl(i).ORGANIZATION_ID = ‘ || TO_CHAR (l_exception_material_tbl (i).organization_id ) ); DBMS_OUTPUT.put_line ( ‘l_exception_material_tbl(i).BATCH_ID = ‘ || TO_CHAR (l_exception_material_tbl (i).batch_id) ); DBMS_OUTPUT.put_line ( ‘l_exception_material_tbl(i).MATERIAL_DETAIL_ID = ‘ || TO_CHAR (l_exception_material_tbl (i).material_detail_id ) ); DBMS_OUTPUT.put_line ( ‘l_exception_material_tbl(i).PENDING_MOVE_ORDER_IND = ‘ || TO_CHAR (l_exception_material_tbl (i).pending_move_order_ind ) ); DBMS_OUTPUT.put_line ( ‘l_exception_material_tbl(i).PENDING_RESERVATIONS_IND = ‘ || TO_CHAR (l_exception_material_tbl (i).pending_reservations_ind ) ); DBMS_OUTPUT.put_line ( ‘l_exception_material_tbl(i).TRANSACTED_QTY = ‘ || TO_CHAR (l_exception_material_tbl (i).transacted_qty ) ); DBMS_OUTPUT.put_line ( ‘l_exception_material_tbl(i).EXCEPTION_QTY = ‘ || TO_CHAR (l_exception_material_tbl (i).exception_qty ) ); END LOOP; DBMS_OUTPUT.put_line (‘x_message_count = ‘ || TO_CHAR (x_message_count)); DBMS_OUTPUT.put_line (SUBSTR (‘x_message_list = ‘ || x_message_list, 1, 255) ); IF x_message_count > 0 THEN display_messages (x_message_count); END IF; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (‘Error ‘ || TO_CHAR (SQLCODE) || ‘: ‘ || SQLERRM); RAISE; END; /
原文地址:https://www.cnblogs.com/jenrry/p/10021138.html
时间: 2024-10-08 20:33:08