Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
samarjeet_singh
Explorer

BACKGROUND PROCESS [BTC]

It is used to process time consuming, long running, expensive programs to run in the background in non-interactive mode during off-peak hours.

  1. Minimum two BTC processes are required for the system.
  2. BTC processes are defined by parameter

rdisp/wp_no_btc=2

Background Mechanism

1.      User submits the request

2.      Dispatcher handles the request.

3.      Dialog process saves the Inputs into BTC Tables

4.      A background scheduler that runs for every 60 seconds or based on the parameter that is defined in

rdisp/btctime =60 seconds

5.      Scheduler picks the jobs/programs with status ready and allocates the free BTC processes if available.

6.      The job/program can be finished/cancelled

Background Job Defination-:

As a part of the post installation the SAP Standard background jobs are defined in SM36 and DB13

SAP Standard jobs or housekeeping jobs are used to rearrange the background job tables/ update tables/ spool tables/ abap dump tables etc

Execute SM36-:

                        Click on standard jobs

                        Default Scheduling

Execute DB13-:

                        To schedule database specific standard jobs such as database backup, redo log backup and other database housekeeping jobs.

Custom Jobs/Programs-:

                                      Execute SM36 (Dialog process handles the request)

Specify the Job name-: The job name should be self-explanatory.

Specify the Job Class-: Class A, B and C

Class A-:

              Jobs are always processed before jobs of other classes. If the system has several background work processes, the BTC processing system reserves at least one process for the processing of “A” jobs.

                                                Jobs with high priority whose execution is available necessary for further processing are categorized as “A

Class “A” BTC processes are defined in Operation Mode.

Class B-:

                Jobs that should be run at regular intervals for example, jobs transferring performance statistics (Standard jobs schedules in SM36)

Class B jobs are processed before the Class “C” jobs.

Class C-:

                Jobs that neither fit into class A nor in class B. Do not require a HIGHER priority.

             Class “C” is the default class.

Job Statuses-:

Scheduled-:

                   When the jobs are defined and saved.

Released-:

                  When the execution time is specified and saved.

Ready-:


The job execution time occurs and ready to be picked up by the scheduler based on the available free “BTC” work processes.

Why the Jobs are in Ready Status for Longer Time????????????????????????????

  1. During Upgrade/ while applying support packages the BTC jobs are paused by a program BTCTRNS1 which can be resumed by program BTCTRNS2
  2. The parameter rdisp/btctime is 0 or to an higher value.
  3. The numbers of background work processes are not sufficient to handle the jobs. {Increase the processes using the parameter rdisp/wp_no_btc}.
  4. Check for overlapping jobs and reschedule them to some other convenient time whenever the processes are free (if it is permitted)
  5. Resources (CPU/Memory) bottle neck on the server where the existing processes are consuming more time to release the processes.

Define the emergency mode to change the dialog processes

            To background mode if dialog work processes are free.

Active-:

            The jobs are running (processing the requests)

Why the Jobs are in active status for Longer Time?????????????????????????????

  1. The system is congested and waiting for the configured memory (each processes can consume up to 512mb as extended memory)
  2. There may be a CPU bottle neck on the system (ST06)
  3. The report is executed for the first time and the number of records in the database are huge (Select, insert or modify)(expensive SQL statement)
  4. The program is waiting for the response from an external system/gateway. The source system or the target system resources bottle neck (no processes to handle the requests)

Finished-:

                 The job is completed successfully or terminated successfully. Analyze the job log in SM37.

Cancelled-:

                  The job is cancelled/Failed….

Reasons for Jobs cancelled/Failed-:

1.      The user id password mismatch or any authentication or authorization’s issues.

2.      Variant issue due to a program change

3.      File input and output errors (file corrupted, file could not be read, file not found, file with virus, file with junk character etc.)

4. Database issues (ORA-1653, ORA-1654, ORA-1631, ORA-1632, ORA-255, ORA-272 etc.).

5.      Space issue on the file system.

6.      Ports issue while connecting to the backend system-:ports are blocked.

7.      Memory issue or any other resource bottle neck.

8.      Failure of dependent jobs.

9.      Deadlocks in transactions

10.  The programs are not allowed to run in the background mode-: so run in the dialog mode.

11.  Live cache lock server/BIW server jobs are failed when they are not configured.

Execution Target Server-:

                                            Is the name of the Application server where job needs to be executed?

JOB STEP-:

                    It is used to specify the ABAP program.

VARIANT-:

                    The program requires inputs that are populated during runtime. Variants are the program selection criteria which are used to provide runtime values to the program.

                                    They are defined in SA38/SE38 example running a payroll requires a variant (from employee id to employee id)

                                    A sale report requires a variant (from date to date)

Defining the background job is not the scope of the BASIS consultant (except the standard jobs in SM36/DB13).

Do not own any background jobs and do not share the user id to run background jobs.

BTC Monitoring-:

  • Monitor the status of the jobs.
  • Do not kill any of the ACTIVE jobs which are inserting/updating the data into the database.
  • The jobs/programs related to reporting can be killed if they are choked.
  • The cancelled background jobs can be repeated in SM37.
  • If the application server could not handle the load then they can be moved to other alternate servers.

NOTE-: The jobs can be cancelled/ Repeated/ Deleted only and only upon approval from the Business Process Owner.

THIRD PARTY TOOLS-:

SAP certifies some of the third party tools like MAESTRO, TIDAL and REDWOOD scheduler.

These works on the conditions (if, else). They also get the out of one program and pass it as input to other programs.

SAP also provides up to certain extend but not so interactive like the above third party tools.

JOB START CONDITIONS-:

  1. Immediate
  2. Later date and time
  3. Immediate after a job
  4. Immediate after an event
  5. At operation modes switch

Regards

Samar





1 Comment
Labels in this area