ABAP: BAPI_MATERIAL_SAVEDATA 创建、修改物料信息毛重不生效

1、BAPI_MATERIAL_SAVEDATA 修改物料信息

参考:https://blog.csdn.net/zhongguomao/article/details/51917696

    clientdata-matl_group = ls_in-matkl."物料组
    clientdata-base_uom = ls_in-meins."基本计量单位
    clientdata-extmatlgrp = ls_in-extwg."外部物料组
    clientdata-item_cat = ls_in-mtpos_mara."普通项目类别组
    clientdata-net_weight = ls_in-ntgew."净重
    clientdata-unit_of_wt = ls_in-gewei."重量单位
    clientdata-size_dim = ls_in-groes."产品费用率(大小/量纲)
    clientdata-old_mat_no = ls_in-bismt."旧物料号
    clientdata-division = ls_in-spart."产品组
    clientdata-po_unit = ls_in-bstme."订单单位
    clientdata-var_ord_un = ls_in-vabme."可变采购订单单位活动
    clientdata-batch_mgmt = ls_in-xchpf."批次管理
    clientdata-period_ind_expiration_date = ls_in-iprkz."货架寿命到期日的期间标识
    clientdata-allowed_wt = ls_in-brgew."毛重
    clientdata-trans_grp = ls_in-tragr."运输组
    clientdata-allwd_vol = ls_in-volum."体积
    clientdata-pack_vo_un = ls_in-voleh."体积单位
    clientdata-pur_status = ls_in-mstae."
    clientdata-minremlife = ls_in-mhdrz."最短剩余货架寿命
    clientdata-shelf_life = ls_in-mhdhb."总货架寿命

    CLEAR clientdatax.
    clientdatax-matl_group = 'X'."物料组
    clientdatax-base_uom = 'X'."基本计量单位
    clientdatax-extmatlgrp = 'X'."外部物料组
    clientdatax-item_cat = 'X'."普通项目类别组
    clientdatax-net_weight = 'X'."净重
    clientdatax-unit_of_wt = 'X'."重量单位
    clientdatax-allowed_wt = 'X'."毛重
    clientdatax-trans_grp = 'X'."运输组
    clientdatax-size_dim = 'X'."产品费用率(大小/量纲)
    clientdatax-old_mat_no = 'X'."旧物料号
    clientdatax-division = 'X'."产品组
    clientdatax-po_unit = 'X'."订单单位
    clientdatax-allwd_vol = 'X'."体积
    clientdatax-pack_vo_un = 'X'."体积单位
    clientdatax-pur_status = 'X'."
    clientdatax-var_ord_un = 'X'."可变采购订单单位活动
    clientdatax-batch_mgmt = 'X'."批次管理
    clientdatax-minremlife = 'X'."最短剩余货架寿命*    
    clientdatax-shelf_life = 'X'."总货架寿命
    clientdatax-period_ind_expiration_date = 'X'."货架寿命到期日的期间标识

    "物料描述
    CLEAR:materialdescription,materialdescription[].
    materialdescription-langu_iso = 'ZH'.
    materialdescription-matl_desc = ls_in-maktx.
    APPEND materialdescription.

    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        headdata            = headdata
        clientdata          = clientdata
        clientdatax         = clientdatax
      IMPORTING
        return              = return
      TABLES
        materialdescription = materialdescription[].

这样写满足创建物料的基本视图和其中的字段,但是有一个问题,虽然写了毛重,但是实际传入的毛重没有生效。

2、毛重的字段增强

概述:对结构BAPI_TE_MARA和BAPI_TE_MARAX进行字段增强。

参考:ABAP增强开发:更新物料主数据毛重,净重,单位的BAPI使用方法(经典)_bapi_material_savedata增强字段写入-CSDN博客SAP-BAPI物料主数据修改毛重净重_料号毛重参数设置-CSDN博客

操作步骤:

(1)SE11 输入 BAPI_TE_MARA

(2)点击附加结构

(3)填写附加结构名称:一般以Z打头,加原结构名称,例如:ZBAPI_TE_MARA

(4)填写描述,可以和原结构描述相同,也可以自由填写。

填写组件,选择内置类型,CHAR,20,描述写毛重。

