ILE COBOL 解説書

+----------------------------------IBM 拡張----------------------------------+


YEAR-TO-YYYY

YEAR-TO-YYYY 関数は、引数-1 で与えられている、下位 2 桁の年を 4 桁の年へ変換します。 実行時に引数-2 が年に加算された場合、引数-2 は 100 年間隔の終了年、すなわち引数-1 の年が当てはまるスライド・ウィンドウを定義します。

関数のタイプは整数です。

形式
 
>>-FUNCTION YEAR-TO-YYYY--(引数-1-+--------+-)-----------------><
                                  '-引数-2-'
 
 
引数-1
100 より小さい、負でない整数でなくてはなりません。
引数-2
整数でなければなりません。引数-2 が省略された場合、関数は引数-2 の値を 50 として評価します。 実行時に、引数-2 と年との和は、10000 より小さく、1699 より大きくなります。

コンパイラーが FUNCTION YEAR-TO-YYYY を計算するためには、 スライド・ウィンドウの最終年 (すなわち「最大年」) を最初に計算することが必要です。 「最大年」は、次のように計算されます。

(FUNCTION NUMVAL(FUNCTION CURRENT-DATE(1:4)) + 引数-2)

上記の「最大年」の場合、FUNCTION YEAR-TO-YYYY は 2 つの算術式のうちの 1 つと等しくなりますが、 どちらと等しくなるかは次の条件によって決まります。

maximum-year modulus 100 >= argument-1

この条件が真の場合、同等の算術式は次のようになります。

(argument-1 + 100 * (truncated integer value of (maximum-year/100)))

偽の場合、同等の算術式は次のようになります。

(引数-1 + 100 * (最大年/100 の切り捨て整数値 - 1))

YEAR-TO-YYYY 関数は、スライド・ウィンドウのアルゴリズムを使用します。 YEAR-TO-YYYY 関数を固定ウィンドウに使用するためには、引数-2 は次のように指定できます。 ここで固定最大年は、固定 100 年間隔での最大年です。

固定ウィンドウが 1973 〜 2072 の場合、2009 年には引数-2 の値は 63 になり、2019 年には、値は 53 になります。

(固定最大年 - FUNCTION NUMVAL (FUNCTION CURRENT-DATE (1:4)))

関連情報


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]