Hitachi

Job Management Partner 1 Version 10 Job Management Partner 1/Automatic Job Management System 3 Overview


10.1.1 Overview of planning group functions and operations

This subsection provides an overview of planning group functions and operations.

Organization of this subsection

(1) Functions of planning groups

By using a planning group, you can switch smoothly between different root jobnets during system operation, without having to use a different name for each root jobnet in the GUI or in a command.

First, you define the specific applications (processes) that you want to execute in each of the multiple root jobnets that you will be switching between. For example, you could define applications for calculating order data and creating order forms in one jobnet. In another jobnet, you could define applications for calculating order data, creating order forms, and conducting stocktaking.

You then register the root jobnets for execution, giving each one a specific execution period. For example, you could register the jobnets so that the first jobnet executes until the end of February, and the other jobnet executes from March onwards. With this configuration, the running jobnet changes with the turn of the month, and different applications are executed in February and March, even though they appear as the same jobnet.

The following figure illustrates the operation of a planning group.

Figure 10‒1: Operation of a planning group

[Figure]

The following figure shows an example of unit configuration using a planning group.

Figure 10‒2: Unit configuration using a planning group

[Figure]

You can only create a planning group directly under a job group (including a scheduler service). You can create multiple planning groups under a job group. You cannot create another planning group under a planning group.

Directly under a planning group, you can create a jobnet or a remote jobnet. The definition content and definition method for a jobnet or remote jobnet defined below a planning group is the same as for a normal jobnet or remote jobnet.

When you register for execution a root jobnet or root remote jobnet that is defined directly under a planning group, the only option available is fixed execution with a specific period. You cannot register these jobnets for planned execution, or for fixed execution with a specific number of future generations.

You can also define calendar information for a planning group, or have the planning group inherit the calendar information from an upper-level job group. You can reference a planning group from a manager job group or a calendar definition.

(a) Unit definition information shared between root jobnets

When you register a root jobnet defined under a planning group for fixed execution, you can link the root jobnet with another root jobnet under the same planning group. When you link root jobnets, the following settings in the unit definition information are shared between the root jobnets in the planning group.

  • Concurrent execution setting and Schedule option

  • Whether to hold the root jobnet when the previous unit ends abnormally or ends with a warning

Below is a description of those settings in the definition information of a unit that is shared between root jobnets. The example uses a planning group that executes a different jobnet in August and September.

■ Concurrent execution and the Schedule option

You can define the concurrent execution setting and Schedule option (Schedule skip, Multi-schedule) for a root jobnet defined under a planning group. For details about concurrent execution and schedule options, see 3.3.3 Concurrent execution and schedule option.

  • Schedule skip

    The following is an example of a schedule with the Schedule option set to Schedule skip, for a jobnet that is executed in September.

    Figure 10‒3: Schedule option set to Schedule skip

    [Figure]

    In this case, the generation scheduled for 8/31 has not ended by the start time of the next generation. Therefore, the generation scheduled for 9/1 is not executed, and enters the Skipped so not executed status.

  • Multi-schedule (Concurrent exec. disabled)

    The following is an example of a schedule with the Schedule option set to Multi-schedule, and with Concurrent exec. set to Disable, for a jobnet that is executed in September.

    Figure 10‒4: Schedule option set to Multi-schedule with concurrent execution disabled

    [Figure]

    In this case, the generation scheduled for 8/31 has not ended by the start time of the next generation. Therefore, the generation scheduled for 9/1 is executed after the generation scheduled for 8/31 ends.

  • Multi-schedule (Concurrent exec. enabled)

    The following is an example of a schedule with the Schedule option set to Multi-schedule, and with Concurrent exec. set to Enable, for a jobnet that is executed in September.

    Figure 10‒5: Schedule option set to Multi-schedule with concurrent execution enabled

    [Figure]

    In this case, the generation scheduled for 8/31 has not ended by the start time of the next generation. Therefore, the generation scheduled for 9/1 is executed before the generation executed on 8/31 ends.

In the following circumstances, the succeeding generation is not executed even when concurrent execution is enabled.

  • The generation to be executed is being held

  • There is no generation to be executed

Previous generation is being held

In the following example, a generation is not executed despite concurrent execution being enabled, because the previous generation for execution is being held.

Figure 10‒6: Previous generation is being held

[Figure]

In this case, the generation scheduled for 8/31 is still in Being held status when the start time of the generation scheduled for 9/1 arrives. Because the previous generation has not started, the generation scheduled for 9/1 is not executed.

