ルール ファイルの形式

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

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

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

詳細は次のとおりです。

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

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

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

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

  • コメント行は列 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] サンプルを選択して表示できます。