/*Move Order Approval API in Oracle APPS R12*/
DECLAREp_move_order_number VARCHAR2(240) := '18449190';
v_header_id NUMBER;
BEGIN
fnd_global.Apps_initialize(2739, 20634, 401);
BEGIN
SELECT hd.header_id
INTO v_header_id
FROM mtl_txn_request_headers hd
WHERE hd.request_number = p_move_order_number;
EXCEPTION
WHEN OTHERS THEN
v_header_id := NULL;
END;
invtroap.Start_to_approval (to_header_id => v_header_id, item_type => 'INVTROAP', item_key => To_char(v_header_id));
COMMIT;
EXCEPTION
WHEN OTHERS THEN
dbms_output.Put_line('Error - '
||SQLERRM);
END;
/*API to cancel Move Order*/
DECLARE
p_move_order_number VARCHAR2(240) := '18510837';
v_header_id NUMBER;
l_status VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(240);
l_error_message_list error_handler.error_tbl_type;
BEGIN
dbms_output.Put_line('Starting');
fnd_global.Apps_initialize(&userid,
-- User ID: You can use the same user id that created Move order (MO). Replace with yours from query a)
&responsibility,401);
BEGIN
SELECT hd.header_id
INTO v_header_id
FROM mtl_txn_request_headers hd
WHERE hd.request_number = p_move_order_number;
EXCEPTION
WHEN OTHERS THEN
v_header_id := NULL;
END;
inv_mo_admin_pub.Cancel_order (p_api_version => 1.0,
p_header_id => v_header_id,
x_msg_count => l_msg_count, x_msg_data => l_msg_data,
x_return_status => l_status);
IF l_status = fnd_api.g_ret_sts_success THEN
dbms_output.Put_line('ok');
ELSE
dbms_output.Put_line('Error.');
dbms_output.Put_line('Error Message :' ||l_msg_data);
error_handler.Get_message_list (x_message_list => l_error_message_list);
FOR i IN 1..l_error_message_list.count LOOP
dbms_output.Put_line('Entity Id : '||L_error_message_list(i).entity_id);DECLARE
p_move_order_number VARCHAR2(240) := '18510837';
v_header_id NUMBER;
l_status VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(240);
l_error_message_list error_handler.error_tbl_type;
BEGIN
dbms_output.Put_line('Starting');
fnd_global.Apps_initialize(&userid,
-- User ID: You can use the same user id that created Move order (MO). Replace with yours from query a)
&responsibility,401);
BEGIN
SELECT hd.header_id
INTO v_header_id
FROM mtl_txn_request_headers hd
WHERE hd.request_number = p_move_order_number;
EXCEPTION
WHEN OTHERS THEN
v_header_id := NULL;
END;
inv_mo_admin_pub.Cancel_order (p_api_version => 1.0,
p_header_id => v_header_id,
x_msg_count => l_msg_count, x_msg_data => l_msg_data,
x_return_status => l_status);
IF l_status = fnd_api.g_ret_sts_success THEN
dbms_output.Put_line('ok');
ELSE
dbms_output.Put_line('Error.');
dbms_output.Put_line('Error Message :' ||l_msg_data);
error_handler.Get_message_list (x_message_list => l_error_message_list);
FOR i IN 1..l_error_message_list.count LOOP
dbms_output.Put_line('Index : '||L_error_message_list(i).entity_index);
dbms_output.Put_line('Message Type : '||L_error_message_list(i).message_type);
dbms_output.Put_line('Mesg : '||Substr(L_error_message_list(i).message_text, 1,500));
dbms_output.Put_line('-------------------------------------------------------------------');
END LOOP;
END IF;
COMMIT;
dbms_output.Put_line('Finishing');
EXCEPTION
WHEN OTHERS THEN
dbms_output.Put_line('Error - '
||SQLERRM);
END;
COMMIT;
dbms_output.Put_line('Finishing');
EXCEPTION
WHEN OTHERS THEN
dbms_output.Put_line('Error - '
||SQLERRM);
END;