ENTMF 

DYNAMIC LENGTH 句

DYNAMIC LENGTH 句では、動的長基本項目を記述する。

一般形式

DYNAMIC LENGTH 句

構文規則

  1. 動的長基本項目は、作業場所節または局所記憶節で指定する必要がある。
  2. 動的長基本項目は、PIC X または PIC U の PICTURE 句を含めるか、単一の X または U で定義する必要がある。その他の定義は使用できない。
  3. LIMIT 指定を使用すると、サイズが不十分な動的長基本項目に値を渡そうとした場合に、右側の文字境界で切り捨てが発生する。
  4. LIMIT を指定しない場合は、使用可能な実行時メモリまたはその他の実行時環境の制限によって値が制限されていない限り、データ項目字類の最大値が制限と想定される。
  5. integer-1 には、項目に含めることができる最大バイト数を指定し、1 以上の整数に設定する必要がある。
  6. DYNAMIC LENGTH 句は、BYTE-LENGTH 句と組み合わせて使用できない。
  7. DYNAMIC LENGTH 項目または集団項目は、REDEFINES 句を含めたり再定義したりできない。

一般規則

  1. 動的長基本項目は、データ宣言項に DYNAMIC LENGTH 句が含まれており、実行時に長さが変化する場合がある基本データ項目である。最小長はゼロで、最大長は integer-1 の値または使用可能な実行時メモリ (どちらか小さい方) である。
  2. 下位の動的長基本項目を持つ集団項目は、動的長集団項目と呼ばれる。
  3. 動的長基本項目は、OCCURS DEPENDING ON 指定を含むテーブル内で位置を可変にしたり、下位データ項目にしたりすることはできない。集団項目に動的長基本項目が含まれている場合、その項目の内容の物理的な場所がリモートであっても、項目の内容はこの集団項目内で論理的にインラインであると見なすことができる。
  4. 一方または両方の集団項目に下位の動的長基本項目が含まれている場合、それらの集団項目間の比較および転記は実行できない。
  5. 動的長基本項目を送信側の作用対象 (1 つの部分参照を含む) として使用する場合、その項目は、動的長基本項目の現在の長さに相当する固定長のデータ項目として処理される。部分参照を含まない受信側の作用対象として使用する場合、送信側項目の内容は受信側項目の内容のバッファーに転記される。

    送信側項目の長さが、部分参照でない動的長の受信側項目の長さを超える場合は、データが転記される前に送信側項目の内容を保持するために、実行時により大きな受信側の内容のバッファーを割り当てることができる。その後、受信側項目の長さが送信側項目の長さに設定される。送信側項目の長さがゼロの場合、データは転記されず、受信側項目の長さはゼロに設定される。送信側項目が表意定数の場合、作用対象の長さは定数の単一値の長さになる。

    部分参照である動的長基本項目を受信側項目として使用する場合、その項目は、動的長基本項目の現在の長さに相当する固定長項目として処理される。動的長基本項目の受信側のバッファーは、部分参照の場合は割り当てまたは再割り当てされない。

  6. 動的長基本項目は次の文でサポートされている。ACCEPT (部分的なサポート)、CALL、CANCEL、DISPLAY、EVALUATE、IF、MOVE、SET、STOP、STRING、UNSTRING。