Difference between ESP INHERIT and NOINHERIT
search cancel

Difference between ESP INHERIT and NOINHERIT

book

Article ID: 55437

calendar_today

Updated On:

Products

ESP Workload Automation

Issue/Introduction

Provides sample applications to show the difference between the default option INHERIT and option NOINHERIT. 

Resolution

​In an ESP Application, there is the ability to "inherit" dependencies dynamically. 

Example:   Job-flow:  A => B => C (where jobs A and C run Daily but job B runs only on Friday)

OPTIONS INHERIT (by default):

    JOB A 
        RUN DAILY 
        RELEASE B 
    ENDJOB
    JOB B 
        RUN FRIDAY 
        RELEASE C 
    ENDJOB 
    JOB C 
        RUN DAILY 
    ENDJOB 

Explanation: on Friday, when all 3 jobs are scheduled, job A will run followed by job B and then job C.  On a day that is NOT Friday, when only jobs A and C are scheduled, job A will run, followed by C although there is no direct dependency between these 2 jobs.

This is possible because job C dynamically INHERITs the relationship that its predecessor, job B has with job A. The effect is that job C has an implicit relationship with job A and this generally results in a reduction in the number of statements required in an Application.

 OPTIONS NOINHERIT:

   OPTIONS NOINHERIT 
   JOB A 
        RUN DAILY 
        RELEASE (B, C) 
    ENDJOB 
    JOB B 
        RUN FRIDAY 
        RELEASE (C) 
    ENDJOB 
    JOB C 
        RUN DAILY 
    ENDJOB

Explanation: job A has built an explicit dependency via the RELEASE statement to all of its successor jobs (B and C in this case). So on a day that is NOT Friday, job B is not scheduled and job A will have a "hard" release for job C.