SAP MDG —— 使用DIF导入物料主数据 Part3 进阶篇

news2024/12/25 9:11:55

文章目录

  • 关于使用DIF处理物料主数据的相关信息
    • IDOC 缩减
    • IDOC 扩展
    • 物料编码的主键映射 Key Mapping
      • 主键映射和内部给号
    • 其他主键的主键映射
    • 值映射 Value Mapping
    • 将物料主数据导出为IDoc文件 - MATMAS / CLFMAS
    • 错误处理
    • 本章小结

关于使用DIF处理物料主数据的相关信息

IDOC 缩减

场景:
你已经创建了一个缩减后的消息类型,并希望用它来执行物料导入。
步骤
可以通过事务码 BD53 通过IDoc创建一个缩减后的消息类型。关于如何缩减标准消息类型,可以参考 Reduced Message Types 。

IDoc缩减将创建一个新的消息类型,并将该消息类型分配到IDoc上。这项技术可以允许我们向目标系统发送标准数据的一个子集。

DIF物料导入会检查是否有任何IDoc字段不存在于当前导入的IDoc文件。针对这些缺失字段,DIF将会自动分配NODATA标识符(‘/’)。

注意:
NODATA标识(‘/’)只会在直接导入Active area的场景中被考虑。如果你选择将数据导入Staging area,则NODATA标识并不会起任何作用。因此针对直接导入Staging area的场景,必须填充所有字段内容,否则数据将被覆盖为空值。

IDOC 扩展

场景:
你已经扩展了标准IDoc MATMAS05,以包括一些自定义字段用于物料管控。你想在物料导入时也使用扩展后的IDoc。
步骤

  • 创建自定义段 Segment(WE31)
  • 创建IDoc扩展并将新的自定义段加入IDoc(WE30)
  • 发布段和IDoc扩展(WE31)
  • 将扩展分配到MATMAS下(WE82)
  • 检查并传输IDoc扩展(WE30)
  • 执行事务码 CMOD,并激活增强。提供一个项目名称,并选择增强分配。提供增强 MGV00001。提供用户出口实施:EXIT_SAPLMV01_002 内向和外向实施。
  • 为函数IDOC_INPUT_MATMAS01提供新的配置(WE57)
  • 调整合作伙伴参数文件(WE20)
    在这里插入图片描述

小结:
如果可以通过IDoc直接导入数据到Active area,所有自定义字段都在数据模型MM中确定定义,Active 和 Staging area之间的SMT mapping成功设置,那么IDoc也可以用于将数据加载到Staging area。

通常来说,系统使用函数IDOC_INPUT_MATMAS01实现使用IDoc向Active area写书的操作。特殊情况下也可以替换使用自定义函数,实现自定义字段的复杂处理逻辑。

处理代码 决定了数据导入Active area的数据处理类型。SAP默认使用MATM作为处理MATMAS消息类型数据导入的处理代码,并执行函数IDOC_INPUT_MATMAS01。

如果有需要,你也可以定义一个新的内向处理代码,并使用自定义函数处理入站逻辑(WE42)。

物料编码的主键映射 Key Mapping

对于导入的物料主数据来说,导入文件中必须提供每条物料的物料编码。导入过程将决定保持相同物料号(即物料号等于源系统的物料号),或启用主键映射(新物料号与源系统物料号不同)。

场景:
如果你的工作环境存在多套相关系统,当数据从其他系统导入MDG时,主键映射可以协调和处理MDG和其他子系统间的物料编码不一致问题。

解决方案:
通过以下步骤配置MDG系统的主键映射功能:

  1. 路径:MDGIMG->常规设置->数据复制->为数据复制定义自定义设置->定义技术设置->定义业务系统的技术设置
  2. 选中一个相关的业务系统,并选择 定义业务系统,BO
  3. 选中业务对象类 194(物料)
  4. 对于通讯渠道 “通过IDOC复制”,在 “主键协调 Key Harm.” 字段,按需选择 “主键映射 Key Mapping” 或 “协调标识 Harmonized IDs” ,这地方中文翻译太差了,推荐在英文环境进行相关配置。在这里插入图片描述
    如果有需要,特定的主键映射信息也可以在物料治理工作中心内手工维护,如下图:
    在这里插入图片描述

主键映射和内部给号

场景:
在通过DIF初始化导入物料主数据时,如果系统无法根据文件中提供的物料号通过主键映射找到MDG系统对应的物料号,并且该物料类型配置了内部给号规则,则数据导入逻辑将会生成新的料号,并自动维护好新料号和数据源料号之间的映射关系。

