The following figure shows selected tables, authorization objects and utility programs that are used in background processing:

Tables in Background Processing
Table TBTCO is often called the batch main table. Each batch job has exactly one entry in this table.
Job steps data are stored in table TBTCP. There is a 1:n relationship between TBTCO and TBTCP. TBTCP contains one entry for each job step.
Table TBTCS contains information of all time based jobs (job, with start condition Date / Time), which have not started yet (job, with start condition Date / Time). There is one entry for each such job. The time based scheduler, which is a part of the batch runtime system, select jobs from this table in small periods of time and start it.
Similar to TBTCS table, table BTCEVTJOBS contains information of each event based job, which is still "waiting" for its event to start.
Table TBTCCNTXT is used for storing the application specific return code of a job and the parent child information of jobs.
Certain activities of the batch runtime system are recorded in table BTCCTL .For example: the time stamp of the last execution of the time scheduler and event scheduler.
The table BTCOPTIONS finally can be considered as a configuration table.
Authorization Objects in Background Processing
A user with BTCADMIN = Y for authorization object S_BTCH_ADM can
Access background jobs in all clients of an SAP system. In the job overview, the system displays all background jobs throughout the system.
Note
Without this authorization, users can only work on background jobs in the clients in which they are logged on.- Perform all functions on background jobs.
- Execute external programs in job steps.
Other values for BTCADMIN for this authorization object may for example allow to copy other users' jobs or create periodic jobs.
The authorization object S_BTCH_JOB consists of the authorization fields JOBACTION and JOBGROUP. JOBGROUP must always have the value *. For JOBACTION, you can assign the values: PLAN (copy or repeat other users' jobs), DELE (delete other users' background jobs.), RELE (release jobs (including your own)), SHOW (display definitions of other users' jobs), and MODI (modify other users' jobs.).
Note
A user without any specific authorization for jobs may perform the following actions:
- Schedule jobs for which the job class is C and cannot be changed.
- View and change steps of his or her own jobs.
- Delete his or her own jobs.
- View the job details of his or her own jobs.
Authorization object S_BTCH_NAM (with authorization field BTCUNAME – user name that a user can specify as an authorized user) determines the authorized users, which users can choose from when scheduling a background job.
Note
With authorization object S_BTCH_NA1, an enhancement is available that also checks the program to schedule as well as the user (additional authorization field PROGNAME for the name of the program they want to run in the background).
Hint
Finally, authorization object S_LOG_COM (with authorization fields COMMAND for the name of the external commands, OPSYSTEM for the type of operation system on the target host) and HOST (for the hostname of the target host) needs to be assigned to users who want to create job steps with external commands in background processing. For more information, see SAP Note 854060 – Authorizations for external commands.
Note
Selected Utility Programs
A number of utility programs already exist for certain tasks within background processing. SAP Note 997328 – Utility programs for background processing lists some of them together with specific SAP Notes for each of the programs. These programs have been extended over time. For example, SAP Note 1439806 – Listing jobs according to their frequency ships report BTCAUX14 which (among others) list how often a particular job runs in a certain time period.
In the same way, SAP Note 1180215 – Test programs for the XBP interface also contains a list of programs including a link to additional SAP Notes.

