ページの先頭行へ戻る
Linkexpress Transactional Replication option V5.0L60 説明書
FUJITSU Software

13.5.5 配付定義

以下の操作や配付定義の登録方法について説明します。

13.5.5.1 配付定義の作成

配付定義を記述したファイルを配付定義ファイルと呼びます。配付定義ファイルには、複数の配付定義を記述することができます。配付定義ファイルは、ユーザが任意の通常ファイル上にテキストファイルとして作成します。

配付定義ファイルは、メモ帳などの編集ツールを使用して作成してください。配付定義の記述方法の詳細については、"13.5.5.3 配付定義の記述"を参照してください。

13.5.5.2 配付定義の登録

配付定義の登録は、tjnldefコマンドを使用して行います。tjnldefコマンドの詳細は、"13.10.3.8 tjnldef(配付定義を登録する)"を参照してください。

以下にtjnldefコマンドの入力例を示します。

-----------------------------------------------
    tjnldef -a -f c:\tjnl\def\PUT.def
-----------------------------------------------

13.5.5.3 配付定義の記述

配付定義の記述方法について説明します。

なお、配付定義の記述規約については、TRM環境定義と同様です。TRM環境定義の記述規約については、"C.1 定義記述規約"を参照してください。

13.5.5.3.1 配付定義の記述形式

配付定義の記述形式を、"表13.25 配付定義の記述形式"に示します。

表13.25 配付定義の記述形式

[Queue]
  Name = 利用ジャーナルを配付するメッセージキュー名
  Logfmt = 取得定義名
  Compress = 利用ジャーナルを圧縮するか否か
  Pack = 複数の利用ジャーナルを1つのメッセージにパッキングするか否か
  MsgLen = 1メッセージの最大長
  OutCode = 利用ジャーナルの内容をコード変換する際のコード系
  Attr = 利用ジャーナルのジャーナル項目に項目属性表示を付加するか否か
  CharInfo = 利用ジャーナルの文字列項目および可変長文字列項目の文字列領域のサイズを拡張するか否か
  TimeInfo = 利用ジャーナルの日時データの属性
  UndefCtrl = コード変換エラーになった各国語文字の代替文字を2バイトのアンダースコアにするか否か

13.5.5.3.2 配付定義の記述内容の説明

a) Queueセクション

利用ジャーナルを配付するメッセージキューと利用ジャーナルの形式に関する情報を記述します。記述内容を"表13.26 [Queue]セクションの記述内容"に示します。

なお、利用ジャーナルの詳細な形式については、"第14章 データ形式"を参照してください。

表13.26 [Queue]セクションの記述内容

キーワード

省略

記述方法

記述内容の説明

Name

不可

trmqdcrtqコマンドで指定したメッセージキュー名を指定します。

利用ジャーナルを配付するメッセージキュー名を指定します。

Logfmt

不可

取得定義名を指定します。

配付する利用ジャーナルに対応する取得定義名を指定します。

Compress

以下のいずれかの値を指定します。

COMP:圧縮する
NOCOMP:圧縮しない(省略値)

なお、値の大文字と小文字は区別されません。

複数のテーブルの項目を1つの利用ジャーナルとして取得する際に、無効項目を削除して利用ジャーナルを圧縮するか否かを指定します。

Pack

以下のいずれかの値を指定します。

PACK:パッキングする
NOPACK:パッキングしない(省略値)

なお、値の大文字と小文字は区別されません。

1つのトランザクションで発生した複数の利用ジャーナルを1つのメッセージにパッキングするか否かを指定します。

パッキングする場合、MsgLenで指定したメッセージ長に達するまで、1つのメッセージ中に複数の利用ジャーナルが詰め込まれます。

MsgLen

1[KB]~2[MB]の数値で指定します。
単位として、"K"、"M"が指定できます。単位が指定されていない場合は、[Byte]単位での指定となります。
省略値は2[MB]です。

なお、単位の大文字と小文字は区別されません。

利用ジャーナルをメッセージとして配付する際のメッセージの最大長を指定します。
メッセージキューを作成する時に指定したメッセージ最大長以下の値を指定してください。

メッセージの長さには、以下の長さも含まれます。

  • ジャーナルヘッダ

  • 利用ジャーナル

これらの長さの詳細については、"第14章 データ形式"を参照してください。

メッセージキューに配付するメッセージの長さが指定された値を超える場合、複数のメッセージに分割されます。
ただし、TRMの仕様により、メッセージ本体の長さに上限があります。TJNLが配付するメッセージのメッセージ本体の長さが上限を超える場合は、TRMの仕様によるメッセージ本体の長さの上限でメッセージを分割します。
メッセージ本体の長さの上限については"C.3 各種制限数の一覧"を参照してください。

OutCode

以下のいずれかの値を指定します。

S_EUC:UNIX(EUC)形式に変換する(注1)
S_SJIS:UNIX(シフトJIS)形式に変換する
S_UNICODE:UNIX(UNICODE)形式に変換する
WIN_SJIS:Windowsサーバ(シフトJIS)形式に変換する(注)
WIN_UNICODE:Windowsサーバ(UNICODE)形式に変換する
GS_KANA:グローバルサーバ(EBCDIC(カナ))形式に変換する
GS_ASCII:グローバルサーバ(EBCDIC(ASCII))形式に変換する
NOCNV:データの形式を変換しない(省略値)

