BAPI_BATCH_CHANGE在更新后不自动更新批次特征

1、问题介绍

 在CL03中看到分类特性配置了制造日期字段,并绑定了生产日期字段MCH1~HSDAT

MSC2N修改批次的生产日期字段时,自动修改了对应的批次特性

但是通过BAPI:BAPI_BATCH_CHANGE修改生产日期时,并没有更新到批次特性中

2、BAPI

根据官方提示,需要使用BAPI:BAPI_BATCH_SAVE_REPLICA来同步更新批次特性

在BAPI_BATCH_SAVE_REPLICA中可以传入基本数据视图中的生产日期

"--------------------@斌将军--------------------
CLEAR:ls_batchattributes,ls_batchattributesx.
ls_batchattributes-prod_date = sy-datum."生产日期
ls_batchattributesx-prod_date = 'X' ."生产日期
"--------------------@斌将军--------------------

同时维护批次特性的值

"--------------------@斌将军--------------------
CLEAR:ls_classvaluationschar.
ls_classvaluationschar-class_type = lv_klart.
*ls_classvaluationschar-objectkey = lv_objectkey.
ls_classvaluationschar-objectkey_long = lv_objek.
ls_classvaluationschar-objecttable = lv_obtab.
ls_classvaluationschar-charact = 'ZSC_BATCH_HSDAT'.
ls_classvaluationschar-value_char = sy-datum.
APPEND ls_classvaluationschar TO lt_classvaluationschar.
"--------------------@斌将军--------------------

完整代码参考

"--------------------@斌将军--------------------
REPORT ytest010.DATA:lv_material TYPE bapibatchkey-material,lv_batch    TYPE bapibatchkey-batch,lv_plant    TYPE bapibatchkey-plant,lv_matnr    TYPE matnr. "40位DATA:lv_objek TYPE cuobn,lv_obtab TYPE tabelle,lv_klart TYPE klassenart,lv_class TYPE klasse_d.DATA:ls_batchattributes     TYPE  bapibatchatt,ls_batchattributesx    TYPE bapibatchattx,lt_classallocations    TYPE TABLE OF bapi3060_allocation,ls_classallocations    TYPE bapi3060_allocation,lt_classvaluationschar TYPE TABLE OF bapi3060_valuation_char,ls_classvaluationschar TYPE bapi3060_valuation_char,lt_classvaluationscurr TYPE TABLE OF bapi3060_valuation_curr,ls_classvaluationscurr TYPE bapi3060_valuation_curr,lt_classvaluationsnum  TYPE TABLE OF bapi3060_valuation_num,ls_classvaluationsnum  TYPE bapi3060_valuation_num,lt_return              TYPE TABLE OF bapiret2,ls_return              TYPE bapiret2.lv_matnr = '41155126C'."物料
lv_batch = 'P001055009'."批次
lv_plant = 'SC10'."工厂CLEAR:lv_objek,lv_obtab,lv_klart,lv_class.
*lv_matnr = lv_material.
CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT'EXPORTINGi_matnr = lv_matnri_charg = lv_batchi_werks = lv_plantIMPORTINGe_objek = lv_objeke_obtab = lv_obtabe_klart = lv_klarte_class = lv_class.*后边可以直接使用lv_objek值,
*不需要用BAPI_OBJCL_CONCATENATEKEY专门生成lv_objectkey
*lt_objectkeytable = VALUE #( ( key_field = 'MATNR' value_int = LV_material )
*                                ( key_field = 'WERKS' value_int = lv_plant )
*                                ( key_field = 'CHARG' value_int = lv_batch )
*                            ).
*
*"获取key值objectkey(物料和批次)
*REFRESH:lt_return.
*CLEAR:lv_objectkey.
*CALL FUNCTION 'BAPI_OBJCL_CONCATENATEKEY'
*  EXPORTING
*    objecttable    = lv_obtab "表名
*  IMPORTING
*    objectkey_conc = lv_objectkey
*  TABLES
*    objectkeytable = lt_objectkeytable
*    return         = lt_return.
*
*LOOP AT lt_return INTO ls_return WHERE type CA 'EAX'.
*  MESSAGE '获取特性失败:未查询到分类密钥' TYPE 'S' DISPLAY LIKE 'E'.
*ENDLOOP."修改批次数据
CLEAR:ls_batchattributes,ls_batchattributesx.
ls_batchattributes-prod_date = sy-datum."生产日期
ls_batchattributesx-prod_date = 'X' ."生产日期"修改分类特性值
CLEAR:ls_classallocations.
ls_classallocations-class_type    = lv_klart.
*ls_classallocations-objectkey     = lv_objectkey.
ls_classallocations-objectkey_long   = lv_objek.
ls_classallocations-objecttable   = lv_obtab.
ls_classallocations-classnum      = lv_class.
ls_classallocations-classtype     = lv_klart.
ls_classallocations-standardclass = 'X'.
APPEND ls_classallocations TO lt_classallocations.CLEAR:ls_classvaluationschar.
ls_classvaluationschar-class_type = lv_klart.
*ls_classvaluationschar-objectkey = lv_objectkey.
ls_classvaluationschar-objectkey_long = lv_objek.
ls_classvaluationschar-objecttable = lv_obtab.
ls_classvaluationschar-charact = 'ZSC_BATCH_HSDAT'.
ls_classvaluationschar-value_char = sy-datum.
APPEND ls_classvaluationschar TO lt_classvaluationschar.CALL FUNCTION 'BAPI_BATCH_SAVE_REPLICA'EXPORTINGmaterial_long       = lv_matnr "长物料
*   material            = lv_materialbatch               = lv_batchplant               = lv_plantbatchattributes     = ls_batchattributesbatchattributesx    = ls_batchattributesxTABLESreturn              = lt_returnclassallocations    = lt_classallocationsclassvaluationschar = lt_classvaluationscharclassvaluationscurr = lt_classvaluationscurrclassvaluationsnum = lt_classvaluationsnum.DATA:lv_check   TYPE char1,lv_message TYPE char255.CLEAR:lv_message.
LOOP AT lt_return INTO ls_return WHERE type CA 'EAX'.lv_message = lv_message && ls_return-message.lv_check = 'E'.
ENDLOOP.
IF lv_check = 'E'.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.WRITE:lv_message.
ELSE.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'.
ENDIF.
"--------------------@斌将军--------------------

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

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

