DECLARE PROCEDURE create_move_order IS l_hdr_rec inv_move_order_pub.trohdr_rec_type := inv_move_order_pub.g_miss_trohdr_rec; l_line_tbl inv_move_order_pub.trolin_tbl_type := inv_move_order_pub.g_miss_trolin_tbl; 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; x_line_tbl inv_move_order_pub.trolin_tbl_type; x_line_val_tbl inv_move_order_pub.trolin_val_tbl_type; v_msg_index_out NUMBER; l_rsr_type inv_reservation_global.mtl_reservation_tbl_type; BEGIN l_line_tbl.DELETE; x_line_tbl.DELETE; mo_global.set_policy_context ('S', 204); inv_globals.set_org_id (207); fnd_global.apps_initialize (1005902, 50583, 401); l_hdr_rec.date_required := SYSDATE; l_hdr_rec.header_status := inv_globals.g_to_status_preapproved; l_hdr_rec.organization_id := 207; l_hdr_rec.status_date := SYSDATE; l_hdr_rec.transaction_type_id := inv_globals.g_type_transfer_order_issue; 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 := 'Test Move Order'; l_hdr_rec.to_account_id := 12831; l_hdr_rec.from_subinventory_code := 'FGI'; l_line_tbl (1).date_required := SYSDATE; l_line_tbl (1).inventory_item_id := 167742; l_line_tbl (1).line_id := fnd_api.g_miss_num; l_line_tbl (1).line_number := 1; l_line_tbl (1).line_status := inv_globals.g_to_status_preapproved; l_line_tbl (1).transaction_type_id := inv_globals.g_type_transfer_order_issue; l_line_tbl (1).organization_id := 207; l_line_tbl (1).quantity := 1; l_line_tbl (1).status_date := SYSDATE; l_line_tbl (1).uom_code := 'Ea'; l_line_tbl (1).db_flag := fnd_api.g_true; l_line_tbl (1).operation := inv_globals.g_opr_create; l_line_tbl (1).from_subinventory_code := 'FGI'; l_line_tbl (1).to_account_id := 12831; l_line_tbl (1).lot_number := 'A01'; --If the item is lot controlled l_line_tbl (1).serial_number_start := 'A01-0031'; --If the item is serial number controlled l_line_tbl (1).serial_number_end := 'A01-0031'; --If the item is serial number controlled inv_move_order_pub.process_move_order (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_false , x_return_status => x_return_status , x_msg_count => x_msg_count , x_msg_data => x_msg_data , p_trohdr_rec => l_hdr_rec , p_trolin_tbl => l_line_tbl , x_trohdr_rec => x_hdr_rec , x_trohdr_val_rec => x_hdr_val_rec , x_trolin_tbl => x_line_tbl , x_trolin_val_tbl => x_line_val_tbl ); 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); DBMS_OUTPUT.put_line ('Number of Lines Created are :' || x_line_tbl.COUNT); 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; BEGIN create_move_order; END;