SEGLEN

1. Syntax

1 SEGLEN(field_name)

セグメント化テンプレートの基準でのみ使用できます。

関連するフィールド名の長さを返します。値がゼロより大きい場合は、この結果が、識別されたセグメントのセグメント長として使用されます。

field_name
現行レイアウトの有効なフィールド名でなければなりません。
注:
  1. フィールド名はフルワードの正整数に変換されます。
  2. フィールドが英数字の場合、フィールドはバイナリー値を含むとみなされます。4 バイトよりも長い場合は、右端の 4 バイトを使用してバイナリー値が取得されます。
  3. ID 基準の処理の成功時に SEGLEN 関数から返された最後の値が、セグメント長として使用されます。これは、テンプレート定義内のセグメント長フィールドの指定よりも優先されます。

例えば、SMF 30 レコード SMF30PSS のセクション用の ID 基準を含む、XML テンプレートの抜粋を考えてみます。このセクションの長さは、ヘッダー・セクション SMFRCD30 のフィールド SMF30SLN に入っています。セクション SMF30PSS の ID 基準が満たされたとき、セグメント長は、ヘッダー・フィールド SMF30SLN に含まれている値に設定されます。

<layout name="SMFRCD30" offset="-4">
  <criteria type="RID" rname="SMF30PSS">
    <exp><![CDATA[
      segcnt('smf30pss') < #SMF30SON &
      segoff(4) >= #SMF30SOF &
      seglen('SMF30SLN') > 0
    ]]></exp>
  </criteria>
</layout>