EBS INV:事务处理
1. 事务处理概述
库存模块的核心是如实记录入库和出库的品种和数量,反应库存的当前价值。正如GL是ERP的账务处理核心,所有模块的会计分录,最后都要过到GL;同样,INV是ERP的物料处理核心,所有模块的物料事务处理都要在INV中体现。采购接收入库和退货、销售发运出库和RMA退回、WIP组件发料和退回、WIP装配件完工和退回、工厂内的仓库库间物品调拨、工厂间的物品调拨、低值易耗品杂项领料、盘点产生的盈亏、项目合同领料、成本更新导致的库存价值变动、内部请购/内部销售产生的物品转移,这些事务虽然操作界面分散在各个模块中,但最终都要及时在库存中做记录,以反映企业最新的存货数量和价值状况。那么这么多种业务在库存系统中如何区分呢?Oracle的设计思路是:用“事务处理类型”来区分。
2. 事务处理类型
事务处理类型 = 事务处理来源 + 事务处理动作
除了在库存直接做事务处理或者通过开发Interface导入数据外,各标准模块该用哪个“类型”,Oracle实际上是写死的,——“来源”和“动作”当然也固定下来了。
事务处理来源:数据来自哪个模块
SELECT tst.transaction_source_type_id, tst.transaction_source_type_name,tst.user_defined_flag
FROM inv.mtl_txn_source_types tst
事务处理动作: 对出入库进行了更加细致的划分, 不允许自定义。
SELECT lov.lookup_code, lov.meaningFROM mfg_lookups lovWHERE lookup_type = 'MTL_TRANSACTION_ACTION'ORDER BY 1;
事务处理类型 = 事务处理来源 + 事务处理动作
SELECT mtp.transaction_type_id,mtp.transaction_type_name,mtp.description,-----------------------------------------------tst.transaction_source_type_id source_id,tst.transaction_source_type_name source_name,-----------------------------------------------lov.lookup_code action_id,lov.meaning action_nameFROM inv.mtl_transaction_types mtp,inv.mtl_txn_source_types tst,mfg_lookups lov
where mtp.transaction_source_type_id = tst.transaction_source_type_idand lov.lookup_type = 'MTL_TRANSACTION_ACTION'and mtp.transaction_action_id = lov.LOOKUP_CODE
order by tst.transaction_source_type_id
此外,为更好的进行追溯和查询,库存系统还把相关模块的单据ID (例:采购订单ID、销售订单ID、工单ID) 保留在inv.mtl_material_transactions.transaction_source_id字段上。
库存直接做事务处理的话(Document/ Alias / Account)保留账户别名ID或科目ID。
3. 事务处理管理器
Inventory Transaction Manager用于处理库存接口(MTL_TRANSACTIONS_INTERFACE或者MTL_MATERIAL_TRANSACTIONS_TEMP)中的记录,处理之后最终产生库存事务(MTL_MATERIAL_TRANSACTIONS)。
(MTL_MATERIAL_TRANSACTIONS里记录了所有库存事务的历史,是Inventory的最核心的表)
Inventory有两套接口表:
- MTI: 主要用于第三方模块(产品)数据的导入,如Order Management, WIP。 对应的Form为Transaction Open Interface。
- MMTT:Inventory, Purchasing, WIP, Move Order等相关模块的数据可以绕过MTI,直接写到MMTT中,最终Inventory Transaction Mannager会把这个临时表数据导入到库存事务表(MTT)中。对应的Form为,Pending Transactions Form。
4. 事务处理相关表
Basic Flow: MTI -> MMTT -> MMT
先将记录写至MTL_TRANSACTIONS_INTERFACE,再经由库存事务处理主程序Process transaction interface插入零时表MTL_MATERIAL_TRANSACTIONS_TEMP,
再由Inventory transaction worker插入正式表MMT中。
并发程序Process transaction interface(Cost Manager)系统默认排定5分钟运行一次。而并发程序Inventory transaction worker根据接口中是否有数据自动调用的,无需手工运行。
接口表导数据时,建议使用MTI表,不建议用MMTT。
MMTT表是联机处理用的,也就是说是form通过API往里面写数据并可以用API直接处理的,MTI表是接口表,里面的数据是通过并发请求转到MMTT中并通过txn worker来处理的。另一个原因,插入MMTT会绕过系统id验证,直接进入数据表。
EBS INV:事务处理相关推荐
- oracle的opm,Oracle EBS OPM 事务处理
--事务处理 --created by jenrry DECLARE l_iface_rec inv.mtl_transactions_interface%ROWTYPE; l_iface_lot_r ...
- EBS INV:客户料号
Oracle EBS中,标准功能允许ERP物料.客户物料存在1对多和多对1的情况. 可以在系统中这样处理(系统标准功能并没有,需要开发): A. 1对多时,录入ERP物料,客户物料置为空,并警告必须手 ...
- EBS INV 计算现有量(标准API)、保留量、可用量 ---根据批次、库存组织、子库
现有量= 可用量+保留量: 1.现有量 --批次CURSOR c_lot_number(l_organization_id NUMBER) ISSELECT mln.lot_number,mln.ex ...
- sql分组 会计分录_oracle\EBS\常用表\视图\会计分录\mtl_serial_numbers\总账
_all: 基表,保存多组织数据,里面有一个Org_Id字段,一般不直接出现在我们的DML中 去掉_all的视图: 根据用户环境过滤掉组织,相当于普通的基表,我们直接使用它,就当它是基表 _v: 视图 ...
- EBS --PO采购订单
采购订单:主要包括订单头,订单行,发运行,分配行 一.采购订单(路径:PO/采购订单/采购订单) 1.po_headers_all 采购订单头表 ,记录向哪个供应商买东西 主要信息:agent_id ...
- oracle ebs会话时间,ORACLE EBS 日历和并发管理设置
五.基础数据 基础数据通常是指与具体业务关系不大且具有全局性.基础性的一些基本数据,例如日历Calendar.币种Currency.汇率Rate.单位UOM.地点Location等等.这些基础数据的系 ...
- oracle ebs 采购员表,oracle EBS采购订单各表作用分析
一.采购订单(路径:PO/采购订单/采购订单) 1.po_headers_all 采购订单头表 2.po_lines_all 采购订单行表 --po_header_id=po_headers_all. ...
- Flink新特性之非对齐检查点(unaligned checkpoint)简介
前言 在食用本文之前,建议看官先充分食用这两篇文章:<Chandy-Lamport分布式快照算法小记>与<深入理解Flink的轻量级异步屏障快照(ABS)算法>. 屏障对齐的风 ...
- ORACEL_EBS_采购到入库所经历的表
http://blog.csdn.net/gsairon/article/details/8432287 -采购到入库所经历的表 --0.请购单 --创建请购单方式有 --a.从外挂系统导入请购的接口 ...
- java 虚拟机访问对象的两种机制到底有什区别 http://www.cnblogs.com/h2-database/archive/2012/06/27/2572498.html
h2内存数据库 指针与句柄的区别 最近两天在复习一些c++的知识,中间发现了许多以前没有注意过的问题.关于句柄以前总是将其理解为指针,其实不然,他们之间有着明显的区别. 首先,指针指向系统中物理内存的 ...
最新文章
- 干货|六维力和力矩传感器的技术与应用
- 解决pycharm输入法不跟随的方法
- python得到一个10位随机数的方法及拓展
- 商汤科技2020年校园招聘丨以你所AI,创无界未来
- 系统动力学9种模型_软工国际标准专栏(9)|系统和软件质量模型
- E. Mocha and Stars(莫比乌斯反演、简单dp)
- Functional ProgrammingLazy Code:被我忘记的迭代器
- 一个微信公众号接入另一个微信公众号的内容
- 游戏开发中的数学和物理算法(7):角度 vs 弧度
- seaborn的一些画图
- 分布式数据库中间件使用经验分享
- PHP代码中的情话,php语言编程情话
- Microsoft.NET多国语言资源解决方案
- HTML5 代码要怎样凭“魅力”吸引搜索引擎的注意?
- VBA 根据模板批量生成工作表
- Aria2保姆级教程
- html5 黑色圆圈,html5使用canvas画空心圆与实心圆_html5教程技巧
- 如何制作资产编号标签
- 标准Lipschitz连续函数与伪Lipschitz连续函数
- 编译 LineageOS 源码,并重定义 kernel log
热门文章
- uni-app背景图片全屏
- python 频数分布,频率分布
- 消费卡“裸奔”倒计时!商务部:排查风险,异常发卡企业将上“黑名单”
- c语言中堆栈作用是什么意思,请问堆栈是什么?做什么时候会用到远堆栈?
- 【默认输入法】Android8.1默认输入法修改(解决输入法切换和权限获取等问题)
- python半圆,(小小黑科技)vue+echarts实现半圆图表
- 如何关闭伽卡他卡的开机自启
- linux中,运行sh文件没权限错误:Permission denied,解决方法
- 一个故事看懂计算机操作系统的进化史
- 追梦算法网----团队数量