详解EBS接口开发之库存事务处理采购接收--补充
除了可以用
详解EBS接口开发之库存事务处理采购接收的方法还可以用一下方法,不同之处在于带有批次和序列控制的时候实现方式不同
The script will load records into the tables
RCV_HEADERS_INTERFACE,
RCV_TRANSACTIONS_INTERFACE,
MTL_TRANSACTION_LOTS_INTERFACE
MTL_SERIAL_NUMBERS_INTERFACE
If the item is only a standard item, only the records into RCV_HEADERS_INTERFACE and RCV_TRANSACTIONS_INTERFACE tables have to be created.
SETUP
0) Ensure to apply the patches listed in Document 367396.1 Recommended Patches for Enhanced Receiving Validation after upgrade to or install of 11.5.10 (or 11i.SCM_PF.J) and For Release 12 see
Document 423541.1
1) Purchasing / Purchase Orders / Purchase Orders
Standard Purchase Order number 10084 is entered
Vendor F-Supplier
One line / shipment line/ distribution line for
Item=F-Lot-Serial-Controlled-4
Quantity=10
Destination Org=M2
Ship To=M2-Boston
Receipt Routing=Direct Delivery
2) Item 'F-Lot-Serial-Controlled-4' is a lot and serial controlled Item in Destination Organization
SQL> Select mp.organization_id Org_Id, mp.organization_code Org_Code,
msi.inventory_item_id, msi.segment1, decode(to_char(msi.lot_control_code),
'2','Y',
'1','N') LOT_CONTROL,
decode(to_char(msi.serial_number_control_code),
'1','None',
'2','Predefined',
'5','Dynamic at INV receipt',
'6','Dynamic at SO issue') SERIAL_CONTROL
from mtl_system_items_b msi,mtl_parameters mp
where msi.segment1 like '&item' and msi.organization_id=mp.organization_id;
For item=F-Lot-Serial-Controlled-4 , inventory_item_id=378856 and LOT_CONTROL='Y' and SERIAL_CONTROL='Dynamic at INV receipt'
3) In Purchasing Responsibility
Receiving/Receipts
In org M2 Boston
Find expected receipts
Source Type =Supplier
Purchase Order = 10084
-> Ensure 1 line is available to be receipted
Order type = Standard
Order = 10084
Routing = Direct Delivery
4) Run the following scripts so to find the necessary information to insert into the RCV_TRANSACTIONS_INTERFACE table:
Select * from PO_HEADERS_ALL where SEGMENT1 = '&po_number'
PO_HEADER_ID=44274
TYPE_LOOKUP_CODE=STANDARD
SEGMENT1=10084
VENDOR_ID=7927
VENDOR_SITE_ID=4724
APPROVED_FLAG=Y
ORG_ID=204 Select * from PO_LINES_ALL where PO_HEADER_ID=&Po_header_id;
PO_LINE_ID=50364
PO_HEADER_ID=44274
LINE_NUM=1
ITEM_ID=378856
CATEGORY_ID=1
ITEM_DESCRIPTION=F-Lot Serial Controlled Item for ROI/Internal SO
UNIT_MEAS_LOOKUP_CODE=Each
QUANTITY=10
ORG_ID=204 Select * from PO_LINE_LOCATIONS_ALL where PO_HEADER_ID=&Po_header_id;
LINE_LOCATION_ID=85112
PO_HEADER_ID=44274
PO_LINE_ID=50364
QUANTITY=10,00
QUANTITY_RECEIVED=0,00
SHIP_TO_LOCATION_ID=209
NEED_BY_DATE=01/05/2006
PROMISED_DATE=01/05/2006
SHIP_TO_ORGANIZATION_ID=209
SHIPMENT_NUM=1
RECEIVING_ROUTING_ID=3
ORG_ID=204 Select * from PO_DISTRIBUTIONS_ALL where PO_HEADER_ID=&Po_header_id;
PO_DISTRIBUTION_ID=86928
PO_LINE_LOCATION_ID=85112
PO_HEADER_ID=44274
PO_LINE_ID=50364
QUANTITY_DELIVERED=0,00
DELIVER_TO_LOCATION_ID=209
DELIVER_TO_PERSON_ID=13706
DESTINATION_TYPE_CODE=INVENTORY
DESTINATION_ORGANIZATION_ID=209
DESTINATION_SUBINVENTORY=Stores
DISTRIBUTION_NUM=1
ORG_ID=204 Select * from MTL_SUPPLY where PO_HEADER_ID=&Po_header_id;
SUPPLY_TYPE_CODE=PO
SUPPLY_SOURCE_ID=86928
PO_HEADER_ID=44274
PO_LINE_ID=50364
PO_LINE_LOCATION_ID=85112
PO_DISTRIBUTION_ID=86928
ITEM_ID=378856
QUANTITY=10
UNIT_OF_MEASURE=Each
DESTINATION_TYPE_CODE=INVENTORY
TO_ORGANIZATION_ID=209
RECEIVE/ DELIVER to INVENTORY Transaction for STANDARD PURCHASE ORDER Example
1) Insert via ROI a Direct DELIVER Receipt for Standard Purchase Order Number 10084 (PO_HEADER_ID=44274) on vendor F-Supplier of 2 items in destination organization M2 with LOT_NUM=B00406 and serial numbers SN_00001 to SN_00002
Insert
. 1 record in RCV_HEADERS_INTERFACE table for the receipt header information with RECEIPT_SOURCE_CODE='VENDOR' and VALIDATION_FLAG='Y'
. 1 record in RCV_TRANSACTIONS_INTERFACE table for PO_HEADER_ID=44274
with TRANSACTION_TYPE='RECEIVE' and AUTO_TRANSACT_CODE='DELIVER'
for a quantity =2 indicating
DESTINATION_TYPE_CODE='INVENTORY'
RECEIPT_SOURCE_CODE='VENDOR' and SOURCE_DOCUMENT_CODE='PO'
VALIDATION_FLAG='Y'
. 1 record in MTL_TRANSACTION_LOTS_INTERFACE for a quantity=2, primary_quantity =2
on lot number B00406
(After Bug 9399287, there is not need to populate MTL_TRANSACTION_LOTS_INTERFACE.primary_quantity anymore)
. 1 record in MTL_SERIAL_NUMBERS_INTERFACE, indicating
FM_SERIAL_NUMBER='SN_00001'and TO_SERIAL_NUMBER='SN_00002'
INSERT INTO RCV_HEADERS_INTERFACE
(HEADER_INTERFACE_ID,
GROUP_ID,
PROCESSING_STATUS_CODE,
RECEIPT_SOURCE_CODE,
TRANSACTION_TYPE,
AUTO_TRANSACT_CODE,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
CREATION_DATE,
CREATED_BY,
VENDOR_ID,
SHIP_TO_ORGANIZATION_ID,
EXPECTED_RECEIPT_DATE,
VALIDATION_FLAG
)
VALUES
(rcv_headers_interface_s.nextval , --Header_Interface_Id
rcv_interface_groups_s.nextval, --Group_Id
'PENDING', --Processing_Status_Code
'VENDOR', --Receipt_Source_Code
'NEW', --Transaction_Type
'DELIVER', --Auto_Transact_Code
SYSDATE, --Last_Update_Date
0, --Last_Updated_By
0, --Last_Update_Login
SYSDATE, --Creation_Date
0, --Created_By
7927, --Vendor_Id
209, --Ship_To_Organization_Id,
SYSDATE, --Expected_Receipt_Date
'Y' --Validation_Flag
); INSERT INTO RCV_TRANSACTIONS_INTERFACE
(INTERFACE_TRANSACTION_ID,
GROUP_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
TRANSACTION_TYPE,
TRANSACTION_DATE,
PROCESSING_STATUS_CODE,
PROCESSING_MODE_CODE,
TRANSACTION_STATUS_CODE,
QUANTITY,
UNIT_OF_MEASURE,
ITEM_ID,
EMPLOYEE_ID,
AUTO_TRANSACT_CODE,
SHIP_TO_LOCATION_ID,
RECEIPT_SOURCE_CODE,
VENDOR_ID,
SOURCE_DOCUMENT_CODE,
PO_HEADER_ID,
PO_LINE_ID,
PO_LINE_LOCATION_ID,
DESTINATION_TYPE_CODE,
DELIVER_TO_PERSON_ID,
LOCATION_ID,
DELIVER_TO_LOCATION_ID,
SUBINVENTORY,
HEADER_INTERFACE_ID,
DOCUMENT_NUM,
TO_ORGANIZATION_ID,
VALIDATION_FLAG
)
SELECT
rcv_transactions_interface_s.nextval, --Interface_Transaction_id
rcv_interface_groups_s.currval, --Group_id
SYSDATE, --Last_update_date
0, --Last_updated_by
SYSDATE, --Creation_date
0, --Created_by
0, --Last_update_login
'RECEIVE', --TRANSACTION_TYPE
SYSDATE, --TRANSACTION_DATE
'PENDING', --PROCESSING_STATUS_CODE
'BATCH', --PROCESSING_MODE_CODE
'PENDING', --TRANSACTION_STATUS_CODE
2, --QUANTITY
'Each', --UNIT_OF_MEASURE
378856, --ITEM_ID
13706, --EMPLOYEE_ID
'DELIVER', --AUTO_TRANSACT_CODE
209, --SHIP_TO_LOCATION_ID
'VENDOR', --RECEIPT_SOURCE_CODE
7927, --VENDOR_ID
'PO', --SOURCE_DOCUMENT_CODE
44274, --PO_HEADER_ID
50364, --PO_LINE_ID
85112, --PO_LINE_LOCATION_ID
'INVENTORY', --DESTINATION_TYPE_CODE
13706, --DELIVER_TO_PERSON_ID
209, --LOCATION_ID
209, --DELIVER_TO_LOCATION_ID
'Stores', --SUBINVENTORY
rcv_headers_interface_s.currval, --Header_interface_id
10084, --DOCUMENT_NUM
209, --TO_ORGANIZATION_ID
'Y' --VALIDATION_FLAG
FROM DUAL; INSERT INTO MTL_TRANSACTION_LOTS_INTERFACE
( TRANSACTION_INTERFACE_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
LOT_NUMBER,
TRANSACTION_QUANTITY,
PRIMARY_QUANTITY,
SERIAL_TRANSACTION_TEMP_ID,
PRODUCT_CODE,
PRODUCT_TRANSACTION_ID
)
VALUES
( MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL,--TRANSACTION_INTERFACE_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATED_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'B00406', --LOT_NUMBER
2, --TRANSACTION_QUANTITY
2, --PRIMARY_QUANTITY
MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL, --SERIAL_TRANSACTION_TEMP_ID
'RCV', --PRODUCT_CODE
RCV_TRANSACTIONS_INTERFACE_S.CURRVAL --PRODUCT_TRANSACTION_ID
); INSERT INTO MTL_SERIAL_NUMBERS_INTERFACE
( TRANSACTION_INTERFACE_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
FM_SERIAL_NUMBER,
TO_SERIAL_NUMBER,
PRODUCT_CODE,
PRODUCT_TRANSACTION_ID)
VALUES
(MTL_MATERIAL_TRANSACTIONS_S.CURRVAL,--TRANSACTION_INTERFACE_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATED_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'SN_00001', --FM_SERIAL_NUMBER
'SN_00002', --TO_SERIAL_NUMBER
'RCV', --PRODUCT_CODE
RCV_TRANSACTIONS_INTERFACE_S.CURRVAL --PRODUCT_TRANSACTION_ID
);
Commit;
Note: On R12 instance, RHI.org_id or RTI.org_id should also be populated.
2) Run the following scripts to check data have been correctly inserted
SQL> Select * from RCV_TRANSACTIONS_INTERFACE where PO_HEADER_ID=&Po_header_id;
INTERFACE_TRANSACTION_ID=576924
GROUP_ID=32140
HEADER_INTERFACE_ID=180194
TRANSACTION_TYPE=RECEIVE
AUTO_TRANSACT_CODE=DELIVER
RECEIPT_SOURCE_CODE=VENDOR
TO_ORGANIZATION_ID=209
SOURCE_DOCUMENT_CODE=PO
PO_HEADER_ID=44274
DESTINATION_TYPE_CODE='INVENTORY'
VALIDATION_FLAG=Y SQL> Select * from RCV_HEADERS_INTERFACE where HEADER_INTERFACE_ID=&Header_Interface_ID
GROUP_ID=32140
HEADER_INTERFACE_ID=180194
VENDOR_ID=7927
VALIDATION_FLAG=Y SQL> Select * from MTL_TRANSACTION_LOTS_INTERFACE
where PRODUCT_TRANSACTION_ID=&INTERFACE_TRANSACTION_ID;
TRANSACTION_INTERFACE_ID=11599958
LOT_NUMBER=B00406
SERIAL_TRANSACTION_TEMP_ID=11599958
PRODUCT_CODE=RCV
PRODUCT_TRANSACTION_ID=576924 SQL> Select * from MTL_SERIAL_NUMBERS_INTERFACE
where PRODUCT_TRANSACTION_ID=&INTERFACE_TRANSACTION_ID;
TRANSACTION_INTERFACE_ID=11599958
FM_SERIAL_NUMBER=SN_00001
TO_SERIAL_NUMBER=SN_00002
PRODUCT_TRANSACTION_ID=576924
3) In Purchasing Responsibility, Change to receiving organization and run the Receiving Transaction Processor for the given group_id used in RHI and RTI (GROUP_ID=32140)
4) Navigate to Receiving / Receiving Transactions Summary form For PO Number 10084, Receipt Number 5034 has Receive and Deliver transactions.
5) Check how the following application tables have been populated/updated
SQL> Select * from RCV_HEADERS_INTERFACE where HEADER_INTERFACE_ID=&Header_Interface_ID
GROUP_ID=32140
HEADER_INTERFACE_ID=180194
PROCESSING_STATUS_CODE=SUCCESS
RECEIPT_HEADER_ID=594567
VENDOR_ID=7927
VALIDATION_FLAG=Y
PROCESSING_REQUEST_ID=3053037 SQL> Select * from RCV_TRANSACTIONS where PO_HEADER_ID=&Po_header_id;
It returns 2 records
For TRANSACTION_TYPE=RECEIVE
TRANSACTION_ID=638052
REQUEST_ID=3053037
SHIPMENT_HEADER_ID=594567
SHIPMENT_LINE_ID=600529
DESTINATION_TYPE_CODE=RECEIVING
PARENT_TRANSACTION_ID=-1
QUANTITY=2
For TRANSACTION_TYPE=DELIVER
TRANSACTION_ID=638053
REQUEST_ID=3053037
SHIPMENT_HEADER_ID=594567
SHIPMENT_LINE_ID=600529
DESTINATION_TYPE_CODE=INVENTORY
PARENT_TRANSACTION_ID=638052
QUANTITY=2
SQL> Select * from RCV_SHIPMENT_HEADERS where SHIPMENT_HEADER_ID=&Shipment_header_id;
1 record has been created
SHIPMENT_HEADER_ID=594567
RECEIPT_SOURCE_CODE=VENDOR
RECEIPT_NUM=5034 SQL> Select * from RCV_SHIPMENT_LINES where SHIPMENT_HEADER_ID=&Shipment_header_id;
SHIPMENT_LINE_ID=600529
SHIPMENT_HEADER_ID=594567
QUANTITY_SHIPPED=2
QUANTITY_RECEIVED=2
SHIPMENT_LINE_STATUS_CODE=FULLY RECEIVED SQL> Select * from MTL_SERIAL_NUMBERS where INVENTORY_ITEM_ID=&Item_id;
2 records have been inserted with
INVENTORY_ITEM_ID=378856
SERIAL_NUMBER = SN_00001 / SN_00002
LOT_NUMBER=B00406
CURRENT_STATUS=3
CURRENT_ORGANIZATION_ID=209 SQL> Select * from MTL_LOT_NUMBERS where INVENTORY_ITEM_ID=&Item_id;
INVENTORY_ITEM_ID=378856
ORGANIZATION_ID=209
LOT_NUMBER=B00406 SQL> Select * from MTL_SUPPLY where PO_HEADER_ID=&Po_header_id;
SUPPLY_TYPE_CODE=PO
SUPPLY_SOURCE_ID=86928
PO_HEADER_ID=44274
PO_LINE_ID=50364
PO_LINE_LOCATION_ID=85112
PO_DISTRIBUTION_ID=86928
ITEM_ID=378856
QUANTITY=8
UNIT_OF_MEASURE=Each
DESTINATION_TYPE_CODE=INVENTORY
TO_ORGANIZATION_ID=209
详解EBS接口开发之库存事务处理采购接收--补充的更多相关文章
- 详解EBS接口开发之库存事务处理采购接收和退货
(一)接收&退货常用标准表简介 1.1 常用标准表 如下表中列出了与采购接收&退货导入相关的表和说明: 表名 说明 其他信息 RCV_TRANSACTIONS 采购接收事务表 事务 ...
- 详解EBS接口开发之库存事务处理批次更新
库存事务处理批次有时候出现导入错误需要更新可使用次程序更新,批次导入可参考博客 详解EBS接口开发之库存事务处理-物料批次导入 http://blog.csdn.net/cai_xingyun/art ...
- 详解EBS接口开发之库存事务处理-物料批次导入
库存事务处理-物料批次导入 --系统批次表 SELECT * FROM MTL_LOT_NUMBERS T; --API创建批次 inv_lot_api_pub.create_inv_lot(x_re ...
- 详解EBS接口开发之库事务处理带提前发运通知(ASN)采购接收入库-补充
A) Via ROI Create a ASN [ship,ship] for a quantity =3 on STANDARD PURCHASE ORDER Create via R ...
- 详解EBS接口开发之采购申请导入
更多内容可以参考我的博客 详解EBS接口开发之采购订单导入 http://blog.csdn.net/cai_xingyun/article/details/17114697 /*+++++++ ...
- 供应商API补充(详解EBS接口开发之供应商导入)(转)
原文地址 供应商导入的API补充(详解EBS接口开发之供应商导入) --供应商 --创建 AP_VENDOR_PUB_PKG.Create_Vendor ( p_api_version IN NUM ...
- 详解EBS接口开发之应收款处理
参考实例参考:杜春阳 R12应收模块收款API研究 (一)应收款常用标准表简介 1.1 常用标准表 如下表中列出了与应收款处理相关的表和说明: 表名 说明 其他信息 AR_BATCHES_ALL ...
- 详解EBS接口开发之销售订单挑库发放
1. 对销售订单的有效性验证 1)检查销售订单的行是否被完全传回客户化表 2)验证销售订单的关键字段 3)检查子库存是否启用了货位控制,如果启用了货位控制,没有生成货位, ...
- 详解EBS接口开发之应收INVOICE导入
(一)应收INVOICE常用标准表简介 1.1 常用标准表 如下表中列出了与应收INVOICE导入相关的表和说明: 表名 说明 其他信息 RA_BATCH_SOURCES_ALL AR事务处理来源 ...
随机推荐
- 【NOIP2017 OFO】
·奇怪的标题可能预示着这一篇博文不是讲算法或者分享题目的吧. [一只情绪化的兔子] 今年的11月12日出奇地比去年温暖.两场比赛结束后的我们在临走前去尝试了OFO共享单车,在成都电子科技大学 ...
- hdu 1402 FFT(模板)
A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- UDA机器学习基础—交叉验证
交叉验证的目的是为了有在训练集中有更多的数据点,以获得最佳的学习效果,同时也希望有跟多的测试集数据来获得最佳验证.交叉验证的要点是将训练数据平分到k个容器中,在k折交叉验证中,将运行k次单独的试验,每 ...
- Python中模块之hashlib&hmac的讲解
hashlib & hmac的讲解 两个模块主要用于加密相关的操作. 1. hashlib模块 md5 具体代码如下 import hashlib ha_m5 = hashlib.md5()# ...
- RHEL 7修改ssh默认端口号
RHEL7修改默认端口号(默认port22)初次安装系统完毕后默认情况下系统已经启动了sshd服务当然我们也可以先进行检查: 步骤1,检查是否已安装ssh服务 步骤2,检查服务是否已开启 如上图所示显 ...
- H5canvas基础
本篇文章开始讲解HTML5的核心功能之一:Canvas 通过Canvas可以动态生成和展示图形.图表.图像以及动画. Canvas API功能非常多,我们将讨论最常用的功能. 我们先新建一个canva ...
- Java编写高质量代码改善程序的151个建议
第一章 Java开发中通用的方法和准则 建议1:不要在常量和变量中出现易混淆的字母: (i.l.1:o.0等). 建议2:莫让常量蜕变成变量: (代码运行工程中不要改变常量值). 建议3:三元操作符 ...
- angular学习笔记 父子组件传值
一.如何将父组件的值传到子组件? 在子组件里面引入Input,然后用@Input 变量1 接收 接着在父组件中的,子组件标签上添加[msg]="msg",中括号里的名字要与子组件中 ...
- Ubuntu 14.04 16.04 17.10 + Win10 双系统安装记录 + 分区大小选择办法
安装了N遍,重要的东西在此记录. 参考了 http://www.libinx.com/2017/five-steps-win10-ubuntu-dual-boot/ 忠告:为了让日后喘气能匀呼些,要选 ...
- 如果将Joomla网站搜索结果显示到一个“干净”页面
有时候大家会发现Joomla网站自带的或者第三方的搜索功能时,搜索结果会显示在首页,和首页其它的模块如图片橱窗等显示在一起,非常混乱. 在这里教大家一个不需要修改代码的小技巧来解决这个问题,使搜索结果 ...