No previous generation for execution exists

The following schedule shows an example where a generation is not executed, despite concurrent execution being enabled, because no previous generation for execution exists.

Figure 10‒7: No previous generation for execution

[Figure]

In this case, the generation scheduled for 8/30 has an unlimited timeout period and is still in Now running status when 9/1 arrives. The generation scheduled for 8/31 cannot run concurrently with the generation scheduled for 8/30, since concurrent execution is disabled for the latter. As a result, the generation scheduled for 9/1 is not executed, as no previous generation ever runs.

■ Hold (if previous 'warning' or 'abend')

With a root jobnet defined under a planning group, you can choose to hold execution of the next generation if the previous generation ends abnormally or with a warning.

The following is an example of the schedule when you set the Hold attribute of a jobnet that is scheduled to execute in September to Hold if prev. = 'abend' or Hold if prev. = 'warning' or 'abend'.

Figure 10‒8: Using the hold attribute

[Figure]

The generation scheduled for 8/31 ended abnormally before the scheduled start time of the generation scheduled for 9/1 was reached. The generation scheduled for 9/1 shifts to the Being held status.

(b) Exclusive schedules for planning groups

You can define a planning group in an exclusive schedule for a jobnet.

You can only use an exclusive schedule for a planning group in certain combinations. The following figure shows the exclusive schedules that are valid for a planning group.

Figure 10‒9: Exclusive schedules for a planning group

[Figure]

Table 10‒1: Valid exclusive schedules for a planning group

Number in figure

Valid?

Type of jobnet for which the exclusive schedule is defined

Unit specified in the exclusive schedule

(1)

Y

Jobnet

Planning group on the same hierarchical level

(2)

Y

Jobnet under a planning group

Jobnet on the same hierarchical level as the planning group

(3)

Y

Jobnet under a planning group

Different planning group on the same hierarchical level as the planning group

(4)

N

Jobnet under a planning group

Jobnet under the same planning group

(5)

N

Jobnet

Planning group on a different hierarchical level

Legend:

Y: Can be specified

N: Cannot be specified

The following figure shows an example of an exclusive schedule including a planning group.

Figure 10‒10: Exclusive schedule defined for a planning group

[Figure]

When you specify a planning group as an exclusive schedule, the exclusive schedule is applied to the execution schedules of jobnets under the planning group. In the above example, jobnet A specifies a planning group as an exclusive schedule. This means that the execution schedules of jobnet B and jobnet C, which are under the planning group, are scheduled exclusively. Also, jobnet D is specified as the exclusive schedule for jobnet B and jobnet C, and the execution schedule of jobnet A is therefore scheduled exclusively from the execution schedule of jobnet D.

In the following example, exclusive schedules are specified between planning groups.

Figure 10‒11: Defining an exclusive schedule between planning groups

[Figure]

Since planning group 2 is defined as the exclusive schedule for jobnets B and C, which are under planning group 1, the exclusive schedule also applies to jobnet D and jobnet E, since they are under planning group 2. The execution schedule for jobnet A, for which planning group 1 is the exclusive schedule, is therefore exclusive of jobnet D and jobnet E.

(2) Flow of planning group definition and execution

Use the following procedure to define and execute a root jobnet using a planning group.

(3) Displaying a planning group in JP1/AJS3 - View

This subsection describes the operations for displaying schedule information, unit status (schedule) information, and results (execution results) in the JP1/AJS3 - View window. The display in JP1/AJS3 - View is described below, using a planning group with the following unit configuration as an example.

Figure 10‒12: Sample unit configuration for a planning group

[Figure]

(a) Displaying schedule information in the Monthly Schedule window

When you display schedule information for a planning group in the Monthly Schedule window, the schedule area displays merged schedule information for all the units in the planning group.

The schedule information is merged and displayed when you first open the Monthly Schedule window, or when you refresh the window to reflect the latest information. The merged information that is displayed is for the schedule with the latest start time.

Table 10-2 shows the display in the schedule area when you select a planning group and display the Monthly Schedule window. The image is based on the unit configuration from Figure 10-12.

Table 10‒2: Display when you select a planning group (at end of execution on April 29)

Unit

4/26

4/27

4/28

4/29

4/30

5/1

5/2

5/3

5/4

Sat

Sun

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Order Processing#

EN

EN

EN

EN

SE

SE

SE

SE

SE

Weekday

--

--

EN

--

SE

SE

