发运模块中如何创建Debug 文件

本文档详细介绍了在Oracle发运模块中,从版本11.5.9到12.x以及11.5.2到11.5.8,如何为不同功能如事务处理、销售订单发放、接口停靠站请求和API调试创建Debug文件。涉及的配置包括调试级别设置、启用调试选项、日志目录配置等,并提供了日志文件的获取方法和相关文档引用。


版本11.5.9到12.x

A. 针对发运事务处理或者快速发运产生Debug文件

注意:如果通过发运事务处理执行发放,请参考B部分,下面这部分销售订单发放是格外的设置和日志文件。

1.   每一个测试案例都需要设置下面的配置文件,完成之后,再把配置文件恢复:  

OM: 调试级别 - 5

WSH: 启用调试 – Yes

 

2.   下面的配置文件一旦设置好了之后不需要更改。

WSH: 调试级别 - Statement
WSH: 调试日志目录 – 这个配置文件可以设置在地点层,可以是任何的有效的目录路径,一个有效的目录意思是可以对数据库有写的权限。查找有效的路径,可以通过执行下面的SQL语句:

select value from v$parameter where name = 'utl_file_dir'

**如果配置文件WSH: 调试日志目录和OM:调试日志路径相同,该文件可以通过执行并发请求Diagnostic: OM Debug File Retrieval (订单管理职责> 报表和请求 > 请求 > 单个请求) 来获得。

  1. 在发运事务处理表单中,点击工具,选择调试,记录显示的文件名,稍后用到。
  2. 执行您希望调试的动作。
  3. 再点击工具,把调试勾去。
  4. 从第3步指定的目录里取得调试文件。如果配置文件WSH: 调试日志目录和OM:调试日志路径相同,该文件可以通过执行并发请求Diagnostic: OM Debug File Retrieval (订单管理职责> 报表和请求 > 请求 > 单个请求) 来获得。
  5. 把第1步中的配置文件恢复成原来的值。

如何获得发运表单的Debug的视频短片,可以参考文档Document 1358154.1: Diagnostic

