8.10.10 unlduoc文(UOC格納ライブラリの情報の記述)
UOCを利用して再編成をする場合,UOCの情報を指定します。
- <適用基準>
-
UOCを利用して再編成する場合に指定します。
- <規則>
-
unlduoc文は一つだけ指定できます。
(1) 形式
unlduoc entry=関数名 〔bloblimit=メモリ領域確保サイズ〕 〔fixrow={y|n}〕
(2) 説明
(b) bloblimit=メモリ領域確保サイズ
〜<符号なし整数>((1〜2097152))
UOCに渡すデータを保持するメモリ領域の大きさの上限値を,キロバイト単位で指定します。次の条件に該当する場合,UOCに渡すデータをすべてメモリ領域に保持します。
-
表に抽象データ型列があり,unld_func文に対応するコンストラクタパラメタ逆生成関数を指定する場合,指定した関数の返却値が長大データ型のとき
-
表に長大データ型の列がある場合
上記の条件の列が複数ある場合,該当する列すべてに対してこのオペランドの指定値が有効となります。
- <適用基準>
-
次の条件のどれかを満たす場合に指定してください。
-
表に抽象データ型列があり,unld_func文に対応するコンストラクタパラメタ逆生成関数を指定する場合,指定した関数の返却値が長大データ型のとき
-
列の定義長でデータのメモリ領域を確保すると,メモリ不足が予測される場合
-
列の定義長よりも実データが明らかに小さい場合
-
- <規則>
-
-
長大データ型の列の場合,指定したメモリ領域確保サイズよりも列の定義長が小さいとき,その列に対しては列の定義長がメモリ領域確保サイズとなります。
-
指定した大きさを超えるデータがある場合(指定値よりも列の定義長が小さい場合は,列の定義長を超えるデータがあるとき),エラーとなります。
-
(c) fixrow={y|n}
対象となる表がFIX表の場合,pdrorgがUOCに渡すデータの格納方法を指定します。非FIX表の場合にyを指定するとエラーになります。
- y:
-
列の定義順にデータを詰めて(連続して)渡します。pdrorgが渡したデータを一括して出力する場合は,yを指定するとよいです(アラインメントの保証が必要なデータ型は直接参照できません)。
- n:
-
データ型のバウンダリに従い,データの開始アドレスを補正して渡します。データを直接参照する場合は,nを指定するとよいです(アラインメントを保証する必要があるデータ型の開始アドレスが補正されているため,データを別領域にいったんコピーしなくても直接参照できます)。