在这里插入图片描述

解决方案:

针对外部系统 S4H_100,已启用主键映射:

在这里插入图片描述

物料类型 HIBE 在系统中定义为内部给号:
在这里插入图片描述
DIF中接收到的来自系统 QM8CLNT421的IDoc XML文件内容(SNDPRN 发送方逻辑系统标识,MATNR 发送方物料号,MTART 发送方物料类型):
在这里插入图片描述
通过DIF数据导入生成的MDG变更请求,使用内部给号(该单据已经审批通过,可以看到内部编号已生成):

在这里插入图片描述
DIF自动生成的主键映射信息:
在这里插入图片描述

其他主键的主键映射

主键映射可以用于映射MDG系统和其他外部系统数据对象的主主键。SAP提供了一组标准的IDoc主键映射字段清单。如果有需要,你也可以在该清单中加入更多主键字段,配置路径:MDGIMG->物料主数据监管->维护IDoc键值映射的字段
在这里插入图片描述

值映射 Value Mapping

值映射用于将内部代码值转换外外部代码值。SAP预置了一组IDoc相关的值映射字段,如果有需要,你也可以向清单中增加更多的字段,配置路径:MDGIMG->物料主数据监管->IDoc值映射的维护字段

在这里插入图片描述
注意:
即便IDoc包含了一些ISO格式的字段,如基本计量单位,语言代码,国家代码,MDG值映射依然只会使用他们的内部格式。例如,单位 “立方厘米”,内部代码为 CCM,对应的ISO代码为 CMQ,IDoc将使用CMQ作为发送数据的内容,然而值映射则会使用CCM进行映射维护。

要启用值映射,需要首先将代码清单分配到MDG 数据元素配置上(例如下述物料类型的代码),配置路径:MDGIMG->常规设置->值映射->分配代码清单到元素和系统
在这里插入图片描述
举例来说,字段MARA-MTART(物料类型)对应的数据类型为 MDG_BS_MATERIAL_TYPE_CODE;字段MARC-MMSTA(工厂特定的物料状态)对应的数据类型为MDGCO_PROD_LOG_PROCUSABPR_CODE。

下一步,执行配置:MDGIMG->常规设置->值映射->维护值映射
在这里插入图片描述
点击“导航”按钮,可以维护值映射的具体内容,如下图:
在这里插入图片描述
在这里插入图片描述
按照该配置,当使用DIF从外部系统QMB_421向MDG导入物料主数据时,如果外部导入文件中的MTART(物料类型)字段值为 HERS,在数据导入的处理过程中将被自动根据值映射转换为 FERT(成品)。

将物料主数据导出为IDoc文件 - MATMAS / CLFMAS

为了从源系统导出物料主数据,你需要在每个源系统中配置XML-IDoc数据抽取相关的逻辑系统,用于将文件导出到每个应用服务器的文件系统中。该配置步骤和标准配置IDoc分发类似,有过经验的同学应该都很熟悉。

步骤

  • 创建一个逻辑系统(SALE)
  • 将IDoc类型 “MATMAS” 和 “CLFMAS” 配置到分发模型中(BD64)
  • 创建一个外向合作伙伴参数文件(WE20)
  • 创建一个用户IDoc处理XML导出文件的端口(WE21)
  • 通过事务码 BD10 分发物料主数据 —— 包括物料分类数据

关于此处的详细配置,可参考 从源系统中导出数据。

错误处理

DIF标准程序允许同时导入一个或多个MATMAS IDoc XML文件,每个XML文件包含一条或多条IDoc,每个IDoc包含一个或多个物料主数据。因此针对每种情况都有不同的错误处理逻辑,详细见下表。

