销售订单行booked后挑库到待发库突然决定不再发货对订单行作backordered但是订单行的状态没有变为cancle仍然是picked导致整个订单无法关闭! 具体操作步骤 ### Steps to Reproduce ### )om/order organizer /new sale order i create an sale order entry order line ordered item:CBTGJ qty: is ) om/ship transaction/pick release reserved and transer to satged subinventory DFK ) lateri dont want to ship it to custmer in ship transaction form i do backordereddelivery is clos edbut order line status is picked in ship transaction form query it line pick status is staged reserved is not released Souliton: Dwon the script from Metalink REM $Header: singlesql // :: ysinha noship $ WHENEVER SQLERROR EXIT FAILURE ROLLBACK; set ver off set feed off set serveroutput on size Prompt accept order_line_id number prompt Enter LINE_ID of the Line to Cancel : spool &order_line_id col dtime format a heading Script run at Date/Time ; select to_char(sysdate DDMONYYYY HH:MI:SS) dtime from dual; Declare l_line_id number := &order_line_id; l_user_id number; l_resp_id number; l_resp_appl_id number; l_wf_exists varchar() := Y; Begin update oe_order_lines_all setordered_quantity = cancelled_quantity = nvl(cancelled_quantity ) + ordered_quantity cancelled_flag = Y open_flag= N flow_status_code = CANCELLED last_updated_by= last_update_date = sysdate whereline_id= l_line_id; Begin select number_value into l_user_id from wf_item_attribute_values whereitem_type = OEOL anditem_key= to_char(l_line_id) andname= USER_ID; select number_value into l_resp_id from wf_item_attribute_values whereitem_type = OEOL anditem_key= to_char(l_line_id) andname= RESPONSIBILITY_ID; select number_value into l_resp_appl_id from wf_item_attribute_values whereitem_type = OEOL anditem_key= to_char(l_line_id) andname= APPLICATION_ID; Exception When No_Data_Found Then l_wf_exists := N; End; If l_wf_exists = Y Then fnd_globalapps_initialize(l_user_id l_resp_id l_resp_appl_id); wf_enginehandleerror( OE_GlobalsG_WFI_LIN to_char(l_line_id) CLOSE_LINE RETRY CANCEL ); End If; update wsh_delivery_assignments setdelivery_id = null parent_delivery_detail_id = null last_updated_by = last_update_date= sysdate wheredelivery_detail_idin (select wdddelivery_detail_id from wsh_delivery_details wdd oe_order_lines_all oel wherewddsource_line_id = l_line_id and wddsource_code= OE and oelopen_flag= N and oelshipped_quantity is null and oelordered_quantity = and released_status<> D); update wsh_delivery_details setreleased_status= D src_requested_quantity = requested_quantity = shipped_quantity = cycle_count_quantity = cancelled_quantity = decode(requested_quantitycancelled_quantityrequested_quantity) subinventory = null locator_id = null lot_number = null serial_number= null revision = null ship_set_id= null inv_interfaced_flag= X oe_interfaced_flag = X last_updated_by= last_update_date = sysdate wheredelivery_detail_idin (select wdddelivery_detail_id from wsh_delivery_details wdd oe_order_lines_all oel wherewddsource_line_id = l_line_id and wddsource_code= OE and oelopen_flag= N and oelshipped_quantity is null and oelordered_quantity = and released_status<> D); Exception when others then rollback; dbms_outputput_line(substr(sqlerrm )); End; / Prompt Prompt =========================================================== Prompt You must enter COMMIT to Save changes or ROLLBACK to Revert Prompt =========================================================== spool off …………………………………………………………………………………… $ sqlplus apps/apps @singlesql SQL*Plus: Release Production on Sat Aug :: (c) Copyright Oracle CorporationAll rights reserved Connected to: Oraclei Enterprise Edition Release Production With the Partitioning option JServer Release Production Enter LINE_ID of the Line to Cancel : Script run at Date/Time
AUG :: =========================================================== You must enter COMMIT to Save changes or ROLLBACK to Revert =========================================================== SQL> commit; SQL> <span lang=ENUS style=FONTSIZE: pt; FONTFAMILY: 宋体; msofontkerning: pt; msohansifontfamily: Times New Roman; msobidif |