SE

--

--

Order calculation

--

--

EN

--

SE

SE

SE

--

--

Order releases

--

--

EN

--

SE

SE

SE

--

--

Daily report

--

--

EN

--

SE

SE

SE

--

--

Holiday

EN

EN

--

EN

--

--

--

SE

SE

Order calculation

EN

EN

--

EN

--

--

--

SE

SE

Daily report

EN

EN

--

EN

--

--

--

SE

SE

Calculation processing

EN

EN

EN

EN

SE

SE

SE

SE

SE

Daily closing

EN

EN

EN

EN

SE

SE

SE

SE

SE

Legend:

EN : Ended normally

SE : Scheduled for execution

-- : Not scheduled for execution

#

Order processing is a planning group.

Table 10‒3: Display when you select a job group above the planning group (at end of execution on April 29)

Unit

4/26

4/27

4/28

4/29

4/30

5/1

5/2

5/3

5/4

Sat

Sun

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Order Processing#

EN

EN

EN

EN

SE

SE

SE

SE

SE

Calculation processing

EN

EN

EN

EN

SE

SE

SE

SE

SE

Daily closing

EN

EN

EN

EN

SE

SE

SE

SE

SE

Legend:

EN : Ended normally

SE : Scheduled for execution

#

Order processing is a planning group.

Note that there is an option in the Preferences dialog box under the Schedule tab that lets you choose whether to display planning groups in the Monthly Schedule window. For details about the Preferences dialog box, see 15.3.42 Preferences dialog box in the Job Management Partner 1/Automatic Job Management System 3 Operator's Guide.

(b) Displaying the status or results of a planning group in JP1/AJS3 - View

When you view the status (execution schedule) and results (execution results) of a planning group in the list area of the JP1/AJS3 - View window, the list area automatically displays the status and results of the units closest to the current day.

The following table shows an example of status and execution results for a planning group.

Table 10‒4: Example of status and execution results for a planning group (end of execution on May 5)

Unit

4/30

5/1

5/2

5/3

5/4

5/5

5/6

5/7

Wed

Thu

Fri

Sat

Sun

Mon

Tue

Wed

Order Processing #

EN

EN

EN

EN

EN

EW

SE

SE

Weekday

EN

EN

EN

--

--

--

SE

SE

Order calculation

EN

EN

EN

--

--

--

SE

SE

Order releases

EN

EN

EN

--

--

--

SE

SE

Daily report

EN

EN

EN

--

--

--

SE

SE

Holiday

--

--

--

EN

EN

EW

--

--

Order calculation

--

--

--

EN

EN

EW

--

--

Daily report

--

--

--

EN

EN

EW

--

--

Legend:

EN : Ended normally

EW : Ended with warning

SE: Scheduled for execution (waiting for start time)

-- : Not scheduled

#

Order processing is a planning group.

If you compare the results of the jobnet Holiday and the jobnet Weekday, you can see that the results of the jobnet Holiday are closer to the current date and time. Imagine that you now select an upper-level unit to the planning group to display the results of the planning group at the end of execution on May 5 in the JP1/AJS3 - View window. The result of the jobnet Holiday is displayed in the Result column.

When JP1/AJS3 displays the status of the unit in the JP1/AJS3 - View window, the status of the jobnet Weekday is nearer the current time than the jobnet Holiday. Therefore, the status of the jobnet Weekday is displayed in the Status column.

The following figure shows an example of how the status and execution results for a planning group are displayed in the list area of the JP1/AJS3 - View window.

Figure 10‒13: Example of display of status and results of a planning group in the JP1/AJS3 - View window

[Figure]

(4) Examples of configuring planning group definitions

The following are examples of ways in which you can configure the definitions in a planning group to achieve certain results. For example:

The figures and tables below show an example of root jobnets defined under a planning group, showing the definition of the root jobnets as displayed in the schedule area of the Monthly Schedule window.

(a) Switching definitions each month

The following figure and table show an example in which the planning group contains definitions for a jobnet that executes in February and a jobnet that executes in March.

Figure 10‒14: Example of a planning group that switches jobnets every month

[Figure]

Table 10‒5: Image displayed in the schedule area of the Monthly Schedule window for a planning group that switches jobnets every month

Unit

2/22

2/23

2/24

2/25

2/26

2/27

2/28

3/1

3/2

3/3

3/4

3/5

Fri

Sat

Sun

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Mon

Tue

Order Processing#

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

February

Processing

SE

