IBM Workload Automation バージョン 9.4

on

これは、ジョブ・ストリームが実行のために選択される時期と頻度を定義するジョブ・ストリーム・キーワードです。これを省略すると、ジョブ・ストリームは実動前計画に追加されません。on キーワードは、schedule キーワードの後に続けなければなりません。詳しくは、except を参照してください。

構文

on [runcycle name

[valid from date] [valid to date]

[descriptiontext”]

[vartable table_name]]

{date|day|calendar|request|”icalendar”} [,...]

[fdignore|fdnext|fdprev][subset subsetname AND|OR]

引数

runcycle name
後続の行に指定された実行サイクルのための、分かりやすい名前が付いたラベルを指定します。
valid from date ... valid to date
ジョブ・ストリームがアクティブの間の時間フレーム (すなわち、ジョブ・ストリームが実動計画に追加される時間フレーム)を限定します。valid to 値として指定された日付は、実行サイクルには含まれないため、この日付の時点でジョブ・ストリームはアクティブではないことに注意してください。
description ”text
実行サイクルについての説明が含まれています。
vartable
この実行サイクルが使用する変数テーブルの名前を指定します。
date
特定の日に実行される実行サイクルを指定します。このタイプに使用される構文は次のとおりです。

yyyymmdd [,yyyymmdd][,...]

例えば、2009 年 5 月 25 日と 2009 年 6 月 12 日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
on
20090525,20090612
day
特定の曜日に実行される実行サイクルを指定します。このタイプに使用される構文は次のとおりです。

{mo|tu|we|th|fr|sa|su}

例えば、毎金曜日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
on
mo
calendar
この名前のカレンダーで指定された日付。カレンダー名の後には、次の形式のオフセットを続けることができます。

{+ | -}n {day[s] | weekday[s] | workday[s]}

ここで、

n
days (日)、weekdays (平日)、または workdays (就業日) の数。
days
すべての曜日。
weekdays
土曜日と日曜日を除くすべての曜日。
workdays
土曜日と日曜日 (他に freedays キーワードで指定されていない場合)、および指定の休業日カレンダーまたは holidays カレンダーのいずれかでマークされている日付を除くすべての曜日。
request
要求されたときにのみジョブ・ストリームを選択します。これは、日付ではなく名前によって選択されるジョブ・ストリームのために使用されます。スケジュールされたジョブ・ストリームが JnextPlan に対して選択されないようにするには、その定義を ON REQUEST に変更します。
注: 「on request」の時刻を含むジョブ・ストリームを実行しようとする場合、以下の点を考慮してください。
  • 「On request」は常に「at」より優先されます。
  • 「On request」が「on」より優先されることはありません。
icalendar
ジョブ・ストリームの実行時期を記述する繰り返しのルールを指定するために使用される標準規格を表します。

icalendar タイプの実行サイクルに使用される構文は次のとおりです。

FREQ={DAILY|WEEKLY|MONTHLY|YEARLY}

[;INTERVAL=[-]n]

[;{BYFREEDAY|BYWORKDAY|BYDAY=weekday_list|

BYMONTHDAY=monthday_list}]

ここでは、キーワード INTERVAL のデフォルト値は 1 です。

icalendar を使用して、次の間隔で実行されるジョブ・ストリームを指定できます。
n 日ごと
次の形式を使用:

FREQ=DAILY[;INTERVAL=n]

ここで、valid from の値セットは、この結果の日の初日です。

例えば、毎日実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=DAILY
2 日ごとに実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=DAILY;INTERVAL=2
休業日または就業日ごと
次の形式を使用:

FREQ=DAILY[;INTERVAL=n]

;BYFREEDAY|BYWORKDAY

例えば、休業日ごとに実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=DAILY;BYFREEDAY
2 就業日ごとに実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=DAILY;INTERVAL=2;BYWORKDAY
n 週ごとに特定の曜日
次の形式を使用:

FREQ=WEEKLY[;INTERVAL=n]

;BYDAY=weekday_list

ここで、weekday_list の値セットは以下のとおりです。
[SU][,MO][,TU][,WE][,TH][,FR][,SA]
例えば、毎週、金曜日と土曜日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=WEEKLY;BYDAY=FR,SA
3 週間ごと、金曜日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=WEEKLY;INTERVAL=3;BYDAY=FR
n カ月ごとに月の特定の日付に
次の形式を使用:

FREQ=MONTHLY[;INTERVAL=n]

;BYMONTHDAY=monthday_list

ここで、monthday_list の値セットは、以下のリストで示されます。
[+number_of_day_from_beginning_of_month]
[-number_of_day_from_end_of_month]
[number_of_day_of_the_month]
例えば、毎月 27 日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=MONTHLY;BYMONTHDAY=27
例えば、6 カ月ごとに 15 日と月の最終日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=MONTHLY;INTERVAL=6;BYMONTHDAY=15,-1
n カ月ごとの特定の週の特定の曜日に
次の形式を使用:

FREQ=MONTHLY[;INTERVAL=n]

;BYDAY=day_of_m_week_list

ここで、day_of_m_week_list の値セットは以下のリストで示されます。
[+number_of_week_from_beginning_of_month]
[-number_of_week_from_end_of_month]
[weekday]
例えば、毎月、最初の月曜日と最後の金曜日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=MONTHLY;BYDAY=1MO,-1FR
6 カ月ごと、2 番目の火曜日に実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=MONTHLY;INTERVAL=6;BYDAY=2TU
n 年ごと
次の形式を使用:

FREQ=YEARLY[;INTERVAL=n]

ここで、valid from の値セットは、この結果の日の初日です。

例えば、毎年実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=YEARLY
2 年ごとに実行される予定のジョブ・ストリームの場合、値は次のとおりです。
FREQ=YEARLY;INTERVAL=2
注: 以下の制限が適用されます。
  • 日単位実行サイクルでサポートされる最大の間隔は 31 日です。
  • 週間実行サイクルでサポートされる最大の間隔は 8 週です。
  • 月単位実行サイクルでサポートされる最大の間隔は 12 カ月です。月に基づいて曜日を指定する実行サイクルの場合 (例えば第 3 土曜または第 2 金曜など)、サポートされる最大の間隔は 5 日です。
  • 年単位実行サイクルでサポートされる最大の間隔は 10 年です。
fdignore|fdnext|fdprev
ジョブまたはジョブ・ストリームの実行日として選択した日付が休業日になった場合に適用するルールを示します。 以下の設定が可能です。
fdignore
日付を追加しません。
fdnext
休業日直後に来る就業日を追加します。
fdprev
休業日直前にある就業日を追加します。
[subset subsetname AND|OR]
subset subsetname
サブセットの名前を指定します。名前を指定しない場合には、デフォルトで SUBSET_1 が使用されます。
AND|OR
デフォルトでは、サブセット内の実行サイクルは論理 OR の関係にありますが、実行サイクル・グループの結果が正の日付または一連の日付 (両端の日付を含む) になる限り、この関係を論理 AND に変更できます。

コメント

同じジョブ・ストリームに on キーワードの複数インスタンスを定義できます。複数の on インスタンスは、 ジョブ・ストリーム定義内で連続していなければなりません。それぞれのインスタンスは、休業日ルールを関連付けることのできる実行サイクルと同等です。

キーワードの各インスタンスには、on 構文で許可される任意の値を入れることができます。

実行サイクルとジョブ・ストリームの両方の開始時刻が定義されている場合、ジョブ・ストリームが JNextPlan を使ってスケジュールされると、実行サイクルの開始時刻が優先されます。 ジョブ・ストリームが submit コマンドで起動されると、実行サイクルの開始時刻は使用されません。

次の例では、月曜日と水曜日にジョブ・ストリーム sked1 を選択します。
schedule sked1 on mo,we
次の例では、2008 年 6 月 15 日と、apdates カレンダーにリストされている日付に、ジョブ・ストリーム sked3 を選択します。
schedule sked3 on 6/15/08,apdates
次の例では、monthend カレンダーの各日付の平日 2 日前に、ジョブ・ストリーム sked4 を選択します。
schedule sked4 on monthend -2 weekdays
次の例では、水曜日を除くすべての平日にジョブ・ストリーム testskd1 を選択します。
schedule testskd1 on weekdays
  except we 
次の例では、2008 年 5 月 15 日と 2008 年 5 月 24 日を除くすべての平日に、ジョブ・ストリーム testskd3 を選択します。
schedule testskd3 on weekdays
  except 05/16/2008,05/24/2008 
