8.11.1 再編成時のUOCの利用方法
UOCを利用した再編成は,主に次の場合に適用してください。
-
不要データの削除
表の再編成とデータ削除を同時にしたい場合,不要なデータを削除したアンロードデータファイルを使用して別表へリロードしたい場合などに,利用します。
-
アプリケーション向けデータ更新
データを更新してpdloadの入力データファイルにしたい場合,アプリケーション用に任意のフォーマットで出力したい場合などに,利用します。
- 〈この項の構成〉
(1) 不要データの削除
表の再編成でのアンロード時,又は表のアンロード時に,UOCでデータの要否を判定してpdrorgに指示することで,必要なデータだけをアンロードデータファイルに出力できます。
UOCを利用した再編成の概要(不要データの削除)を次の図に示します。
(2) アプリケーション向けデータ更新
表のアンロード(-k unld指定)時に,UOCでアンロードするデータを更新又は編集して,次のフォーマットで出力できます。
-
pdloadの入力データファイル(-W指定時)
-
UOCデータファイル(ユーザ任意のフォーマット)
UOCを利用した再編成の概要(アプリケーション向けデータ更新)を次の図に示します。
-
pdrorgでの更新後データのチェック
pdrorgは,UOCから返されたUOCインタフェース領域の更新後データアドレスリストに設定されたデータ値のチェックをします。チェックの結果,不正なデータがあった場合には,pdrorgは処理を中断してリターンコード8で終了します。
更新後データの各データ型のチェック項目を次の表に示します。
表8‒28 更新後データの各データ型のチェック項目 データ型
チェック項目
可変長の長さ※1
符号※2
データ範囲※3
繰返し列
要素数
ナル値
INTEGER,SMALLINT,FLOAT,SMALLFLT
−
×
×
○
○
DECIMAL
−
○
○
○
○
CHAR,MCHAR,NCHAR
−
−
×
○
○
DATE,TIME
−
−
○※4
○
○
INTERVAL YEAR TO DAY,INTERVAL HOUR TO SECOND
−
○
○※4
○
○
VARCHAR,MVARCHAR,NVARCHAR
○
−
×
○
○
TIMESTAMP
−
−
○※4
○
○
BINARY
○
−
×
−
−
BLOB(BLOB属性)
○
−
×
−
−
抽象データ型(パラメタ値)
各パラメタのデータ型に従います。
- (凡例)
-
○:チェックします。
×:チェックしません。
−:該当しません。
- 注※1
-
可変長文字列型,BINARY型,又は長大データ型の長さ部の内容をチェックします。長さ部の値がマイナスの場合はエラーとなります。
可変長文字列の場合は,長さ部の値が32,000バイトを超えるときはエラーとなります。
列のデータ型が長大データ型の場合,又はunld_func文で指定したコンストラクタパラメタ逆生成関数の戻り値が長大データ型の場合,unlduoc文でbloblimitを指定したときは,指定したメモリ領域確保サイズを超えるとエラーとなります。unlduoc文でbloblimitを指定していない場合は,2ギガバイトを超えるときはエラーとなります。
- 注※2
-
パック形式の符号部(4ビット)をチェックします。符号部が0xC,0xD,及び0xF以外の場合は,エラーとなります。
- 注※3
-
パック形式の場合,パックデータ(4ビット)が0x0〜0x9以外のときはエラーとなります。そのほかの形式の場合,データ値の内容のチェックはしません。
- 注※4
-
日付データ,時刻データ,又は時刻印データとしてあり得ない値(日付データの月が12を超えるなど)の場合は,エラーとなります。