运行期错误(Runtime error):SAP ABAP程序在运行过程中会因为一些不同的原因而终止。(比如内部内核错误、ABAP编程错误、资源瓶颈等)。
如果在执行ABAP程序时发生运行时错误,则会创建一个错误日志(Short Dump)。错误日志包含很多结构化和非结构化的信息,可以帮助开发者分析原因、寻找解决方案。
存储在系统中的错误日志在一段时间后(最长28天)被删除。
也就是说,我们通常所说的Dump,准确地说是一种日志,它是由运行期错误产生的。
表现在不同的环境,Dump可能有不同的表现,我们最熟悉的大概是SAP GUI的红色消息:
此外还有WEB UI的HTTP 500等,
问题案例
Dump的直接影响是让程序中断,这无疑会给用户带来麻烦。下面用一个故事来介绍它可能带来的危害。
有一个主数据批处理更新程序,它可以基于用户上传的数据在后台执行更新。 该程序会通过电子邮件将更新状态发送给用户。
某一天,用户上传了一些数据,该程序在后台运行时Dump。 因此该程序被终止,没有电子邮件发送给用户。 用户没有注意到他没有收到电子邮件,并认为数据已正确更新。
一周后,在后续业务流程中,用户发现数据不是最新的,导致自己的业务流程被迫中断。 他提了工单,并表示不满:“我可以接受该程序偶尔会失败,但是我需要及时获得反馈,以便让我知道结果是什么。”
然后,客服人员将问题转发给开发人员,开发人员开始进行调查程序问题。而中断的业务流程也必须等待数据更新后才能重启。
这个故事体现了一个常见的道理:在事故中,问题被发现的越晚,产生的后果就越严重。