之前写过VF02和MIRO的增强,这次顺带把F-02\FB01\FB02\FB03的增强也给写了
要求和之前的几乎一样,故代码直接用即可,唯一的问题就是找增强
增强查找方法很多博主都有分享(待更新)
F-02的屏幕增强:FI_HEADER_SUB_1300
找到了增强,就可以在SE19参照示范实施类新建BADI
注意,需要填写过滤器值(可多填),满足过滤器值才会运行增强
代码与前两篇类型,可参照着写
屏幕增强写好了,现在该写过账增强了
Debug发现过账程序在下图,再向下发现了更新函数POST_DOCUMENT
在FM:POST_DOCUMENT里面创建隐式增强
增强流程结束,下面是碰到的问题(笔记)
屏幕增强内表,此时内表的主键为空(还未过账),需要过账是保存到数据库中
笔者想用abap内存来实现该要求,后再Debug过程中发现abap内存进update fm被清空了,
在翻找一番后发现abap内存(export)可以将数据存储到SAP应用服务器上的SAP Memory中
SHARED MEMORY/BUFFER
DATA wa_index TYPE demo_indx_table.
EXPORT tab = gt_data TO SHARED BUFFER demo_indx_table(hk) FROM wa_index ID 'ZTEST'.
IMPORT TAB = lt_tax FROM SHARED BUFFER DEMO_INDX_TABLE(HK) TO WA_INDEX ID 'ZTEST'.
参考程序间数据共享与传递:EXPORT/IMPORT、SAP/ABAP Memory - 江正军 - 博客园 (cnblogs.com)
更新函数无法直接Debug,需要在debug时候在设置哪里开启更新调试(update debugging)
(UPDATE FM待更新)