2.2.3 データベース制限
TP1/FSPでSDBハンドラ機能を使用する場合のSDBデータベース定義の注意事項を次に示します。
-
構成要素の名称は8バイト以下で定義してください。
TP1/FSPでは,構成要素名称として8バイトまでしか指定できません。そのため,8バイトを超える構成要素が存在する場合は,意図しない構成要素にアクセスするおそれがあります。この場合の動作は保証しません。
-
構成要素の名称に空白(以降△)を含めて定義しないでください。
TP1/FSPでは,△を構成要素名称の区切りとして扱います。そのため,構成要素名称中に△が存在する場合は,意図しない構成要素にアクセスするおそれがあります。この場合の動作は保証しません。
-
DAM/MAM/TAM/SAMでは,最上位の親レコードを除くすべての子レコードでデータベースキーの構成(属性とサイズ)とデータ種別を同じ構成で定義してください。構成要素の名称は異なってもかまいません。同じ構成でない場合は,動作を保証しません。
-
UAPで,MAMを検索する条件式に"%ENTRY△△"を指定する場合は,次に示すデータベースキーの構成でMAMを定義してください。次に示す構成以外のデータベースキーを定義したMAMに対して,条件式に"%ENTRY△△"を指定した場合,エラーになります。
-
レコード分割キー(TYPE K,R)と一連番号(TYPE K,N)を定義する構成
-
レコード分割キー(TYPE K,R)を定義しないで,一連番号(TYPE K,N)を定義する構成
-
レコード分割キーかつRDエリア分割キー(TYPE K,M)と一連番号(TYPE K,N)を定義する構成
また,1.,3.の構成でMAMを定義する場合は,レコード識別コード(RECORDID)と同じ値をレコード分割キー,またはレコード分割キーかつRDエリア分割キー値としてKEYDEF句で定義してください。定義しない場合,動作は保証しません。1.の構成の定義例を次に示します。
【SDBデータベース定義例】
SCHEMA SDBデータベース名 RECORD A1 ……………………………………仮想ルートレコード 02 DBKEY_L1 CHARACTER 8 TYPE D,L 02 DBKEY_ID XCHARACTER 2 TYPE K,R RECORD A2 02 DBKEY_L1 CHARACTER 8 TYPE D,L 02 DBKEY 03 DBKEY_ID XCHARACTER 2 TYPE K,R 03 DBKEY_LN INTEGER TYPE K,N :(ユーザデータ部は省略しています) RECORDID X'AAAA' ………………………1. RECORD A3 02 DBKEY_L1 CHARACTER 8 TYPE D,L 02 DBKEY 03 DBKEY_ID XCHARACTER 2 TYPE K,R 03 DBKEY_LN INTEGER TYPE K,N :(ユーザデータ部は省略しています) RECORDID X'BBBB' ………………………2. STORAGE SCHEMA SDB格納データベース名 FOR SDBデータベース名 :省略 SDBOPTION KEYDEF DBKEY_ID DATA X'AAAA',A2 <=レコード識別コード(1.)と同じ値にする必要があります DATA X'BBBB',A3 <=レコード識別コード(2.)と同じ値にする必要があります
-