点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
图一 选定对象类型 选择对象中的表 选择表中的字段 选择要修改的数据 点击执行后, 选择要修改的数据 批量修改 输入关键字后,系统会显示所有该数据的字段内容. 此时可以批量修改字段内容. 通过文件导入 需要事先准备EXCEL文件, 文件中输入关键字列和要修改的字段列及内容(可以不带标题) 选择文件属性 映射字段 预览数据 显示待变更数据 进入和选择数据相同的内容(不同的是,此时目标值已经填写) 执行测试按钮 保存修改 点击保存,完成修改 查看结果 查看商品的变更记录 执行ZUP_ANY 下载模板 下载模板,在模板中填写数据,重要字段通过批注描述字段的用法 导入数据 点击执行后,数据写入内表 进入处理 点击保存后, 进入数据处理程序 执行处理 选中行,点击处理,此时报错,因为修改的是标准表的标准字段, 所以需要配置一下. 配置字段允许 配置标准字段允许修改(ZTUP_ANY_C1) 执行通过 查看变更结果 查看商品的变更日志 MASS的优点 通过步骤引导用户选择要修改的对象,表,字段.通过选择或导入指定要变更的数据. 允许批量修改为目标值. 提供了测试功能, 记录了应用日志, 记录了变更文档. 标准程序,用户更有信心使用. 可以同时修改同一个表的多个字段 业务关联修改系统自动处理((比如MLAN-TAXM1修改后系统自动调整MARA-TAKLV) MASS的缺点 支持对象有限,目前有27个对象的相关表中的字段允许修改. 修改增强字段需要额外配置(比如商品MARA的增强字段,需要先配置字段状态组,才能用MASS修改) 性能较差(因为要校验的逻辑过多) ZUP_ANY的优点 任意表的非关键字都允许修改 默认支持自定义表或标准表的增强字段修改 对联合主键,允许使用通配符修改大量数据(如图二) 通过码表校验修改的字段内容 记录变更文档(自动识别待更新表/字段的变更对象) 记录下传控制表 便于处理不同数据的不同目标字段内容 修改信息同时记录在(ZTUP_ANY和变更文档中) 可以同时修改多个表的不同字段 ZUP_ANY的缺点 非查询式修改(待修改的数据需要用其它方式查询出来) 需要用户自行联合主键到一个字段中(需要注意主键顺序),如图二 对于标准字段的修改需要先行验证并配置(配置表:ZTUP_ANY_C1) 业务关联修改需要自行处理(比如MLAN-TAXM1 需要关联修改MARA-TAKLV) 下传控制表记录可能缺失(比如修改EKPO的字段,则无法记录采购订单的下传控制表ZTIFEKKO) 图二 内容记录 导入的数据写入表ZTUP_ANY 通过四个字段存放所有表变更的信息 TABNAME 表名 TABKEY 主键 FIELDNAME 字段名 FIELDVALUE 字段值 处理程序 处理程序ZUP_ANY_PROC调用处理函数Z_BAPI_ANY_TABLE_UPDATE 函数中对于传入的数据执行如下校验 检查传入的数据属于同一个表 检查传入的数据主键相同. 检查字段是增强字段,或者是配置表中允许的字段 字段内容存在与码表内容中 调用动态SQL语句更新数据后, 查找表对应的变更对象,写入变更表CDHDR/CDPOS, 查找表对应的下传控制表,写入下传控制表 下传控制表: 主数据或单据保存后,通过配置表判断是否需要通过特定接口下传,如果需要,则把主键与接口编号写入特定的下传控制表,后续下传程序读取该下传控制表与业务表获取要下传的数据. 约定 如果你对这篇文章感兴趣,请帮忙点赞,在看,分享. (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.) 公众号 : syjf1976_abap ABAP开发技巧 微信号 : 392077 请微信联系管理员: syjf1976 sharry_xlp Yannick_Duan 申请进入公众号讨论群