`

库存物料(Inventory Item)导入

阅读更多

 

库存物料( 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        是否是新物料(创建物料 / 更新物料 / 组织分配)

这里的判断决定了导入程序需要往标准接口表里插入几次,主要原因是,如果是一个新物料,系统中不存在,则需要往这个物料所对应的组织的主组织中也插入一条数据,即标准接口表里有两条组织不一样的相同物料信息。

  1. 创建物料:系统标准物料表中不存在,且标准接口表中不存在(这里需要判断标准接口表这个中间表的原因是,如果同一批数据是同一个物料不同的组织,而且是新物料,如果不判断系统接口表,就会有多个主组织数据存在于系统接口表中,提交标准请求时,就会出现重复记录的错误
  2. 更新物料:同一个物料,同一个组织存在
  3. 组织分配:统一个物料,主组织物料存在,子组织物料不存在

 

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 ,这里的特殊逻辑总结为如下几种:

  1. 新物料,无 category 信息:分配当前 category set 下得默认 category
  2. 新物料,有 category 信息:分配这个 category 给主组织物料和当前子组织物料
  3. 更新,无 category 信息:不处理
  4. 更新,有 category 信息:更新当前组织 category 信息
  5. 组织分配,有 category 信息,分配这个 category 信息给这个子组织
  6. 组织分配,无 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” 的属性值,赋为主组织的属性。

 

分享到:
评论

相关推荐

    库存管理系统(inventory management system ).zip

    库存管理系统(Inventory Management System,IMS)是企业运营中不可或缺的一部分,它主要负责跟踪、控制和优化库存水平,确保供应链的顺畅运行。一个完善的库存管理系统能够帮助企业实现高效运作,减少过度库存造成...

    Oracle-ERP-库存管理Inventory-表关系图.pdf

    Oracle_ERP_库存管理Inventory_表关系图.pdf

    Oracle-ERP-EBS-库存模块INV-8个表字段解释.docx

    - **INVENTORY_ITEM_FLAG (是否为库存项目)**:再次确认物料是否属于库存项目。 - **LOCATION_CONTROL_CODE (采购点控制代码)**:定义物料存储位置的控制策略。 - **LOT_CONTROL_CODE (是否有批量控制)**:标记物料...

    库存管理(Inventory Control)

    库存管理经典PPT,另附Inventory Control 英文原版教材PDF。

    inventory-management-system_inventory_inventorymanager_

    5. 库存报告:提供各种库存报表,如库存周转率报告、呆滞物料报告等,帮助企业决策。 四、库存管理系统的优势 1. 提高效率:自动化处理库存事务,减少人工错误,提高工作效率。 2. 节省成本:精确控制库存,减少...

    终极背包库存插件:Ultimate Grid Inventory v1.4.1

    Ultimate Grid Inventory 是一个即插即用的游戏库存模板。它基于可脚本化对象事件,并且易于实现新功能! 注意: 对C#的良好理解将有助于您更有效地使用此项目。 此资源将不断升级...因此请期待不时的改进。 概述 ...

    imis.rar_inventory_库存管理_库存管理 java_库存管理信息系统_库存管理系统

    本文将基于"imis.rar_inventory_库存管理_库存管理 java_库存管理信息系统_库存管理系统"这一主题,深入探讨库存管理信息系统的设计理念、主要功能以及Java技术在其中的应用。 一、库存管理信息系统概述 库存管理...

    代码 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代码 RPG 库存系统 RPG Inventory C# 1.25代码 ...

    SAP环境模拟练习软件——Inventory Mgt操作部分

    本篇将详细讲解SAP环境中的Inventory Management(库存管理)模块,这个模块是SAP系统的重要组成部分,尤其对于制造和分销行业至关重要。 1. SAP Inventory Management概述: 库存管理模块主要负责企业内部的物料...

    SAP MM Training - Inventory management

    SAP MM Training - Inventory management课程提供了库存管理的基本概念、组织机构、库存总览、移动类型、物料估价、收货依据、采购订单、物料主数据、库存管理等方面的知识点,帮助用户了解库存管理的基本概念和应用...

    SCM510_Inventory_Management_and_Physical_Inventory_Part4

    负债结算是指企业在使用寄售库存物料后,与供应商进行账务结算的过程。在SAP系统中,可以通过分析寄售库存的货物移动记录,计算出应支付给供应商的金额。案例中提到的“每两个月结算一次”是企业与供应商之间的一种...

    RevEmu库存编辑器6.7.2.0_RevEmuinventory_revemu_Revemu库存编辑器_

    RevEmu库存编辑器的版本号6.7.2.0,作为一款专业的CS:GO库存管理工具,它不仅能够帮助玩家自由地编辑他们的库存物品,还可以实现物品的导入导出功能,从而使得个性化管理库存变得轻而易举。更值得关注的是,RevEmu...

    erp inventory report

    物料汇总报告提供了关于库存物料的总体概览,包括数量、价值等关键信息。这有助于管理层进行库存分析,优化库存结构,减少不必要的库存成本。 八、子库存数量报告(INVENTEC GROUP SUBINVENTORY QUANTITIES) 子...

    Inventory可轻松创建物品,管理库存

    unity asset store文件 用于物品创建管理,官网售价$80

    Inventory.rar

    Inventory系统的核心功能,如添加物品到库存(AddItem)、移除物品(RemoveItem)、检查物品数量(CheckItemCount)和使用物品(UseItem),都可以通过编写GDScript函数实现。例如,`AddItem(item_id, count)`函数...

    Oracle EBS R12 Inventory_TRAIN

    - **问题**: 在定义物料属性时,启用了货位控制为预指定,并设置了物料属性为“限制子库存”、“限制库位”,因此需要在相应子库中预先设置并限制其库位。 - **解决措施**: 由有权限设置此属性的人员进行设置后再...

    inventory_software_inventory_

    总的来说,"inventory_software_inventory_" 是一个全方位的库存管理解决方案,它不仅能够帮助企业管理好现有的库存,还能为企业决策提供数据支持,助力企业在库存管理上实现精细化、智能化,从而提高整体运营效率和...

    Laravel开发-inventory

    "Laravel开发-inventory"项目显然关注于使用Laravel来构建库存管理系统,这是一个在商业环境中至关重要的应用。在这个项目中,开发者将利用Laravel 4或5版本的特性来设计和实现一个全面的库存跟踪解决方案。 ...

    SAP B1_DTW导入BOM

    当遇到 “The issue method for non-inventory items has to be Backflush [ITT1.Code] [Line:43] ‘Rowno.43’ application-defined or object-defined error 65171” 错误时,表示对于非库存物料,其发料方式必须...

    angular4 教材 第二个inventory例子

    在Inventory例子中,属性绑定可能被用来将组件类中的库存数据绑定到模板的显示元素上,如`*ngFor="let item of items">{{item.name}}</li>`。而事件绑定则用于处理用户交互,例如当用户点击删除按钮时,触发删除库存...

Global site tag (gtag.js) - Google Analytics