SAP ABAP 因系统维护使ABAP语法不再被支持导致使用很久的程序报错问题之分析
所在项目客户的一家工厂上线已经超过半年,其业务部门提出一个使用了半年的RF枪程序,突然不能使用了。程序直接Dump了:
经过调查,上个周末客户SAP团队对服务器做了一次maintenance。
因此我们初步断定,是此次maintenance里可能是有Kernel升级了,导致之前的程序的语法不能用了。我们找到相关的代码,发现如下代码里(line 447):
Insert into chvw_pre values ls_chvw_pre accepting duplicate keys.
向表里插入单条数据的时候,之前是接受duplicate key的,即使不能成功插入数据库,但是至少不会DUMP。
现在Kernel升级之后,不能接受这种语法了,在insert语句里。把语法做了调整之后,程序运行恢复正常了。
2016-12-20 下午写于武汉市经开区.