CURRENTSIZE は、処理系定義ストレージを与える FIXED BINARY 値を、バイトで返します。この値は、x によって要求されます。
|
CURRENTSIZE(x) によって戻される値は、次の状況で伝送されるバイト数として定義されます。
declare F file record output
environment(scalarvarying);
write file(F) from(S);
x がスカラー可変長ストリングの場合は、戻り値にはストリングの長 さの接頭辞と現在使われているバイト数が含まれます。 x には、ストリングの未使用のバイト数は含まれません。
x がスカラー区域の場合は、戻り値には、区域制御バイトと区域 の現在のエクステントが含まれます。 x には、区域の最後の未使用のバイト数は含まれません。
x が区域または可変長ストリングを含む集合の場合は、戻り値に は、区域制御バイト、区域の最大サイズ、ストリングの長さの接頭辞、およびストリング の最大長でのバイト数が含まれます。 この規則の例外を次に示します。
変数が割り振られていない場合、CURRENTSIZE 組み込み関数を調節可能エクステントとともに、BASED 変数上で使用してはなりません。
CMPAT(V3) コンパイラー・オプションでは、CURRENTSIZE は FIXED BIN(63) 値を返します。 その他のすべての CMPAT オプションでは、FIXED BIN(31) 値を返します。
CURRENTSIZE 組み込み関数の例については、SIZEを参照してください。