销售订单单行状态不对订单不关闭的处理

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

销售订单行booked后,挑库到待发库,忽然决定不再发货,对订单行作backordered,但是订单行的状态没有变为cancle,仍然是picked,导致整个订单无法关闭!

具体操作步骤:

### Steps to ReprodUCe ###

1)om/order organizer /new sale order i create an sale order ,entry order line ordered item:C.BT.250-100G-2.8.J

02 qty: is 11

2) om/ship transaction/pick release reserved 11.and transer to satged subinventory 'DFK'.

3) later,i don't want to ship it to custmer, in ship transaction form, i do backordered,delivery is clos

ed,but 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: single.sql 115.0 2000/06/15 01:55:37 ysinha noship $

WHENEVER SQLERROR EXIT FAILURE ROLLBACK;

set ver off

set feed off

set serveroutput on size 500000

Prompt

accept order_line_id number prompt 'Enter LINE_ID of the Line to Cancel : '

spool &order_line_id

col dtime format a25 heading 'Script run at Date/Time' ;

select to_char(sysdate, 'DD-MON-YYYY 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 varchar2(1) := 'Y';

Begin

update oe_order_lines_all

setordered_quantity = 0

,cancelled_quantity = nvl(cancelled_quantity, 0) + ordered_quantity

,cancelled_flag = 'Y'

,open_flag= 'N'

,flow_status_code = 'CANCELLED'

,last_updated_by= -2564702

,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_global.apps_initialize(l_user_id, l_resp_id, l_resp_appl_id);

wf_engine.handleerror( OE_Globals.G_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 = -2564702

,last_update_date= sysdate

wheredelivery_detail_idin

(select wdd.delivery_detail_id

from wsh_delivery_details wdd, oe_order_lines_all oel

wherewdd.source_line_id = l_line_id

and wdd.source_code= 'OE'

and oel.open_flag= 'N'

and oel.shipped_quantity is null

and oel.ordered_quantity = 0

and released_status< 'D');

update wsh_delivery_details

setreleased_status= 'D'

,src_requested_quantity = 0

,requested_quantity = 0

,shipped_quantity = 0

,cycle_count_quantity = 0

,cancelled_quantity = decode(requested_quantity,0,cancelled_quantity,requested_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= -2564702

,last_update_date = sysdate

wheredelivery_detail_idin

(select wdd.delivery_detail_id

from wsh_delivery_details wdd, oe_order_lines_all oel

wherewdd.source_line_id = l_line_id

and wdd.source_code= 'OE'

and oel.open_flag= 'N'

and oel.shipped_quantity is null

and oel.ordered_quantity = 0

and released_status< 'D');

Exception

when others then

rollback;

dbms_output.put_line(substr(sqlerrm, 1, 240));

End;

/

Prompt

Prompt ===========================================================

Prompt You must enter COMMIT to Save changes or ROLLBACK to Revert

Prompt ===========================================================

spool off

……………………………………………………………………………………

$ sqlplus apps/apps @single.sql

SQL*Plus: Release 8.0.6.0.0 - Production on Sat Aug 13 11:11:04 2005

(c) Copyright 1999 Oracle Corporation.All rights reserved.

Connected to:

Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production

With the Partitioning option

JServer Release 8.1.7.4.0 - Production

Enter LINE_ID of the Line to Cancel : 858580

Script run at Date/Time

-------------------------

13-AUG-2005 11:33:00

===========================================================

You must enter COMMIT to Save changes or ROLLBACK to Revert

===========================================================

SQL commit;

SQL

<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-f

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航