Specifying dependencies

You can specify that operations and applications are dependent on other operations and applications as follows:
  • An operation depends on another operation.
  • An operation depends on an application.
  • An application depends on another application.
  • An application depends on an operation of another application.
For example, you can define that operation Oper1 in application Appl1 must complete before application Appl2 can start; in this case, operation Oper1 is a predecessor of application Appl2. Appl2 is a successor of Oper1. An application or operation can have many predecessors and successors.
From the CREATING AN APPLICATION (EQQACGPP) panel (fast path 1.4.2 from the main menu), you can:
  • Define dependencies at application level by issuing the DEP command. The APPLICATION PREDECESSORS (EQQAMDPL) panel is displayed:
    Figure 1. EQQAMDPL - Application Predecessors
    EQQAMDPL -------------------APPLICATION PREDECESSORS ---------------  ROW 1 TO 3 OF 3
    Command ===>                                                            Scroll ===> PAGE
    
    Predecessors can be operations or applications (op.no. can be in the
    range 1-255 or blank). To search for application predecessors, set the
    PreTyp column to A, othwerwise set it to O. Allowed row commands
    are: I(nn) - Insert, R(nn),RR(nn) - Repeat, D(nn),DD - Delete
    S - Description of external dependency, T - Dependency resolution criteria 
    
    Application      : PAYM2    
                          
    Row  Pre Dependency   Application id          Jobname         Operation
    cmd  Typ Resl Mand                                            ws   no. 
    ''   O   C    N       APPLDEP1                JOBAR           CPU1 003
    ''   A   C    N       CPU1 020                _______ 
    ******************************* BOTTOM OF DATA **************************
    In the Pre Typ field:
    1. Type A to set an application as predecessor, then specify the application ID.
    2. Type O to set an operation as predecessor, then specify the application ID, Job name, and Operation ws and no.
  • Define Dependencies at operation level by:
    1. Issuing the OPER command to select an operation.
    2. From the OPERATION DETAILS panel issue 1 (Predecessors) to show the PREDECESSORS (EQQAMPDL) panel:
      Figure 2. EQQAMPDL - Predecessors
      EQQAMPDL ----------------------- PREDECESSORS ---------------  ROW 1 TO 3 OF 3
      Command ===>                                                  Scroll ===> PAGE
      
      Enter the COND command to view the list of conditions, enter/change
      data in the rows, and/or enter any of the following row commands:
      
      I(nn) - Insert, R(nn),RR(nn) - Repeat, D(nn),DD - Delete
      S - Description of external dependency, T - Dependency resolution criteria 
      
      Application      : PAYM2                        MONTHLY PAYROLL TRANSFER
      Operation        : CPU1 040    PAYTRANS
      No. of conditions: 0
      Row  Pre Dependency   Oper         Transport time   Application id          Jobname
      cmd  Typ Resl Mand    ws   no.       HH.MM          (for ext pred only)
      ''   O   C    N       SETP 010       _____          ________________        PAYTRANS
      ''   A   A    N       CPU1 040       _____          PAYM1___________        PAYMONTH
      ''   _   _    _       CPU1 020       _____          PAYW____________        PAYWEEK_
      ******************************* BOTTOM OF DATA **************************
    3. In the Pre Typ field
      1. Type A to set an application as predecessor, then specify the application ID.
      2. Type O to set an operation as predecessor, then specify the application ID, Job name, and Operation ws and no.

Only when an operation depends on another operation, you can define dependencies based on the status or return code of other jobs or on the return code of other jobs' steps. These dependencies are named conditional dependencies. For detailed information, see Conditioning the processing of operations.

You can create dependencies between occurrences with the LONG TERM PLAN panel, but these occurrences are converted to operation dependencies when the occurrences become part of the current plan.

A job setup operation must be an immediate predecessor of the related computer workstation operation. This means that there is a direct dependency between the two operations; it does not mean that the operation number of the job operation is next in sequence to the operation of the setup operation. This dependency is automatically generated when you create job descriptions using the JOB DESCRIPTION panel, but you must specify it yourself when creating a standard application description.

Operations 040 and 050 are in the same occurrence of the PAYM1 application, the dependency is called internal. Operation 040 depends on an operation in the PAYDAILY application, the dependency is called external.

You can have an external dependency even between two operations in the same application description. For instance, suppose you have an application SYSLOG, which runs every day and consists of two operations, X and Y. You can make X dependent on Y of the SYSLOG occurrence of the previous day. That is, a SYSLOG occurrence will not start until the previous SYSLOG occurrence has completed.

Enter the PRED command to enter up to eight internal predecessors for an operation on the OPERATIONS panel, shown in EQQAMOSL - Operations .

Figure 3. EQQAMOSL - Operations
EQQAMOSL ------------------------ OPERATIONS ----------------  ROW 1 TO 3 OF 3
Command ===>                                                  Scroll ===> PAGE

Enter/Change data in the rows, and/or enter any of the following
row commands:
I(nn) - Insert, R(nn),RR(nn) - Repeat, D(nn),DD - Delete
S - Select operation details, J - Edit JCL
Enter the TEXT command above to include operation text in this list, or,
enter the GRAPH command to view the list graphically.

Application            : PAYM1            MONTHLY PAYROLL JOBS

Row  Oper     Duration  Job name  Internal predecessors           More preds  No. of
cmd  ws   no. HH.MM.SS                                              -Int-Ext- Conds
''   CPU1 040 00.05.00  PAYMONTH  ___ ___ ___ ___ ___ ___ ___ ___   0   1    0
''   CPU1 050 00.05.00  PAYMSLIP  040 ___ ___ ___ ___ ___ ___ ___   0   0    0
''   PRT1 250 00.30.00  PAYMSLIP  050 ___ ___ ___ ___ ___ ___ ___   0   0    0
******************************* BOTTOM OF DATA ************************************

You can specify external predecessors, additional internal predecessors, or conditional predecessors by selecting an operation using the S row command. For details, see Setting predecessors to condition the processing of operations.

If predecessors are added (or other changes are made) to an application in the AD database, this does not take effect in the current plan until both the long-term plan and the current plan batch programs have run, or until they are manually added using the panels.

The following rules apply:
  • You cannot create redundant dependencies. For example, if operation Oper1 of application Appl1 has a dependency from operation Oper2 of application Appl2, you cannot create a dependency between application Appl1 and application Appl2.