订单的关闭是自动的,在所有行工作流结束(Close或者Cancel)后0.5天,订单头也将在Workflow Background Process的推动下关闭。
还有另外一种说法:you can wait until month-end and the “Order Flow – Generic” workflow will close it for you.
所以造成了很多时候订单行已经关闭了,但订单头还是处于Booked状态,这个时候如果你想Close订单头,你可以手动运行Workflow Background Process来关闭订单,也可以使用脚本来close Order Header.
脚本一:
begin
fnd_global.apps_initialize(:USER_ID, :RESP_ID, :RESP_APPL_ID);
end;
/
/*If Work Flow exist for Order header then use the script below. This will close the Order
After running this script run "Workflow Background Process" */
begin
wf_engine.completeactivity
(
\'OEOH\', --item_type
\'9999999\', --item_key = header_id .... pass the HEADER_ID of the order you want to close
\'CLOSE_WAIT_FOR_L\', -- apps.wf_process_activities.activity_name where instance_id= apps.wf_item_activity_statuses.process_activity
null
);
end;
/
Commit;
====================
/*If Work Flow does NOT exist for Order then use the script below .
After running this script run "Workflow Background Process" */
declare
l_return_status VARCHAR2(240);
l_msg_count NUMBER;
l_msg_data VARCHAR2(240);
l_header_id NUMBER := 99999999; --pass the HEADER_ID of the order you want to close
begin
OE_ORDER_CLOSE_UTIL.Close_Order
( p_api_version_number => 1.0
, p_header_id => l_header_id
, x_return_status => l_return_status
, x_msg_count => l_msg_count
, x_msg_data => l_msg_data
);
dbms_output.put_line(\'status = \' l_return_status);
end;
/
Commit;
/* After running this script run "Workflow Background Process" */
**********************************************************************
**********************************************************************脚本二:你要确保订单行都被关闭了的情况用这个脚本
Select HEADER_ID, OPEN_FLAG, FLOW_STATUS_CODE
from apps.oe_order_lines_all
where org_id=:org_id and header_id =:HEADER_ID; --pass the ORG_ID and HEADER_ID of the order you want to close
update apps.oe_order_headers_all
set open_flag = \'N\' , FLOW_STATUS_CODE= \'CLOSED\'
where org_id=:org_id and header_id =:HEADER_ID; --pass the ORG_ID and HEADER_ID of the order you want to close
Commit;
======EOF======