CMP_TIME
(FASTREXX 条件式で使用できます。)
CMP_TIME は、テンプレートを使用して、またはテンプレートなしで実行できるブール関数です。これにより、フィールド内の時刻値に対して条件付きテストを実行できます。
注:
- このフィールドがテンプレート内の日時フィールドとして定義されている場合は、imask および omask は File Manager によってテンプレートから取得されるため、これらの値を指定する必要はありません。
- フィールド名 (fieldname)、フィールド参照 (#nn)、演算子 (operator)、および非数値の値はすべて引用符で囲み、構文エラーにならないようにする必要があります。
- 最後に指定された引数の後のコンマは省略可能です。
- #nn または fieldname
- #nn
- テンプレートの編集時に、フリー・フォーマットの基準を指定してある場合に、この形式を使用します。nn は、テンプレートの編集時に表示されたフィールド参照番号です。テンプレートの編集時に基準を指定してある場合は、フィールド参照として fieldname を 使用することは無効です。
- fieldname
- ユーザー・プロシージャーをコーディングする場合に、この形式を使用してフィールドを識別します。名前が固有でない場合は、groupname.dataname という形式を使用して名前を指定できます。名前の突き合わせでは、大/小文字が区別されません。名前を修飾しなかった場合は、最初に出現する名前が使用されます。ユーザー・プロシージャーでは値 #nn をコーディングしないでください。 ユーザー・プロシージャーから実行された場合は、表示されるフィールド参照値が、正しいフィールドを識別しないためです。
- 下付き
- 次元フィールドのみに適用されます。以下のいずれかの形式を指定できます。
- (ANY)
- これが、次元フィールドに添字を指定しなかった場合のデフォルトです。関連する配列の 1 つ以上のエレメントが条件を満たす場合に、結果が真になることを示します。
- (ALL)
- 関連する配列の全エレメントが条件を満たす場合に、結果が真になることを示します。
- (nn)
- この形式では、単一の配列エレメントを指します。その次元フィールドに対応する有効な添字を指定する必要があります。
- start
- フィールド値の読み取りを開始する入力レコード内の位置 (バイト単位)。以下のように指定できます。
- 絶対位置
- 正の整数である必要があります。デフォルト値は 1 です。start が入力レコードの現在の長さより大きければ、この関数は無効になります。
- 現行 INPOS からの相対位置
- IPx または INx、または Px または Nx として指定できます。結果の値がゼロ以下になる場合、または入力レコードの現在の長さより大きくなる場合、この関数は無効になります。
- 現行 OUTPOS からの相対位置
- OPx または ONx として指定する必要があります。結果の値がゼロ以下になる場合、または入力レコードの現在の長さより大きくなる場合、この関数は無効になります。
- length
- フィールドの長さ (バイト数)。
2 進数フィールドの場合、長さを省略するか、4 を指定します。
パック 10 進フィールドでは、長さを指定する場合には 1 から 16 の範囲内でなければなりません。長さを省略すると、CMP_TIME はレコード・データからパック・フィールドの長さを決定して、そのフィールドだけを戻します。
ゾーン 10 進数フィールドの場合、長さは 1 から 32 の範囲でなければなりません。
- type
- フィールドのデータ・タイプ。有効な値は、以下のとおりです。
- B
- 2 進数。
- C
- 文字。これは、デフォルトです。
- P
- パック 10 進数。
- B
- ゾーン 10 進数。
- imask
- フィールドに日付を保管するために使用されるフォーマットを定義する値またはピクチャー・ストリング。ピクチャー・ストリングの場合、File Manager では、「z/OS® Language Environment® Programming Services」の付録 B『Date and time services tables』で説明されているすべてのピクチャーがサポートされます。
File Manager は、以下のいずれかの値の指定もサポートします。
- CENTSECS
- 時刻 (100 分の 1 秒)。
- MICSECS
- 時刻 (100 万分の 1 秒単位)
- MILLSECS
- 時刻 (1000 分の 1 秒単位)
imask 値は File Manager で使用できなければなりません。テンプレートが使用され、imask が指定されていない場合、File Manager はテンプレートに保管された内部マスクを使用します。
- omask
- パラメーターとして CMP_TIME に渡される日付値に使用される形式を記述するピクチャー・ストリング。File Manager では、「z/OS® Language Environment® Programming Services」の付録 B『Date and time services tables』で説明されているすべてのピクチャーがサポートされます。
omask 値は File Manager で使用できなければなりません。テンプレートが使用され、omask が指定されていない場合、File Manager はテンプレートに保管された出力マスクを使用します。
- オペレーター (operator)
- デフォルトは EQ または = です。この機能では、動的テンプレートと基準編集で示した、すべての演算子をサポートしています。サポートする演算子の詳細と説明については、以下の節を参照してください。
- 値
- 値は、参照されている演算子とフィールドでのコンテキストで有効な値である必要があります。例えば、複数の値を使用できる演算子は、CO (包含) など一部の演算子のみです。値の形式は、omask で記述された日付形式に基づいて指定する必要があります。
- tally_literal
- CMP_TIME 関数からのすべての TRUE 結果の回数を示す TALLY レポートに表示するリテラルを指定します。
例 1
START-TIME 値が正午以降のレコードのみを処理します。
IF CMP_TIME('START-TIME',MILLSECS,'HH:MI:SS.999','GT','12:00:00.000')
THEN
RETURN
ELSE
RETURN 'DROP'