DECLARE x_return_status VARCHAR2 (1); PROCEDURE transact_move_order (p_move_order_id IN NUMBER, x_return_status OUT VARCHAR2) IS l_header_id NUMBER; l_program VARCHAR2 (100); l_func VARCHAR2 (100); l_args VARCHAR2 (100); p_timeout NUMBER; l_old_tm_success BOOLEAN; l_rc_field NUMBER; CURSOR c1 (p_header_id IN NUMBER) IS SELECT transaction_header_id FROM mtl_material_transactions_temp WHERE transaction_source_id = p_header_id; BEGIN mo_global.set_policy_context ('S', 204); inv_globals.set_org_id (207); fnd_global.apps_initialize (1005902, 50583, 401); FOR i IN c1 (p_move_order_id) LOOP l_program := 'INXTPU'; l_func := l_program; l_args := l_program || ' ' || 'TRANS_HEADER_ID=' || TO_CHAR (i.transaction_header_id); p_timeout := 500; COMMIT; l_old_tm_success := inv_pick_wave_pick_confirm_pub.inv_tm_launch (program => l_program , args => l_args , TIMEOUT => p_timeout , rtval => l_rc_field ); IF l_old_tm_success THEN x_return_status := 'S'; DBMS_OUTPUT.put_line ('Result is :' || 'Success'); ELSE x_return_status := 'E'; DBMS_OUTPUT.put_line ('Result is :' || 'Failed'); END IF; IF x_return_status = 'S' THEN COMMIT; ELSE ROLLBACK; END IF; END LOOP; END; BEGIN transact_move_order (2055447, x_return_status); COMMIT; END;