SE

SE

SE

SE

SE

SE

--

--

--

--

--

March

Processing

--

--

--

--

--

--

--

SE

SE

SE

SE

SE

Legend:

SE : Scheduled for execution

-- : Not scheduled

#

Order Processing is the planning group.

(b) Switching between two root jobnets

The following figure and table show an example of a planning group containing definitions for a jobnet that executes on weekdays (open days), and a jobnet that executes on holidays (closed days).

Figure 10‒15: Example of jobnet definition in a planning group that switches between jobnets

[Figure]

Table 10‒6: Image displayed in the schedule area of the Monthly Schedule window for a planning group that alternates between jobnets

Unit

2/22

2/23

2/24

2/25

2/26

2/27

2/28

3/1

3/2

3/3

3/4

3/5

Fri

Sat

Sun

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Mon

Tue

Order processing#

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

Weekday

SE

--

--

SE

SE

SE

SE

SE

--

--

SE

SE

Holiday

--

SE

SE

--

--

--

--

--

SE

SE

--

--

Legend:

SE : Scheduled for execution

-- : Not scheduled

#

Order Processing is the planning group.

(c) Switching between jobnets in the same day

The following figure and table show an example of a planning group containing definitions for a jobnet that executes during the day, and a jobnet that executes at night.

Figure 10‒16: Example of jobnet definition in a planning group that switches between jobnets within the same day

[Figure]

Table 10‒7: Image displayed in the schedule area of the Monthly Schedule window for a planning group that switches between jobnets within the same day

Unit

2/22

2/23

2/24

2/25

2/26

2/27

2/28

3/1

3/2

3/3

3/4

3/5

Fri

Sat

Sun

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Mon

Tue

Calculation processing#

SE

--

--

SE

SE

SE

SE

SE

--

--

SE

SE

Day

SE

--

--

SE

SE

SE

SE

SE

--

--

SE

SE

Night

SE

--

--

SE

SE

SE

SE

SE

--

--

SE

SE

Legend:

SE : Scheduled for execution

-- : Not scheduled

#

Calculation Processing is the planning group.

Supplementary note

The Day jobnet and the Night jobnet are executed according to the schedule information registering the jobnets for fixed execution.

The behavior of the system when the execution start time for the Night jobnet is reached while the Day jobnet is still running depends on the Schedule option and whether concurrent execution is enabled. For details on concurrent execution and schedule options for planning groups, see (1)(a) Unit definition information shared between root jobnets.

  • When the Schedule option is set to Schedule skip, succeeding generations will have the status Skipped so not executed.

  • When the Schedule option is set to Multi-schedule, and concurrent execution is disabled, succeeding root jobnets wait for the previous root jobnet to end before executing.

  • When the Schedule option is set to Multi-schedule, and concurrent execution is enabled, succeeding root jobnets execute without waiting for the previous root jobnet to end.

(d) Modifying an existing planning group schedule, and adding a jobnet

Assume that there is a planning group that alternates between different jobnets for open days (weekdays) and closed days (holidays). Assume that you cancel registration and prohibit execution of the jobnets in the planning group between April 29 and May 5 of the registered execution period, and then add a jobnet that will execute in this released period. The following figure and table show an example of the resulting jobnet definitions.

Figure 10‒17: Definition example for adding a new jobnet

[Figure]

Table 10‒8: Image displayed in the schedule area of the Monthly Schedule window when a jobnet is added

Unit

4/26

4/27

4/28

4/29

4/30

5/1

5/2

5/3

5/4

5/5

5/6

5/7

Sat

Sun

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Mon

Tue

Wed

Order Processing#1

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

SE

Weekday

--

--

SE

--

--

--

--

--

--

--

SE

SE

Holiday

SE

SE

--

--

--

--

--

--

--

--

--

--

Holiday week#2

--

--

--

SE

SE

SE

SE

SE

SE

SE

--

--

Legend:

SE : Scheduled for execution

-- : Not scheduled

#1

Order Processing is the planning group.

#2

Holiday week is the added jobnet.

(5) Supplementary notes

This subsection contains additional information about planning groups.

(a) Specifying unit names when using a command to manipulate a planning group

When you specify the name of a unit under a planning group as an option when you execute a command, you can omit the root jobnet name and specify the unit name directly. If you omit the root jobnet name, JP1/AJS3 will automatically select a unit with an existing generation when you execute the command. For details, see 1.1 Command syntax in the manual Job Management Partner 1/Automatic Job Management System 3 Command Reference 1.

