oracle-EBS-采购单创建接收检验入库经历主要表(多图)

oracle-EBS-采购单创建接收检验入库(采购到入库全过程)经历主要表(多图)

一、创建请购单

1.可以从外部系统导入:
PO_REQUISITION_HEADERS_ALL
--外部系统接口表,供导入,SEGMENT1 为请购单号
2.EBS内做请购单【PO->申请->申请】:

PO_REQUISITION_HEADERS_ALL
--请购单头信息,SEGMENT1 为请购单号
PO_REQUISITION_LINES_ALL
--请购单行信息,SEGMENT1 为请购单号
PO_REQ_DISTRIBUTIONS_ALL
--请购单分配行,SEGMENT1 为请购单号

二、创建采购订单

po_headers
--segment1 采购订单号码,po_header_id 与  PO_HEADERS_ALL 一致
PO_HEADERS_ALL
--采购订单头,segment1 采购订单号码,po_header_id 与 po_headers 中的 一致
PO_LINES_ALL
--订单行产品明细,po_header_id  = PO_HEADERS_ALL.po_header_id

SELECT PHA.PO_HEADER_ID,
       PHA.SEGMENT1,
       PHA.AGENT_ID,
       PHA.TYPE_LOOKUP_CODE, --标准采购单为STANDARD,一揽子协议为BLANKET
       DECODE(PHA.APPROVED_FLAG,
              'R',
              PHA.APPROVED_FLAG,
              NVL(PHA.AUTHORIZATION_STATUS, 'INCOMPLETE')), --审批,未审批时为INCOMPLETE,审批后为APPROVED
       PO_HEADERS_SV3.GET_PO_STATUS(PHA.PO_HEADER_ID) --刚下完采购单,未审批时,po状态为未完成,审批后,状态为批准
  FROM PO_HEADERS_ALL PHA
 WHERE SEGMENT1 = '20003742'; --采购单号码

Po_Line_Locations_all
-- 购订单行的发送表(路径:PO/采购订单/采购订单/发运(T))
--PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_ID
--po_line_id=po_lines_all.po_line_id
--与po line 是1对多的关系,提交运费后,QUANTITY_RECEIVED显示生产接收数量,qc检验后,QUANTITY_ACCEPTED有数量,QC未入库状态的退给供应商,是减少QUANTITY_RECEIVED
po_distributions_all
--采购订单发送行的分配表(路径:PO/采购订单/采购订单/发运(T)/分配(T))
--QUANTITY_DELIVERED是入库数,可以和mtl_material_transactions做对比,注意,采购订单中分配中可以分配多行,以此行数可能比Po_Line_Locations_all还多
--PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_ID
--po_line_id=po_lines_all.po_line_id
--line_location_id=po_line_location_all.line_location_id
AP_TERMS_TL
--付款条件
--PO_HEADERS_ALL.TERMS_ID = AP_TERMS_TL.TERM_ID
--PO_LINE_LOCATIONS_ALL.TERMS_ID = AP_TERMS_TL.TERM_ID
RCV_ROUTING_HEADERS --接收方式
HR_LOCATIONS --送货地点
HR_LOCATIONS_ALL --送货地点
po_releases_all 
--订单发放
--该表包含一揽子协议以及计划采购单的release,对于每一张发放的一揽子协议或者计划采购单都有相关行与之对应
--其包含采购员,日期,释放状态,释放号码,每一个释放行都有至少一条的采购单的发运信息与之对应(PO_LINE_LOCATIONS_ALL).
--每做一次Realese,PO_distributions_all就会新增一条记录。这是计划订单的特性。
--PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_ID

三、接收

接收后,会有以下临时信息:

rcv_headers_interface   --接收单头表

rcv_transactions_interface --接收行表、接收事务、库存事务

mtl_transaction_lots_interface --批次信息

mtl_serial_numbers_interface --序列信息

--rcv_headers_interface.header_interface_id =rcv_transactions_interface.header_interface_id
--rcv_transactions_interface. interface_transaction_id= mtl_transaction_lots_interface interface_transaction_id
--rcv_transactions_interface. interface_transaction_id = mtl_serial_numbers_interface. interface_transaction_id
--rcv_transactions_interface. interface_transaction_id = po_interface_errors. interface_transaction_id

产生一个请求,数据会写入rcv_transactions 等表

MTL_SUPPLY   --包括了所有可以接收入库的记录,接收信息表,产生PO单后就会有,生产接收后此处QUANTITY会变为剩余生产接收数量,与rcv_supply 有区别
--PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_ID

rcv_supply   
---新增一行 SUPPLY_TYPE_CODE  为:RECEIVING 。  与MTL_SUPPLY类似,但更详细,完全Delivery之后,RCV_SUPPLY和MTL_SUPPLY就会被删除,若只有生产做过接收,没明细。提交运费后产生明细,明细总数为生产接收数,但QC检验或入库后,此处会分行,总数量为生产的接收数,与父类型rcv_transactions的id对应。入库后,此处为剩余的待接收和待入库数

rcv_transaction --接收入库的事物处理记,很关键
--PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_ID
rcv_shipment_headers --发运头表
--SHIPMENT_HEADER_ID =rcv_transaction .SHIPMENT_HEADER_ID
rcv_shipment_lines  --发运行表
--SHIPMENT_HEADER_ID =rcv_shipment_headers.SHIPMENT_HEADER_ID
po_interface_errors  --错误信息表

四、检验

检验后,会修改 以上表有 QUANTITY_RECEIVED 这个栏位的值。
并在 rcv_transactions 增加一列TRANSACTION_TYPE = 'ACCEPT'

五、入库

rcv_transactions 增加一列TRANSACTION_TYPE = 'DELIVER'

rcv_transactions_interface 
MTL_TRANSACTIONS_INTERFACE
MTL_MATERIAL_TRANSACTIONS_TEMP
--以上是相关临时表

PO_LINE_LOCATIONS_TRX_V  --接收入库视图

mtl_material_transactions --库存记录表,正式入库后,就会更新下方常用的和库存相关的表
--TRANSACTION_SOURCE_ID = PO_HEADERS_ALL.PO_HEADER_ID
--SOURCE_LINE_ID=rcv_transactions.TRANSACTION_ID
--RCV_TRANSACTION_ID=rcv_transactions .TRANSACTION_ID
mtl_transaction_lot_numbers --批次
mtl_lot_numbers --具体批次
mtl_onhand_quantities --现有库存量

 

最终,可以看到接收-接受(检验)-入库   已完成

 

作者: 轻烟随风
当前文章地址: https://www.zyxpp.com/oracle-ebs-pur-inventory-table/
来源: 轻烟随风的博客
文章版权归作者所有,欢迎转载
THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