取得定義を記述したファイルを取得定義ファイルと呼びます。取得定義ファイルには、複数の取得定義を記述できます。取得定義ファイルは、ユーザが任意の通常ファイル上にテキストファイルとして作成します。
取得定義ファイルは、viコマンドなど(Windowsではメモ帳など)の編集ツールを使用して定義してください。取得定義の記述方法の詳細については、"12.5.4.3 取得定義の記述"を参照してください。
取得定義の登録は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの詳細は、"12.10.3.6 tjnlfmtdef(取得定義を登録する)"を参照してください。
以下にtjnlfmtdefコマンドの入力例を示します。
-----------------------------------------------
tjnlfmtdef -a -f /tjnl/def/FMT.def
-----------------------------------------------
-----------------------------------------------
tjnlfmtdef -a -f c:\tjnl\def\FMT.def
-----------------------------------------------
取得定義の記述方法について説明します。
なお、取得定義の記述規約については、"B.5.2 取得定義構文(Oracle連携) "を参照してください。
取得定義の記述形式を、"表12.25 取得定義の記述形式"に示します。
LOGFMT 取得定義名 -- 取得定義名 SYSITEM システム取得項目 -- システム取得項目情報 TABLE スキーマ名.テーブル名 -- ジャーナル取得対象列情報 ( 項目名 : 列名 データ属性 列編集情報 ) CHECKPOINT ジャーナル・チェックポイント名 -- ジャーナル・チェックポイント情報 COMMENT コメント文 ; |
取得定義の記述内容の説明を"表12.26 取得定義の記述内容"に示します。取得定義の構文、および指定値の詳細については、"B.5.2 取得定義構文(Oracle連携) "を参照してください。
キーワード | 省略 | 記述方法 | 記述内容の説明 |
---|---|---|---|
不可 | 取得定義名を指定します。 | 取得定義名を指定します。 本キーワードから";"までが1つの取得定義となります。 | |
可 | 以下のいずれかの形式で指定します。 TJNLSYSALL:すべてのシステム取得項目を取得対象とします 本キーワードを省略した場合は、システム取得項目は取得されません。 | 取得するシステム取得項目を指定します。 複数のシステム取得項目を取得対象とする場合は、システム取得項目を","で区切って記述してください。 | |
可 | 以下の形式で指定します。 スキーマ名.テーブル名 | ジャーナルを取得する列を指定します。 同一テーブル内の複数の列を取得対象とする場合は、"項目名:列名 データ属性 列編集情報"を","で区切って記述してください。 複数のテーブルをジャーナル取得対象とする場合は、本キーワードを複数記述してください。 列編集情報については、"列編集情報"を参照してください。 | |
可 | ジャーナル・チェックポイント名を指定します。 | 配付を要求するジャーナル・チェックポイントを識別するジャーナル・チェックポイント名を指定します。 複数のジャーナル・チェックポイント名を指定する場合は、"ジャーナル・チェックポイント名"を","で区切って記述してください。 | |
可 | 任意の文字列を指定します。 | 取得定義に対するコメント文を指定します。 |
注)取得定義を追加または変更する場合は、省略できません。
列編集情報とは、外部10進数の列の符号情報を付加せず差分抽出するなど、ジャーナルを取得する列を編集する情報のことです。
列編集情報は、"CONV = (列編集指示)"の形式で指定します。
列編集指示の機能の説明を"表12.27 列編集指示の機能"に示します。列編集指示の構文、および指定値の詳細については、"B.5.2 取得定義構文(Oracle連携) "を参照してください。
列編集指示 | 機能 |
---|---|
NUMBER型の列において、内部10進数として差分抽出します。
| |
外部10進数または内部10進数の列において、符号情報を付加せず差分抽出します。 | |
固定長文字列または可変長文字列の列において、指定した長さで差分抽出します。 |
注1)位取りを省略することはできません。NUMBER(p)を取得対象とする場合、取得定義のデータ属性は、NUMBER(p,0)と記述してください。
注2)配付定義のOutCodeにGS_KANAまたはGS_ASCIIを指定した場合、符号情報を付加せず差分抽出します。
配付定義のOutCodeにGS_KANAまたはGS_ASCII以外を指定した場合、列編集指示の指定に関わらず、符号情報を付加して差分抽出します。
注3)配付定義のCharInfoにEXTENDを指定した場合、文字列領域のサイズを拡張せず、SIZE(長さ)で指定した長さで差分抽出します。
取得定義の記述例を"表12.28 取得定義の記述例"に示します。
LOGFMT LOG_NKANTO SYSITEM TJNLRESOURCE,TJNLDBOP,TJNLTIME TABLE 関東地区.家電 ( OFFICE_ID : 販売店コード NUMBER(10) , ITEM_ID : 製品番号 NUMBER(10) , ITEM_DIVISION : 製品区分 NUMBER(5,0) CONV=(SIGN(OFF)) , ITEM_NAME : 製品名 CHAR(300) , SALE_NUM : 販売数 NUMBER(10)) CHECKPOINT DAYEND , WEEKEND COMMENT "北関東地区の家電製品販売状況収集用定義"; |