场景XML文件个数 直接导入Active Area 直接导入Active Area,其中有错误的数据发送到Staging Area 直接导入Staging Area
1条IDoc
1个物料
1 XML 如果物料存在非法数据,IDoc将导入失败,并提供具体的报错信息。 如果物料存在非法数据,直接写入Active Area将失败,该物料数据转而写入Staging Area。DIF将展示具体的报错信息,并提供生成的MDG变更请求编号。
如果物料写入Staging Area的时候也失败了,那么DIF将展现具体的报错信息。
如果一条物料主数据在写入时失败,那么所有IDoc XML中的物料都会失败。同时DIF会展现具体的报错信息。
1条IDoc
N个物料
1 XML 如果IDoc中的一条物料存在非法数据(如错误的基本计量单位),那么这条IDoc中的所有物料都会导入失败。
其他情况下,如用户在前台锁定了某条物料,或某条物料存在未决变更请求,导致了写入数据报错,那么这些情况仅会阻止相关物料写入,其他正常物料不受影响可以正常写入Active Area。
如果IDoc中的一条物料存在非法数据(如错误的基本计量单位),那么这条IDoc中的所有物料都会转而写入Staging Area。
如果物料写入Staging Area的时候也失败了,那么该XML文件中所有应该写入Staging Area的物料都将写入失败,DIF将会展现具体的报错信息。
N条IDoc
每条IDoc1个物料
1 XML/1 Idoc 同上述“1条IDoc1个物料” 同上述“1条IDoc1个物料”
N条IDoc
每条IDoc1个物料
1 XML 包含所有Idoc 存在报错的IDoc导入将失败,其他IDoc继续正常执行。 如果IDoc中的一条物料存在非法数据(如错误的基本计量单位),那么这条IDoc中的所有物料都会转而写入Staging Area。
如果物料写入Staging Area的时候也失败了,那么该XML文件中所有应该写入Staging Area的物料都将写入失败,DIF将会展现具体的报错信息。
N条IDoc
M个物料
1 XML 包含所有Idoc 如果IDoc中的一条物料存在非法数据(如错误的基本计量单位),那么这条IDoc中的所有物料都会导入失败(其他没有错误的IDoc不受影响,继续执行)。
其他情况下,如用户在前台锁定了某条物料,或某条物料存在未决变更请求,导致了写入数据报错,那么这些情况仅会阻止相关物料写入,该IDoc中其他正常物料不受影响可以正常写入Active Area。
N条IDoc
M个物料
1 XML/1 Idoc 同上述“1条IDocN个物料”

本章小结

本章针对DIF工具展开了很多高阶使用方式和技巧,特别是围绕着SAP IDoc的处理。如果小伙伴以前接触或掌握SAP ALE分发技术的话,这些内容应该得心应手。此外针对Key Mapping和Value Mapping,他们不仅在DIF数据导入过程中起作用,在整个MDG产品凡是涉及到数据加载或数据分发的地方都会起到相当大的作用,因此作为MDG顾问也需要熟练掌握。下一篇章将会是MDG DIF系列的最后一章,我们将深入相关代码的开发,以最大程度满足用户的灵活需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424787.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习:基于KNN对葡萄酒质量进行分类

机器学习:基于KNN对葡萄酒质量进行分类 作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏…

网盘工具助力律师团队文件管理

律师的日常工作离不开文件管理。文档管理对于律师而言是一门必修课,这也是日积月累的工作。良好的文件管理习惯可以帮助我们让工作流程化、标准化,助力知识管理,避免职业风险,提升团队工作效率。 好用的文件管理工具也可以帮助律师…

Python 实验三 控制语句

1.从键盘接收整数的一百分制成绩(0到100),要求输出其对应的成绩等级A-E。其中,90分(包含)以上为A,80-89(均包含)分为B,70-79(均包含)分为C,60-69&…

[网络安全] Windows Server 设置文件屏蔽防止黑客利用漏洞上传特定类型的非法文件

我在负责网站运维期间,遇到过一次黑客利用网站内使用的开源文件上传工具漏洞上传非法文件(可执行脚本) 我是通过设置文件屏蔽来防止此类事件的再次发生。特在此做下记录。 文章目录前言一、黑客是怎么攻击我的二、我是怎么防范的2.1 Windows …

我学习网络安全的心得

我的学习心得,我认为能不能自学成功的要素有两点。 第一点就是自身的问题,虽然想要转行学习安全的人很多,但是非常强烈的想要转行学好的人是小部分。而大部分人只是抱着试试的心态来学习安全,这是完全不可能的。 所以能不能学成并…

Matplotlib 二维图像绘制方法

Matplotlib 二维图像绘制方法 介绍 Matplotlib 是支持 Python 语言的开源绘图库,因为其支持丰富的绘图类型、简单的绘图方式以及完善的接口文档,深受 Python 工程师、科研学者、数据工程师等各类人士的喜欢。本次实验课程中,我们将学会使用 Matplotlib 绘图的方法和技巧。…

GitHub的简介与Idea集成Git

六大基础功能 : 创建远程库、代码推送(Push)、代码拉取(Pull)、代码克隆(Clone)、SSH免密登录、Idea集成GitHub GitHub 网址:https://github.com/ 1.创建远程仓库 登录后的页面右上…

