%%$WCALC

MFBSI は、Control-M 関数 %%$WCALC をサポートしています。これには、1 つ以上の Control-M カレンダー定義が必要です。

MFBSI における %%$WCALC の有効な構文は次のとおりです。

%%$WCALC date +|-nnn CalendarName

詳細は次のとおりです。

date
1700 年 1 月 1 日から 2054 年 12 月 31 までの範囲の有効な日付 CCYYMMDD (定数または解決された変数)。
+|- nnn

正符号 (+) または負符号 (-) (あるいはより大記号 (>) またはより小記号 (<)) とそれに続く 1 から 366 までの 1 桁から 3 桁の数字。

CalendarName
カレンダーの名前。CalendarName は 8 文字以下にする必要があります。UNIX および Linux プラットフォームでは大文字と小文字が区別されます。

カレンダーの場所の指定

カレンダーの場所は、次のいずれかの方法で指定できます。

  • CTM_CALENDAR を使用:

    環境変数 CTM_CALENDAR を使用してカレンダーの場所を指定します。完全なカレンダーの場所は次のとおりです。

     $CTM_CALENDAR\Yccyy\CalendarName.CLD

    詳細は次のとおりです。

    $CTM_CALENDAR
    カレンダーの基本場所を指定する環境変数。
    Yccyy
    年 (2019、2020 など)。前に Y を付けます。
    CalendarName
    カレンダーの名前。名前は 8 文字以下にする必要があり、UNIX および Linux プラットフォームでは大文字と小文字が区別されます。
    .CLD
    必須のファイル拡張子。UNIX では大文字にする必要があります。
  • Enterprise Server JCL カタログを使用:

    Enterprise Server JCL カタログを使用して動的 PDS を定義します。次の属性を使用します。PO、LRECL=1024、LSEQ、EXTS=CLD。

    PDS 名は次のとおりです。ESCTM.CALENDAR.Yccyy。例:ESCTM.CALENDAR.Y2010。

    メンバー名は、.CLD 拡張子とともに使用される CalendarName に設定されます。

カレンダーの形式

MFBSI のカレンダーは、テキスト ファイル (行順編成) に格納されます。次の形式がサポートされています。

書き方 1
Control-M z/OS カレンダーの XML エクスポートから取得される形式。次の規則が適用されます。
  • カレンダーの最初のレコードは、列 1 の <DEFCAL> 宣言から始まります。
  • カレンダーはファイル (メンバー) ごとに 1 つだけです。
  • DAYS 文字列で、「Y」は稼働日を示し、「N」は非稼働日を示します。

    次に例を示します。

    <DEFCAL>
      <CALENDAR DATACENTER="ECS5NY" NAME="AcctCal3" TYPE="Regular">
      <YEAR NAME="2008" DAYS="YYYYYYYYYYYYYYYYYYNYYYYYYYYYYYYYYYYYYY
                              YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
                              YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYNNNYYYYYYYY
                              YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
                              YYYYNNYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
                              YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
                              YYYYYYYYYYYYYYYYYYYYYYYYYYYYYNYYYYYYYYYYYYYY
                              YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYNNNY
                              YYYYYYYYYYYYYYYYYYYY"
                        DESCRIPTION="Calendar for 2008.”/>
      </CALENDAR>
    </DEFCAL>
    注: カレンダーを Control-M Distributed から抽出した場合、次のようなテキスト形式が想定されます。
    <?xml version='1.0' encoding='ISO-8859-1' ?>
    <!DOCTYPE DEFCAL SYSTEM "defcal.dtd">
    <DEFCAL >
         <CALENDAR DATACENTER="PR -D027" NAME="CLD01" TYPE="Regular">
         <YEAR DAYS="NYYNNN.......................NNNYYYY" 
    DESCRIPTION="FIESTAS = DIARIO" NAME="2020"/>
         </CALENDAR>
    </DEFCAL>
