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.
"--------------------@斌将军--------------------
相关文章:
BAPI_BATCH_CHANGE在更新后不自动更新批次特征
1、问题介绍 在CL03中看到分类特性配置了制造日期字段,并绑定了生产日期字段MCH1~HSDAT MSC2N修改批次的生产日期字段时,自动修改了对应的批次特性 但是通过BAPI:BAPI_BATCH_CHANGE修改生产日期时,并没有更新到批次特性中 2、BAPI…...
顶会评测集解读-AlignBench: 大语言模型中文对齐基准
评测集社区 CompssHub 作为司南 OpenCompass大模型评测体系的重要组成部分,致力于简化并加快研究人员和行业人士搜索和使用评测集的过程。评测集社区 CompssHub 目前已收录了学科、推理、知识、代码等12个方向的评测集,欢迎大家探索。 为了将评测集社区…...
MySQL外键类型与应用场景总结:优缺点一目了然
前言: MySQL的外键简介:在 MySQL 中,外键 (Foreign Key) 用于建立和强制表之间的关联,确保数据的一致性和完整性。外键的作用主要是限制和维护引用完整性 (Referential Integrity)。 主要体现在引用操作发生变化时的处理方式&…...
【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的网上书店管理系统的设计与实现
开题报告 本研究论文主要介绍了基于Spring Boot框架开发的全面网上书店管理系统的构建与实现。该系统以用户为核心,提供了丰富的个性化服务功能。首先,系统支持用户进行便捷的登录注册操作,并具备安全可靠的密码修改机制,同时允许…...
力扣面试题 - 40 迷路的机器人 C语言解法
题目: 设想有个机器人坐在一个网格的左上角,网格 r 行 c 列。机器人只能向下或向右移动,但不能走到一些被禁止的网格(有障碍物)。设计一种算法,寻找机器人从左上角移动到右下角的路径。 网格中的障碍物和空…...
ElementPlus 自定义封装 el-date-picker 的快捷功能
文章目录 需求分析 需求 分析 我们看到官网上给出的案例如下,但是不太满足我们用户想要的快捷功能,因为不太多,因此需要我们自己封装一些,方法如下 外部自定义该组件的快捷内容 export const getPickerOptions () > {cons…...
二百八十二、ClickHouse——删除Linux中的ClickHouse
一、目的 由于ClickHosue的库表发生变化,需要删除原有的表结构数据,才能直接把脚本里文件重新安装 二、删除步骤 1、关闭ClickHouse服务 systemctl stop clickhouse-server 2、卸载ClickHouse软件包 sudo yum remove clickhouse-server clickhouse…...
c++ 命名空间使用规则
之前一直没搞懂为什么c 用了using namespace std;就能直接调用内部的类,直接调用内部函数 今天试着实现了一下: #include <iostream>// 命名空间 namespace mp{ class point{public: // 构造函数point(int x 0, int y 0) : x(x), y(y) {}//…...
从 ELK Stack 到简单 — Elastic Cloud Serverless 上的 Elastic 可观察性
作者:来自 Elastic Bahubali Shetti, Chris DiStasio 宣布 Elastic Cloud Serverless 上的 Elastic Observability 正式发布 — 一款完全托管的可观察性解决方案。 随着组织规模的扩大,一个能够处理分布式云环境的复杂性并提供实时洞察的可观察性解决方…...
Pandas系列|第二期:Pandas中的数据结构
1.Pandas中的数据结构:Series和DataFrame Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。 Series 是一…...
Hadoop中MapReduce过程中Shuffle过程实现自定义排序
文章目录 Hadoop中MapReduce过程中Shuffle过程实现自定义排序一、引言二、实现WritableComparable接口1、自定义Key类 三、使用Job.setSortComparatorClass方法2、设置自定义排序器3、自定义排序器类 四、使用示例五、总结 Hadoop中MapReduce过程中Shuffle过程实现自定义排序 一…...
数位dp-acwing
题目:Windy数 1083. Windy数 - AcWing题库 分析 不能有前导0,初始化的时候需要有前导0,因为除了最高位数其他位数可以。 windy : 2 5 1 类似这样的数 第二位与第一位相差3 > 2 分类讨论 : 1. 位数跟 n 同位数 的…...
智慧园区小程序开发制作功能介绍
智慧园区小程序开发制作功能介绍 智慧园区小程序系统作为一款面向园区企业的一站式线上服务平台,可为企业提供数智化的园区办公服务。智慧园区小程序功能介绍 1、园区公告、政策信息查看足不出户掌握最新动态,“园区公告、政策信息”等信息。首页点击对应…...
STM32高级 物联网之Wi-Fi通讯
Wi-Fi基础知识 Wi-Fi由来 Wi-Fi,又称“无线网路”,是Wi-Fi联盟的商标,一个基于IEEE 802.11标准的无线局域网技术。“Wi-Fi”常写作“WiFi”或“Wifi”,但是这些写法并没有被Wi-Fi联盟认可。 Wi-Fi这个术语经常被误以为是指无线保真(Wireless Fidelity),类似历史悠久的…...
LLM预训练recipe — 摘要版
文章核心主题: 本文深入探讨了从零开始进行大型语言模型(LLM)预训练(pretrain)的各个环节,侧重方法论和实践细节,旨在普及预训练过程中的关键步骤、常见问题及避坑技巧,而非技术原理…...
波动理论、传输线和S参数网络
波动理论、传输线和S参数网络 传输线 求解传输线方程 对于传输线模型,我们通常用 R L G C RLGC RLGC 来表示: 其中 R R R 可以表示导体损耗,由于电子流经非理想导体而产生的能量损耗。 G G G 表示介质损耗,由于非理想电介质…...
nginx-1.23.2版本RPM包发布
nginx-1.23.2-0.x86_64.rpm用于CentOS7系统的安装,安装路径与编译安装是同一个路径。安装方法: 将nginx-1.23.2-0.x86_64.rpm上传至目标服务器,执行rpm -ivh nginx-1.23.2-0.x86_64.rpm命令进行安装。 卸载方法: 卸载前先将nginx服…...
如何用WPS AI提高工作效率
对于每位职场人而言,与Word、Excel和PPT打交道几乎成为日常工作中不可或缺的一部分。在办公软件的选择上,国外以Office为代表,而在国内,WPS则是不可忽视的一大选择。当年一代天才程序员求伯君创造了WPS,后面雷军把它装…...
LabVIEW应用在工业车间
LabVIEW作为一种图形化编程语言,以其强大的数据采集和硬件集成功能广泛应用于工业自动化领域。在工业车间中,LabVIEW不仅能够实现快速开发,还能通过灵活的硬件接口和直观的用户界面提升生产效率和设备管理水平。尽管其高成本和初期学习门槛可…...
Elasticsearch:normalizer
一、概述 Elastic normalizer是Elasticsearch中用于处理keyword类型字段的一种工具,主要用于对字段进行规范化处理,确保在索引和查询时保持一致性。 Normalizer与analyzer类似,都是对字段进行处理,但normalizer不会对字段进…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
