网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.同条SQL,有时buffer get会暴增.
.Oracle SQL的优化(5)---关于rown.
.Oracle数据库的系统性能优化策略.
.Oracle中logmnr包的使用详解.
.在Oracle9i中使用多种Block Size.
.ORACLE之APACHE虚拟服务器设置.
.通过Oracle虚拟索引决定是否建立.
.集合和成员函数.
.一起学习在linux下使用汇编语言(.
.all installing oracle9i docume.
.优化Oracle库表设计的若干方法.
.Oracle中如何用T-SQL语句建立跟踪.
.甲骨文意外泄漏数据库安全漏洞.
.oracle10g无法连接错误排除.
.大侠宝典 :ORACLE 常用第三方软件.
.Oracle JDeveloper 11g预览版发布.
.ORACLE SQL性能优化系列(五).
.Oracle在SUN Solaris和Linux平台.
.oracle10g初始化参数说明二.
.10g创建数据库时00603,27504错误.

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

发表日期:2008-2-9



  销售订单行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
  
  set  ordered_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
  
  where line_id      = l_line_id;
  
  Begin
  
  select number_value
  
  into  l_user_id
  
  from  wf_item_attribute_values
  
  where item_type = 'OEOL'
  
  and  item_key = to_char(l_line_id)
  
  and  name   = 'USER_ID';
  
  select number_value
  
  into  l_resp_id
  
  from  wf_item_attribute_values
  
  where item_type = 'OEOL'
  
  and  item_key = to_char(l_line_id)
  
  and  name   = 'RESPONSIBILITY_ID';
  
  select number_value
  
  into  l_resp_appl_id
  
  from  wf_item_attribute_values
  
  where item_type = 'OEOL'
  
  and  item_key = to_char(l_line_id)
  
  and  name   = '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
  
  set  delivery_id        = null
  
  ,   parent_delivery_detail_id = null
  
  ,   last_updated_by      = -2564702
  
  ,   last_update_date     = sysdate
  
  where delivery_detail_id    in
  
  (select wdd.delivery_detail_id
  
  from  wsh_delivery_details wdd, oe_order_lines_all oel
  
  where wdd.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
  
  set  released_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
  
  where delivery_detail_id    in
  
  (select wdd.delivery_detail_id
  
  from  wsh_delivery_details wdd, oe_order_lines_all oel
  
  where wdd.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
上一篇:A little test for index 人气:472
下一篇:本地分区索引如何确定表空间(1) 人气:1357
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