mtl_reserves,wsh_delivery_detail/查看fnd_file.put_line或request的log/output

Oracle库存交易与接口日志检查
该查询涉及Oracle库存管理中未完成的交易和接口状态。第一部分查询了要求日期前一天的MTL_RESERVATIONS,与WSH_DELIVERY_DETAILS关联,查找已发货但未在MTL_TRANSACTIONS_INTERFACE中记录的交易。第二部分检查仍有预留且未关闭的OE_ORDER_LINES_ALL,并排除已在WSH_DELIVERY_DETAILS中接口过的记录。最后,通过请求ID查找fnd_file.put_line或request的日志输出。

SELECT  OOH.ORDER_NUMBER
,  MSI.SEGMENT1
, MR.RESERVATION_QUANTITY
, MR.LOT_NUMBER
, WDD.ORGANIZATION_ID
FROM  OE_ORDER_HEADERS_ALL OOH
, MTL_SYSTEM_ITEMS_B  MSI
, WSH_DELIVERY_DETAILS WDD
, MTL_RESERVATIONS  MR
WHERE MR.REQUIREMENT_DATE < (SYSDATE - 1)
AND WDD.SOURCE_HEADER_ID = OOH.HEADER_ID
AND  MSI.ORGANIZATION_ID = <<master item organization id>>
AND MR.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
AND  WDD.SHIPPED_QUANTITY IS NOT NULL
AND WDD.SOURCE_LINE_ID = MR.DEMAND_SOURCE_LINE_ID
AND NOT EXISTS (SELECT INVENTORY_ITEM_ID FROM MTL_TRANSACTIONS_INTERFACE
WHERE
TRX_SOURCE_LINE_ID = WDD.SOURCE_LINE_ID)
GROUP BY OOH.ORDER_NUMBER
,  MSI.SEGMENT1
, MR.RESERVATION_QUANTITY
, MR.LOT_NUMBER
, WDD.ORGANIZATION_ID
ORDER BY OOH.ORDER_NUMBER, MSI.SEGMENT1

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

SELECT L.LINE_ID, L.HEADER

<think>我们正在讨论Oracle EBS库存模块中的MTL_TXN_REQUEST_PUB包。根据引用[2]中的代码片段,我们可以看到它被用于处理事务(process_Transactions)。这个包是Oracle Inventory开放的一个公共API,用于处理库存事务。 根据Oracle EBS的文档,MTL_TXN_REQUEST_PUB包提供了处理库存事务的公共过程。它通常用于从接口表(如mtl_transactions_interface)中处理事务,者直接通过参数传递事务数据。 主要的过程是`PROCESS_TRANSACTIONS`,它负责处理库存事务。该过程有多个参数,包括: - p_api_version:API版本号,用于版本控制 - p_init_msg_list:是否初始化消息列表 - p_commit:是否在成功时提交 - p_validation_level:验证级别 - x_return_status:返回状态(成功、错误、未预料错误) - x_msg_count:返回消息数量 - x_msg_data:返回消息数据 - x_trans_count:处理的事务数量 - p_table:指示使用哪个接口表(1表示MTL_TRANSACTIONS_INTERFACE,2表示MTL_MATERIAL_TRANSACTIONS_TEMP) - p_header_id:指定事务批的header_id 引用[2]中的示例代码调用了`process_Transactions`过程,并传递了必要的参数。这通常用于提交一组事务。 此外,引用[3]提到了接口表(mtl_transactions_interface)和临时表(mtl_material_transactions_temp),这些表通常用于存储待处理的事务数据。通过调用MTL_TXN_REQUEST_PUB.PROCESS_TRANSACTIONS,可以将这些接口表中的数据导入到正式表中(如mtl_material_transactions)。 需要注意的是,这个包是Oracle Inventory模块的核心API之一,用于保证库存事务的完整性和一致性。使用公共API而不是直接操作数据库表,可以避免很多数据完整性问题。 因此,MTL_TXN_REQUEST_PUB包是Oracle EBS库存模块中用于处理库存事务的公共API,其主要过程是PROCESS_TRANSACTIONS。 相关问题: 1. MTL_TXN_REQUEST_PUB.PROCESS_TRANSACTIONS的参数详细说明是什么? 2. 如何使用MTL_TXN_REQUEST_PUB包提交一个库存事务? 3. 在调用MTL_TXN_REQUEST_PUB时常见的错误有哪些? </think>### MTL_TXN_REQUEST_PUB 介绍 `MTL_TXN_REQUEST_PUB` 是 Oracle EBS 库存模块的重要公共 API 包,专门用于处理库存事务请求。其主要功能是通过程序化方式管理库存交易,替代标准的 Oracle 表单操作流程。以下是核心要点: 1. **核心功能** - 提供库存事务处理的标准接口,确保业务逻辑一致性 - 封装底层表操作(如 `mtl_material_transactions`),避免直接 DML 操作 - 支持事务验证、错误处理和原子性提交 2. **关键过程** ```sql PROCESS_TRANSACTIONS( p_api_version IN NUMBER, p_init_msg_list IN VARCHAR2, p_commit IN VARCHAR2, p_validation_level IN NUMBER, x_return_status OUT VARCHAR2, x_msg_count OUT NUMBER, x_msg_data OUT VARCHAR2, x_trans_count OUT NUMBER, p_table IN NUMBER, -- 接口表类型标识 p_header_id IN NUMBER -- 事务批ID ) ``` [^2] 3. **参数说明** - `p_table`:指定接口表类型(1= `MTL_TRANSACTIONS_INTERFACE`,2= `MTL_MATERIAL_TRANSACTIONS_TEMP`) - `p_header_id`:关联事务批的唯一标识 - `x_return_status`:返回处理状态(`FND_API.G_RET_STS_SUCCESS` 等) - `p_commit`:控制是否自动提交事务 4. **工作流程** ```mermaid graph LR A[准备事务数据] --> B[填充接口表] B --> C[调用PROCESS_TRANSACTIONS] C --> D{验证事务} D -->|成功| E[写入正式表] D -->|失败| F[返回错误代码] E --> G[更新库存余额] ``` 引用[3]中的错误处理机制会捕获 `mtl_transactions_interface` 中的异常 5. **典型应用场景** - 批量导入库存交易(如收货、转移) - 系统集成场景(如与 WMS/MES 对接) - 周期性库存调整作业 - 替代标准事务表单的定制化处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值