+----------------------------------IBM 拡張----------------------------------+
YEAR-TO-YYYY 関数は、引数-1 で与えられている、下位 2 桁の年を 4 桁の年へ変換します。 実行時に引数-2 が年に加算された場合、引数-2 は 100 年間隔の終了年、すなわち引数-1 の年が当てはまるスライド・ウィンドウを定義します。
関数のタイプは整数です。
形式 >>-FUNCTION YEAR-TO-YYYY--(引数-1-+--------+-)----------------->< '-引数-2-'
コンパイラーが 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)))
関連情報