亚马逊云科技帮助BMW Financial Services设计和构建数据架构

BMW Group和亚马逊云科技于2020年宣布达成全面战略合作。在re:Invent2019上,BMW和亚马逊云科技展示了新的云数据中心平台,先是大致介绍了不同的数据平台原型,然后介绍了构建BMW Group云数据中心的过程。Amazon Data Lab使用亚马逊云科技的云数…

Volatile关键字的作用探究

前言 今天下午BOSS上投了个简历小试了一波水,结果被问到一个知识点volatile关键字的作用,我回答了线程的可见性,另一个死活想不起来是什么,当回到工位上看了眼笔记,才想起来。这种知识点其实平时使用的频率还是挺高的…

Phaser笔记-scene中的preload、create、update、player、键盘控制

一般phaser最简单的配置文件如下: let config {type: Phaser.AUTO,width: 800,height:600,scene: {preload: preload,create: create,update: update},physics:{default: arcade,arcade: {gravity: { y: 300},debug: false}}};其中scene有3个函数:prel…

CI570 3BSE001440R1适用于数字功能需求较多的设计

CI570 3BSE001440R1适用于数字功能需求较多的设计 尽管纯硅的CMOS 制程被认为仅适用于数字功能需求较多的设计,而不适用于以模拟电路为主的射频IC 设计,不过历经十几年的努力后,随着CMOS 性能的提升、晶圆代工厂在0.25mm 以下制程技术的配合、…

解决 Docker + selenium + chromedriver + chrome 会出现僵尸进程的问题

一、僵尸进程问题 在docker里,使用selenium爬虫, webdriver quit后,会产生很多僵尸进程。docker run -it -v /home/blackip:/home/blackips/ selenium:1.0python3 linux_black_ip.pytop查看僵尸进程:ps -ef | grep defunct查看…

微服务+springcloud+springcloud alibaba学习笔记【Ribbon的使用】(4/9)

Ribbon的使用 4/91、Ribbon负载均衡1.1 Ribbon简介1.2 Ribbon功能1.3 使用Ribbon:1.3.1 Ribbon常用负载均衡算法1.3.2 使用Ribbon1.3.3 ribbon的轮询算法原理1.3.4 手写一个负载均衡轮询算法1.3.5 启动服务,测试1、Ribbon负载均衡 1.1 Ribbon简介 Spring Cloud Ribbon是基于N…

Nestjs实战干货-概况-管道-Pipes

管道 带上装饰器 Injectable() 并实现了 PipeTransform 接口的类,就是管道。 管道有 2 个典型的应用场景: 数值转换:将输入的参数转换成目标类型,例如,string to number。 数值校验:对输入的参数进行校验…

记一次 MySQL 主从同步异常的排查记录,百转千回

本文主要内容如下: 一、现象 最近项目的测试环境遇到一个主备同步的问题: 备库的同步线程停止了,无法同步主库的数据更改。 备库报错如下: 完整的错误信息: Relay log read failure: Could not parse relay log even…

一文读懂【Git 工作流】

文章目录一、Git分支管理二、Git日志规范三、Git Flow工作流一、Git分支管理 我们在实际工作中会创建很多分支以便于不同场景下的开发,但是如果没有分支规范就会造成分支杂乱,大家往往也搞不清楚某一个分支是在做什么,下面我们就介绍一下我们…

车企围攻整车OS,这张“新王牌”怎么打?

今年2月23日,梅赛德斯--奔驰发布了打造自有操作系统MB.OS的具体计划,该操作系统将在本年代中期随全新梅赛德斯-奔驰模块化架构(MMA)平台推出,预计2025年用户将能体验到它的强大功能。 据悉,基于覆盖芯片到…

YOLOv8运行参数解读

整理来自yolov8官方文档常用的一些命令行参数,官方文档YOLOv8 Docs yolov8命令行的统一运行格式为: yolo TASK MODE ARGS其中主要是三部分传参: TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递,YO…

智慧水务软件-科学系统架构-数字化管理

平台概述 柳林智慧水务软件是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心,以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧运维等产品体系为支撑,以城市水资源、水生态、水环境…

VGG论文翻译及复现

VGG网络实现:https://blog.csdn.net/weixin_43912621/article/details/127852595 论文地址:https://arxiv.org/abs/1409.1556 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 用于大规模图像识别的深度卷积网络 Abstract In t…