Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 Overview


4.2.2 Jobnet generation number

Jobnet generations are managed using numbers called execution IDs. An execution ID is a unique serial number assigned to each generation of a jobnet as it is scheduled for execution. Each generation also has a generation number, assigned in order of execution. For root jobnets in a planning group, numbers are assigned in alphabetical order of the root jobnet names.

The next scheduled generation has 0 as its generation number. Past generations are numbered 1, 2, 3, and so on, going back into the past; and future generations are numbered -1, -2, -3, and so on, going forward into the future. An example of assigning generation numbers is shown below.

Figure 4‒10: Example of assigning generation numbers

[Figure]

If the current time is 10:00 on 8/10, the next generation, which is due to start at 12:00 on 8/10, will be generation 0. Generation numbers change as jobnet execution progresses. For example, when the 8/10 generation starts execution, its generation number changes from 0 to 1, and all the previous generation numbers are also incremented by 1. The 8/11 generation number changes from -1 to 0, and all the future generations from 8/12 also increase by 1. This assignment of generation numbers applies even when Hold if prev. = 'abend' or Hold if prev. ='warning' or 'abend' is set as the Hold attribute in the jobnet definition. For example, if Hold if prev. = 'abend' is set as the hold attribute, and the 8/9 generation ends abnormally, the 8/10 generation will become generation 0, which will be executed after being placed in held status.

Execution IDs, on the other hand, remain unchanged after each is assigned when a jobnet generation is created (scheduled for execution). That is, when the 8/10 generation is executed, its generation number changes from 0 to 1, but its execution ID (@A103) remains unchanged.

However, if you perform an operation that changes the execution order of the generations, such as temporarily changing a schedule or adding an execution schedule, the generation numbers are immediately reassigned. The following example shows how the generation numbers change when an execution schedule is added.

Figure 4‒11: Example of changed generation numbers after adding an execution schedule

[Figure]

In this example, the current time is 10:00 on 8/9. Because the 8/9 generation is generation number 0, the new 8/10 generation is assigned generation number -1. Consequently, the 8/11 generation (previously -1) becomes -2, and the 8/13 generation becomes -3. The execution IDs, however, are fixed and unchanged. Because execution IDs are assigned as runs are generated (in the order in which the schedules are fixed), the additional run on 8/10 is assigned a new execution ID (@A104 in the example).

If you temporarily change a plan, add an execution schedule, or perform any other operation that results in two or more generations having the same scheduled start time, the generation whose start time was changed becomes the succeeding generation. This also applies to the root jobnets in a planning group.

The following figure shows the resulting generation numbers when a schedule is temporarily changed so that it has the same start time as another schedule.

Figure 4‒12: Generation numbers when a temporary change results in two schedules having the same start time

[Figure]

In this example, the schedule due to start at 12:00 on 8/11 is moved to 8/10, resulting in two generations with the same start time. The changed generation (the generation previously scheduled for 8/11) becomes the succeeding generation. The jobnet is actually executed once only.