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.rhkb.cn/news/497753.html

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

相关文章

JVM简介—3.JVM的执行子系统

大纲 1.Class文件结构 2.Class文件格式概述 3.Class文件格式详解 4.字节码指令 5.类的生命周期和初始化 6.类加载的全过程 7.类加载器 8.双亲委派模型 9.栈桢详解 11.方法调用详解 12.基于栈的字节码解释执行引擎 1.Class文件结构 (1)Java跨平台的基础 字节码是各…

【学生管理系统】权限管理之角色管理

目录 6.3 角色管理 6.3.1 查询所有角色 6.3.2 核心2&#xff1a;给角色授予权限(菜单) 6.3.3 添加角色 6.3 角色管理 6.3.1 查询所有角色 1&#xff09;后端【已有】 2&#xff09;前端 要求&#xff1a;左右分屏 <template><div><el-row><el-c…

ArrayList 和LinkedList的区别比较

前言 ‌ArrayList和LinkedList的主要区别在于它们的底层数据结构、性能特点以及适用场景。‌ArrayList和LinkedList从名字分析&#xff0c;他们一个是Array&#xff08;动态数组&#xff09;的数据结构&#xff0c;一个是Linked&#xff08;链表&#xff09;的数据结构&#x…

深度学习笔记(4)——视频理解

视频理解 视频理解的问题:视频太大了 解决方案:在切片上训练,低FPS,低分辨率 测试的时候:在不同的clips上运行模型,取平均预测结果 视频由图片序列组成: 单帧CNN模型 训练普通的2D CNN模型,对每一帧进行分类&#xff0c;通常是视频分类的一个非常强的基线方法。 Late Fusio…

前端项目 npm报错解决记录

1.首先尝试解决思路 npm报错就切换yarn &#xff0c; yarn报错就先切换npm删除 node_modules 跟 package-lock.json文件重新下载依 2. 报错信息&#xff1a; Module build failed: Error: Missing binding D:\vue-element-admin\node_modules\node-sass\vendor\win32-x64-8…

【AI大模型】探索GPT模型的奥秘:引领自然语言处理的新纪元

目录 &#x1f354; GPT介绍 &#x1f354; GPT的架构 &#x1f354; GPT训练过程 3.1 无监督的预训练语言模型 3.2 有监督的下游任务fine-tunning &#x1f354; 小结 学习目标 了解什么是GPT.掌握GPT的架构.掌握GPT的预训练任务. &#x1f354; GPT介绍 GPT是OpenAI公…

elasticsearch-java客户端jar包中各模块的应用梳理

最近使用elasticsearch-java客户端实现对elasticsearch服务的Api请求&#xff0c;现对elasticsearch-java客户端jar包中各模块的应用做个梳理。主要是对co.elastic.clients.elasticsearch路径下的各子包的简单说明。使用的版本为&#xff1a;co.elastic.clients:elasticsearch-…

前后端分离(前后端交互步骤)

1.设计数据库 /*Navicat Premium Data Transfer ​Source Server : localhost_3306Source Server Type : MySQLSource Server Version : 80037 (8.0.37)Source Host : localhost:3306Source Schema : studymysql ​Target Server Type : MySQL…

【VulnOSv2靶场渗透】

文章目录 一、基础信息 二、信息收集 三、漏洞探测 四、提权 一、基础信息 Kali IP: 192.168.20.146 靶机IP&#xff1a;192.168.20.152 二、信息收集 nmap -sS -sV -p- -A 192.168.20.152 开放了22、80、6667等端口 22端口&#xff1a;openssh 6.6.1p1 80端口&…

无需训练!多提示视频生成最新SOTA!港中文腾讯等发布DiTCtrl:基于MM-DiT架构

文章链接&#xff1a;https://arxiv.org/pdf/2412.18597 项目链接&#xff1a;https://github.com/TencentARC/DiTCtrl 亮点直击 DiTCtrl&#xff0c;这是一种基于MM-DiT架构的、首次无需调优的多提示视频生成方法。本文的方法结合了新颖的KV共享机制和隐混合策略&#xff0c;使…

SpringBoot对静态资源的映射规则

目录 什么是SpringBoot静态资源映射&#xff1f; 如何实现SpringBoot静态资源映射&#xff1f; 1. webjars&#xff1a;以jar包的方式引入静态资源 示例&#xff1a; 2. /** 访问当前项目的任何资源 示例一&#xff1a; 示例二&#xff1a; 3. 静态首页&#xff08;欢…

【EtherCATBasics】- KRTS C++示例精讲(2)

EtherCATBasics示例讲解 目录 EtherCATBasics示例讲解结构说明代码讲解 项目打开请查看【BaseFunction精讲】。 结构说明 EtherCATBasics&#xff1a;应用层程序&#xff0c;主要用于人机交互、数据显示、内核层数据交互等&#xff1b; EtherCATBasics.h &#xff1a; 数据定义…

【论文阅读】Reducing Activation Recomputation in Large Transformer Models

创新点&#xff1a; 针对Transformer结构&#xff0c;通过序列并行和选择性重计算激活值&#xff0c;在节省显存空间占用的情况下&#xff0c;不带来明显通信开销&#xff0c;同时减少重计算成本。 总的来说&#xff0c;就是在原有的张量并行的基础上&#xff0c;对LayerNorm和…

Linux arm 编译安装glibc-2.29

重要的话说三遍&#xff1a; &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;不要轻易自己去安装glibc&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;不要轻易自己去安装glibc&a…

STM32完全学习——FLASH上FATFS文件管理系统

一、需要移植的接口 我们通过看官网的手册&#xff0c;可以看到我们只要完成下面函数的实现&#xff0c;就可以完成移植。我们这里只移植前5个函数&#xff0c;获取时间的函数我们不在这里移植。 二、移植接口函数 DSTATUS disk_status (BYTE pdrv /* Physical drive nmuber…

Docker使用——国内Docker的安装办法

文章目录 参考资料前言Mac安装办法Homebrew 安装1. 直接下报错2. 安装homebrew&#xff0c; 用国内镜像3. 安装Docker4. 启动docker服务5. 测试是否安装成功 参考资料 鸣谢大佬文章。 macOS系统中&#xff1a;Docker的安装&#xff1a;https://blog.csdn.net/sulia1234567890…

Java-38 深入浅出 Spring - AOP切面增强 核心概念 相关术语 Proxy配置

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

【CSS in Depth 2 精译_096】16.4:CSS 中的三维变换 + 16.5:本章小结

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第五部分 添加动效 ✔️【第 16 章 变换】 ✔️ 16.1 旋转、平移、缩放与倾斜 16.1.1 变换原点的更改16.1.2 多重变换的设置16.1.3 单个变换属性的设置 16.2 变换在动效中的应用 16.2.1 放大图标&am…

iOS 苹果开发者账号: 查看和添加设备UUID 及设备数量

参考链接&#xff1a;苹果开发者账号下添加新设备UUID - 简书 如果要添加新设备到 Profiles 证书里&#xff1a; 1.登录开发者中心 Sign In - Apple 2.找到证书设置&#xff1a; Certificate&#xff0c;Identifiers&Profiles > Profiles > 选择对应证书 edit &g…

【HENU】河南大学计院2024 计算机网络 期末复习知识点

和光同尘_我的个人主页 一直游到海水变蓝。 计网复习 第一章互联网组成类别交换方式分组交换的要点&#xff1a;分组交换的优点&#xff1a; 网络性能指标体系结构网络协议五层协议 第二章&#xff1a;物理层物理层的主要任务&#xff08;四大特性&#xff09;通信的三种方式…