Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


互換性のある日付

互換性のある日付 という用語の意味は、日付が DATA DIVISION で使用される場合と PROCEDURE DIVISION で使用される場合とでは異なります。

DATA DIVISION で使用する場合、日付フィールドの宣言、および従属データ項目や REDEFINES 節などの COBOL 言語エレメントを制御する規則 が関係します。次の例では、Review-YearReview-Date への従属データ項目として宣言することができるので、Review-DateReview-Year には互換性があります。

01  Review-Record.
    03  Review-Date               Date Format yyxxxx.
        05  Review-Year Pic XX    Date Format yy.
        05  Review-M-D  Pic XXXX.

PROCEDURE DIVISION での使用は、比較、移動、算術式などの演算で日付フィールドを一緒に使用する方法に関連しています。 年先行型および年単独型フィールドに互換性があるとみなされるには、日付フィールドに同じ数の年以外の文字が含まれている必要があります。 例えば、DATE FORMAT YYXXXX を持つフィールドは、同じ日付形式の別のフィールドや YYYYXXXX フィールドと互換性がありますが、YYXXX フィールドとの互換性はありません。

年末尾型日付フィールドの場合は、DATE FORMAT 節が同じである必要があります。特に、ウィンドウ表示日付フィールドと拡張年末尾型日付フィールドとの相互演算は許されません。 例えば、日付形式が XXXXYY の日付フィールドを別の XXXXYY 日付フィールドへ移動させることはできますが、 XXXXYYYY 形式の日付フィールドへ移動させることはできません。

演算の中の日付フィールドに互換性があれば、日付フィールドに対して、または日付フィールドと非日付が組み合わされたものに対して演算を実行できます。例えば、次のように定義されているとします。

01  Date-Gregorian-Win  Pic 9(6) Packed-Decimal Date Format yyxxxx.
01  Date-Julian-Win     Pic 9(5) Packed-Decimal Date Format yyxxx.
01  Date-Gregorian-Exp  Pic 9(8) Packed-Decimal Date Format yyyyxxxx.

2 つのフィールドの年以外の数字の数が異なるので、次のステートメントは成立しません。

If Date-Gregorian-Win Less than Date-Julian-Win . . .

2 つのフィールドの年以外の数字の数が同じなので、次のステートメントは受け入れられます。

If Date-Gregorian-Win Less than Date-Gregorian-Exp . . .

この場合は、比較が確実に意味のあるものになるようにするために、世紀ウィンドウがウィンドウ表示日付フィールド (Date-Gregorian-Win) に適用されます。

非日付を日付フィールドと一緒に使用した場合、非日付は日付フィールドと互換性があると見なされるか、または単純な数値として扱われます。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)