ORACLE_EBS_R12_采购到入库所经历的表
--采购到入库所经历的表
--0.请购单
--创建请购单方式有
--a.从外挂系统导入请购的接口表PO_REQUISITIONS_INTERFACE_ALL,并允许请求(名称:导入申请)
SELECT * FROM PO_REQUISITIONS_INTERFACE_ALL WHERE INTERFACE_SOURCE_CODE = 'TEST KHJ'
--b.在系统中创建请购单(路径:PO/申请/申请)
--请购单头信息
SELECT prh.requisition_header_id
,prh.authorization_status--未审批时为INCOMPLETE,审批完后为
from PO_REQUISITION_HEADERS_ALL PRH
where prh.segment1= ''
and prh.type_lookup_code='PURCHASE'
--请购单行信息
SELECT prL.Requisition_Line_Id
,prL.*
from PO_REQUISITION_LINES_ALL PRL
where PRL.REQUISITION_HEADER_ID IN(
SELECT prh.requisition_header_id
from PO_REQUISITION_HEADERS_ALL PRH
where prh.segment1= ''
and prh.type_lookup_code='PURCHASE')
--请购单分配行
select *
from Po_Req_Distributions_All prda
where prda.requisition_line_id in
(SELECT prL.Requisition_Line_Id
from PO_REQUISITION_LINES_ALL PRL
where PRL.REQUISITION_HEADER_ID IN
(SELECT prh.requisition_header_id
from PO_REQUISITION_HEADERS_ALL PRH
where prh.segment1 = ''
and prh.type_lookup_code = 'PURCHASE'))
--1.采购订单的创建(路径:PO/采购订单/采购订单)
--po_headers_all 采购订单头表
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 = 300446--采购单号码
--po_lines_all 采购订单行表
select pla.po_line_id,
pla.line_type_id
from po_lines_all pla
where po_header_id =
(select po_header_id from po_headers_all where segment1 = 300446);
/*
取已审批销售订单头和行的数据:
涉及表: Po_headers_all,Po_lines_all
逻辑如下:
限制头表的如下属性,并通过Po_header_id把头、行表关联起来
APPROVED_FLAG=Y
*/
--po_line_locations_all 采购订单行的发送表(路径:PO/采购订单/采购订单/发运(T))
--po_line_id=po_lines_all.po_line_id
--当点击发运按钮时,系统会自动创建第一行发运行,可根据需要手工创建新的发运行
--(例如同一采购订单行的物料可能会发往不同的地点,此表记录物料发送情况)
--下面为取订单与其发运的关系(可能存在多次发运)
select *
from po_line_locations_all plla
where plla.po_line_id =(select pla.po_line_id
from po_lines_all pla
where po_header_id = (select po_header_id
from po_headers_all
where segment1 = 300446));
--或者
select *
from po_line_locations_all plla
where plla.po_header_id=(select po_header_id
from po_headers_all
where segment1 = 300446);
--4、po_distributions_all 采购订单发送行的分配表(路径:PO/采购订单/采购订单/发运(T)/分配(T))
--line_location_id=po_line_location_all.line_location_id
--发往同一地点的物料也可能放在不同的子库存,此表记录物料分配情况
SELECT *
FROM po_distributions_all pda
WHERE pda.line_location_id in(
select plla.Line_Location_Id
from po_line_locations_all plla
where plla.po_line_id =(select pla.po_line_id
from po_lines_all pla
where po_header_id = (select po_header_id
from po_headers_all
where segment1 = 300446)))
--或者
select *
from po_distributions_all
where po_header_id =
(select po_header_id from po_headers_all where segment1 = 300446)
--或者
select *
from po_distributions_all pda
where pda.po_line_id=
(select pla.po_line_id
from po_lines_all pla
where po_header_id = (select po_header_id
from po_headers_all
where segment1 = 300446))
--对于po_distribution_all 表而言,如果其SOURCE_DISTRIBUTION_ID 有值, 其对应于计划采购单发放
/*以上各表从上到下是一对多关系的 */
--po_releases_all 订单发放
--该表包含一揽子协议以及计划采购单的release,对于每一张发放的一揽子协议或者计划采购单都有相关行与之对应
--其包含采购员,日期,释放状态,释放号码,每一个释放行都有至少一条的采购单的发运信息与之对应(PO_LINE_LOCATIONS_ALL).
--每做一次Realese,PO_distributions_all就会新增一条记录。这是计划订单的特性。
--
SELECT * FROM po_releases_all WHERE po_header_id =<po_header_id>;;
--接收(路径:INV/事务处理/接收/接收)
--1.rcv_shipment_headers 接收发送头表
--记录采购订单的接收情况的头表
select *
from rcv_shipment_headers rsh
where rsh.shipment_header_id in
(select shipment_header_id
from rcv_shipment_lines
where po_header_id = 4105);
--2.rcv_shipment_lines 接收发送行表
--记录采购订单的发送的行的接收情况
select * from rcv_shipment_lines where po_header_id = 4105
--3.rcv_transactions 接收事务处理表
--记录采购订单的发送行的RECEIVE的信息
select RT.TRANSACTION_ID,
rt.transaction_type,
rt.destination_type_code,
rt.*
from rcv_transactions rt
where rt.interface_source_code = 'RCV'
and rt.source_document_code = 'PO'
and ( rt.po_header_id = (select pha.po_header_id from po_headers_all pha where segment1 = 300446 )
or RT.PO_LINE_ID IN(select pla.po_line_id from po_lines_all pla where po_header_id = (select po_header_id from po_headers_all where segment1 = 300446))
or RT.SHIPMENT_HEADER_ID = (select RSH.SHIPMENT_HEADER_ID from rcv_shipment_headers rsh where shipment_header_id in (select shipment_header_id from rcv_shipment_lines where po_header_id = 4105))
or rt.shipment_line_id in(select shipment_line_id from rcv_shipment_lines where po_header_id = 4105)
)
--4.rcv_receiving_sub_ledger 暂记应付表
--记录采购订单接收后,产生的暂记应付信息(接收事务处理产生的分配行)
select *
from rcv_receiving_sub_ledger
where rcv_transaction_id in
(select transaction_id
from rcv_transactions
where po_header_id = 4105);
--接受(路径:INV/事务处理/接收/接收事务处理)
--接收事务处理:接收之后,其实现在还并没有入库。
--rcv_transactions 接收事务处理表
--记录采购订单的发送行的ACCEPT的信息
select RT.TRANSACTION_ID,rt.transaction_type,rt.destination_type_code,rt.* from rcv_transactions rt where rt.interface_source_code = 'RCV' --做接收的条件 and rt.source_document_code = 'PO' --做接收的条件 and rt.TRANSACTION_TYPE = 'RECEIVE'--做接收的条件 and rt.DESTINATION_TYPE_CODE = 'RECEIVE'--做接收的条件 and ( rt.po_header_id = (select pha.po_header_id from po_headers_all pha where segment1 = 300446 ) or RT.PO_LINE_ID IN(select pla.po_line_id from po_lines_all pla where po_header_id = (select po_header_id from po_headers_all where segment1 = 300446)) or RT.SHIPMENT_HEADER_ID = (select RSH.SHIPMENT_HEADER_ID from rcv_shipment_headers rsh where shipment_header_id in (select shipment_header_id from rcv_shipment_lines where po_header_id = 4105)) or rt.shipment_line_id in(select shipment_line_id from rcv_shipment_lines where po_header_id = 4105) )
-- 入库
--因为涉及入库操作,所以,在库存事务处理表中会留下相应的记录。
--即在Mtl_material_transactions表中,会存在相应的两条入库记录。
SELECT mmt.*
FROM mtl_material_transactions mmt
where mmt.transaction_type_id =18 --po接收
and mmt.transaction_action_id =27 --接收至库存
and mmt.transaction_source_type_id=1 --采购订单
and ( mmt.transaction_source_id= 4105 --po_header_id
or mmt.rcv_transaction_id in
(select RT.TRANSACTION_ID
from rcv_transactions rt
where rt.interface_source_code = 'RCV'
and rt.source_document_code = 'PO'
and (rt.po_header_id = (select pha.po_header_id from po_headers_all pha where segment1 = 300446))))
--此时,rcv_transactions的状态变为
select RT.TRANSACTION_ID,rt.transaction_type,rt.destination_type_code,rt.*
from rcv_transactions rt
where rt.interface_source_code = 'RCV' --做入库的条件
and rt.source_document_code = 'PO' --做入库的条件
and rt.TRANSACTION_TYPE = 'DELIVER'--做入库的条件
and rt.DESTINATION_TYPE_CODE = 'INVENTORY'--做入库的条件
and ( rt.po_header_id = (select pha.po_header_id from po_headers_all pha where segment1 = 300446 )
or RT.PO_LINE_ID IN(select pla.po_line_id from po_lines_all pla where po_header_id = (select po_header_id from po_headers_all where segment1 = 300446))
or RT.SHIPMENT_HEADER_ID = (select RSH.SHIPMENT_HEADER_ID from rcv_shipment_headers rsh where shipment_header_id in (select shipment_header_id from rcv_shipment_lines where po_header_id = 4105))
or rt.shipment_line_id in(select shipment_line_id from rcv_shipment_lines where po_header_id = 4105)
)
--退货
--说明:
--退货至接收时,产生一条记录,退货至供应商时,产生两条数据。 可见退货的实际顺序为: 库存----> 接收----> 供应商
--不管是退货至接收还是退货至供应商,在事务处理中,都会产生两条记录。
--而且,数量符号与接收的数据正好相反。而且产生的记录都是RETURN TO RECEIVING。
--1.库存退货至接受
SELECT rt.DESTINATION_TYPE_CODE,rt.INTERFACE_SOURCE_CODE,rt.* FROM rcv_transactions rt WHERE rt.interface_source_code IS NULL and rt.transaction_type ='RETURN TO RECEIVING'--退货至接受 and rt.source_document_code='PO' AND RT.DESTINATION_TYPE_CODE='RECEIVING' AND po_header_id = 4105 AND po_line_id = 9938 SELECT MMT.* FROM mtl_material_transactions MMT WHERE MMT.TRANSACTION_SOURCE_ID=4105 AND MMT.TRANSACTION_TYPE_ID =36 AND MMT.TRANSACTION_ACTION_ID=1 AND MMT.TRANSACTION_SOURCE_TYPE_ID=1
--2.库存退货至供应商(产生两条数据。顺序为: 库存----> 接收----> 供应商)
--a.库存退货至接收
SELECT rt.DESTINATION_TYPE_CODE,rt.INTERFACE_SOURCE_CODE,rt.* FROM rcv_transactions rt WHERE rt.interface_source_code IS NULL and rt.transaction_type ='RETURN TO RECEIVING'--先退货至接收 and rt.source_document_code='PO' AND RT.DESTINATION_TYPE_CODE='INVENTORY' AND po_header_id = 4105
--b.接收退货至供应商
SELECT rt.DESTINATION_TYPE_CODE,rt.INTERFACE_SOURCE_CODE,rt.* FROM rcv_transactions rt WHERE rt.interface_source_code IS NULL and rt.transaction_type ='RETURN TO VENDOR'--退货至供应商 and rt.source_document_code='PO' AND RT.DESTINATION_TYPE_CODE='RECEIVING' AND po_header_id = 4105
SELECT MMT.* FROM mtl_material_transactions MMT WHERE MMT.TRANSACTION_SOURCE_ID=4105 AND MMT.TRANSACTION_TYPE_ID =36--向供应商退货 AND MMT.TRANSACTION_ACTION_ID=1--从库存发放 AND MMT.TRANSACTION_SOURCE_TYPE_ID=1--采购订单
ORACLE_EBS_R12_采购到入库所经历的表的更多相关文章
- PO_标准采购流程请购采购接受入库(流程)
2014-06-03 Created By BaoXinjian
- Super超级ERP系统---(6)采购管理--入库上架
采购商品入库完成后,下一步就是上架操作.所谓上架就是把入库放到移动托盘的商品转移到固定货架上,货架上有货位号,可以把商品放到指定的货位上.主要分两步操作,上架操作主要是移动PDA上完成的 1.扫描移 ...
- Oracle EBS 采购 接收入库 接口开发
http://blog.itpub.net/25164132/viewspace-746657/ 接收入库是项目中会经常碰到的开发,这类开发一般来说比较简单,但是接收入库在Oracle中其实涉及到很多 ...
- SAP采购订单入库后不允许修改单价增强
需求:在根据采购订单做了入库凭证之后,如果用户反审批采购订单去修改单价,系统提示‘已收货,不允许修改单价’. 判断流程:是否有入库凭证 如果采购订单条件按采购信息记录定价,这个价格本来就不能修改,只能 ...
- EBS采购(PO)模块常用表
select * from po_requisition_headers_all 请求头 select * from po_requisition_lines_all 请求行 select * ...
- 详解EBS接口开发之库事务处理带提前发运通知(ASN)采购接收入库-补充
A) Via ROI Create a ASN [ship,ship] for a quantity =3 on STANDARD PURCHASE ORDER Create via R ...
- MySQL_采购入库价格与在线售价监控_20161213
c037采购入库价格与在线售价监控 ##c037采购入库价格与在线售价监控 SELECT a.城市,a.产品ID,a.商品名称,a.入库日期,a.入库仓库,a.单价,a.总金额,a.采购人,b.单价 ...
- 2016/05/13 Thinkphp 3.2.2 ①数据添加 ②收集表单数据入库操作 ③数据修改操作
①数据查询 add() 该方法返回被添加的新记录的主键id值 两种方式实现数据添加 数组方式数据添加 $goods = D(“Goods”); $arr = array(‘goods_name’=&g ...
- 详解EBS接口开发之库存事务处理采购接收和退货
(一)接收&退货常用标准表简介 1.1 常用标准表 如下表中列出了与采购接收&退货导入相关的表和说明: 表名 说明 其他信息 RCV_TRANSACTIONS 采购接收事务表 事务 ...
随机推荐
- 【转】CentOs中Apache开启rewrite模块详解
rewrite是apache环境的一个伪静态功能了,如果我们没有没让Apache开启rewrite功能,网站上所有的rewrite规则都不可使用. centos的配置文件放在: /etc/httpd/ ...
- linux下安装ZipArchive扩展和libzip扩展
在项目开发的时候,由于要下载多个录音文件,我就需要打包下载这个功能 学习源头: https://www.landui.com/help/show-8079 https://www.aliyun.com ...
- linux解压缩基本命令使用
解压缩命令1.gzip 只能压缩文件,不可压缩目录,压缩后不保留原文件gzip a.txt会删除原文件 生成.gz后缀的文件 a.txt.gz2.gunzip解压.gz的文件gzip -d a.txt ...
- java代码水仙花
总结:分离出百位,十位,各位,我总是模模糊糊的,总是分不清取膜与除号的作用区别: “%”的意思是“取膜”,表示取得的是余数 “/”的意思是除,得到的是除数. package com.a; //求水仙花 ...
- web项目WebContent目录结构参考(WEB-INF)
WEB-INF目录是Java WEB应用的安全目录,客户端(浏览器等)无法访问,只有服务端可以访问.该目录主要用来存放配置文件,如web.xml等. 若是将jsp文件放在WEB-INF目录中,则必须通 ...
- RPC框架简易实现
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些 ...
- python开发mysql:mysql安装(windows)&密码找回&存储引擎简介&库表的增删改查
一,mysql安装 下载地址 https://dev.mysql.com/downloads/file/?id=471342 解压后,将目录C:\mysql-5.7.19-winx64\bin添加到计 ...
- mybatis如何防止sql注入(2)
Mybatis框架下SQL注入漏洞修复建议1. 模糊查询like SQL注入修复建议按照新闻标题对新闻进行模糊查询,可将SQL查询语句设计如下:select * from news where ti ...
- TCP与UDP比较 以及并发编程基础知识
一.tcp比udp真正可靠地原因 1.为什么tcp比udp传输可靠地原因: 我们知道在传输数据的时候,数据是先存在操作系统的缓存中,然后发送给客户端,在客户端也是要经过客户端的操作系统的,因为这个过程 ...
- C++学习路线(转载)
随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者.而在今天,它又扮演着什么样重要的角色呢?请往下看: 后端服务器,移 ...