DBサービス定義ファイルおよびDBサービス定義の規約について説明します。
DBサービス定義ファイルの記述例は、"8.1 DBサービス定義機能の使用方法"を参照してください。
また、DB連携定義ツールによりDBサービス定義ファイルを作成できます。
DB連携定義ツールについては、"第8部 DB連携定義ツール"を参照してください。
DBサービス定義ファイルの記述規約は以下のとおりです。
改行記号までを1行とします。
| NAME = INORDER[改行記号]   | 
1行の最大長は、改行記号を除き1024バイトです。
| ITEM = ( …, ( ITEM , char(8) except null field ) ) [改行記号] | 
各定義文は、定義文の種類を示す定義文名と、個々の定義内容を示すオペランドから構成されます。各定義文の最後には、定義文終了記号(半角セミコロン";")が必要です。
| EXTRACT  ←定義文名 | 
オペランドとは、定義内容の種類を示すキーワードと、キーワードに対応する値から構成される記述です。キーワードと値の間には"="を記述します。
| NAME = INORDER | 
1行に定義文とオペランドを混在して記述できません。
| 正:INTABLE | 
1行に記述可能なオペランドは1個です。
| 正:NAME = OUTORDER | 
値が1個しか指定できないオペランドの場合は、複数行にまたがって記述できません。
| 正:NAME = INORDER | 
オペランドに複数の値がある場合、複数行に分けて記述できます。
| ITEM = ( ITEM1 , | 
行の任意の位置から記述を開始できます。記述位置を揃えるために、半角空白およびタブ記号を使用できます。
|               ITEM = ( ITEM1 , | 
行の先頭カラムにコメント記号を記述して、コメント行を作成できます。コメント記号は半角の"#"です。2カラム目以降に"#"を記述した場合、コメント行として扱われません。
| #  この行はコメント行です。 | 
DBサービス定義ファイルの最終行には改行記号が必要です。
| 正:    DATABASE = データベース01 | 
DBサービス定義の定義文について
DBサービス定義で使用する定義文には以下があります。
INTABLE定義文 :入力データを定義する定義文です。
EXTRACT定義文 :入力データのデータ項目の編集方法を定義する定義文です。
OUTTABLE定義文 :出力データを定義する定義文です。
STOREGROUP定義文 :格納グループを定義する定義文です。
定義文の対応についての規約は、以下のとおりです。
1個のDBサービスグループには、最低1個の格納グループの定義(STOREGROUP定義文)が必要です。
1個の格納グループには、最低1個のDBサービスが必要です。
1個のDBサービスには、INTABLE定義文、EXTRACT定義文、OUTTABLE定義文がそれぞれ1個必要です。
各定義文は、1個のDBサービスグループに、それぞれ32000個まで定義可能です。
同じ定義文で同じ識別名(NAMEオペランドの指定値)を持つことはできません。たとえば、複数のINTABLE定義文でNAMEオペランドに同じ値を指定した定義はできません。なお、異なる定義文では、同じ識別名を指定できます。
複数のDBサービスにおいてINTABLE定義文の入力データ属性が一致する場合、複数のEXTRACT定義文のINTABLEオペランドに同一のINTABLE識別名を指定できます。データベースの対応関係が1対nの場合にDBサービス定義ファイルの記述量を削減できます。
DBサービス定義ファイルについて
DBサービス定義ファイルのアクセス権は、lxrtmgensvコマンドを実行する利用者の権限で読込み可能となるように設定してください。
DBサービス定義ファイルで使用する文字コード系は、以下のとおりにしてください。
インストール時に指定したコード系

シフトJIS


DBサービス定義ファイルで文字コード系としてUTF-8を使用した場合、DBサービス定義ファイルの先頭にUCSを識別するための"印"(しるし)を使用しないでください。なお、UCSを識別するための"印"は、一般的に"BOM"(Byte Order Mark)と表現されることがあります。