次の例では、monthend という名前のカレンダーにあるすべての日付より前の平日 2 日を除くすべての日に、ジョブ・ストリーム testskd4 を選択します。
schedule testskd4 on everyday
  except monthend -2 weekdays 
すべての月曜日、金曜日、および 2009 年 12 月 29 日にジョブ・ストリーム sked1 が実行することを選択します。 月曜日と 2009 年 12 月 29 日が休業日の場合、その直後に来る就業日にジョブ・ストリームを実行します。 金曜日が休業日の場合、その直前の日にジョブ・ストリームを実行します。 この例では、休業日は土曜日、日曜日、およびデフォルトの HOLIDAYS カレンダーでリストされているすべての日付です。 就業日は、HOLIDAYS カレンダーにリストされていない月曜日から金曜日までのすべての日です。
schedule sked1
on mo, 12/29/2009 fdnext
on fr fdprev
この例は、ワークステーション site2 で異なる実行サイクルで実行されるように定義されたジョブ・ストリーム testcli の display コマンドの出力です。
display js=site2#testcli
obtained in 120-column format by setting MAESTROCOLUMNS=120 before accessing the composer command-line:
JobstreamName Workstation Draft Valid From  Valid To UpdatedBy UpdatedOn  LockedBy
------------- ----------- ----- -------–-  ------- --------- ---------  --------
TESTCLI       SITE2       Y     08/25/2008 -       mdmDBE4   08/25/2008 mdmDBE4

SCHEDULE W5#TESTCLI VALID FROM 08/25/2008 TIMEZONE ACT
DESCRIPTION "Job stream with several run cycle settings."
DRAFT
ON RUNCYCLE M5 VALID FROM 08/25/2008 
   DESCRIPTION "monthly" 
   "FREQ=MONTHLY;INTERVAL=5;BYMONTHDAY=-3,1" 
   ( AT 0000 )
ON RUNCYCLE W4 VALID FROM 08/25/2008 
   DESCRIPTION "weekly" 
   "FREQ=WEEKLY;INTERVAL=5;BYDAY=MO,WE" 
   FDNEXT ( AT 0000 )
ON RUNCYCLE D3 VALID FROM 08/25/2008 
   DESCRIPTION "daily" 
   "FREQ=DAILY;INTERVAL=2" 
   FDPREV ( AT 0000 )
ON RUNCYCLE C2 VALID FROM 08/25/2008 
   DESCRIPTION "calendar" 
   ITALY +2 DAYS 
   ( AT 0000 )
ON RUNCYCLE M6 VALID FROM 08/25/2008 
   DESCRIPTION "monthly" 
   "FREQ=MONTHLY;INTERVAL=2;BYDAY=1MO,1TH,2WE" 
   ( AT 0000 +2 DAYS )
ON RUNCYCLE Y7 VALID FROM 08/25/2008 
   DESCRIPTION "yearly" 
   "FREQ=YEARLY;INTERVAL=7" 
   ( AT 0100 )
ON RUNCYCLE SS1 VALID FROM 08/25/2008   
   08/10/2008,08/18/2008,08/20/2008,08/25/2008 
   ( AT 0000 UNTIL 0000 +1 DAYS ONUNTIL SUPPR DEADLINE 0000 +2 DAYS )
EXCEPT RUNCYCLE S1 VALID FROM 08/25/2008 
   DESCRIPTION "simple"   
   08/26/2008,08/28/2008,08/30/2008,09/13/2008 
   ( AT 0000 )

CARRYFORWARD
MATCHING SAMEDAY
FOLLOWS LAB235004#SROBY2.@
FOLLOWS X8#COPYOFJS2.RR
FOLLOWS XA15::TPA
KEYSCHED
LIMIT 22
PRIORITY 15
:
X8#PIPPO AS JOBTC
 CONFIRMED
 PRIORITY 13
 KEYJOB
 FOLLOWS W5#POPO.@
 FOLLOWS X8#JS2.F3
END

AWSBIA291I Total objects: 1
カレンダー ITALY は、データベースに定義されるカスタム・カレンダーです。これはイタリアで使用されるカレンダーの就業日 (workdays) と休日 (holidays) を設定します。