注意:数据类型比如是CHAR,如果使用,MARA-BRGEW,这个类型是QUAN,在后面BAPI扩展赋值时,会报错。

扩展类型里面都是CHAR,为了确保传输数据类型一致,定义组件的数据类型必须是CHAR.

(5)保存、激活后,返回BAPI_TE_MARA,展示如下图

(6)同理,对BAPI_TE_MARAX进行扩展组件,扩展后如下:

这里注意一下ZBAPI_TE_MARAX中的BRGEW的组件类型为 BAPIUPDATE

3、程序修改,加入扩展字段

  DATA:  BEGIN OF w_extensionin OCCURS 0.
           INCLUDE STRUCTURE bapiparex.  "BAPI 参数 ExtensionIn/ExtensionOut 的参考结构
         DATA:  END OF w_extensionin.
  DATA:  BEGIN OF w_extensioninx OCCURS 0.
           INCLUDE STRUCTURE bapiparexx. "Extension In/Extension Out 的复选框结构
         DATA:  END OF w_extensioninx.

  DATA: zbapi_te_mara LIKE bapi_te_mara.   "客户定义字段:客户级别的物料数据
  DATA: zbapi_te_marax LIKE bapi_te_marax. "客户定义字段:客户级别的物料数据



    clientdata-matl_group = ls_in-matkl."物料组
    clientdata-base_uom = ls_in-meins."基本计量单位
    clientdata-extmatlgrp = ls_in-extwg."外部物料组
    clientdata-item_cat = ls_in-mtpos_mara."普通项目类别组
    clientdata-net_weight = ls_in-ntgew."净重
    clientdata-unit_of_wt = ls_in-gewei."重量单位
    clientdata-size_dim = ls_in-groes."产品费用率(大小/量纲)
    clientdata-old_mat_no = ls_in-bismt."旧物料号
    clientdata-division = ls_in-spart."产品组
    clientdata-po_unit = ls_in-bstme."订单单位
    clientdata-var_ord_un = ls_in-vabme."可变采购订单单位活动
    clientdata-batch_mgmt = ls_in-xchpf."批次管理
    clientdata-period_ind_expiration_date = ls_in-iprkz."货架寿命到期日的期间标识
    clientdata-allowed_wt = ls_in-brgew."毛重
    clientdata-trans_grp = ls_in-tragr."运输组
    clientdata-allwd_vol = ls_in-volum."体积
    clientdata-pack_vo_un = ls_in-voleh."体积单位
    clientdata-pur_status = ls_in-mstae."
    clientdata-minremlife = ls_in-mhdrz."最短剩余货架寿命
    clientdata-shelf_life = ls_in-mhdhb."总货架寿命

    CLEAR clientdatax.
    clientdatax-matl_group = 'X'."物料组
    clientdatax-base_uom = 'X'."基本计量单位
    clientdatax-extmatlgrp = 'X'."外部物料组
    clientdatax-item_cat = 'X'."普通项目类别组
    clientdatax-net_weight = 'X'."净重
    clientdatax-unit_of_wt = 'X'."重量单位
    clientdatax-allowed_wt = 'X'."毛重
    clientdatax-trans_grp = 'X'."运输组
    clientdatax-size_dim = 'X'."产品费用率(大小/量纲)
    clientdatax-old_mat_no = 'X'."旧物料号
    clientdatax-division = 'X'."产品组
    clientdatax-po_unit = 'X'."订单单位
    clientdatax-allwd_vol = 'X'."体积
    clientdatax-pack_vo_un = 'X'."体积单位
    clientdatax-pur_status = 'X'."
    clientdatax-var_ord_un = 'X'."可变采购订单单位活动
    clientdatax-batch_mgmt = 'X'."批次管理
    clientdatax-minremlife = 'X'."最短剩余货架寿命*    
    clientdatax-shelf_life = 'X'."总货架寿命
    clientdatax-period_ind_expiration_date = 'X'."货架寿命到期日的期间标识

    "物料描述
    CLEAR:materialdescription,materialdescription[].
    materialdescription-langu_iso = 'ZH'.
    materialdescription-matl_desc = ls_in-maktx.
    APPEND materialdescription.

    "扩展字段
    zbapi_te_mara-material = ls_in-matnr.
    zbapi_te_mara-brgew = ls_in-brgew.    "毛重

    zbapi_te_marax-material = ls_in-matnr.
    zbapi_te_marax-brgew = 'X'.

    w_extensionin-structure = 'BAPI_TE_MARA'.
    w_extensionin-valuepart1 = zbapi_te_mara.
    APPEND w_extensionin.

    w_extensioninx-structure = 'BAPI_TE_MARAX'.
    w_extensioninx-valuepart1 = zbapi_te_marax.
    APPEND w_extensioninx.

    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        headdata            = headdata
        clientdata          = clientdata
        clientdatax         = clientdatax
      IMPORTING
        return              = return
      TABLES
        materialdescription = materialdescription[]
        extensionin         = w_extensionin
        extensioninx        = w_extensioninx.

