Rational Developer for System z
COBOL for Windows バージョン 7.5 言語解説書


LENGTH OF

LENGTH OF 特殊レジスターには、データ項目によって使用されるバイト数が入れられます。

LENGTH OF は暗黙の特殊レジスターを作成します。その内容は、 ID によって参照されるデータ項目の現在のバイト長に等しくなります。

使用法 DISPLAY-1 で記述されたデータ項目 (DBCS データ項目) および使用法 NATIONAL で記述されたデータ項目では、各文字は 2 バイトのストレージを占有します。

LENGTH OF 特殊レジスターの暗黙の定義と同じ定義の数字データ項目が使用される個所であれば、 手続き部のどこであっても、LENGTH OF を使用することができます。LENGTH OF 特殊レジスターには、次のような暗黙の定義があります。

USAGE IS BINARY PICTURE 9(9).

ID によって参照されるデータ項目が GLOBAL 文節を含む場合には、 LENGTH OF 特殊レジスターはグローバル・データ項目です。

LENGTH OF 特殊レジスターは、参照変更指定の開始文字位置または長さ式の中で使用することができます。しかし、LENGTH OF 特殊レジスターを、参照変更されたオペランドに適用することはできません。

LENGTH OF オペランドは関数にすることはできませんが、 LENGTH OF 特殊レジスターは、 整数引数が使用できる関数の中では使用することができます。

LENGTH 関数への引数として LENGTH OF 特殊レジスターが使用された場合、 LENGTH OF で指定された引数とは無関係に、 その結果は必ず 4 になります。

LENGTH 特殊レジスターへの引数として ADDRESS OF 特殊レジスターが使用された場合、 ADDRESS OF で指定された引数とは無関係に、 その結果は必ず 4 になります。

LENGTH OF は、以下のものにすることはできません。

LENGTH OF 特殊レジスターが CALL ステートメントに対するパラメーターとして使用さ れる場合には、BY CONTENT または BY VALUE によって渡される必要があります。

テーブル・エレメントが指定される場合、 LENGTH OF 特殊レジスターは 1 つのエレメントの長さをバイト数で保持します。テーブル・エレメントを参照するとき、エレメント名に添え字を付ける必要はありません。

ID によって参照される領域が現在はプログラムに使用可能でない場合であっても、長さが判別できる ID はすべて値が戻されます。

LENGTH OF 句を使用して参照される ID ごとに、別個の LENGTH OF 特殊レジスターが存在します。以下に例を示します。

MOVE LENGTH OF A TO B
DISPLAY LENGTH OF A, A
ADD LENGTH OF A TO B
CALL “PROGX” USING BY REFERENCE A BY CONTENT LENGTH OF A

組み込み関数 LENGTH を使用してデータ項目の長さを取得することもできます。 使用法 NATIONAL のデータ項目の場合、LENGTH 関数から戻される長さは国別文字位置数であり、バイト数ではありません。したがって、使用法 NATIONAL のデータ項目の場合、LENGTH OF 特殊レジスターと LENGTH 組み込み関数では結果が異なります。その他のデータ項目については、結果は同じです。


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

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