SAP ERP 物料主数据同步外围系统

news2024/9/28 6:54:26

物料主数据集成在很多项目是比较常见的需求,在做系统实现之前我们需要明确涉及的业务流程和需求范围,并且对每个系统的业务边界进行明确:

     如果是从SAP ERP 向其他系统推送数据,并且实时性要求高的情况下,我一般倾向于在增强出口里实时抓取系统新增,或修改,或删除的数据给外围系统。这里以物料主数据的BTE增强,增强事件00001250为例:

第一步:事务代码FIBF

第二步:点设置->产品->客户

 第三步,配置事件、产品和函数的对应关系。点击设置->发布/订阅模块->客户的

 ZSAMPLE_INTERFACE_00001250,需要先复制标准函数SAMPLE_INTERFACE_00001250

 代码示例:

赋值
    "生成唯一标识
*    W_INPUT-GUID = CL_SYSTEM_UUID=>IF_SYSTEM_UUID_STATIC~CREATE_UUID_C22( ).
    TRY .
      CALL METHOD CL_SYSTEM_UUID=>IF_SYSTEM_UUID_STATIC~CREATE_UUID_C22
        RECEIVING UUID = w_input-guid.
    CATCH cx_uuid_error.
        "获取失败ID,根据YYMMDDHHMMSS+序号拼接
        w_input-guid = |{ sy-datum }{ sy-uzeit }{ 00001 }|.
    ENDTRY.
 
    READ TABLE t_makt_new INTO DATA(w_makt) WITH KEY spras = '1' .
    IF i_marc_new-werks = '8100'."新扩充8100视图数据
      w_input-matnr = i_mara_new-matnr."物料代码
      CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
        EXPORTING
          input  = w_input-MATNR
        IMPORTING
          output = w_input-MATNR.
      w_input-zwlms = i_mara_new-zwlms."物料长描述
      w_input-matkl = i_mara_new-matkl."物料组
      w_input-mtart = i_mara_new-mtart."物料分类
      w_input-meins = i_mara_new-meins."基本计量单位
      w_input-werks = i_marc_new-werks."工厂代码
      w_input-dispo = i_marc_new-dispo."MRP控制者
      w_input-maabc = i_marc_new-maabc."ABC标识
      w_input-fevor = i_marc_new-fevor."生成管理员
      w_input-sobsl = i_marc_new-sobsl."特殊采购类型-虚拟物料标识
      w_input-sbdkz = i_marc_new-SBDKZ."独立集中标识
      w_input-eisbe = i_marc_new-eisbe."安全库存标识
      w_input-plifz = i_marc_new-plifz."采购周期
      w_input-beskz = i_marc_new-beskz."采购类型              " BESKZ---   ADD BY HX_FHJ  20210106
      w_input-maktx  = w_makt-maktx.
      IF upd_marc IS INITIAL.
        w_input-action = upd_mara.
      ELSE.
        w_input-action = upd_marc.
      ENDIF.
      w_input-ERSDA = sy-DATUM.
      w_input-ERTIM = sy-UZEIT.
      w_input-ERNAM = sy-UNAME.
 
      IF w_input-maktx IS INITIAL.
        SELECT SINGLE maktx
          INTO @w_input-maktx
          FROM makt
          WHERE matnr = @i_mara_new-matnr
            AND spras = '1'.
      ENDIF.
      APPEND w_input TO input.
      CLEAR  w_input.
    ELSEIF ( upd_mara = 'U' AND i_marc_new-werks IS INITIAL ) OR w_makt-kz = 'U'."基本视图修改,需要判断是否存在工厂视图
      SELECT SINGLE werks,dispo,maabc,fevor,sobsl,maktx,sbdkz,eisbe,plifz,beskz   " BESKZ---   ADD BY HX_FHJ  20210106
        INTO @DATA(lw_marc)
        FROM marc INNER JOIN makt on marc~matnr = makt~matnr
        WHERE marc~matnr = @i_mara_new-matnr
          AND werks = '8100'
          AND spras = '1'.
      IF SY-SUBRC = 0.
        w_input-matnr = i_mara_new-matnr."物料代码
        CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
          EXPORTING
            input  = w_input-MATNR
          IMPORTING
            output = w_input-MATNR.
        w_input-mtart = i_mara_new-mtart."物料分类
        w_input-zwlms = i_mara_new-zwlms."物料长描述
        w_input-matkl = i_mara_new-matkl."物料组
        w_input-meins = i_mara_new-meins."基本计量单位
        w_input-werks = lw_marc-werks."工厂代码
        w_input-dispo = lw_marc-dispo."MRP控制者
        w_input-maabc = lw_marc-maabc."ABC标识
        w_input-fevor = lw_marc-fevor."生成管理员
        w_input-sobsl = lw_marc-sobsl."特殊采购类型-虚拟物料标识
        w_input-sbdkz = lw_marc-sbdkz."独立集中标识
        w_input-eisbe = lw_marc-eisbe."安全库存标识
        w_input-plifz = lw_marc-plifz."采购周期
        w_input-beskz = lw_marc-beskz."采购类型             " BESKZ---   ADD BY HX_FHJ  20210106
        IF w_makt-maktx IS NOT INITIAL.
           w_input-maktx  = w_makt-maktx.
        ELSE.
          w_input-maktx  = lw_marc-maktx.
        ENDIF.
        IF upd_marc IS INITIAL.
           w_input-action = 'U'.
        ELSEIF upd_mara IS NOT INITIAL.
          w_input-action = upd_marc.
        ENDIF.
        w_input-ERSDA = sy-DATUM.
        w_input-ERTIM = sy-UZEIT.
        w_input-ERNAM = sy-UNAME.
        APPEND w_input TO input.
        CLEAR  w_input.
      ENDIF.
    ENDIF.
    CLEAR w_makt.
