ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ABAP-VA01保存前增强

2022-08-26 16:01:11  阅读:135  来源: 互联网

标签:增强 SAVE USEREXIT 保存 ABAP DOCUMENT VA01


需求:VA01、VA02、VA03订单保存时,需要做一个check的增强

方法:注意检查的增强用的是USEREXIT_SAVE_DOCUMENT_PREPARE,而不是USEREXIT_SAVE_DOCUMENT(保存检查不通过会跳号)

INCLUDE程序:MV45AFZZ


要注意的是:无论是在SAVE_DOCUMENT_PREPARE或者SAVE_DOCUMENT中,都不会获得销售订单号码(VA01时)

解决方案:包含文件 MV45AFZA里的USEREXIT_REFRESH_DOCUMENT 这个功能。运行到这个的时候,已经保存在地表里了。不过有好多的操作都会运行到这里,比较刚进行订单就点击了后退,所以还要再特殊处理一下,当用户保存的时候就是在 USEREXIT_SAVE_DOCUMENT 这个增强里,放一个标识到程序的缓存里,当最后运行 USEREXIT_REFRESH_DOCUMENT 这个增强时,再把标识读取出来,查看是否要进行自己的操作,不过这个时候内存的数据都被清空了, 我们可以在VEDA这个结构里拿到凭证号,再从底表里读取出来进行相关的操作。或者直接把订单号放到程序的缓存里和标识放在一起,到时再使用也是可以的。import p_matnr_lc = LLSBL from memory id  ‘TPJ1’ 就是用这种方式的。

 

标签:增强,SAVE,USEREXIT,保存,ABAP,DOCUMENT,VA01
来源: https://www.cnblogs.com/ap-ad-java-abap/p/16627817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有