问题描述

在执行JOB后台程序时,发现JOB状态为已取消。


双击JOB,进入JOB详细界面,点击作业日志查看报错详细内容


查看具体的报错项目


进入Tcode ST22

通过筛选找到具体的报错


双击进行详细内容界面,在此处可以查看到具体的报错原因以及处理方法。


关于此问题的解决方法

请参阅[https://me.sap.com/notes/2180736/E][https://me.sap.com/notes/2180736/E]


查看程序在终止时的占用内存


查看SAP配置文件的内存配置情况

通过Tcode RZ11查看参数的配置情况


查看Extended memory扩展内存使用情况

查看参数ztta/roll_extension的配置信息。

通过查询信息可以看到在程序终止时的EM内存使用为15,003,359,984,已经超过系统配置的参数值。


查看Heap堆内存使用情况

查看参数abap/heap_area_nondiaabap/heap_area_dia的配置信息


可以看到在程序终止时的值也已经超出配置范围


修改实例参数配置文件

[!note]
关于此问题的解决,通常为进行代码优化或者调整参数的配置值。
在调整参数值时,可以选择修改缺省参数文件,这样的话所有的SAP实例的参数值都会被修改。
或者只修改单一实例的参数值,这样的话,只会影响一台应用的值。可以选择一台内存占用率比较低的实例进行修改,这样不会对其他应用造成影响。后续在执行job任务的时候只选择在调整了参数的实例上执行即可。

具体如何修改SAP参数文件可以查看文档SAP实例修改参数文件

需要修改以下内容,重新调整EM与堆内存大小以满足程序运行需求。

1
2
3
4
5
6
7
8
9
# add new heap_area value by wuxiaohui on 20240205

abap/heap_area_nondia = 8000000000

abap/heap_area_dia = 8000000000

# add new roll_extension value by wuxiaohui on 20240205

ztta/roll_extension = 18000000000