🌴 SAP SM36 后台作业「实例」

前言

Q: 为什么需要使用「后台作业」?
  • 业务需求,需要周期性运行的任务
  • 如果一个报表查询时间过长(比如客户服务器配置过于一般,程序代码优化过于 xxx),那么为了保证程序成功跑完,建议让程序在后台(服务器端)跑,然后将结果返回给我们
  • etc.

创建作业

「SM36」- 输入「作业名称」

SAP-Back-Job-STAIN-01.png

「步骤」- 配置相关信息

SAP-Back-Job-STAIN-02.png

完成后,如下图所示:

SAP-Back-Job-STAIN-03.png

然后,F3 返回,点击「保存」当前作业

SAP-Back-Job-STAIN-04.png


配置作业

这里以每日定时作业为例

SAP-Back-Job-STAIN-05.png

配置完成后,「Ctrl + S」保存 即可


查看作业

「SM37」- 填写 & 勾选相关信息,查询即可

SAP-Back-Job-STAIN-06.png

PS: 也可以直接在「SM36」页面点击「作业选择」进入查询页面

SAP-Back-Job-STAIN-08.png

查询结果,如下图所示:

SAP-Back-Job-STAIN-07.png

  • 这里我们可以看到作业 ZWMR004_BJ_01 对应的状态是 已计划 ,说明我们的作业并没有被 释放(Release) 掉
  • 这意味着我们在「配置时间 / 周期 / 保存」操作时出现了问题导致没有释放(只有已释放的作业才能进入后台作业队列,否则毫无意义)

如何释放参见下图即可:点击释放后,我们只需要根据弹出界面提示,进行周期配置并保存即可

SAP-Back-Job-STAIN-13.png

这里给大家看一下,在正常的操作流程下,我们直接在「SM36」界面配置完成,并「Ctrl + S」保存后,作业 成功释放 后的消息提示效果

SAP-Back-Job-STAIN-14.png


更改 / 删除作业

「选中作业」-「菜单栏」-「更改」/「删除」

SAP-Back-Job-STAIN-12.png

注意:「已取消」和「已完成」的作业是 无法进行修改的

调试作业

选中 要调试的后台作业,TCode 输入:JDBG

然后 F7 一直跑,直到看到「熟悉的程序代码」即可自行调试


补充

创建后台作业还可以在程序选择屏幕界面 [ 选择好变式之后 ],选择后台执行,后续步骤相同

SAP-Back-Job-STAIN-09.png

如果作业状态为「已取消」,且不是自己手动取消,那么就是 程序内部错误异常

SAP-Back-Job-STAIN-10.png

双击当前作业,查看「作业日志」,可以看到错误日志信息,ST22 可以查看具体 DUMP 信息

SAP-Back-Job-STAIN-11.png


如何在程序内部判断当前程序是否在进行后台作业?
  • 使用系统参数 SY-BATCH 判断即可
IF sy-batch = 'X'.
  " ...
ENDIF.
您阅读这篇文章共花了:
打赏
评论区
头像
文章目录
节
春