<think> 我们当前讨论的是Oracle EBS分批发运和挑库操作中的问题,用户现在询问的是发运事务处理中办理延迟交货的方法和流程。 根据之前的上下文,我们解决的是分批发运确认挑库时物料操作单号查不到的问题,涉及物料属性配置、发运状态重置、搬运单API分配等步骤。 现在用户的问题转向“办理延迟交货”,这与分批发运密切相关(因为部分发运后剩余数量需要延迟交货)。 延迟交货(Backorder)是指在部分发运后,将未发运的剩余数量保留在订单行上,以便后续发运。在Oracle EBS的发运事务处理中,可以通过以下方式处理: 方法1:自动延迟(系统默认行为) - 当物料属性“可分批次”被勾选时,系统在部分发运后自动将剩余数量转为延迟交货状态,无需人工干预[^2]。 - 延迟的订单行会保留在原始销售订单中,状态变为“已计划”或“已登记”,等待下一次发运。 方法2:手动延迟(通过发运事务处理表单) 路径:**订单管理 > 发运 > 发运事务处理** 1. 查询需要部分发运的订单行(状态为“准备发运”) 2. 在“数量”字段中修改本次实际发运数量(例如订单行数量1000,本次发运10) 3. 点击【保存】按钮后,系统会自动将剩余数量(990)标记为延迟交货,并生成新的发运行(Delivery Detail)用于下一次发运。 方法3:通过API强制延迟 若界面操作失败,可通过`WSH_DELIVERIES_PUB.DELIVERY_ACTION` API手动标记延迟: ```sql DECLARE l_delivery_id NUMBER := 123456; -- 实际发运单ID l_action_code VARCHAR2(30) := 'BACKORDER'; l_return_status VARCHAR2(1); BEGIN WSH_DELIVERIES_PUB.DELIVERY_ACTION( p_api_version_number => 1.0, p_init_msg_list => FND_API.G_TRUE, p_action_code => l_action_code, p_delivery_id => l_delivery_id, x_return_status => l_return_status ); IF l_return_status <> 'S' THEN dbms_output.put_line('错误: '||FND_MSG_PUB.GET); END IF; END; ``` 验证延迟交货: 1. 检查销售订单行状态:剩余数量状态应为“延迟” ```sql SELECT line_id, ordered_quantity, shipped_quantity, backordered_quantity FROM oe_order_lines_all WHERE line_id = [订单行ID]; ``` 2. 检查发运行状态:延迟的发运行在`wsh_delivery_details`中`released_status='B'`(延迟) 注意事项: - 延迟交货需要满足物料属性“可分批次”已启用[^2]。 - 若订单行被保留(Reservation),延迟操作会自动拆分库存预留。 相关问题: 1. 如何关闭订单行的自动延迟功能? 2. 延迟交货后的订单行如何重新发运? 3. 延迟交货对销售订单状态有什么影响? 引用说明: [^2]: 物料可分批次属性决定系统是否允许部分发运和自动延迟交货。 </think> ### 发运事务处理中办理延迟交货的方法与流程 在Oracle EBS系统中,延迟交货(Backorder)是指当订单无法完全发运时,将剩余数量保留在订单行中等待后续发运的操作。以下是具体方法和流程: --- #### **办理延迟交货的核心方法** 1. **自动延迟(系统默认)** - **触发条件**:物料启用"可分批次"属性时[^2] - **操作流程**: ```mermaid graph TD A[部分发运确认] --> B{系统检查可分批次属性} B -- 已启用 --> C[自动将剩余数量标记为延迟] B -- 未启用 --> D[报错终止发运] C --> E[生成新发运行状态=延迟] ``` - **验证语句**: ```sql SELECT backordered_quantity, shipped_quantity FROM oe_order_lines_all WHERE line_id = [订单行ID]; ``` 2. **手动强制延迟** - **适用场景**:物料未启用可分批次或需特殊处理 - **操作路径**: ``` 订单管理 > 发运 > 发运事务处理 ``` - **步骤**: 1. 查询目标订单行 2. 在"发运行"窗口修改"发运数量"(小于订单数量) 3. 点击【保存】按钮 4. 系统弹出提示:"剩余数量将延迟交货",确认操作 --- #### **延迟交货技术原理** 系统在执行部分发运时,自动分解订单行: $$ \text{原始数量} = \text{本次发运量} + \text{延迟量} $$ 其中: - **本次发运量**:生成实际搬运行(Pick Move) - **延迟量**:创建新订单行并标记: ```sql UPDATE wsh_delivery_details SET released_status = 'B' -- B=Backordered WHERE delivery_detail_id = [新生成行ID]; ``` --- #### **关键验证点** | **检查项** | **正确值** | **验证路径** | |------------|------------|--------------| | 订单行延迟量 | >0 | `oe_order_lines_all.backordered_quantity` | | 发运行状态 | B (Backordered) | `wsh_delivery_details.released_status` | | 物料属性 | 启用可分批次 | 物料定义 > 库存页签 [^2] | > **注意**:若物料未启用"可分批次",需先修改物料属性: > 1. 路径:`库存管理系统 > 物料 > 主组织物料` > 2. 勾选:**库存页签 > 可分批次** > 3. 重新运行"发放销售订单"请求 --- #### **延迟后恢复发运流程** 1. 进入发运事务处理表单 2. 查询状态为"延迟"的发运行 3. 修改数量为需发运值 4. 保存并运行"挑库确认"工作流 5. 系统生成新的搬运单号 --- ### 相关问题 1. 如何批量处理多个订单行的延迟交货? 2. 延迟交货对销售订单状态有哪些影响? 3. 物料"可分批次"属性与ATP检查的关系是什么? 4. 延迟交货后库存预留(Reservation)如何自动拆分? 5. 如何通过API强制标记延迟交货?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值