Job Launcher

Optimise and give more flexibility in batch job management

Application Overview

Run standard program with extended selection criteria :

  • Because most of the standard SAP programs offer very little selection criteria, to match Customer business organisation
  • E.g. selection on SNP planner, procurement type, etc.
  • Allows to run network Heuristic or deployment with restriction to business like Country, planner whereas Std network heuristic run on all locations of a product
  • Created to give more flexibility in batch job management
  • Reduce maintenance of batch job effort
  • Optimise batch runtime by parallelizing jobs
  • Possibility to define parallel child jobs
  • Simplifying batch job management
  • Because extended selection allows simplifying the job maintenance to better fit the requirement

Originally developed to help customer project with large batch job scheduling requirements, when performance becomes critical as well as, business separation cannot be handled easily with SAP standard proposition.

Usual encountered problem:

SAP standard programs rarely offer flexible selections, most of the time, selection fields are –Product code – Location code – Planner, this in a typical SCM landscape
With so little selection, organizing complex batch schedule between several business unit (BU) whereas avoiding the overlap of similar selection in different execution becomes critical, particularly in central SCM, APO or SAP-ECC instances

It is not possible to sequence dynamically jobs according to SCM network unless reviewing batch job definition and variant manually.

Parallelizing for performance reasons is technical and does not let much action in detail setting, often at trouble with the numerous slice of job to manage together.

Finding back in job logs and spool, which job performed such program for such product. It is even sometime just not possible.
Sequencing of jobs is often outsourced to external application (TIVOLI…)

SCM Job Launcher Solution’s strengths:

DOWAP solution consist in a providing an umbrella program, a shell, (DOWAP Job Launcher) that includes dynamic selection definition, in order to closely fit to each individual project, so that multiple BU management is easily handled via explicit master data fields of your own choice, not SAP standard related only. For instance, organizing jobs by country, by product group, for a dedicated product status, etc. In many case, using Job Launcher simplify the SAP application itself, from a user perspective, as no tradeoff is required to maintain such planner, for instance, because of batch job.

DOWAP Job Launcher includes also a slicing logic that allows you to run sap standard program (Heuristic, RLCDELETE, MRP etc..) with huge selection and easily determine that it must be subdivided in several parallel jobs, without any effort. You only need to schedule a single job, regardless the number of actual slices you want to run. The only constrain: have enough CPU to handle the many slices. The monitoring application (eg TIVOLI, CONTROL-M, $U..) control only DOWAP Job Launcher jobs and not the many slice due to parallelizing the Job Launcher.

SAP-SCM domain often relates to organize job in particular sequence, like network from factory to Distribution centers, or vice versa, in order to perform functional calculations. For instance: Deployment to be scheduled from a factory to a regional DC then to a local DC, in 2 stage SCM network. With JOB LAUNCHER in a single job you can run this deployment in the corresponding sequence so that deployed quantities from the factory eventually arrived on the local DC. JOB LAUNCHER is capable to respect the SCM network defined at product level and not only at location level.

With DOWAP Job Launcher, you can organize any other program with such constraints.

DOWAP Job Launcher also offer a cross application log to later understand what job hit such product or location

DOWAP Job Launcher like any SAP program respect predecessor constraints being event, jobs or just given times slot.

DOWAP Job Launcher constructs a job log cross reference while releasing child jobs, so that you can later quickly access the spool and other job logs issued by standard program by simply selecting product and locations.

Examples

This is difficult to capture the whole Job Launcher concept in a quick reading, therefore we propose here below 2 examples that may illustrate and emphasize what are the true benefits of running Job Launcher.

Example 1

Let’s assume a company running APO for a European (10 countries) instance including 10 different BU and 5 product categories, for DP, SNP and PPDS. Each BU is organized hierarchically by country for given processes and European wise for others.

In a standard APO implementation:

  • Location will be explicitly named in batch job selection in order to reflect the country dimension. Any new location or obsolete or change affects all jobs. Job maintenance is heavily required to fit business changes
  • 10 BU, quite often represented with SNP or PPDS planner codes. This is a master data constraint moreover considering this is maintained in APO not in central in SAP-ECC. No possibility to have multiple BU/ sku, often managed with manual product code in variant instead. Probably the worse situation
  • 5 product categories, quite often represented like the BU, therefore multiplying the planner codes and therefore the selection in jobs
  • Sequence of job between DP, SNP and PPDS is important and must respect predecessor and successor. This is maintained manually in the sequence of jobs themselves.
  • Sequence of location is different from product to product. E.G product 1 is produced in location 1 and sold in location 2, whereas Product 2 is the other way round. In such case this leads to max 4 different jobs to be maintained manually.

