4.3.3 マッピングキーの対応の設計

マッピングキーとは,更新情報が反映対象表のどの行に対応するのかを特定するためのキーのことです。このため,マッピングキーは抽出対象表と反映対象表とで対応させる必要があります。マッピングキーは1個以上の列で構成します。

注意1
マッピングキーは,反映対象のどの行に反映するかを特定するためのものです。マッピングキーが抽出側と反映側の間で特定できないときは,該当する行が複数になって,残りの反映処理で不都合が起こります。
マッピングキーで行が特定できない場合:
データを反映するときに,行が存在しないエラーになって終了することがあります。この場合は,反映環境定義のskip_sqlcodeオペランドにスキップするSQLCODEを指定して再実行してください。
注意2
反映対象表には,すべてのマッピングキー列を構成列とするユニークキーインデクスを定義してください。ユニークキーインデクスを定義していないと,キー重複エラーを検知できなくなります。さらに,UPDATEとDELETEの反映性能が著しく低下します。

マッピングキーは,抽出側DBによって指定方法が異なります。抽出側DB ごとのマッピングキーについて説明します。

<この項の構成>
(1) 抽出側DBがHiRDBの場合のマッピングキー
(2) 抽出側DBがXDM/SD E2の場合のマッピングキー
(3) 抽出側DBがXDM/RD E2の場合のマッピングキー
(4) 抽出側DBがADMの場合のマッピングキー
(5) 抽出側DBがPDMII E2の場合のマッピングキー
(6) 抽出側DBがTMS-4V/SPの場合のマッピングキー
(7) 抽出側DBがRDB1 E2の場合のマッピングキー
(8) SMALLFLT,FLOAT型の抽出列について

(1) 抽出側DBがHiRDBの場合のマッピングキー

マッピングキーに指定できるデータ型を次に示します。

表4-6 マッピングキーに指定できるデータ型(抽出側DBがHiRDB)

分類マッピングキーに指定できるデータ型列定義長
数値型INTEGER
SMALLINT
DECIMAL(m,n)1≦m≦38,0≦n≦38,n≦m
FLOAT
SMALLFLT
文字型CHAR(n)n≦255
VARCHAR(n)n≦255
NCHAR(n)n≦127
NVARCHAR(n)n≦127
MCHAR(n)n≦255
MVARCHAR(n)n≦255
日付型DATE
TIME
TIMESTAMP(p)p=0,2,4,6
INTERVAL YEAR TO DAY
INTERVAL HOUR TO SECOND
(凡例)
-:該当しません。
繰返し列はマッピングキーに指定できません。

 

(2) 抽出側DBがXDM/SD E2の場合のマッピングキー

(3) 抽出側DBがXDM/RD E2の場合のマッピングキー

(4) 抽出側DBがADMの場合のマッピングキー

(5) 抽出側DBがPDMII E2の場合のマッピングキー

(a) XDM/DSを使ってデータ連動する場合
(b) SAMファイルを使ってデータ連動する場合

(6) 抽出側DBがTMS-4V/SPの場合のマッピングキー

(7) 抽出側DBがRDB1 E2の場合のマッピングキー

(8) SMALLFLT,FLOAT型の抽出列について

マッピングキーがSMALLFLT,FLOATの概数型の場合,抽出システム別でデータ形式が異なります。さらに,概数型はSQL実行時にSQLCODE 100(条件に合う行がありません)になる可能性があります。FLOAT,SMALLFLT型の列はマッピングキーに指定しないでください。