LENGTH 関数は、引数の長さ (USAGE NATIONAL の引数については国別文字位置数、その他すべての引数については英数字文字位置数またはバイト数) に等しい整数を戻します。
英数字位置とバイトは等価です。
この関数のタイプは整数です。

フォーマット
>>-FUNCTION LENGTH--(--引数-1--)---------------------------------><
- 引数-1
- 以下のようになります。
- 英数字リテラル、または国別リテラル
- DBCS 以外の任意のクラスのデータ項目
- USAGE POINTER、PROCEDURE-POINTER、FUNCTION-POINTER、または OBJECT REFERENCE として記述されるデータ項目
- ADDRESS OF 特殊レジスター
- LENGTH OF 特殊レジスター
- XML-NTEXT 特殊レジスター
- XML-TEXT 特殊レジスター
戻り値は、以下のようにして決定された 9 桁の整数です。
- 引数-1 が英数字リテラル、あるいは英字または英数字クラスの基本データ項目である場合、戻り値は、引数の英数字文字位置の数と等しくなります。
引数-1 がヌル終了英数字リテラルである場合、戻り値はリテラルの最後のヌル文字を除いたリテラル内の英数字位置の数と等しくなります。
英数字データ項目の長さまたは 1 バイト文字と 2 バイト文字が混在するリテラルの長さは、
各バイトが 1 バイト文字であるものとして数えられます。
- 引数-1 が英数字グループ項目である場合、戻り値は、グループの内容に関係なく、引数-1 の英数字文字位置分の長さに等しくなります。引数-1 に従属するいずれかのデータ項目が OCCURS 節の DEPENDING 句を使用して記述されている場合、引数-1 の長さは DEPENDING 句の中で指定されたデータ項目の内容によって決定されます。この評価は、送り出しデータ項目に関する OCCURS 節における規則に従って実施されます。詳細については、
OCCURS 節および USAGE 節の説明を参照してください。
戻り値は、暗黙の FILLER 位置 (ある場合) を含みます。
- 引数-1 が国別リテラル、または USAGE NATIONAL を指定して記述された基本データ項目である場合、戻り値は、引数-1 の国別文字位置分の長さに等しくなります。
例えば、引数-1 が USAGE NATIONAL で PIC 9(3) と定義されている場合、引数のストレージ・サイズは 6 バイトですが、戻り値は 3 になります。
- 引数-1 が国別グループ項目である場合、戻り値は、引数-1 の国別文字位置分の長さに等しくなります。引数-1 に従属するいずれかのデータ項目が OCCURS 節の DEPENDING 句を使用して記述されている場合、引数-1 の長さは DEPENDING 句の中で指定されたデータ項目の内容によって決定されます。この評価は、送り出しデータ項目に関する OCCURS 節における規則に従って実施されます。詳細については、
OCCURS 節および USAGE 節の説明を参照してください。
戻り値は、暗黙の FILLER 位置 (ある場合) を含みます。
- それ以外の場合は、戻り値は引数-1 が占めるストレージのバイト数になります。