なお、値の大文字と小文字は区別されません。

利用ジャーナルのデータ変換方法を指定します。各値を指定した場合の詳細なデータ形式については、"表13.27 OutCodeの指定値ごとの詳細なデータ形式"を参照してください。

Attr

以下のいずれかの値を指定します。

ADD:項目属性表示を付加する
NOADD:項目属性表示を付加しない(省略値)

なお、値の大文字と小文字は区別されません。

利用ジャーナルの各項目に項目属性表示を付加するか否かを指定します。

項目属性表示の詳細については、"第14章 データ形式"を参照してください。

CharInfo

以下のいずれかの値を指定します。

EXTEND:文字列項目の文字列領域のサイズを拡張する
NORMAL:文字列項目の文字列領域のサイズを変更しない(省略値)

なお、値の大文字と小文字は区別されません。

利用ジャーナルの文字列項目および可変長文字列項目の文字列領域のサイズを拡張するか否かを指定します。
利用ジャーナルの文字列データおよび可変長文字列データをコード変換する際、文字列長の増加により欠損データが発生する可能性がある場合に指定してください。
文字列データおよび可変長文字列データのコード変換の詳細については、"14.3.1 文字列データのコード変換"を参照してください。

本指定は、項目属性表示を付加する場合のみ有効です。項目属性表示を付加しない場合、本キーワードを指定することはできません。

TimeInfo

以下のいずれかの値を指定します。

STRING:日時データの属性を文字列で出力する(項目属性表示を付加する場合の省略値)
NUMVAL:日時データの属性を数値で出力する(項目属性表示を付加しない場合の省略値)

なお、値の大文字と小文字は区別されません。

利用ジャーナルの日時データの属性を文字列または数値のいずれかで出力するかを指定します。
利用ジャーナルの日時データのデータ形式の詳細については、"B.2.3 SQL Serverと定義の対応関係"を参照してください。

項目属性表示を付加する場合、本キーワードにSTRINGのみ指定できます。項目属性表示を付加する場合、本キーワードにNUMVALを指定することはできません。

UndefCtrl

以下のいずれかの値を指定します。

CHANGE1:各国語文字の代替文字を1バイトのアンダースコア(_)とする(省略値)(注2)
CHANGE2:各国語文字の代替文字を2バイトのアンダースコア(_)とする。

コード変換に失敗した各国語文字の代替文字を2バイトのアンダースコアにするか否かを指定します。
OutCodeキーワードにNOCNVを指定した場合、またはOutCodeキーワードを省略した場合、本キーワードを指定することはできません。

注1) EUCコードとシフトJISコードは同じ種類のコード系でありながら、利用者定義域の割当などが異なるものが2つ以上存在しています。これらを環境変数で切り換えて運用することができます。詳しい設定方法は標準コード変換のマニュアルを参照してください。

注2) CHAR型(各国語固定長文字列)およびNVARCHAR型(各国語可変長文字列)の列の場合は、指定値に関わらず2バイトのアンダースコアとなります。

表13.27 OutCodeの指定値ごとの詳細なデータ形式

データ形式

文字コード

浮動小数点の表現形式

外部10進数の表現形式

エンディアンの形式

OutCodeの値

NOCNV

シフトJISもしくはUNICODE(注1)

IEEE形式

ASCII文字

リトル・エンディアン

S_EUC

COBOL_EUC(注2)

IEEE形式

ASCII文字

ビッグ・エンディアン

S_SJIS

シフトJIS

IEEE形式

ASCII文字

ビッグ・エンディアン

S_UNICODE

UNICODE(注3)

IEEE形式

ASCII文字

ビッグ・エンディアン

WIN_SJIS

シフトJIS

IEEE形式

ASCII文字

リトル・エンディアン

WIN_UNICODE

UNICODE(注3)

IEEE形式

ASCII文字

リトル・エンディアン

GS_KANA

EBCDIC(カナ)

MVS形式

ゾーン形式

ビッグ・エンディアン

GS_ASCII

EBCDIC(ASCII)

MVS形式

ゾーン形式

ビッグ・エンディアン

注1)文字列と可変長文字列はシフトJIS、各国語文字列と可変長各国語文字列はUNICODE(UTF16)で設定されます。
注2)各国語文字のみCOBOL_EUCとなります。
注3)文字列と可変長文字列はUTF8、各国語文字列と可変長各国語文字列はUTF16で設定されます。

13.5.5.3.3 配付定義の記述例

配付定義の記述例を"表13.28 配付定義の記述例"に示します。

表13.28 配付定義の記述例
[Queue]
  Name = N_KANTO                     # 配付先メッセージキュー
  Logfmt = LOG_NKANTO
  Compress = COMP                    # 更新した資源単位で圧縮する
  Pack = PACK                        # 複数の利用ジャーナルをパッキングする
  MsgLen = 30K                       # 1メッセージの最大長を30[KB]とする
  OutCode = GS_ASCII                 # 利用ジャーナルをグローバルサーバ形式に変換する
  Attr = ADD                         # 利用ジャーナルに項目属性表示を付加する
  CharInfo = EXTEND                  # 利用ジャーナルの文字列項目の文字列領域サイズを拡張する
  TimeInfo = STRING                  # 利用ジャーナルの日時データの属性を文字列とする
  UndefCtrl = CHANGE2                # コード変換エラーになった各国語文字は2バイトのアンダースコアに置き換える