4、总结

在直接使用BAPI_MATERIAL_SAVEDATA 创建、修改物料信息时,毛重字段不生效。此时需要进行增强开发,先对字段进行扩展,再在程序中增加扩展字段的赋值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统编程之基本指令

零、Linux发展史 1、诞生 1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组 (comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统—…

XAMPP是什么?XAMPP好不好用?

XAMPP是一个免费且开源的软件套件,用于在个人计算机上轻松搭建和运行 Apache 服务器、MySQL 数据库、PHP 和 Perl,让用户可以在个人电脑上搭建服务器环境的平台。 XAMPP的由来是 X(表示跨平台)、Apache、MySQL、PHP 和 Perl 的首字母缩写。 它集成了这…

锅炉轴承界的“耐热冠军”:江苏鲁岳耐高温300度自润滑轴承!

耐高温300度锅炉轴承,江苏鲁岳自润滑技术领先行业!300度高温轻松应对,江苏鲁岳锅炉轴承自润滑技术引领潮流!耐磨耐温套-钢厂托辊用无油自润滑钢套-江苏鲁岳耐高温轴承。 在工业生产的大潮中,高温环境始终如一地考验着设…

400G光模块产品最全分类解析

随着信息技术的迅猛发展,网络带宽需求不断增加,而400G光模块作为当前最热门的光通信技术之一,正在成为新一代网络的关键组成部分。本文将对400G光模块进行最全面的分类解析,以帮助大家深入了解其技术特点和应用场景。 一、ETU-LI…

前端 | 实时电子时钟

文章目录 &#x1f4da;实现效果&#x1f4da;模块实现解析&#x1f407;html&#x1f407;css&#x1f407;JavaScript &#x1f4da;实现效果 &#x1f4da;模块实现解析 &#x1f407;html 搭个框架<!DOCTYPE html> <html lang"en"> <head>&l…

04-23 周二 shell环境下读取使用jq 读取json文件

04-23 周二 shell环境下读取使用jq 读取json文件 时间版本修改人描述04-23V0.1宋全恒新建文档 简介 工具列表 Shell脚本处理JSON数据工具jq jshon是另外一个读取json数据的工具 而且其支持XML和YAML格式文件 linux shell环境下处理yml文件 #!/bin/bash# 加载shyaml库 . /…

计算机网络学习记录Day1

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github gitee 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 &#x1f604; (^ ~ ^) 想看更多 那就点个关注吧 我会尽力带来有趣的内容 计算机网络学习记录Day1 本文基于1.1 计算机网络在信息…

信创基础软件之中间件

信创基础软件之中间件 中间件概述 中间件是一种应用于分布式系统的基础软件&#xff0c;位于应用与操作系统、数据库之间&#xff0c;主要用于解决分布式环境下数据传输、数据访问、应用调度、系统构建和系统集成、流程管理等问题&#xff0c;是分布式环境下支撑应用开发、运…

学习记录:AUTOSAR R20-11的阅读记录(五)【CP(5.11-5.19)】完

接上回&#xff1a;学习记录&#xff1a;AUTOSAR R20-11的阅读记录&#xff08;四&#xff09;【CP&#xff08;5.6-5.10&#xff09;】 五、CP 11、General&#xff08;4个&#xff09; 5.11 File Name 说明 1 AUTOSAR_EXP_ LayeredSoftwareArchitecture.pdf 描述了AUTO…

AIGC (AI-Generated Content) 技术深度探索:现状、挑战与未来愿景

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f916; AIGC技术&#xff1a;塑造未来的创意与内容革命 &#x1f31f;引言 &#x1f680;AIGC技术发展现状 &#x1f4c8;核心技术驱动 &#x1f4a1;应用领域拓展 &#x1f310; 面临的挑战 ❌真实性与伦理考量 &am…

Spring @Repository 注解

Spring 的项目严重依赖注解。 Repository 注解 在Spring2.0之前的版本中&#xff0c;Repository注解可以标记在任何的类上&#xff0c;用来表明该类是用来执行与数据库相关的操作(即dao对象)&#xff0c;并支持自动处理数据库操作产生的异常 在Spring2.5版本中&#xff0c;引…

3度带6度带中央经线及带号换算问题

前言&#xff1a;3度带6度带中央经线及代号换算问题是比较繁琐的一个问题&#xff0c;不经常用&#xff0c;公式记不住&#xff0c;因此本文特此整理&#xff0c;以备查。 1.基本概况 我国基本比例尺地形图除1&#xff1a;100万采用兰勃特投影&#xff08;lambert&#xff09;外…

信息系统项目管理师0090:项目经理的影响力范围(6项目管理概论—6.3项目经理的角色—6.3.2项目经理的影响力范围)

点击查看专栏目录 文章目录 6.3.2项目经理的影响力范围1.概述2.项目3.组织4.行业5.专业学科6.跨领域6.3.2项目经理的影响力范围 1.概述 项目经理在其影响力范围内可担任多种角色,这些角色反映了项目经理的能力,体现了项目经理的价值和作用,项目经理会涉及项日、组织、行业、…

爬虫案例:股吧,使用Selenium

爬虫案例:股吧,使用Selenium 实用工具关注公众号爬虫探索者获取。 发送对应关键词: 1.运行环境 pip install selenium==4.9.1 pip install pymysql1.1.高版本Chrome问题 针对于高版本的Chrome浏览器 1.2.最终效果 2.目标网站 3.参数介绍 BASE_URL = https://guba.eas…

ppp和ppp mp理论实验

ppp简介 PPP&#xff08;点对点协议&#xff09;为在点对点连接上传输多协议数据包提供了一个标准方法&#xff0c;是数据链路层封装协议的一种方法&#xff0c;支持同步和异步两种传输方式。&#xff08;除了PPP还有HDLC等&#xff0c;不过HDLC只支持同步方式&#xff09; P…

信号与进程(3):信号及其使用

信号及其使用 参考博客 Linux信号的产生和处理 信号及其使用 信号的产生 信号由内核产生&#xff0c;信号的生成与事件的发生相关&#xff0c;事件的发生源有3类&#xff1a; 1、用户 用户在终端上按下某些按键时会产生信号&#xff0c;如**CtrlC产生SIGINT信号&#xff0…

springboot+mp自动生成没有实体类

mybatisX版本冲突问题 一开始我的MyBatisX版本是1.6.1-3,使用mybatis-plus一直不能正常生成实体类 将MyBatisX的版本换成了1.5.7就可以了 MyBatisX版本更换 1.将原有的MyBatisX卸载后重新安装一个新的版本 2.选择一个合适的版本,这里我选的是1.5.7 下载完成后自己选择一个…

【隧道篇 / WAN优化】(7.4) ❀ 02. WAN优化的作用 ❀ FortiGate 防火墙

【简介】看了上一篇文章&#xff0c;相信大家都知道了在防火墙上启动WAN优化的方法&#xff0c;但是WAN优化到底能做什么&#xff1f;相信有很多人想了解。 什么是WAN优化 现在有许多企业通过集中应用程序或在云中提供应用程序来降低成本并整合资源。应用程序在本地局域网内都能…

python多标签图像分类的图片相册共享交流系统vue+django

建立图片共享系统&#xff0c;进一步提高用户对图片共享信息的查询。帮助用户和管理员提高工作效率&#xff0c;实现信息查询的自动化。使用本系统可以轻松快捷的为用户提供他们想要得到的图片共享信息。 根据本系统的基本设计思路&#xff0c;本系统在设计方面前台采用了pytho…