書き方 2
次のレイアウトのテキスト ファイルを使用します。
次の例は、$CTM_CALENDAR|2021|BSICLD01 という名前のファイルのものです。
** MFBSI CTM Calendar
** Year:     2021
** Calendar: BSICLD01
** “S” column represents “Sunday”

*  -S------S------S------S------S------S
                  1111111111222222222233
         1234567890123456789012345678901
01       YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
              1111111111222222222
     1234567890123456789012345678
02   YYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
              1111111111222222222233
     1234567890123456789012345678901
03   YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
                 111111111122222222223
        123456789012345678901234567890
04      YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
            1111111111222222222233
   1234567890123456789012345678901
05 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
               111111111122222222223
      123456789012345678901234567890
06    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
                 1111111111222222222233
        1234567890123456789012345678901
07      YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
             1111111111222222222233
    1234567890123456789012345678901
08  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
                111111111122222222223
       123456789012345678901234567890
09     YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
                  1111111111222222222233
         1234567890123456789012345678901
10       YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
              111111111122222222223
     123456789012345678901234567890
11   YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

*  -S------S------S------S------S------S
                1111111111222222222233
       1234567890123456789012345678901
12     YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

必須の宣言 ** MFBSI CTM Calendar を最初の行に記述する必要があります。

注: 最初の行の後にある空白の行と「*」で始まる行 (コメント) は無視されます。

次の行で、特定の月の日の処理について簡単に示します。

(1)		*  -S------S------S------S------S------S
(2)		*            1111111111222222222233
(3)		*   1234567890123456789012345678901
(4)		12  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
  • 行 (1) - S は月内の日曜日を示します。
  • 行 (2) および (3) - 月内の日を示します。1 から最大で 31 までです。
  • 行 (4) - 「12」は 12 月を示します。各文字で月の稼働日を設定します。「Y」は稼働日を示し、「N」は非稼働日を示します。

カレンダーの作成

  1. mfbsijcl コマンドを使用する前に、CTM_CALENDAR 環境変数をカレンダーの定義場所のパスに設定するかエクスポートします。必要に応じて、ESMAC または ESCWA を使用してエンタープライズ サーバー カタログで動的 PDS を定義できます。
  2. 次のコマンドを使用して、すべての日が使用可能な CCYY 年の基本カレンダー ファイルを自動的に作成します。
    mfbsijcl /calendar CalendarName CCYY
  3. 生成されたファイルで、指定した年の非稼働日について「Y」を「N」に置き換えます。

次に例を示します。

DSN ESCTM.CALENDAR.Y1999
File D:\MF\ES\MFBSI\CTMCalendar\Y1999
DCB PO - LSEQ - ASCII - 1024 - Dynamic - Ext:CLD

mfbsijcl コマンドの実行の出力は次のようになります。

set CTM_CALENDAR=D:\MF\ES\MFBSI\CTMCalendar	  **(Windows)
export CTM_CALENDAR= MF/ES/MFBSI/CTMCalendar	          **(UNIX)
mfbsijcl /calendar EXCPCAL1 1999
------------------------------------------------------------
JCLSI0001I MFBSI Version 5.0.08  Copyright (C) 2013-2020 ... 

MFBSI Calendar definition

  Calendar path = D:\MF\ES\MFBSI\CTMCalendar
  Calendar year = 1999
  Calendar name = EXCPCAL1

  Calendar created in: D:\MF\ES\MFBSI\CTMCalendar\Y1999\EXCPCAL1.CLD  (Win)
  Calendar created in: MF/ES/MFBSI/CTMCalendar/Y1999/EXCPCAL1.CLD     (UX) 

  May be defined in your ES Catalog using:
    DSN=ESCTM.CALENDAR.Y1999
    File=D:\MF\ES\MFBSI\CTMCalendar\Y1999
    DCB: PO - LSEQ - ASCII - 1024 - Dynamic - Ext:CLD