"调用APS接口,推送物料主数据
  IF INPUT IS NOT INITIAL.
    CALL FUNCTION 'ZDD_APS_001'
      STARTING NEW TASK 'APS001' "防止接口连接时长影响SAP操作,采用这种方式调用接口
      EXPORTING
        INPUT         = INPUT
*       ARQ           =
              .
  ENDIF.

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

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

相关文章

$ git config --global -l fatal: unable to read config file ‘XXXX‘: No such file

git配置用户级别时输入 git config --global user.name "" git config --global user.email "" 报错有两种问题 1.语句中缺少必要的空格 user.name与""之前存在空格,没有的话会导致设置失败 2.打开c盘,进入用户目录下…

Unity中URP下额外灯的距离衰减

文章目录 前言一、额外灯的距离衰减在这里插入图片描述 二、DistanceAttenuation函数的传入参数1、distanceSqr2、distanceAndSpotAttenuation3、_AdditionalLightsAttenuation4、GetPunctualLightDistanceAttenuation函数三、DistanceAttenuation函数的程序体 前言 在上一篇文…

[AIGC 大数据基础] 浅谈hdfs

HDFS介绍 什么是HDFS? HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统的一部分,是一个分布式文件系统。它被设计用于存储和处理大规模数据集,并且能够容错、高可靠和高性能地处理文件。 HDFS是为了支…

C语言每日一题(48)回文链表

力扣 234 回文链表 题目描述 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2&#xff1…

计算机网络 第5章(运输层)

系列文章目录 计算机网络 第1章(概述) 计算机网络 第2章(物理层) 计算机网络 第3章(数据链路层) 计算机网络 第4章(网络层) 计算机网络 第5章(运输层) 计算机…

基于SpringBoot微信小程序的宠物美容预约系统设计与实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作✌ 主要内容:SpringBoot、Vue、SSM、HLM…

javaweb-js-vue基础知识(持续更新中)

sshu 双向数据绑定 ---------------------------------------------------------- 注意淘宝镜像最新网址发生变化,记得改,不是老师现在用的那个,不然会下载出错!!! 没有的:ctrlshiftp&#xff…

MySQL中的行锁、临建锁、间隙锁和表锁中的意向锁

