0% found this document useful (0 votes)
524 views3 pages

Create Inventory Move Order Header Inv Move Order Pub - Create Move Order Header

This document describes an Oracle stored procedure that creates an inventory move order header record. It sets up variables, looks up IDs for the transaction type and organization, populates fields in the header record, calls the create_move_order_header API, commits or rolls back based on the return status, and optionally displays any error messages.

Uploaded by

AamirKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
524 views3 pages

Create Inventory Move Order Header Inv Move Order Pub - Create Move Order Header

This document describes an Oracle stored procedure that creates an inventory move order header record. It sets up variables, looks up IDs for the transaction type and organization, populates fields in the header record, calls the create_move_order_header API, commits or rolls back based on the return status, and optionally displays any error messages.

Uploaded by

AamirKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

INV API: Create Inventory Move Order Header

inv_move_order_pub.create_move_order_header
CREATE OR REPLACE PROCEDURE test_create_move_order_hd (
p_org_id IN NUMBER,
user_name IN VARCHAR2,
resp_name IN VARCHAR2,
resp_appl_id IN NUMBER,
p_date_required IN DATE,
p_status_date IN DATE,
p_transaction_type_name IN VARCHAR2,
p_organization_code IN VARCHAR2,
p_description IN VARCHAR2,
p_from_subinventory_code IN VARCHAR2,
p_to_subinventory_code IN VARCHAR2,
p_request_number OUT VARCHAR2
)
AS
l_hdr_rec inv_move_order_pub.trohdr_rec_type
:= inv_move_order_pub.g_miss_trohdr_rec;
x_return_status VARCHAR2 (1);
x_msg_count NUMBER;
x_msg_data VARCHAR2 (4000);
x_hdr_rec inv_move_order_pub.trohdr_rec_type
:= inv_move_order_pub.g_miss_trohdr_rec;
x_hdr_val_rec inv_move_order_pub.trohdr_val_rec_type;
v_msg_index_out NUMBER;
p_validation_flag VARCHAR2 (1);
v_transaction_type_id NUMBER;
v_organization_id NUMBER;
v_user_id NUMBER;
v_resp_id NUMBER;
BEGIN
-------------------------------------------------
BEGIN
SELECT usr.user_id
INTO v_user_id
FROM fnd_user usr
WHERE user_name = usr.user_name;
EXCEPTION
WHEN OTHERS
THEN
v_user_id := NULL;
END;
BEGIN
SELECT resp.responsibility_id
INTO v_resp_id
FROM fnd_responsibility_vl resp
WHERE resp_name = resp.responsibility_name;
EXCEPTION
WHEN OTHERS
THEN
v_resp_id := NULL;
END;
mo_global.set_policy_context ('S', p_org_id);
inv_globals.set_org_id (p_org_id);
fnd_global.apps_initialize (v_user_id, v_resp_id, resp_appl_id);
-------------------------------------------------------------
BEGIN
SELECT trx.transaction_type_id
INTO v_transaction_type_id
FROM mtl_transaction_types trx
WHERE trx.transaction_type_name = p_transaction_type_name;
EXCEPTION
WHEN OTHERS
THEN
v_transaction_type_id := 64;
END;
BEGIN
SELECT org.organization_id
INTO v_organization_id
FROM inv_organization_info_v org
WHERE org.organization_code = p_organization_code;
EXCEPTION
WHEN OTHERS
THEN
v_organization_id := 207; --M1
END;
l_hdr_rec.date_required := p_date_required;
l_hdr_rec.header_status := INV_Globals.G_TO_STATUS_PREAPPROVED;
l_hdr_rec.organization_id := v_organization_id;
l_hdr_rec.status_date := TRIM (p_status_date);
l_hdr_rec.transaction_type_id := v_transaction_type_id;
l_hdr_rec.move_order_type := inv_globals.g_move_order_requisition;
l_hdr_rec.db_flag := fnd_api.g_true;
l_hdr_rec.operation := inv_globals.g_opr_create;
l_hdr_rec.description := p_description;
l_hdr_rec.from_subinventory_code := p_from_subinventory_code;
l_hdr_rec.to_subinventory_code := p_to_subinventory_code;
-------------------------------------------------------------
inv_move_order_pub.create_move_order_header
(p_api_version_number => 1.0,
p_init_msg_list =>
fnd_api.g_false,
p_return_values =>
fnd_api.g_false,
p_commit =>
fnd_api.g_true,
x_return_status =>
x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_trohdr_rec => l_hdr_rec,
x_trohdr_val_rec => x_hdr_val_rec,
x_trohdr_rec => x_hdr_rec,
p_validation_flag =>
p_validation_flag
);
p_request_number := x_hdr_rec.request_number;
DBMS_OUTPUT.put_line ('Return Status is :' || x_return_status);
DBMS_OUTPUT.put_line ('Message Count is :' || x_msg_count);
DBMS_OUTPUT.put_line ('Move Order Number is :' || x_hdr_rec.request_number);
IF x_return_status = 'S'
THEN
COMMIT;
ELSE
ROLLBACK;
END IF;
IF x_msg_count > 0
THEN
FOR v_index IN 1 .. x_msg_count
LOOP
fnd_msg_pub.get (p_msg_index => v_index,
p_encoded => 'F',
p_data => x_msg_data,
p_msg_index_out => v_msg_index_out
);
x_msg_data := SUBSTR (x_msg_data, 1, 200);
DBMS_OUTPUT.put_line (x_msg_data);
DBMS_OUTPUT.put_line
('============================================================');
END LOOP;
END IF;
END;
/

You might also like