通年カレンダーの注意

Document created by Naruhiro_Yoneshige Employee on Jul 30, 2015
Version 1Show Document
  • View in full screen mode

文書番号:            JTEC002291

製品名:                NSM

バージョン:           -

OS:                     ALL


Question

通年カレンダー使用時の注意事項について記載します。

 

Answer

NSMのカレンダーは、日付とON/OFFを管理するために、過去に実行された全ての変更履歴を保持し、その全ての履歴をトータルで評価します。変更履歴は、プログラム言語のようなもので表現され、以下のような形になります。

日付表現 ON | OFF | INVERT

カレンダーGUI画面を開き、新規にカレンダーを作成するとき、一番最初は空データですが、特定の日付を反転(青色表示)して保存すると、内部では以下のような変更履歴が加えられます。
例えば、01月01日を反転(黒→青)して保存すると、以下のような変更履歴が処理されます。

01/01 INVERT

INVERTは、「反転」の意味で、結果として該当日付がONとして認識されます。

この前提を元にして、土、日、祝日を非稼働日とする通年カレンダーについて考えます。

月~金を営業日とするカレンダーを作成するために、「Weekdays ON」ルールを適用します。
その後、祝日を除外するため、カレンダーGUI画面から祝日の日付に対して反転処理すると
該当の日付に対して、INVERTルールが追加されます。このとき、カレンダーは以下の履歴を持つことになります。

Weekdays ON
祝日1 INVERT
祝日2 INVERT

2009年の祝日で、例えば、3月20日(春分の日)は、2010年では土曜日になります。そのため

Weekdays ON
03/20 INVERT

というカレンダーでは、2010年は3月20日は土曜日であるにもかかわらず、稼働日(青色表示)となる点に注意して下さい。
これは、Weekdays ON ルールによって、土曜日はOFFと解釈され、さらに03/20(OFF)を反転する処理が上乗せされるためです。

このようなことがあるため、通年カレンダーを使用している場合に、祝日(特に振替休日)を持つ月は、前年の影響から思わぬ日が稼働日となる場合があることに注意して下さい。

カレンダーの設定は全て履歴として追加され、例えば一旦ONにした日をOFFや INVERTにて取り消す場合であっても、全ての変更履歴が残ります。このため、変更の多いカレンダーは設定履歴が膨大になります。このような場合は、通年カレンダーではなく年指定カレンダーにする、もしくは定期的にカレンダーを再作成し直す等の作業が必要となる場合があります。

補足
カレンダーに対して実行されたルールの全履歴は、以下の方法で確認が出来ます。
このデータは、データベースでは保持しておらず、内部ファイルにて格納しております。

Windows
\> caldb save cal.dsb
\> caldb script cal.dsb > cal.txt
リダイレクトしたファイルに、それぞれのカレンダーに対して実行されたルール履歴が記録されます。)

UNIX
$CAIGLBL0000/cal/<カレンダー名>
テキストファイルのため直接参照することができます。この中に履歴が保存されます。
(*) カレンダー名の末尾に「b」が付与されたファイルは内部処理用のバイナリーファイルです。

Attachments

    Outcomes