当前位置: 首页 > ops >正文

ABAP,谨慎使用UPDATE更新底表

程序里发现了一段代码,使用UPDATE更新底表,仅有 groupid这一个条件

  "回写数据表LOOP AT lt_remsg INTO ls_remsg.UPDATE ztco0061_p SET xkjpz = ls_remsg-belnr WHERE groupid = ls_remsg-groupid."231201 begin 记录执行结果UPDATE ztco0061_p SET msg   = ls_remsg-res-msg WHERE groupid = ls_remsg-groupid."231201 end 记录执行结果ENDLOOP.

程序屏幕有四个条件 年、月、公司、设备类型

 正式区中,改程序已经上线两三年,数据条目30多万

 写个ZSQL

SELECT DISTINCT
groupid
xkjpz
msg
FROM ZTCO0061_P

 去除重复值后发现只有区区18笔凭证号

 修改代码,UPDATE更新底表时应该要与屏幕选择的一致,然后再添加其他需要的条件才不会改到其他正确的内容。

  "回写数据表LOOP AT lt_remsg INTO ls_remsg.UPDATE ztco0061_p SET xkjpz = ls_remsg-belnrmsg = ls_remsg-res-msg "231201 记录执行结果WHERE lfgja = p_year AND lfmon = p_month AND bukrs = p_bukrs and zctype = p_type "新增年、月、公司、设备类型的条件 By ZHF-250001AND groupid = ls_remsg-groupid.ENDLOOP.

推测用户以前可能在抛完了凭证就直接导了数据进行备份,然后现在程序上线了两三年才发现,现在查询底表的时候才发现数据已经被更改成错误的了。

http://www.xdnf.cn/news/8458.html

相关文章:

  • WCS-PZ100V4B15闭环霍尔电流传感器
  • 动态库和静态库详解
  • 推进可解释人工智能迈向类人智能讨论总结分享
  • 【数组的定义数组与内存的关系】
  • 【信息系统项目管理师】第18章:项目绩效域 - 45个经典题目及详解
  • antv/g6 图谱封装配置(二)
  • 七、OpenGL 2.0 可编程着色器实现渲染控制权转移的四大核心机制
  • 使用js 写一个函数 将base64 转换成file
  • linux初识--基础指令
  • 云蝠语音智能体——电话面试中的智能助手
  • 【数据架构07】数据智能架构篇
  • JavaScript数据类型完全指南:从基础到实战
  • 交流电能表基本介绍
  • 《Python语言程序设计》第4章第7题,这次利用之前学过的第7章的内容使用对象和类,来修改这道题
  • 仿真APP助力提升卡车驾驶室驾乘舒适度与安全性
  • 模型压缩,AWQ与GPTQ量化方法分析
  • 【信息系统项目管理师】第20章:高级项目管理 - 28个经典题目及详解
  • 学习日记-day14-5.23
  • Redis淘汰策略
  • vue pinia 独立维护,仓库统一导出
  • 虚拟机Centos7:Cannot find a valid baseurl for repo: base/7/x86_64问题解决
  • Linux 下使用 Sysbench 进行性能测试
  • ConceptAttention:Diffusion Transformers learn highly interpretable features
  • Tailwind css实战,基于Kooboo构建AI对话框页面(一)
  • 纸牌游戏(基于集合,和自定义排序实现)
  • linux_cmake的笔记
  • 从底层原理分析Python 常用字符串拼接方法效率差异
  • BeeWorks局域网聊天工具:打造智能高效的企业级即时通讯新生态
  • Spring生态的核心思想
  • 每周资讯 | 网易游戏发布会9款新品曝光;TikTok小程序测试开启