日時属性の定義および変更
日時値の保管に使用されるフィールドに関連する属性は、「Date/Time Attributes (日付/時刻属性)」パネルで定義および変更できます。このパネルでは以下の作業を行うことができます。
- 日時の値を保管する形式を指定する。
- 必要に応じて、日時の値の処理に使用する代替データ・タイプを定義する。
- 日時の値を表示するために使用する形式を定義する。
また、このパネルではデータの作成およびスクランブルのオプションも指定できます。
日時属性の定義または変更のためのフィールドの選択
フィールドを「Field Selection (フィールド選択)」または「Edit (編集)」パネルから選択します (「Field Selection/Edit (フィールド選択/編集)」パネル)。日時属性の定義または変更のためのフィールドを選択するには、必須フィールドの横の「Cmd」フィールドに「DT」を入力します。DT は、必要なだけのフィールドに入力することができます。選択したフィールドごとに、File Manager では「Date/Time Attributes (日付/時刻属性)」パネルが表示されます。
定義または変更できる属性は、以下のとおりです。
- 日時値を保管するために使用される内部フォーマット
- 日時の処理に使用される代替データ・タイプ
- 日時値を表示するために使用される出力フォーマット
- 新規レコードの作成およびコピーされたレコードの変更に使用される値
- 日時値をコピーされたレコードからスクランブルするためのオプション
「Date/Time Attributes (日付/時刻属性)」パネル
パネルの「Internal Attributes」セクションの「Format」フィールドは、日時の値がフィールドに保管されるときの形式を指定するために使用されます。形式値は、Language Environment®の日時呼び出し可能サービスによってサポートされるピクチャー文字を含むストリングにすることができます。例えば、8 バイトである場合、外部 10 進数フィールドを使用して、4 桁の年の値、続いて 2 桁の月の値、続いて 2 桁の日の値という形式の日付を保管できます。この形式ストリングは次のように指定します。
YYYYMMDD
File Manager でサポートされている以下のいずれかの形式を入力することもできます。
- CENTSECS
- 時刻 (100 分の 1 秒)。
- CBLDATE
- COBOL 日付 (1600 年 12 月 31 日以降の日数)
- CYYDDD
- ユリウス日付 (C を世紀標識として使用。0 は 1900 年代、1 は 2000 年代)
- LILDATE
- リリウス日付 (1582 年 10 月 14 日からの日数)
- LILTIME
- 1582 年 10 月 14 日 00:00:00 からの秒数として格納される日時
- MICSECS
- 時刻 (100 万分の 1 秒単位)
- MILLSECS
- 時刻 (1000 分の 1 秒単位)
- STCK
- TOD クロック値として保管される日時
- STCKE
- 拡張 TOD クロック値として保管される日時
パネルの「Internal Attributes」セクションの「Type」フィールドでは、フィールド属性に定義されたデータ・タイプと異なるデータ・タイプを指定できます。これは、フィールドのデータ・タイプが日時値の処理に適していない場合に使用されます。例えば、英数字フィールドを使用してマイクロ秒の時刻値を保管する場合、File Manager が時刻値の有効な処理を確実に実行するように、「Type」フィールドに BI (バイナリー) を入力することができます。パネルの「Output Attributes」セクションの「Format」フィールドでは、このフィールドの日時値を表示するために使用する形式を指定できます。形式値は、Language Environment®の日時呼び出し可能サービスによってサポートされるピクチャー文字を含むストリングにすることができます。例えば、日付値を 3 文字の曜日、3 文字の月、2 桁の日、4 桁の年で表示するには、形式文字列を以下のように指定できます:
Www Mmm DD, YYYY
File Manager が日時フィールドを定様式モードで表示すると、フィールドの出力幅は指定された出力フォーマットの長さに設定されます。