夜间批处理一旦跑到调用脚本、可执行文件、证书工具或者文件分发程序这一步,很多系统就会开始冒出一类很典型的报错,作业明明已经调度成功,SM69里的命令也维护好了,结果后台一执行,不是权限不够,就是网关拒绝,要不就是日志里只剩下一句外部命令启动失败。这个场景在SAP NetWeaver和ABAP Platform的运维里非常常见,而且它牵扯的并不只是一个 OS 命令能不能跑起来,而是一整条受控的执行链路。SAP 官方文档对这条链路给得很清楚,后台作业里的外部程序并不是由batch work process直接拉起,而是要穿过dispatcher、本地实例上的gateway,再由专门的控制程序sapxpg去启动真正的外部程序。只要这条链路里有一个环节不放行,作业就会停在半路。(SAP Help Portal)这件事为什么老被误解很多开发和运维同事第一次接触这块时,脑子里的模型都很直接,后台作业里有一个外部命令步,系统到了这个步,就去操作系统上执行那个命令。这种理解不算全错,但它漏掉了