matching

Sets a default for the matching criteria to be used in all follows dependencies where a matching criteria is not set in the job stream definition or in the jobs contained in the job stream.

Syntax

matching {previous |sameday | relative from [+/-] time to [+/-] time

Arguments

For information about the keyword used with matching see the follows keyword.

Examples

The following example shows the definition of job stream SCHED2 that:
  • Contains a job1 that can be run today only if it was run yesterday.
  • Needs the instance of job stream SCHED1 running the same day to complete before running.
SCHEDULE PDIVITA1#SCHED2 
ON RUNCYCLE RULE1 "FREQ=DAILY;"
ON RUNCYCLE CALENDAR2 CAL1
MATCHING PREVIOUS
FOLLOWS PDIVITA1#SCHED1.@ SAMEDAY
FOLLOWS PDIVITA1#SCHED2.JOB1 
:
PDIVITA1#JOB1

PDIVITA1#JOB2
END
In this sample the external follows dependency from PDIVITA1#SCHED2.JOB1 inherits the matching criteria specified in the matching keyword.

Comments

Note that if you delete a job stream and then add it again to the database, the job stream gets another identifier. For this reason, if the job stream contains FOLLOWS dependencies with PREVIOUS matching criteria, these dependencies are not matched when JnextPlan runs again, because they are cross-plan dependencies that refer to an old identifier.

In the following example, if you delete job stream JS01, to assure the referential integrity of the database, also FOLLOWS TWS851MASTER#JS01.@ is deleted from the definition of JS02 and from the Preproduction plan.

If you delete job stream JS03, to assure the referential integrity of the database, also FOLLOWS TWS851MASTER#JS03.@ PREVIOUS is deleted from the definition of JS02 and from the Preproduction plan.

If you delete job stream JS02 and then add it again to the plan, also its FOLLOWS dependencies are added again. When the plan is extended, the FOLLOWS TWS851MASTER#JS03.@ PREVIOUS dependency of job stream JS02 does not match the instance of job stream JS03 coming from the previous plan, and this dependency is not added.

At the next plan extension, the process works again.
SCHEDULE TWS851MASTER#JS01
ON RUNCYCLE RULE1 "FREQ=DAILY;"
:
TWS851MASTER#J02
END
SCHEDULE TWS851MASTER#JS03
ON RUNCYCLE RULE1 "FREQ=DAILY;"
SCHEDTIME 1000
CARRYFORWARD
:
TWS851MASTER#J03
END
SCHEDULE TWS851MASTER#JS02
ON RUNCYCLE RULE1 "FREQ=DAILY;"
:
TWS851MASTER#J01
FOLLOWS TWS851MASTER#JS01.@
FOLLOWS TWS851MASTER#JS03.@ PREVIOUS
END    
To avoid this problem, use the composer command replace because, in this case, job stream identifiers do not change.