本文从传统的 SAPGUI,ABAP Development Tool 和 SAP BTP ABAP 编程环境这三种不同的平台,分别和大家聊一聊。
笔者刚加入 SAP 没多久,参加了一个 ABAP 后台作业相关的产品开发。
用户在浏览器 UI 界面点击 Save 按钮,会触发一个 ABAP 后台作业的执行。
当时项目需要用同一段 ABAP 程序,处理好几种场景。
在开发过程中,某些场景下后台作业会出现运行时异常,在事务码 ST22 里会生成一条记录。那时候我一直没能找到稳定复现该错误的方法,所以那段时间我很害怕打开 ST22,担心打开之后,又看到一条出错的记录。
后来慢慢有了经验,工作中也开始处理客户报过来的 incident.
对于发生在客户生产系统上的运行时错误,尤其是需要进行某些写操作,比如修改订单金额或者产品单价才会触发的运行时错误(正式称呼是会产生 Side-Effect 的操作),根本不允许我们通过重复执行操作,然后单步调试的方式来定位问题。
此时仔细分析 ST22 里的运行时错误记录数据,几乎是错误排查的唯一途径了。
SAPGUI 下的 ST22
我们在 SAPGUI 里通过 SE38 或者 SE80 执行 ABAP 程序,出现运行时错误,有且仅有一次机会