使用标准的接口和API导入料号
期初上线的时候有很多的料号要导入,总不能一个一个的在系统新建吧,要想批量导入只能使用API或接口
一、接口
步骤1:
mtl_system_items_interface
此接口表包含mtl_system_items_b中所有的栏位,并多出几个栏位:
Item_number,segment,organization_code,transaction_type,set_process_id
Process_flag栏位代码 |
说明 |
1 |
pending |
2 |
assign complete |
3 |
assign/validation failed |
4 |
validation succeeded;import failed |
5 |
import in process |
7 |
import succeeded |
后台会插入数据到接口表中:mtl_system_items_interface
栏位 |
说明 |
Null |
Inventory_item_id |
物料ID |
可为空 |
Organization_id |
OrgID |
不可为空 |
Process_flag |
初始值为1 |
不可为空 |
Transaction_type |
’CREATE’ :新增料号 ‘UPDATE’ :更新料号 |
不可为空 |
Organization_code |
与organization_id对应的org_code |
可为空 |
Description: |
料号描述 |
不可为空 |
Template_id: |
物料生成模板ID |
可为空 |
Template_name: |
物料生成模板名字 |
可为空 |
Segment1: |
物料编号 |
不可为空 |
注意事项:
1、 Template_id 与 Template_name 只需其一即可,都不选则属性全部默认,如果按模板生成料号,则物料分类会与之一致,参考table: mtl_item_templates_b
2、 在新建物料时,一定要有主org的资料,所以至少插入两笔资料 不同org的相同数据
3、 如果第一次插入主org的资料,后续在插入子org的资料,跑导入程序会报警
步骤2:
路径:Inventory(库存管理)àItem(物料)àImport(导入)àImport Item(新增物料)
所有组织: 是代表导入所有组织的料号,否代表只导入当前org数据
验证物料: 是否验证接口数据;请选是
处理物料: 是否处理接口数据;请选是
删除已处理的行:是否删除成功处理过的接口数据;请选是
流程集: 为空表示全部,如果有值代表只导入set_process_id 为这个值得数据
创建或更新产品:1代表创建,2代表更新
收集统计数据 : 选是
二、API导入料号,代码如下
PROCEDURE CREATE_ITEM (x_error_code out varchar2
,x_error_msg out varchar2
,x_inventory_item_id out number
,p_inf_rec in mtl_system_items_interface%ROWTYPE
) IS
l_iface_rec mtl_system_items_interface%ROWTYPE;
l_item_rec inv_item_grp.item_rec_type;
x_item_rec inv_item_grp.item_rec_type;
x_error_tbl inv_item_grp.error_tbl_type;
l_template_id number;
x_return_status VARCHAR2(1);
BEGIN
x_error_code:='S';
--l_iface_rec.Template_Id:=;
--l_iface_rec.Template_Name:=;
--l_iface_rec.attribute1:=;--默认投料站点
--l_iface_rec.attribute2:=;--默认损耗率
--l_iface_rec.attribute3:=;--旧料号
--l_iface_rec.attribute4:=;--旧料号描述
--l_iface_rec.shelf_life_code:= --是否批次管控
--l_iface_rec.Lot_Divisible_Flag:= --是否批次拆分
--l_iface_rec.lot_control_code:= --是否批次过期管控
--l_iface_rec.MATURITY_DAYS:= --批次过期管控天数
--l_iface_rec.SALES_ACCOUNT:= --销售收入账户
--l_iface_rec.COST_OF_SALES_ACCOUNT:= --销售成本账户
--l_iface_rec.EXPENSE_ACCOUNT:= --费用账户
l_item_rec.ORGANIZATION_ID:=p_inf_rec.organization_id;
l_item_rec.ITEM_NUMBER:=p_inf_rec.segment1;
l_item_rec.SEGMENT1:=p_inf_rec.segment1;
l_item_rec.DESCRIPTION:=p_inf_rec.description;
l_item_rec.PRIMARY_UOM_CODE:=p_inf_rec.primary_uom_code;
l_template_id:=p_inf_rec.template_id;
l_item_rec.ATTRIBUTE1:=p_inf_rec.ATTRIBUTE1;
l_item_rec.ATTRIBUTE2:=p_inf_rec.ATTRIBUTE2;
l_item_rec.ATTRIBUTE3:=p_inf_rec.ATTRIBUTE3;
l_item_rec.ATTRIBUTE4:=p_inf_rec.ATTRIBUTE4;
l_item_rec.SHELF_LIFE_CODE:=p_inf_rec.SHELF_LIFE_CODE;
l_item_rec.LOT_DIVISIBLE_FLAG:=p_inf_rec.LOT_DIVISIBLE_FLAG;
l_item_rec.LOT_SPLIT_ENABLED:=p_inf_rec.LOT_DIVISIBLE_FLAG;
l_item_rec.LOT_CONTROL_CODE:=p_inf_rec.LOT_CONTROL_CODE;
l_item_rec.SHELF_LIFE_DAYS:=p_inf_rec.SHELF_LIFE_DAYS;
l_item_rec.SALES_ACCOUNT:=p_inf_rec.SALES_ACCOUNT;
l_item_rec.COST_OF_SALES_ACCOUNT:=p_inf_rec.COST_OF_SALES_ACCOUNT;
l_item_rec.EXPENSE_ACCOUNT:=p_inf_rec.EXPENSE_ACCOUNT;
l_item_rec.buyer_id:=p_inf_rec.buyer_id;
l_item_rec.FIXED_LOT_MULTIPLIER:=p_inf_rec.FIXED_LOT_MULTIPLIER;
l_item_rec.FULL_LEAD_TIME:=p_inf_rec.FULL_LEAD_TIME;
l_item_rec.POSTPROCESSING_LEAD_TIME:= p_inf_rec.postprocessing_lead_time;
--标准API
inv_item_grp.create_item(p_commit => fnd_api.g_false,
p_item_rec => l_item_rec,
x_item_rec => x_item_rec,
x_return_status => x_return_status,
x_error_tbl => x_error_tbl,
p_template_id => l_template_id);
IF x_return_status <> fnd_api.g_ret_sts_success THEN
ROLLBACK;
FOR i IN 1.. x_error_tbl.COUNT LOOP
x_error_code:='E';
/* x_error_msg:='Transaction ID:'|| x_error_tbl(i).transaction_id
||'|Unique ID:'|| x_error_tbl(i).unique_id
||'|Message Name:'|| x_error_tbl(i).message_name
||'|Message Text:'|| x_error_tbl(i).message_text
||'|Table Name:'|| x_error_tbl(i).table_name
||'|Column Name:'|| x_error_tbl(i).column_name
||'|Organization ID:'|| x_error_tbl(i).organization_id;
*/
x_error_msg:='Message Text:'|| x_error_tbl(i).message_text
||' Table Name:'||x_error_tbl(i).table_name
||' Column Name:'||x_error_tbl(i).column_name
||' LOT_SPLIT_ENABLED'||x_item_rec.LOT_SPLIT_ENABLED;
DEBUG(x_error_code);
END LOOP;
/* IF (x_return_status = fnd_api.g_ret_sts_unexp_error) THEN
RAISE fnd_api.g_exc_unexpected_error;
ELSIF (x_return_status = fnd_api.g_ret_sts_error) THEN
RAISE fnd_api.g_exc_error;
END IF;
*/
ELSE
COMMIT;
x_inventory_item_id:=x_item_rec.INVENTORY_ITEM_ID;
DEBUG(x_item_rec.inventory_item_id);
END IF;
END CREATE_ITEM;
使用标准的接口和API导入料号相关推荐
- c运行库、c标准库、windows API的区别和联系
c运行库.c标准库.windows API的区别和联系 C运行时库函数 C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的. API函数 API函数是操作系统为方便用户设计应用 ...
- c运行库、c标准库、windows API都是什么玩意
c运行库.c标准库.windows API都是什么玩意 2012-11-28 14:37 768人阅读 评论(2) 收藏 举报 C运行库和C标准库的关系 C标准库,顾名思义既然是标准,就是由标准组织制 ...
- 丁香园开源接口管理系统 - API Mocker
API Mocker 先贴上项目地址:DXY-F2E/api-mocker 随着web发展,前后端分离的演进,网页的交互变的越来越复杂.在项目开发过程中,前后端并行开发时,在涉及到接口的部分,总是遇到 ...
- Python从无到有搭建接口(API)自动化测试框架
目录 1.前言 2.思路 3.正文 一.路径模块-initPath.py 二.配置文件模块-getConfig.py 三.读取用例模块-getCase.py 四.数据库操作模块-operatorDB. ...
- 调用金蝶EAS系统标准凭证接口,封装凭证对象,调用业务接口前需先登录
第三方系统与金蝶EAS系统凭证集成时,调用金蝶EAS系统标准凭证接口WSGLWebServiceFacade,下载对应的wsdl文件,生成客户端代码之后,可参考以下接口调用方式. 与EAS系统进行凭证 ...
- 免费对接快递数据物流信息接口【快递鸟单号查询API】
近年来,我国电商产业的迅猛发展也推动着物流行业需求的增加,其中电商平台根据快递单号查询物流信息数据的需求就是基本需求,用户下单后商家把货物有没有及时的按要求发出去,就需要通过物流轨迹的揽件状态来判断, ...
- SDK接口与API接口究竟有什么区别?
上一篇文章为大家介绍了什么事 SDK,下面来说说 SDK 和 API 的区别. SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做 & ...
- 开放的应用编程接口Parlay API
2003-12-16 石锋 杨放春 北京邮电大学交换技术和通信网国家重点实验室 摘 要 本文总结了传统智能网提供增值业务的模式,指出Parlay API作为开放的应用编程接口的优势.并且介绍了Parl ...
- MindSpore接口mindspore::api
MindSpore接口mindspore::api Context #include <context.h> Context类用于保存执行中的环境变量. 静态公有成员函数 Instance ...
最新文章
- python课程多少钱一节课-日照少儿python编程一节课多少钱
- 【CyberSecurityLearning 69】反序列化漏洞
- MySql远程连接设置
- 大侠稍等!URL 中为何出现奇怪的字符
- 剑指offer 顺时针打印矩阵
- 多对一!分组查询!MySQL分组函数,聚合函数,分组查询
- mysql alter 唯一键_MySQL列属性 之 唯一键
- java两个对象属性比较
- Linux操作系统原理与应用05:中断和异常
- API 应该享受版权保护吗?
- EXCHANGE指定要使用的域控制器、GC
- spark 转换算子应用举例
- 浏览器HTTP缓存机制 1
- 用pc浏览器打开手机页面
- hash 图像检索方法汇总
- 浅谈C#tabcontrol应用
- atv320说明书_ATV320U30N4B 施耐德 ATV320通用变频器 说明书
- mysql数据库首次查询缓慢
- 大学计算机应用作业,大学计算机应用作业
- 基于MATLAB的TODA定位算法的仿真
热门文章
- 【天光学术】舞蹈论文:生本理念下多媒体技术在舞蹈教学中的运用(节选)
- 遥感影像辐射质量改善之复原(沈焕锋教授-武汉大学)
- redis 和 memcached
- Android SQLite在应用中数据保存查询,但是拷贝的xxx.db没有数据或没有更新,.db_wal和.db_shm文件
- 【068】特征选择之 pearson 皮尔森系数 PimaIndiansdiabetes
- 实时数仓架构那些事儿
- Python搜索爬取淘宝商品信息并存储为csv文件(名称、店铺、销量、地址等)
- 关于redis缓存穿透浅析
- Android音乐播放器(三)轮播图
- redis(五)跳跃表