マクロ・ライブラリの作成
1つ以上のマクロを含むマクロ・ライブラリを作成できます。マクロ・ライブラリを使用すると、マクロを1回定義するだけで、そのマクロを多くのパラメータ・ファイルで使用できます。
マクロ・ライブラリを作成する手順
-
テキスト・エディタで新規ファイルを開きます。
-
必要に応じて、コメント行を使用してライブラリを説明します。
-
次の構文を使用して、各マクロを定義します。
MACRO #macro_name PARAMS (#p1, #p2 [, ...]) BEGIN macro_body END;
-
ファイルを次の形式でOracle GoldenGateディレクトリの
dirprm
サブディレクトリに保存します。filename.mac
説明:
filename
は、ファイルの名前です。.mac
拡張子によって、ファイルをマクロ・ライブラリとして定義します。
次のdatelib
というサンプル・ライブラリには、#make_date
および#assign_date
という2つのマクロが含まれます。
-- datelib macro library
--
MACRO #make_date
PARAMS (#year, #month, #day)
BEGIN
@DATE ('YYYY-MM-DD', 'CC', @IF (#year < 50, 20, 19), 'YY', #year, 'MM', #month, 'DD', #day)
END;
MACRO #assign_date
PARAMS (#target_col, #year, #month, #day)
BEGIN
#target_col = #make_date (#year, #month, #day)
END;
マクロ・ライブラリを使用するには、パラメータ・ファイルの先頭でINCLUDE
パラメータを使用します。次のサンプルのReplicatパラメータ・ファイルを参照してください。
INCLUDE /ggs/dirprm/datelib.mac
REPLICAT rep
ASSUMETARGETDEFS
USERIDALIAS ogg
MAP fin.acct_tab, TARGET fin.account;
パラメータ・ファイルに長いマクロ・ライブラリが含まれる場合、NOLIST
パラメータを使用して、ExtractまたはReplicatのレポート・ファイルで各マクロがリスト表示されることを抑止できます。リスト表示の有効化と無効化を切り替えるには、パラメータ・ファイル内またはマクロ・ライブラリ・ファイル内の任意の場所にLIST
パラメータおよびNOLIST
パラメータを配置します。次の例では、NOLIST
によって、hugelib
マクロ・ライブラリに含まれる各マクロのリスト表示を抑止します。INCLUDE
文の後にLIST
を指定することで、レポート・ファイルを通常のリスト表示に戻します。
NOLIST
INCLUDE /ggs/dirprm/hugelib.mac
LIST
INCLUDE /ggs/dirprm/mdatelib.mac
REPLICAT REP