ルール ファイルの形式

ルール ファイルは複数のルールを格納できるテキスト ファイルです。特定のフィールド名に条件を設定したり、1 つのルールの中に複数の条件を定義したりできます。

ルールは次の形式で定義します:

RULE:
        - CONDITION:  condition
          VALUE:      value
        SUBDIRECTORY: location
---

詳細は次のとおりです。

  • RULE: ルールの定義の開始を示し、--- は終了を示します。
  • -CONDITION: 条件の開始を示します。

    1 つのルールに複数の条件を含めることができます。

  • 条件の後には条件の値を指定する VALUE: を記述する必要があります。
  • SUBDIRECTORY データセットまたはファイルの場所を示します。フルパスまたは環境変数を指定できます。

    ルールに含めることのできる SUBDIRECTORY: エントリは 1 つのみです。

次の例は、RECORDTYPE プロパティ値が 'S' という条件を設定しているルールの例です。すべての SPOOL ファイルを $MFSYSCATDIR\SPOOL\ フォルダー ($MFSYCATDIR はシステム カタログの格納先フォルダーを示す環境変数) に割り当てています:

RULE:
        - CONDITION:    RECORDTYPE
          VALUE:                S
        SUBDIRECTORY:   $MFSYSCATDIR\SPOOL\
---

カタログ レコード フィールドの名前

次の名前をルールで使用して、カタログ レコード フィールドを示すことができます:

RECORDTYPE
カタログ レコードのタイプ:
S
スプール レコード
D
データ型レコード
DSNAME1 - DSNAME5
データセット名要素の名前 (1 - 5):DSNAME1.DSNAME2.DSNAME3.DSNAME4.DSNAME5
DSORG
データセット組織。値は、次のいずれかになります:
  • PDSM
  • PO
  • PS
  • VSAM
  • GDG
  • IS
LRECL
レコード長。数値である必要があります。
RECFM
レコード フォーマット。値は、次のいずれかになります:
  • F、FA、FB、FBA、FBM、FBS、FM (固定長)
  • KS、ES、RR、LS (VSAM ファイル)
  • LSEQ (行順次)
  • U (未定義)
  • V、VA、VB、VBA、VBM、VBS、VM、VS (可変長)
CHARSET
文字セット。次の値を取ります:
A
ASCII
E
EBCDIC
DATACLASS
データセットのデータ型。
MGMTCLASS
管理クラス値 - データセットの管理クラス
UNIT-DEVICE
データセットのユニット値。
VOLUME
データセットのボリューム値。
JOB-CREATED
データセットを作成した JCL ジョブの名前。

ルールを使用した複数の条件の定義

1 つのルール内で複数の条件を定義できます。

次の例は、文字セットが ASCII のデータセットのルールを示しています。このデータセットの名前の最初の要素は 'PROD' で、4 番目の要素は 'I' です (たとえば、PROD.BBBB.CCCC.I.EEEE)。UNIT の設定は 'SYSDA' で、RECFM の設定は 'VB' です。作成元は JCL ジョブ 'OVERCHK' です。データセットは '$MFSYSCATDIR\RECFM\' フォルダー内に作成されます:

RULE:
        - CONDITION:    CHARSET
          VALUE:                A

        - CONDITION:    DSNAME1
          VALUE:        PROD

        - CONDITION:    DSNAME4
          VALUE:        I

        - CONDITION:    UNIT-DEVICE
          VALUE:        SYSDA

        - CONDITION:    RECFM
          VALUE:        VB

        - CONDITION:    JOB-CREATED
          VALUE:        OVERCHK

        SUBDIRECTORY:   $MFSYSCATDIR\RECFM\
---

HEX 値の使用

ルールに 16 進数を使用できます。

次の例は、データセット LRECL フィールド用に定義したルールを示しています。H'0063' (10 進数 99) の値がある場合、データセットは LRECL99 フォルダーに割り当てられます:

RULE:
        - CONDITION:  LRECL
   VALUE:      HEXVALUE 0063
        SUBDIRECTORY: $MFSYSCATDIR\LRECL99\
---

ワイルドカードの使用

ルール ファイルでは簡単なワイルド カードを使用できます。1 つまたは複数のワイルドカード (*) を値フィールドで使用して、任意の数の文字を表すことができます (たとえば、L00*500*TE*.**S*)。

次の例は、最初の名前要素が」 'PROD' で、管理クラスが 'L00' で始まり '500' で終わるデータセットを、L00D500 フォルダーに割り当てることを指定しています:

RULE:
        - CONDITION:    DSNAME1
          VALUE:        PROD

        - CONDITION:    MGMTCLASS
          VALUE:        L00*500

        SUBDIRECTORY:   $MFSYSCATDIR\L00D500\
---

クラスの自動選択

ルール ファイルの形式を使用して、同一の条件に基づいてデータセットにプロパティを割り当てることができます。これをメインフレームの自動クラス選択プロセスにリンクできます。

次の属性をデータセットに割り当てることができます。

DATACLASS
DATACLASS の名前
MGMTCLASS
MGMTCLASS の名前
CHARSET
使用する文字セット:
A
ASCII
E
EBCDIC
EXPIRE
有効期限
SUBDIRECTORY
データセットの場所として使用するディレクトリ。これは、一般的なルール定義で使用する SUBDIRECTORY と同じディレクトリです。

次の例は、最初の名前要素が 'MFI01' で 4 番目の名前要素が 'F2' であるデータセットを $MFSYSCATDIR\MFI01\ENDINF2 フォルダーに割り当てるルールを示しています。MANGEMENGTCLASS プロパティを 'MGMTYYYY' に設定し、EXPIRY データを 4 日に設定します (特定の値も使用できます):

RULE:
        - CONDITION:     DSNAME1
          VALUE:      MFI01

        - CONDITION:     DSNAME4
          VALUE:      F2

        SUBDIRECTORY:   $MFSYSCATDIR\MFI01\ENDINF2

        - ATTRIBUTE:  MGMTCLASS
          VALUE:      MGMTYYYY

        - ATTRIBUTE:  EXPIRE
          VALUE:      +4

---

その他の割り当てルールの例については、この製品付属のメインフレーム サンプルを参照してください。[Start > All Programs > Micro Focus Enterprise Developer > Samples > Mainframe Samples] を選択し、[JCL – Allocation Override] サンプルを選択して表示できます。