今天碰到一个需求,需要在事务码XD02修改客户数据之后保存之后同时调用BDC录屏在XD05执行客户冻结的操作。当时拿到之后确实第一个想法就是找到XD02的合适的增强点,然后直接插入已经录好的BDC,尝试之后果然不行。
因为BAD的特性决定了不能存在FROM,所以就不行。紧接着就封装了一个BDC函数,继续尝试,这次是BDC返回 SY-SUBEC = 1001 的错误,这个错误在BDC中代表了,批量输入错误,可能是数据问题,也可能是操作问题。因为得不到具体的错误,用到了下面这个函数去捕捉错误信息。
捕捉错误信息,直接给一个字段LW_MSG。
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG =