DATEVAL 組み込み関数を使用して、非日付を 日付フィールドに変換できます。その結果、COBOL により関連する日付処理がそのフィールドに適用されることになります。
この関数の最初の引数には変換対象の非日付を指定し、2 番目の引数には日付形式を指定します。2 番目の引数は、DATE FORMAT 節の日付パターンの指定に類似した指定を持つリテラル・ストリングです。
ほとんどの場合コンパイラーは、非日付の解釈について正しい仮定をしますが、その仮定に伴って警告レベルの診断メッセージを出します。一般にこのメッセージは、ウィンドウ表示日付がリテラルと比較された場合に発生します。
03 When-Made Pic x(6) Date Format yyxxxx. . . . If When-Made = "850701" Perform Warranty-Check.
リテラルは、互換性のあるウィンドウ表示日付と見なされますが、1900 から 1999 の世紀ウィンドウが使われているので、これは 1985 年 7 月 15 日を表しています。DATEVAL 組み込み関数を使用してリテラルの日付の年を明示して、警告メッセージを出さないようにすることができます。
If When-Made = Function Dateval("19850701" "YYYYXXXX")
Perform Warranty-Check.