(b) Statistics and execution simulation for planning groups

JP1/AJS3 calculates the execution time of a unit based on the average past execution times of the unit when it ended normally. The total number of successful executions and their total execution time is kept as statistical information on a root jobnet basis. The following figure shows the statistical information kept for a planning group.

Figure 10‒18: Statistical information for a planning group

[Figure]

The system executes an execution simulation based on these statistics. For details on execution simulations, see 4.4.2(2) Execution simulation.

Consider Figure 10-18 as an example. The average execution times for Job1, Job2, and Job 3 under Jobnet1 are 60 seconds, 70 seconds and 30 seconds respectively. Assuming that Job1, Job2, and Job3 are to execute in that specific order, if the scheduled start time for Job1 is set to 12:00:00, the scheduled start times displayed for Job2 and Job3 are 12:01:00 and 12:02:10, respectively. The average execution times for Job1 and Job3 in Jobnet2 are 30 seconds and 25 seconds respectively. Even when you use planning groups, the system performs execution simulations based on individual root jobnets.

(c) Generation order in a planning group

The generation numbers in a planning group are generally assigned in order of the scheduled start times, as with root jobnets in a job group. For details, see 4.2 Managing jobnet generations.

However, when more than one root jobnet in a planning group has the same scheduled start time, JP1/AJS3 assigns generation numbers differently from normal root jobnets, in order of the character codes of the root jobnet names. For alphanumeric characters, generation numbers are assigned in the order of the ASCII character codes. For Japanese characters, generation numbers are assigned in the order of the Japanese Shift JIS, Japanese EUC or UTF-8 character codes. The following figure shows an example of generation numbers assigned in the order of the character codes of the root jobnet names.

Figure 10‒19: Generation order of units in a planning group

[Figure]

(d) Order of execution registration in a planning group

When you have jobnets that are executed more than once a day defined under a planning group, register the jobnets for execution in order of their scheduled start times, starting from the earliest.

If you register a jobnet with a later scheduled start time first, the assigned generation numbers will be the opposite of the execution order. This may make monitoring the different jobnets more difficult.

The following figure shows how generation numbers are assigned when you register jobnets for execution in order from the jobnet with the latest start time.

Figure 10‒20: Generation order when jobnets are registered in order from the latest start time

[Figure]

With the example shown in Figure 10-20, if you specify generation 1 using the ajsshow command with the -l or -g option, the command will be performed on the execution generation of Jobnet B, not Jobnet A. Because the generation number of the registered jobnet is not 1, you must specify generation 2 as well as generation 1 when you monitor the jobnet status.

When you register jobnets for execution in order from the jobnet with the earliest scheduled start time, you ensure that the generation number of the registered jobnet remains 1 because when the first jobnet ends, the jobnet with the next earliest start time executes. Therefore, you need only specify generation 1 when you monitor the jobnet status.

(e) Number of logs to keep in a planning group

You can set the number of logs to keep for each unit in a root jobnet that is switched in at a specific time by a planning group. For details on the number of logs to keep, see 4.2.3 Jobnet generation management.

For example, if you set the number of logs to keep to 2, JP1/AJS3 only keeps and displays the results for two generations. Execution results for all earlier generations are deleted. The following figure shows examples of root jobnet definitions in which the number of logs to keep has been defined.

Figure 10‒21: Example of root jobnet definitions with a defined number of logs to keep

[Figure]

Based on the definitions shown in the figure above, the following is displayed in the schedule area of the Monthly Schedule window at completion of execution on May 8.

Table 10‒9: Image displayed in the schedule area of the Monthly Schedule window when the number of logs to keep for each root jobnet is defined

Unit

4/27

4/28

4/29

4/30

5/1

5/2

5/3

5/4

5/5

5/6

5/7

5/8

Sun

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Mon

Tue

Wed

Thu

Order Processing#

EN

--

--

--

--

EN

EN

EN

EN

--

EN

EN

Weekday

--

--

--

--

--

--

--

--

--

--

EN

EN

Holiday

EN

--

--

--

--

--

--

--

--

--

--

--

Holiday week

--

--

--

--

--

EN

EN

EN

EN

--

--

--

Legend:

EN : Ended normally

-- : Not scheduled

#

Order Processing is the planning group.

In this example, the jobnet Weekday also executes on May 6. However, since the number of logs to keep for Weekday is set to 2, the execution results for Weekday on May 6 are deleted.