訂單的關閉是自動的,在所有行工作流結束(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;