データベースや業務を変更した場合、定義を追加・変更・削除する必要があります。
TJNLの定義の修正について説明します。
定義の修正を行う手順を、"図12.34 定義修正の手順"に示します。
修正した定義内容を記述した定義ファイルを作成します。以下に定義ファイルの作成方法を説明します。
定義を追加する場合
取得定義を追加する場合、追加する取得定義を記述した取得定義ファイルを新しく作成します。取得定義ファイルの作成方法の詳細は、"12.5.4.1 取得定義の作成"を参照してください。
なお、以下のキーワードの値が既に存在する取得定義と一致する場合、該当する定義の追加は行われません。
LOGFMTキーワードに指定された取得定義名
配付定義を追加する場合、追加する配付定義を記述した配付定義ファイルを新しく作成します。配付定義ファイルの作成方法の詳細は、"12.5.5.1 配付定義の作成"を参照してください。
なお、以下のキーワードの値が既に存在する配付定義と一致する場合、該当する定義の追加は行われません。
Nameキーワードに指定されたメッセージキュー名
定義を変更する場合
取得定義を変更する場合、変更する取得定義を記述した取得定義ファイルを作成します。取得定義の変更では、既に存在する取得定義のうち、以下のキーワードの値が一致する定義を、指定された取得定義で上書きします。ただし、既に存在する取得定義と以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。
LOGFMTキーワードに指定された取得定義名
定義の変更では、指定された取得定義で既存の定義が上書きされます。したがって、値を変更しないキーワードについての記述も必要です。また、キーワードを省略した場合の値が登録されている値と異なるキーワードについても注意が必要です。
このため、取得定義ファイルは取得定義の表示機能を使用し、表示結果をリダイレクションで一般ファイルに出力して作成することを推奨します。取得定義の表示は、tjnlprtfmtdefコマンドを使用して行います。tjnlprtfmtdefコマンドの詳細は"12.10.3.7 tjnlprtfmtdef(取得定義を表示する)"を参照してください。
以下にtjnlprtfmtdefコマンドの入力例を示します。
--------------------------------------------------
tjnlprtfmtdef -c -d > /tjnl/def/FMTmod.def
--------------------------------------------------
--------------------------------------------------
tjnlprtfmtdef -c -d > c:\tjnl\def\FMTmod.def
--------------------------------------------------
配付定義を変更する場合、変更する配付定義を記述した配付定義ファイルを作成します。配付定義の変更では、既に存在する配付定義のうち、以下のキーワードの値が一致する定義を、指定された配付定義で上書きします。ただし、既に存在する配付定義と以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。
Nameキーワードに指定されたメッセージキュー名
定義の変更では、指定された配付定義で既存の定義が上書きされます。したがって、値を変更しないキーワードについての記述も必要です。また、キーワードを省略した場合の値が登録されている値と異なるキーワードについても注意が必要です。
このため、配付定義ファイルは配付定義の表示機能を使用し、表示結果をリダイレクションで一般ファイルに出力して作成することを推奨します。配付定義の表示は、tjnlprtdefコマンドを使用して行います。tjnlprtdefコマンドの詳細は"12.10.3.9 tjnlprtdef(配付定義を表示する)"を参照してください。
以下にtjnlprtdefコマンドの入力例を示します。
--------------------------------------------------
tjnlprtdef -c -d > /tjnl/def/PUTmod.def
--------------------------------------------------
--------------------------------------------------
tjnlprtdef -c -d > c:\tjnl\def\PUTmod.def
--------------------------------------------------
定義を削除する場合
取得定義を削除する場合、削除する取得定義を記述した取得定義ファイルを作成します。取得定義の削除では、既に存在する取得定義のうち、以下のキーワードの値が一致する定義を削除します。
LOGFMTキーワードに指定された取得定義名
配付定義を削除する場合、削除する配付定義を記述した配付定義ファイルを作成します。配付定義の削除では、既に存在する配付定義のうち、以下のキーワードの値が一致する定義を削除します。
Nameキーワードに指定されたメッセージキュー名
修正した定義の登録方法について説明します。
定義を追加する場合
取得定義の追加は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの入力例を以下に示します。
--------------------------------------------------
tjnlfmtdef -a -f /tjnl/def/FMTadd.def
--------------------------------------------------
--------------------------------------------------
tjnlfmtdef -a -f c:\tjnl\def\FMTadd.def
--------------------------------------------------
定義の追加を行うことにより、指定された定義ファイルに記述されている定義が登録されます。ただし、以下のキーワードの値が既に登録されている定義、または反映されて有効となっている定義と一致する場合、該当する定義の追加は行われません。
LOGFMTキーワードに指定された取得定義名
配付定義の追加は、tjnldefコマンドを使用して行います。tjnldefコマンドの入力例を以下に示します。
--------------------------------------------------
tjnldef -a -f /tjnl/def/PUTadd.def
--------------------------------------------------
--------------------------------------------------
tjnldef -a -f c:\tjnl\def\PUTadd.def
--------------------------------------------------
定義の追加を行うことにより、指定された定義ファイルに記述されている定義が登録されます。ただし、以下のキーワードの値が既に登録されている定義、または反映されて有効となっている定義と一致する場合、該当する定義の追加は行われません。
Nameキーワードに指定されたメッセージキュー名
"図12.35 配付定義の追加例"に配付定義を追加する例を示します。
定義を変更する場合
取得定義の変更は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの入力例を以下に示します。
--------------------------------------------------
tjnlfmtdef -m -f /tjnl/def/FMTmod.def
--------------------------------------------------
--------------------------------------------------
tjnlfmtdef -m -f c:\tjnl\def\FMTmod.def
--------------------------------------------------
定義の変更を行うことにより、指定された定義ファイルに記述されている定義が登録されます。定義の変更では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を、指定された定義で上書きします。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。
LOGFMTキーワードに指定された取得定義名
配付定義の変更は、tjnldefコマンドを使用して行います。tjnldefコマンドの入力例を以下に示します。
--------------------------------------------------
tjnldef -m -f /tjnl/def/PUTmod.def
--------------------------------------------------
--------------------------------------------------
tjnldef -m -f c:\tjnl\def\PUTmod.def
--------------------------------------------------
定義の変更を行うことにより、指定された定義ファイルに記述されている定義が登録されます。定義の変更では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を、指定された定義で上書きします。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。
Nameキーワードに指定されたメッセージキュー名
"図12.36 配付定義の変更例"に配付定義を変更する例を示します。
定義を削除する場合
取得定義の削除は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの入力例を以下に示します。
--------------------------------------------------
tjnlfmtdef -d -f /tjnl/def/FMTdel.def
--------------------------------------------------
--------------------------------------------------
tjnlfmtdef -d -f c:\tjnl\def\FMTdel.def
--------------------------------------------------
定義の削除を行うことにより、指定された定義ファイルに記述されている定義が定義反映時に削除される定義として登録されます。定義の削除では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を削除します。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の削除は行われません。
LOGFMTキーワードに指定された取得定義名
配付定義の削除は、tjnldefコマンドを使用して行います。tjnldefコマンドの入力例を以下に示します。
--------------------------------------------------
tjnldef -d -f /tjnl/def/PUTdel.def
--------------------------------------------------
--------------------------------------------------
tjnldef -d -f c:\tjnl\def\PUTdel.def
--------------------------------------------------
定義の削除を行うことにより、指定された定義ファイルに記述されている定義が定義反映時に削除される定義として登録されます。定義の削除では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を削除します。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の削除は行われません。
Nameキーワードに指定されたメッセージキュー名
"図12.37 配付定義の削除例"に配付定義を削除する例を示します。
修正を行い、登録したTJNLの定義を有効にするためには、定義を反映する必要があります。定義の反映の詳細は、"12.5.6 定義の反映"を参照してください。
ただし、Oracleのテーブル定義を変更し、配付されていないジャーナルがジャーナル取得ファイルに存在する場合は、以下の手順に従って定義の反映を行う必要があります。
a. 定義反映を行わずにジャーナル配付機能のみを起動してすべてのジャーナルを配付する
b. 定義反映オプションを指定して、TJNLを再起動する