There are Scheduled/Released/Ready/Active/Finished/Cancelled/Aborted and Released/susp. job status.
1) "Scheduled" status:
A job that has the status 'Scheduled' can never start.
The job has either been descheduled(Released->Scheduled), (in this case, the original start condition is still visible), or it never had a start condition.
※ 1, if user has no release privilege, The job stays in status "Scheduled" with start condition.
Object: S_BTCH_JOB
JOBACTION = RELE
※ 2, if the job is triggered from Third-party Software by BAPIs, if the job steps is not created correct by BAPI(BAPI_XBP_JOB_ADD_ABAP_STEP), the job will stays in "Scheduled" status and you will get "Definition of job is incomplete. Operation is not possible " error when double click the job.
2) "Released" status:
3) "Ready" status:
If the resource check finds a free work process for a background job that is to be executed, the system sets the status of this job to "Ready" and then uses the dispatcher to send a start message. In the normal situation, a background work process receives this message immediately and it then sets the status to "running". If a problem occurs during sending or receiving, the status of the job remains as "Ready" and the system no longer executes it. For details info, please refer to Job ready -- technical points and troubleshooting .
4) "Active" status:
Job status is saved in database table. If database problems or fatal work process problems happen, Job status could not be set in the database correctly. Therefore, you need to check if the job is really in running status or just job status is not updated into database table.
From "SM37 -> double click the problematic job -> job details", You can see the job "Executing Server" and the execute BGD work process. Afterwards, you can go to that server, SM50 to check if the corresponding BGD work process is really running or not.
Job is not running anymore(just job status is not updated)
If the status of the corresponding BGD work process is NOT "Running", which means that the job is not running anymore, only the job status is not updated to database table. Then you can do status check(e.g. SM37 -> mark job -> check status) to correct the status.
If the status check cannot set the jobs to 'canceled', probably the jobs are locked by something else, you can check SM12 to see if there is any locks on table TBTCO. After delete the locks manually, Make the status check in SM37 for the active jobs again. if you can not find out who lock the job, please restart the servers and then make the status check.
Job is really running
If the status of the corresponding BGD work process is "Running", which means that the job is running now, there is no problem.
5) "Canceled" status:
This job terminated/canceled during runtime. you can try to check "job log", system log(sm21), executed work process trace log to find out the cause of the termination.
6) "Finished" status:
This job has already completed without any problem.
7) "Released/susp." job status:
In special situations (e.g. during an Upgrade) jobs should not run, even if there start condition is full filled.
With the ABAP program BTCTRNS1, all jobs in status "released" can be suspended i.e. deactivated. The jobs then get the status "Released/susp."
With the program BTCTRNS2 the suspended jobs can be set to "released" again.
For more information, please see SAP NOTE 37425 - Cancel job during upgrade
sap得后台作业的启动方式可以是定时地,也是可以是事件触发的。后台作业里面包含一个或者多个步骤,每一个步骤则包含调用的程序,外部shell命令以及外部程序,也包含了调用者以及变量,还可以定义打印参数。后台作业的名字往往需要遵循一定的命名规则,用来明确该后台作业的重要程度,启动方式,作用等等。我们往往通过SM36去创建后台作业,(也可以通过SM36去查看SAP标准后台作业),通过SM37去监控和管理后台作业。
后台作业有Scheduled, Released, Ready, Active, Finished, Canceled六种状态。另外还可以指定执行的服务器组(后台job执行的服务器组可以用sm61来配置)。
Scheduled状态的job是创建了但是还没有release,这种状态的job是不会跑的。
Released状态的job在启动条件满足后会启动,
Ready就是启动条件满足后,系统开始为该job分配但尚未分配合适的后台进程的一个中间状态,
Active代表这个job正在运行当中,换言之,其相应的后台进程正在运行job某一个step得程序
Finished代表job得所有step都成功的完成了。
Canceled代表job在某一个step得运行过程中异常中止了。