マクロ・ライブラリの作成

1つ以上のマクロを含むマクロ・ライブラリを作成できます。マクロ・ライブラリを使用すると、マクロを1回定義するだけで、そのマクロを多くのパラメータ・ファイルで使用できます。

マクロ・ライブラリを作成する手順

  1. テキスト・エディタで新規ファイルを開きます。

  2. 必要に応じて、コメント行を使用してライブラリを説明します。

  3. 次の構文を使用して、各マクロを定義します。
    MACRO #macro_name
    PARAMS (#p1, #p2 [, ...])
    BEGIN
    macro_body
    END;
  4. ファイルを次の形式で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