文章目录 一、行锁Q:MySQL行锁有哪些使用场景Q:MySQL那些命令会导致发生行锁? 二、间隙锁(Gap Lock)间隙锁有哪些使用场景 三、临建锁(Next-Key Lock)四、表锁意向锁(Intention Lock…

【Spring 篇】MyBatis多表操作:编织数据的交响乐

欢迎来到MyBatis的多表操作世界!在这个充满交响乐的舞台上,我们将探索如何巧妙地编织多个数据表的数据,创造出一场旋律动听的数据交响曲。无需繁琐的SQL拼接,MyBatis让多表操作变得优雅而简单。让我们一起进入这个音乐殿堂&#x…

全卷积网络:革新图像分析

一、介绍 全卷积网络(FCN)的出现标志着计算机视觉领域的一个重要里程碑,特别是在涉及图像分析的任务中。本文深入探讨了 FCN 的概念、它们的架构、它们与传统卷积神经网络 (CNN) 的区别以及它们在各个领域的应用。 就像…

DualSPHysics源码结构解读,新手入门

DualSPHysics代码下载,进入官网:https://dual.sphysics.org/ 可以看到下载的地方有①Full package ②Source code,官方的解读是:如果你只是想运行案例的话就下载Full package,如果想要自己进行修改构建的话&#xff0…

【modelsim使用】数据显示设置

本文介绍modelsim使用中数据的显示设置,定点小数的显示、模拟波形的显示、数据截位查看、信号颜色和行高设置的操作。 文章目录 定点小数显示模拟波形的显示选取信号的某几位组合查看信号颜色与行高设置 定点小数显示 使用modelsim进行仿真时,涉及到定点…

ICSpector:一款功能强大的微软开源工业PLC安全取证框架

关于ICSpector ICSpector是一款功能强大的开源工业PLC安全取证框架,该工具由微软的研究人员负责开发和维护,可以帮助广大研究人员轻松分析工业PLC元数据和项目文件。 ICSpector提供了方便的方式来扫描PLC并识别ICS环境中的可疑痕迹,可以用于…

PHP - Yii2 异步队列

1. 前言使用场景 在 PHP Yii2 中,队列是一种特殊的数据结构,用于处理和管理后台任务。队列允许我们将耗时的任务(如发送电子邮件、push通知等)放入队列中,然后在后台异步执行。这样可以避免在处理大量请求时阻塞主应用…

HTML-表格

表格 1.基本结构 一个完整的表格由:表格标题、表格头部、表格主体、表格脚注,四部分组成 表格涉及到的标签: table:表格 caption:标题 thead:表格头部 tbody:表格主体 tfoot:表格注…

精酿啤酒的原料供应链:质量控制的重要性

对于啤酒的品质和口感,原料供应链的质量控制是重要的。特别是对于Fendi Club这样品质的啤酒,其原料供应链的管理更是重中之重。下面,我们将深入探讨Fendi Club啤酒如何对其原料供应链进行质量控制,以确保啤酒的品质和口感。 首先&…

Matlab|含风电-光伏-光热电站电力系统N-k安全优化调度模型

目录 1 主要内容 程序算例 程序模型 程序亮点 2 部分程序 3 部分结果 4 下载链接 1 主要内容 该程序参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型,主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型,从而…

OllyDbg动态调试检测方案

据游戏工委数据统计,2023年国内客户端游戏市场实际销售收入达662.83亿元,同比增长8%。PC端游戏实际收入已连续4年实现增长,主要得益于现有的游戏收入持续增长以及更多新品在PC端同步发行等因素。 2023 PC端游戏市场实际销售收入 随着PC端游戏…

【JS】事件汇总(方便查找)

文章目录 一、鼠标事件二、键盘事件2.1、按下键盘键(keydown)2.2、抬起键盘键(keyup)2.3、按下有效键(keypress)2.4、常见键盘码(了解) 三、焦点事件3.1、聚焦(focus&…

LC每日一题 2024/1/25 2859. 计算 K 置位下标对应元素的和

目录 题干 思路 代码 题干 思路 简单的位运算,就是寻找这个数对应的二进制中的1的个数是否与k相同,如果相同,就把这个数加到结果当中 可能涉及到的方法:Integer.bitCount() -->计算出二进制中包含的1的个数 代码 调用Java…