SEGLEN
セグメント化テンプレートの基準でのみ使用できます。
関連するフィールド名の長さを返します。値がゼロより大きい場合は、この結果が、識別されたセグメントのセグメント長として使用されます。
- field_name
- 現行レイアウトの有効なフィールド名でなければなりません。
注:
- フィールド名はフルワードの正整数に変換されます。
- フィールドが英数字の場合、フィールドはバイナリー値を含むとみなされます。4 バイトよりも長い場合は、右端の 4 バイトを使用してバイナリー値が取得されます。
- 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>