- 浏览: 173061 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
SanFrans:
很不错的资料,谢谢分享
Oracle EBS 常用表 查询语句 -
Vity:
楼主坚持下去
Android学习指南基础--第一讲:Android开发环境的搭建【附件有图】 -
拥抱变化之美:
楼主的治学精神值得称赞。
C# 4.0 并行计算部分(附件有图) -
overloving:
fangjindan 写道
这个是绝对可行的哈,我测试通 ...
Linux下Oracle存储过程调用Java程序(含外部包) -
fangjindan:
Linux下Oracle存储过程调用Java程序(含外部包)
库存物料( Inventory Item )导入
物料导入 / 导出主要的目的是在不同系统之间的数据的导入 / 导出,以某一种数据信息格式和某一种传输方式获取数据。在不同系统间的数据导入 / 导出必须解决的最重要的问题是数据校验,以满足数据在不同系统间的可用性。根据这两周的学习,总结一下 Item 导入遇到的一些问题和解决的方法。
数据导入在处理流程上大致分为三个部分:
( 1 )是处理数据文件,插入客户化接口表;
( 2 )是处理客户化接口表数据,插入标准接口表;
( 3 )是提交标准请求,导入标准表。
在导入的类型上来说,有三种情况:
( 1 )创建物料
( 2 )更新物料
( 3 )组织分配
API 中主要涉及的都是客户化和标准系统的衔接问题,所以熟悉标准系统表,接口表,客户化表是一个非常重要的过程,在 API 中还会调用系统的标准导 入请求,标准导入的数据必须是符合系统的数据,所以 API 中一个重要步骤就是验证数据,处理数据。用一个 Master Item 的导入作例子。
1. API 被调用及输出关系
库存 Master Item 导入 API 的起点是客户化接口表,终点是标准表,而客户化接口表的数据来源可以是多种,取决于接口程序(平台)的整体架构,无论是文件还是信息流的形式, 经过适当处理之后,导入客户化接口表,并且有必有提供数据批次的唯一标识和数据行级别的唯一标识。导入程序所定义的并发程序应该在数据处理之后被调用,必 要参数是数据的批次标识,并发程序应该返回数据导入处理的状态和必要的错误 / 警告信息(如果有)。
2. API 伪代码
Begin
获取参数;
根据数据批次号,从客户化接口表获取数据;
FOR EACH Record
验证数据;
判断数据创建 / 更新 / 分配标识位;
导入系统接口表;
END FOR ;
提交系统导入系统标准请求;
打印错误报告;
End
3. Master Item 导入涉及到的主要的表 / 视图及描述
Table Name |
Select |
Insert |
Update |
Delete |
Description |
|
|
|
|
|
|
org_organization_definitions |
X |
|
|
|
系统组织定义 |
mtl_system_items_b |
X |
X |
X |
|
系统标准物料基表 |
mtl_system_items_b_kfv |
|
|
|
|
系统标准物料关键性弹性域视图 |
mtl_item_revisions_b |
X |
X |
X |
|
系统标准物料修订基表 |
mtl_item_categories_v |
X |
|
|
|
系统标准物料类别视图 |
mtl_item_categories |
X |
X |
X |
|
系统标准物料类别表 |
mtl_system_items_interface |
X |
X |
|
X |
系统标准物料接口表 |
mtl_item_revisions_interface |
X |
X |
|
X |
系统标准物料修订表 |
mtl_item_categories_interface |
X |
X |
|
X |
系统标准物料类别表 |
xxinv_item_int |
X |
|
X |
|
客户化接口表 |
mtl_interface_errors |
X |
X |
|
|
系统标准接口错误表 |
mtl_units_of_measure_vl |
X |
|
|
|
系统标准物料度量单位多语言视图 |
mtl_parameters |
X |
|
|
|
系统标准组织参数表 |
mtl_default_category_sets_fk_v |
X |
|
|
|
系统标准类别集视图 |
mtl_category_sets |
X |
|
|
|
系统标准类别集表 |
mtl_categories_b_kfv |
X |
|
|
|
系统标准类别集视图 |
mtl_categories_kfv |
X |
|
|
|
系统标准类别集关键性弹性域视图 |
4. 特殊逻辑
( 1 ) 验证客户化接口表数据
Item 导入 API 是根据数据的批次号,从客户化接口表获取相应数据,验证过程主要依据大致和标准物料的标准是一致的,虽说在提交标准请求时,系统 也会验证数据,但是标准请求只有输入输出,过程不可见,所以在客户化接口表这个阶段验证可以保证数据错误的可控制性;另一方面,系统请求一般请款比较慢, 特别是计划的周期请求,多个批次也容易混淆,所以在客户化表中验证,如果不符合要求,直接返回,省去标准请求所耗费的资源。
主要验证有:非空验证,组织验证,单位验证,修订号验证,类别验证等,涉及到的表或视图之前列过了。
( 2 ) 是否是新物料(创建物料 / 更新物料 / 组织分配)
这里的判断决定了导入程序需要往标准接口表里插入几次,主要原因是,如果是一个新物料,系统中不存在,则需要往这个物料所对应的组织的主组织中也插入一条数据,即标准接口表里有两条组织不一样的相同物料信息。
- 创建物料:系统标准物料表中不存在,且标准接口表中不存在(这里需要判断标准接口表这个中间表的原因是,如果同一批数据是同一个物料不同的组织,而且是新物料,如果不判断系统接口表,就会有多个主组织数据存在于系统接口表中,提交标准请求时,就会出现重复记录的错误 )
- 更新物料:同一个物料,同一个组织存在
- 组织分配:统一个物料,主组织物料存在,子组织物料不存在
( 3 ) 标准请求
物料导入请求: Item Import (包括 item 和 revision 信息)
类别分配请求: Item Category Assignment Open Interface ( category 信息)
( 4 ) Revision 处理
客户化接口表的记录有 revision 信息存在,则要处理 revision 。新 / 旧 / 分配 的判断和 (2) 中基本一致。在做这一部分的时候,发现了一个问题, Revision 在标准系统中是字符串类型的,所以在比较旧的修订号和新的修订号的时 候,特别要注意数字的位数问题,例如 : ‘9’ 这个字符串是比 ’10’ 这个字符串 “ 大 ” ,但 ’09’ 这个字符串比 ’10’ 这个字符串 “ 小 ” 。验证通过之后直接往标准接口表里导入,修订号取最 “ 大 ” 的一个。
Revision 的标准请求合并在物料信息导入的标准请求( Item Import )。
( 5 ) Category 处理
Category 处理存的标准请求时单独的,叫 Item Category Assignment Open Interface ,这里的特殊逻辑总结为如下几种:
- 新物料,无 category 信息:分配当前 category set 下得默认 category
- 新物料,有 category 信息:分配这个 category 给主组织物料和当前子组织物料
- 更新,无 category 信息:不处理
- 更新,有 category 信息:更新当前组织 category 信息
- 组织分配,有 category 信息,分配这个 category 信息给这个子组织
- 组织分配,无 category 信息,不处理
在处理 Category 标准请求的时候,与物料信息不同的是,这个标准请求没有 “1” 或者 “2” 的标识参数标识创建或者更新操作模式,提交标准请求 的顺序是先提交物料信息请求( item import ),再提交类别请求( category assignment ),多次测试这个标准请求和物料信息的标准请求后发现,在物料信息的标准请求完成之后,已经有这 category 信息在标准类别表视图( mtl_item_categories_v )中了, category 信息是默认的 category , 所 以此时提交 category assignment 的标准请求,只能去 update (以上 a—f 的 6 中情况都是这样处理),而 update 操作必须有 ”old_category” 这个 信息,所以在 update 之前需要获得这个物料老的 category ;如果是新物料,则更新 default category 。( default category 就是当前 category set 下的 default category )
( 6 ) 组织分配属性冲突
导入程序常见的错误是,在物料组织分配的时候,有可能出现 “master child conflict” 。在标准 Item 的属性控制中,有 “master level” 和 “org level” 两种,如果某一属性设置成了 “master level” ,则在导入时,要么不导入这个属性信息,要么导入的必须和主组织的属性信息一致,否则就会报这个错误(系统标准功能)。导入程序 API 中有必要判断,在组织分配的情况下,从客户化接口表到标准接口表导入的时候,并且把一些客户化接口表里面没有,但是属性控制中为 “master level” 的属性值,赋为主组织的属性。
发表评论
-
Folder开发问题01:主从块的主块排序报错
2018-11-29 10:35 406Question:当主从块都是folder,使用手电筒进行 ... -
防止AR模块客户录入重复的一个比较实用的办法
2018-04-02 17:00 1027在hz_parties表上增加一个触发器,因为和ap供应商可 ... -
ERP基础知识问答
2012-12-10 14:34 14771 、什么是 ... -
EBS GL表结构学习
2012-11-01 09:19 10991EBS GL表结构学习 gl_code ... -
总账GL中常用的数据表
2012-10-31 17:08 1304GL_JE_BATCHES 日记账批信息(当年) GL_ ... -
EBS上用过的一些接口表整理信息
2012-10-24 08:25 3258AP接口表: AP_INVOICES_INTERFACE ... -
总帐 成批分配实例
2012-10-19 15:23 1109成批分配实例 ... -
ebs gl 总帐 设置步骤
2012-10-19 10:29 3269GL 详细定义步骤: 1-》 G ... -
【勇猛精进】总帐接口表GL_INTERFACE详细说明
2012-10-15 10:40 1388要使 " 日记帐导入 " ... -
Oracle EBS Item Import 物料导入 (2) 源代码 成功执行
2012-08-24 10:56 5459CREATE OR REPLACE PACKAGE PkgIm ... -
Oracle EBS 二次开发 FND_GLOBAL PACKAGE 返回全局变量
2012-08-10 10:52 2935这个包,可以应用于你的 PL/SQL 中! 这个包 ... -
如何定义一个简单的Concurrent Program
2012-08-09 15:08 991Oracle Apps R12下如何定义一个简单的Hello ... -
SQL Loader 导入Excel数据到Oracle数据库
2012-08-09 08:48 16151、 将需要上传的数据在Excel中整理好,通过“另存为 ... -
Oracle EBS Item Import 物料导入 (一)
2012-08-01 15:03 2385插入时的组织关系分解 ... -
Oracle EBS 常用表 查询语句
2012-07-24 11:29 26669ORACLE EBS常用表查询语句 1. ... -
Oracle EBS Alert
2012-07-23 14:55 1726Oracle EBS Alert Alert ... -
Oracle EBS 名词解释
2012-07-19 09:48 5791A ABC classification ( ...
相关推荐
Oracle_ERP_库存管理Inventory_表关系图.pdf
库存管理经典PPT,另附Inventory Control 英文原版教材PDF。
代码 RPG 库存系统 RPG Inventory C# 1.25代码 RPG 库存系统 RPG Inventory C# 1.25代码 RPG 库存系统 RPG Inventory C# 1.25代码 RPG 库存系统 RPG Inventory C# 1.25代码 RPG 库存系统 RPG Inventory C# 1.25代码 ...
unity asset store文件 用于物品创建管理,官网售价$80
库存管理系统(inventory management system )
csgo库存编辑器
毕业设计库存管理信息系统,主要包括库存管理,客户管理等 常见功能
Laravel开发-inventory 使用Laravel 4/5进行库存管理
warehouse-inventory-system, 基于php和mysql的开源库存管理系统 Oswa #Warehouse 库存系统应用程序最初是用英镑 Siamon,useing php mysql和 Bootstrap 创建的。产品是基于网络的库存系统,允许你跟踪你的仓库或者...
项目-库存管理系统-Inventory-Management-Project.pdf
22、库存服务-源码 ... - **源码说明**:(nacos的ip配置自行修改,全局变量DEV_CONFIG设置:1=zsz,2=comp,3=home) ...- other_import/nacos_config_export_inventory.zip:nacos的inventory的配置导入文件
The book gives a self-contained introduction to inventory management. It develops the subject from basic principles through to advanced material and newer developments. It does not assume any previous...
inventory managemet platform
库存管理系统 实体: 供应商信息(编号,供应商名称,负责人,联系电话,地址,备注) 货品信息(编号,名字,仓库名称,规格,单位,数量,单价,总价,警戒线,编辑日期,备注) 用户信息(编号,姓名,密码,权限) ...
Ultimate Inventory System 是一款稳健耐用并且功能齐全的 Unity 库存系统。该系统是从头开始设计的,可提供任何类型的灵活性。 Ultimate Inventory System 包含一个直观的编辑器,可允许你迅速创建库存项目。 可以...
inventory control the second section, in which you
商品库存管理系统,对商品库存实现同管理,vc++编程实现
sc-sample-inventory, 使用SocketCluster构建的库存跟踪应用示例 sc-sample-inventory滚动到底部以安装说明。使用 SocketCluster ( http://socketcluster.io/ ),google ( v1.0 ) 框架和RethinkDB构建的库存跟踪实时...
S-Inventory v1.23
Mineflayer Web库存 一个非常简单的基于Web的库存查看器,可以更新。 安装 npm install mineflayer-web-inventory ... 导入mineflayer-web-inventory:constventoryViewer const inventoryViewer = require('./mine