相关文章

Paddler负载均衡器

Paddler负载均衡器 Paddler本身是用Go语言编写的,没有直接的Python接口,但可以通过以下方式在Python中使用: 执行命令行调用 在Python中可以使用 subprocess 模块来调用Paddler的命令行工具,实现负载均衡功能 。例如: import subprocessdef start_paddler_agent():com…

数据仓库工具箱—读书笔记02(Kimball维度建模技术概述03、维度表技术基础)

Kimball维度建模技术概述 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 第二章前言部分作者提到:技术的介绍应该通过涵盖各种行业的熟悉的用例展开(赞同…

Python中的logger作用(from loguru import logger)

文章目录 具体解释示例代码为什么使用 Loguru?常见使用场景总结 Loguru 是一个非常流行且易用的 Python 日志记录库, logger 是其主要的日志记录工具,用来记录程序运行中的信息,如调试信息、错误信息、运行状态等。 具体解释 Log…

视频汇聚融合云平台Liveweb一站式解决视频资源管理痛点

随着5G技术的广泛应用,各领域都在通信技术加持下通过海量终端设备收集了大量视频、图像等物联网数据,并通过人工智能、大数据、视频监控等技术方式来让我们的世界更安全、更高效。然而,随着数字化建设和生产经营管理活动的长期开展&#xff0…

linux 查看服务是否开机自启动

一、centos6查看开机自启服务 chkconfig rpcbind --list chkconfig 服务 --list 二、centos7查看开机自启服务 1.systemctl list-unit-files 查看启动项 左边是服务名称,右边是状态,enabled是开机启动,disabled是开机不启动 systemctl l…

MySQL连接IDEA(Java Web)保姆级教程

第一步:新建项目(File)->Project 第二步:New Project(JDK最好设置1.8版本与数据库适配,详细适配网请到MySQL官网查询MySQL :: MySQL 8.3 Reference Manual :: Search Results) 第三步:点中MySQLTest(项目名)并连续双击shift键-…

Kibana安装教程——Linux

Kibana安装教程——Linux 一、安装 下载安装包: 官网下载地址:https://www.elastic.co/cn/downloads/kibana 上传包到linux 切换到安装目录下 解压:tar -zxvf kibana-7.17.1-linux-x86_64.tar.gz 重命名安装文件夹 mv kibana-7.17.1-linux-x…

FreeSql

官网 实体特性 Ado 它包括所有对 SQL 操作的封装,提供 ExecuteReader、ExecuteDataSet、ExecuteDataTable、ExecuteNonQuery、ExecuteScalar 等方法,使用起来和传统 SqlHelper 一样。 1、安装包 dotnet add package FreeSql dotnet add package FreeSq…

linux下搭建lamp环境(dvwa)

lamp简介 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管理系统或数据库服务器 PHP、Perl或Python,脚本语言 # ubuntu安装…

React第十八节 useEffect 用法使用技巧注意事项详解

1、概述 useEffect 是React中一个用于 将组件与外部系统同步的 Hook;在函数式组件中处理副作用函数的 Hook,用于替代类式组件中的生命周期函数; 可以在副作用函数中 实现以下操作: a、请求接口,获取后台提供数据 b、操…

Linux高并发服务器开发 第六天(rwx 对于目录和文件的区别 gcc编译器 动态库静态库)

目录 1.rwx 对于目录和文件的区别 2.gcc 编译器 2.1编译过程 2.2gcc 的其他参数 3.动态库和静态库 3.1函数库 1.rwx 对于目录和文件的区别 r 文件的内容可以被查看。支持cat、more、head...vim ;目录的内容可以被查看。ls、tree …

腾讯云云开发 Copilot 深度探索与实战分享

个人主页:♡喜欢做梦 欢迎 👍点赞 ➕关注 ❤️收藏 💬评论 目录 一、引言 二、产品介绍 三、产品体验过程 四、整体总结 五、给开发者的复用建议 六、对 AI 辅助开发的前景展望 一、引言 在当今数字化转型加速的时代,…

潮玩设备AI语音交互方案,ESP32-S3芯片模组物联网通信技术

在智能化的世界里,每一个设备都是一个节点,它们通过无线网络相互连接,形成一个庞大的智能网络。这些设备能够相互通信,理解并判断用户的需求,从而提供更加个性化的服务。 而这一切的背后,是强大的处理器和…

Jensen-Shannon Divergence:定义、性质与应用

一、定义 Jensen-Shannon Divergence(JS散度)是一种衡量两个概率分布之间差异的方法,它是Kullback-Leibler Divergence(KL散度)的一种对称形式。JS散度在信息论、机器学习和统计学等领域中具有广泛的应用。 给定两个概…

使用 Three.js 创建烟花粒子特效教程

使用 Three.js 创建烟花粒子特效教程 今天,我们将使用 Three.js 来实现一个简单而美观的烟花粒子效果。烟花会在屏幕随机位置生成,粒子在爆炸后呈现出散射、下降、逐渐消散的动态效果。先来看一下效果。 第一步:搭建基础场景 在正式实现烟花…

神经网络-VggNet

2014年VggNet被推出,获取了ILSVRC2014比赛分类项目的第二名,第一名是GoogleNet,该网络在下节介绍,本节主要介绍VggNet。 VggNet可以称为是一个家族,根据层数的不同包括了A、A-LRN、B、C、D等网络结构,其中…

docker-compose搭建sfpt服务器

1. 搭建 创建sftp目录,进入该目录创建docker-compose.yml文件内容如下: version: 3.7services:sftp:image: atmoz/sftpcontainer_name: sftpports:- "122:22"volumes:- ./sftp-data:/homeenvironment:SFTP_USERS: "liubei:liubei161:10…

计算机视觉目标检测-1

文章目录 摘要Abstract1.目标检测任务描述1.1 目标检测分类算法1.2 目标定位的简单实现思路1.2.1 回归位置 2.R-CNN2.1 目标检测-Overfeat模型2.1.1 滑动窗口 2.2 目标检测-RCNN模型2.2.1 非极大抑制(NMS) 2.3 目标检测评价指标 3.SPPNet3.1 spatial pyr…

减速机润滑油的选用原则

减速机在投入运行前必须加入适当粘度的润滑油,须使齿轮间摩擦减小,遇高负荷及冲击负荷时,减速机才能充分发挥其机能。那么,应该如何选择减速机的润滑油呢? 1、粘度选择:粘度是齿轮油的一个重要理化指标&…

解线性方程组

直接三角分解(LU分解,Doolittle分解) ATM分解(追赶法,Crout分解,克劳特分解) 平方根法(Cholesky分解,乔列斯基分解) 矩阵的范数