11.11.1 SDBデータベースの定義例(4V FMBの場合)
4V FMBのSDBデータベースを定義する場合の定義例を次に示します。
- 〈この項の構成〉
(1) データベースの階層構造
作成する4V FMBのSDBデータベースの階層構造の概要を次の図に示します。
(2) データベースの格納構造
- 作成する4V FMBのSDBデータベースの格納構造の概要を次の図に示します。
-
図11‒20 作成する4V FMBのSDBデータベースの格納構造
(3) 各レコード型のキーおよびキー構成
作成する4V FMBのSDBデータベースの,各レコード型のキーおよびキー構成を次の図に示します。
(4) SDBデータベース定義の定義例
SDBデータベース定義の定義例(*ENTRY DICTIONARY文の指定例)を次に示します。
*ENTRY DICTIONARY SCHEMA FMB01 /* SDBデータベース名(FMB01)*/ DBTYPE 4V FMB /* SDBデータベース種別 */ RECORD RECA /* レコード型名(RECA) */ 2 DBKEY 3 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 ┐※ */ 3 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 │ */ 3 DBKEY_L4 CHARACTER 3 TYPE K,L /* 顧客番号┘ */ 2 USERDA0 CHARACTER 30 TYPE U,D /* ユーザデータ */ 2 USERDANO CHARACTER 10 TYPE U,F /* ユーザファイル通番 */ FUNCTION REFER USE /* 検索の指定 */ ADD USE /* 追加の指定 */ UPDATE USE /* 更新の指定 */ ERASE NOUSE /* 削除の指定 */ ALLERASE NOUSE /* 一括削除の指定 */ RECORD RECB /* レコード型名(RECB) */ 2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */ 2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */ 2 DBKEY_L4 CHARACTER 3 TYPE K,L /* 顧客番号 */ 2 DBKEY INTEGER TYPE N,N /* 一連番号属性なし */ 2 USERDB0 CHARACTER 20 TYPE U,D /* ユーザデータ */ FUNCTION REFER USE /* 検索の指定 */ ADD USE /* 追加の指定 */ UPDATE USE /* 更新の指定 */ ERASE NOUSE /* 削除の指定 */ ALLERASE NOUSE /* 一括削除の指定 */ RECORD RECC /* レコード型名(RECC) */ 2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */ 2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */ 2 DBKEY_L4 CHARACTER 3 TYPE K,L /* 顧客番号 */ 2 DBKEY INTEGER TYPE K,N /* 一連番号属性あり */ 2 USERDC0 CHARACTER 10 TYPE U,D /* ユーザデータ */ 2 USERDC1 CHARACTER 10 TYPE U,K /* ユーザキー */ 2 USERDC2 CHARACTER 10 TYPE U,D /* ユーザデータ */ FUNCTION REFER USE /* 検索の指定 */ ADD USE /* 追加の指定 */ UPDATE USE /* 更新の指定 */ ERASE NOUSE /* 削除の指定 */ ALLERASE NOUSE /* 一括削除の指定 */ RECORD RECD /* レコード型名(RECD) */ 2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */ 2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */ 2 DBKEY_L4 CHARACTER 3 TYPE K,L /* 顧客番号 */ 2 DBKEY_P2 INTEGER TYPE K,P /* 上位の一連番号(RECC用) */ 2 DBKEY INTEGER TYPE K,N /* 一連番号属性あり */ 2 USERDD0 CHARACTER 10 TYPE U,D /* ユーザデータ */ 2 USERDD1 CHARACTER 10 TYPE U,K /* ユーザキー */ 2 USERDD2 CHARACTER 10 TYPE U,D /* ユーザデータ */ FUNCTION REFER USE /* 検索の指定 */ ADD USE /* 追加の指定 */ UPDATE USE /* 更新の指定 */ ERASE NOUSE /* 削除の指定 */ ALLERASE NOUSE /* 一括削除の指定 */ RECORD RECE /* レコード型名(RECE) */ 2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */ 2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */ 2 DBKEY_L4 CHARACTER 3 TYPE K,L /* 顧客番号 */ 2 DBKEY_P2 INTEGER TYPE K,P /* 上位の一連番号(RECC用) */ 2 DBKEY_P3 INTEGER TYPE K,P /* 上位の一連番号(RECD用) */ 2 DBKEY INTEGER TYPE N,N /* 一連番号属性なし */ 2 USERDD0 CHARACTER 10 TYPE U,D /* ユーザデータ */ 2 USERDD2 CHARACTER 10 TYPE U,D /* ユーザデータ */ FUNCTION REFER USE /* 検索の指定 */ ADD USE /* 追加の指定 */ UPDATE USE /* 更新の指定 */ ERASE NOUSE /* 削除の指定 */ ALLERASE NOUSE /* 一括削除の指定 */ SET SET1 /* 親子集合(SET1) */ OWNER RECA /* 親レコードの指定 */ ORDER LAST MEMBER RECB /* 子レコードの指定 */ INSERTION AUTOMATIC RETENTION FIXED SETOPTION /* SETオプション */ OCCURRENCE NUMBER 0 /* 一連番号属性なし */ SET SET2 /* 親子集合(SET2) */ OWNER RECA /* 親レコードの指定 */ ORDER SORTED DUPLICATES PROHIBITED MEMBER RECC /* 子レコードの指定 */ INSERTION AUTOMATIC RETENTION FIXED KEY ASCENDING USERDC1 SETOPTION /* SETオプション */ OCCURRENCE NUMBER 10 /* 一連番号属性あり */ SET SET3 /* 親子集合(SET3) */ OWNER RECC /* 子レコードの指定 */ ORDER SORTED DUPLICATES PROHIBITED MEMBER RECD /* 孫レコードの指定 */ INSERTION AUTOMATIC RETENTION FIXED KEY ASCENDING USERDD1 SETOPTION /* SETオプション */ OCCURRENCE NUMBER 100 /* 一連番号属性あり */ SET SET4 /* 親子集合(SET4) */ OWNER RECD /* 孫レコードの指定 */ ORDER LAST MEMBER RECE /* ひ孫レコードの指定 */ INSERTION AUTOMATIC RETENTION FIXED SETOPTION /* SETオプション */ OCCURRENCE NUMBER 0 /* 一連番号属性なし */ SDBOPTION /* SDBオプション */ FUNCTION DBLODUTL USE /* HiRDB/SDデータベース作成ユティリティ */ END SCHEMA
- 注※
-
シーケンシャルインデクスの構成要素となります。
(5) SDBデータベース格納定義の定義例
SDBデータベース格納定義例(*ENTRY DICTIONARY文の指定例)を次に示します。
*ENTRY DICTIONARY STORAGE SCHEMA FMB01 FOR FMB01 /* SDBデータベース格納名(FMB01)*/ /* FOR SDBデータベース名(FMB01)*/ DBTYPE 4V /* SDBデータベース種別 */ STORAGE RECORD RECA /* 格納レコード名(RECA) */ SEQUENTIAL RECA_SI FOR RECORD /* シーケンシャルインデクス名(RECA_SI) */ ORDER KEY ASCENDING DBKEY_L2,DBKEY_L3,DBKEY_L4 WITHIN FMBX01_I /* シーケンシャルインデクス用RDエリア名 */ WITHIN FMBX01 /* 格納レコード用RDエリア名 */ STORAGE RECORD RECB /* 格納レコード名(RECB) */ CLUSTERED SET1 WITHIN FMBX01 /* 格納レコード用RDエリア */ STORAGE RECORD RECC /* 格納レコード名(RECC) */ CLUSTERED SET2 WITHIN FMBX01 /* 格納レコード用RDエリア */ STORAGE RECORD RECD /* 格納レコード名(RECD) */ CLUSTERED SET3 WITHIN FMBX01 /* 格納レコード用RDエリア */ STORAGE RECORD RECE /* 格納レコード名(RECE) */ CLUSTERED SET4 WITHIN FMBX01 /* 格納レコード用RDエリア */ SET SET1 /* 親子集合(SET1) */ OWNER POINTER FOR FIRST LAST MEMBER /* 子(RECB)へのポインタ */ MEMBER POINTER FOR NEXT PRIOR TENANT /* 子の兄弟ポインタ */ SET SET2 /* 親子集合(SET2) */ OWNER POINTER FOR FIRST LAST MEMBER /* 子(RECC)へのポインタ */ MEMBER POINTER FOR NEXT PRIOR TENANT /* 子の兄弟ポインタ */ SET SET3 /* 親子集合(SET3) */ OWNER POINTER FOR FIRST LAST USER MEMBER /* 孫(RECD)へのポインタ */ MEMBER POINTER FOR NEXT PRIOR TENANT /* 孫の兄弟ポインタ定義 */ SET SET4 /* 親子集合(SET4) */ OWNER POINTER FOR FIRST LAST MEMBER /* ひ孫(RECE)へのポインタ */ MEMBER POINTER FOR NEXT PRIOR TENANT /* ひ孫の兄弟ポインタ */ SDBOPTION /* SDBオプション */ END STORAGE SCHEMA
(6) SDBディレクトリ情報の追加例
SDBディレクトリ情報の追加例(*ENTRY DIRECTORY文の指定例)を次に示します。
*ENTRY DIRECTORY DBSCHM FMB01