TRANSACTION_SOURCE_ID 跟 TRANSACTION_SOURCE_TYPE_ID所关联的表的关系

本文介绍如何在Oracle Inventory Management中将TRANSACTION_SOURCE_ID与TRANSACTION_SOURCE_TYPE_ID进行关联,涉及不同类型的订单如销售订单、采购订单等,并提供了一个SQL查询示例来帮助理解这些ID的具体含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HOW TO LINK THE TRANSACTION_SOURCE_ID TO TRANSACTION_SOURCE_TYPE_ID [ID 987471.1]

Applies to:

Oracle Inventory Management - Version: 11.5.10 and later   [Release: 11.5 and later ]
Information in this document applies to any platform.
This document includes all versions of 11i and R12 and later

Goal

How to link the TRANSACTION_SOURCE_ID to TRANSACTION_SOURCE_TYPE_ID of table MTL_MATERIAL_TRANSACTIONS and MTL_MATERIAL_TRANSACTIONS_TEMP?

How to understand the value of TRANSACTION_SOURCE_ID, in order to join it to prymary source table (ex Sales Order, Purchase Order)?

Solution

See the correnpondances below:
a)TRANSACTION_SOURCE_ID: Job or Schedule WIP_ENTITIES.WIP_ENTITY_ID
TRANSACTION_SOURCE_TYPE_ID = 5

b) TRANSACTION_SOURCE_ID: Sales Order MTL_SALES_ORDERS.SALES_ORDER_ID
TRANSACTION_SOURCE_TYPE_ID = 2, 8, 12, 13

c) TRANSACTION_SOURCE_ID: Account Alias MTL_GENERIC_DISPOSITIONS.DISPOSITION_ID
TRANSACTION_SOURCE_TYPE_ID = 6

d) TRANSACTION_SOURCE_ID: Purchase Order PO_HEADERS_ALL.PO_HEADER_ID
TRANSACTION_SOURCE_TYPE_ID = 1

e) TRANSACTION_SOURCE_ID: Account GL_CODE_COMBINATIONS.CODE_COMBINATION_ID
TRANSACTION_SOURCE_TYPE_ID = all others

A useful select to find the specific source number and link it to TRANSACTION_SOURCE_ID is:

SELECT MMTT.TRANSACTION_SOURCE_ID,
CASE WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 1 THEN (SELECT 'RSH_NUMBER: ' || RCV.SHIPMENT_NUM 
FROM RCV_SHIPMENT_HEADERS RCV,
RCV_TRANSACTIONS RCVT
WHERE RCV.SHIPMENT_HEADER_ID = RCVT.SHIPMENT_HEADER_ID
AND RCVT.TRANSACTION_ID = MMTT.TRANSACTION_SOURCE_ID)
WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 2 THEN (SELECT 'SO_NUMBER: ' || SEGMENT1
FROM MTL_SALES_ORDERS
WHERE SALES_ORDER_ID = MMTT.TRANSACTION_SOURCE_ID)
WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 4 THEN (SELECT 'MO_NUMBER: ' || REQUEST_NUMBER
FROM MTL_TXN_REQUEST_HEADERS
WHERE REQUEST_NUMBER = TO_CHAR(MMTT.TRANSACTION_SOURCE_ID))
WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 5 THEN (SELECT 'WIP_NUMBER: ' || WIP_ENTITY_NAME
FROM WIP_ENTITIES
WHERE WIP_ENTITY_ID = MMTT.TRANSACTION_SOURCE_ID)
WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 7 THEN (SELECT 'INT_REQ_NUMBER: ' || RCV.SHIPMENT_NUM 
FROM RCV_SHIPMENT_HEADERS RCV,
RCV_TRANSACTIONS RCVT
WHERE RCV.SHIPMENT_HEADER_ID = RCVT.SHIPMENT_HEADER_ID
AND RCVT.TRANSACTION_ID = MMTT.TRANSACTION_SOURCE_ID)
WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 8 THEN (SELECT 'INT_SO_NUMBER: ' || SEGMENT1
FROM MTL_SALES_ORDERS
WHERE SALES_ORDER_ID = MMTT.TRANSACTION_SOURCE_ID)
WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 10 THEN (SELECT 'PHY_NAME: ' || PHYSICAL_INVENTORY_NAME
FROM MTL_PHYSICAL_INVENTORIES
WHERE PHYSICAL_INVENTORY_ID = MMTT.TRANSACTION_SOURCE_ID)
WHEN MMTT.TRANSACTION_SOURCE_TYPE_ID = 13 THEN (SELECT 'WIP_NUMBER: ' || WIP_ENTITY_NAME
FROM WIP_ENTITIES
WHERE WIP_ENTITY_ID = MMTT.TRANSACTION_SOURCE_ID)
ELSE 'NULL' END SRC_NUMBER 
FROM MTL_MATERIAL_TRANSACTIONS_TEMP MMTT.

References

NOTE:251353.1 - Transaction Code Combinations for Material and Cost Transactions

优化sql:SELECT we.organization_id ,we.wip_entity_id ,case when wl.line_id is null then we.wip_entity_name else '' end wip_entity_name ,we.primary_item_id ,mtt.transaction_type_name ,mmt.transaction_date ,bd.department_code ,mmt.inventory_item_id ,mmt.subinventory_code ,mta.reference_account ,br.resource_code ,lu2.meaning as line_type_name ,mta.base_transaction_value ,mta.cost_element_id ,flv.meaning as cost_element ,wdj.class_code job_type_code ,ml.meaning job_type_name FROM (select * from gerp.mtl_material_transactions where substr(transaction_date,1,7) >= '2023-06' and transaction_source_type_id = 5) mmt inner join gerp.wip_entities we on mmt.organization_id = we.organization_id inner join gerp.mtl_transaction_accounts mta on mta.transaction_source_id = we.wip_entity_id and mta.transaction_id = mmt.transaction_id and mta.transaction_source_type_id = 5 inner join gerp.mtl_transaction_types mtt on mtt.transaction_type_id = mmt.transaction_type_id inner join mfg_lookups lu2 on lu2.lookup_code = mta.accounting_line_type and lu2.lookup_type = 'CST_ACCOUNTING_LINE_TYPE' inner join gerp.mtl_system_items_b msi on msi.inventory_item_id = mmt.inventory_item_id and msi.organization_id = mta.organization_id left join gerp.bom_departments bd on bd.department_id = mmt.department_id left join gerp.bom_resources br on br.resource_id = mta.resource_id left join gerp.wip_lines wl on wl.line_id = mmt.repetitive_line_id left join gerp.wip_discrete_jobs wdj on wdj.wip_entity_id = mta.transaction_source_id left join gerp.fnd_lookup_values_vl flv on cast(mta.cost_element_id as string) = flv.lookup_code and flv.lookup_type = 'CST_COST_CODE_TYPE' left join mfg_lookups ml on ml.lookup_code = wdj.job_type and ml.lookup_type = 'WIP_DISCRETE_JOB' 。其中mmt,we,mta,msi,wdj数据量很大
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值