With DOWAP Job Launcher, every schedule that is country relevant would select on the location country field, directly. Therefore when a new location is included in the country, it is automatically processed without any job refining, on the next run. This is what we call dynamic mapping to business evolution

With DOWAP Job Launcher, BU can be represented with any field of your choice, not necessarily the planner, offering a clearer job management, and a simple master data management for user. For instance, a classification. This could even be one of your custom tables.

With DOWAP Job Launcher, Product Categories can be represented with any field of your choice, not necessarily the planner, offering a clearer job management. For instance: the product group coming from SAP-ECC.

With DOWAP Job Launcher, you can schedule a single job to calculate an MPS in PPDS, on all locations at the same time, while respecting the network definition maintained in transportation lane. This is just not possible in APO standard thru PPDS module.

With DOWAP Job Launcher, you can ask 100+ parallel jobs to shrink the execution job window as the volume increase. Of course you must have enough processor to handle parallel jobs otherwise jobs may wait available CPU.

You may implement DOWAP Job Launcher on any of the SAP products (ECC, BW…), most of the logic is applicable as well.

DOWAP is keen adapting or even extending the JOB LAUNCHER product to further requirements. Feel free to ask.

DOWAP also offers a complementary solution Dowap DP Job Launcher that does similar activities but related to specific APO DP jobs, which are known as complex to set up.

Example 2

Let’s assume a company running APO for 3 countries. Using Job Launcher allows defining only 3 single jobs with their respective start date-time, according to time zone for instance.

Each job is fine tuned to call for a number of slice (child job) run in parallel. Herebelow for instance:

Country 1 is a big one with a lot of data, therefore JOB 1 calls for 50 parallel child jobs, by just setting a single parameter in variant.

Country 2 is smaller and 3 as well so that they call for 10 and 15 slices. All slices are scheduled to start when data cleansing is performed at night, around 6 o 8:00

Each slice includes numerous steps that respect for each individual product the network order so that replenishment logic is respected.

job-launcher-example1

Product Visual

Whereas the SCM Job Launcher is not designed for end users, DOWAP made it so simple to manage that couple minutes only are required to understand how to run it for your first time.

Here below is the setting screen that allows you defining the number of slices, the way you want to explore the SCM network, what ABAP program is to be release with Job Launcher what variant is to be used with this report, when to start the child jobs once they are created, etc..

job-launcher-example2

Field description

Child name: Name of the child jobs to be created
Number of parallel child: Number of the maximum amount of slices the job can be spliced. Please note that if the amount of SKU is not sufficient, the maximum amount of slices will not be reached.

Start Date / time: Predetermined date and time in the variant
Start after job: Predecessor Job name to be completed until this job starts
Start After event: Event to be triggered to start this job
Wait time between checking loop: Predetermined amount in seconds between checks in the job sequence
Kill all child jobs on error: Will cancel all the child jobs if any failed.

Abap Report: Program to be triggered
Abap Report’s variant: Program variant to used, this variant must be created prior and with default values and the job launcher will replace them according to the selection

Sort Order for slicing
Product: sliced sequence will be done by product
Location: slicing sequence will be done by location
Product Location: slicing sequence will be done by product-location
From Source to Destination: based on the low level code, the slicing sequence will be splited on the network from the source to destination (lowest to highest level)
From Destination to Source: based on the low level code, the slicing sequence will be splited on the network from the destination to the source (highest to lowest level)

Material’s field in report: Depending on the program triggered and on the selection fields (tab “Selection criteria”) made, corresponding material technical name
Location’s field in report: Depending on the program triggered and on the selection fields (tab “Selection criteria”) made, corresponding location technical name
As a reminder, in order to find the name of the field, go in the transaction that will be triggered with the job launcher and select the field, button F1 and display technical details

Then on the other tabs you define the business selection criteria that relate to your job. Note the available selection of fields are easily extended by maintaining a table (explain below in the “Extension of the selection fields”)

job-launcher-example3

Extension of the selection fields

The table ZDWP_FLEX_SEL can be adjusted with additional fields if needed for the selection

Also, the description fields can be adjusted according to the requirements

job-launcher-example4

The split will then be calculated according to your criteria and the job triggered accordingly.

job-launcher-example5

Logs

The log can be query in order to extract i.e. when a specific product was processed on a specific location.
You can access it via the table ZDWP_X_REF_LOG (using the transaction SE16).

job-launcher-example6