2.3.4 ユーザ公開テーブル
SDBデータベース定義情報を格納したテーブルやインタフェース用のテーブルをユーザ公開します。ユーザは,これらのテーブルから定義情報を参照し,SDBにアクセスするための準備を行ってください。
ユーザ公開テーブルが破壊された場合,DB破壊などの致命的障害を引き起こすおそれがあるため,テーブルを格納しているメモリの更新を禁止します。不当に更新した場合は,更新した時点でKFSB55391-Eメッセージを出力し,保護区/非保護区に関係なくプロセスダウンします。
テーブル名および取得方法を次の表に示します。
項番 |
テーブル名 |
説明 |
取得方法 |
---|---|---|---|
1 |
SDB名称リスト |
SDBハンドラが管理する全SDB名称およびインタフェースエリアテンプレートのアドレスが設定されるテーブルです。 |
ee_sdh_init()/CBLEESDH('INIT')で要求コード'S'指定 |
2 |
インタフェースエリアテンプレート |
SDBごとに存在し,SDBデータベース情報(SDB名,レコード情報など)が格納されるテーブルです。また,SDBデータベースアクセスを行うユーザはテンプレートを複写してアクセス用インタフェースエリアを作成します。構造については「2.3.4(2) インタフェースエリア構造」を参照してください。 |
同上 |
3 |
レコード分割キーリスト |
レコード分割キーとそれに対応するインタフェースエリアのエントリ部のロケーションが格納されるテーブルです。 |
ee_sdh_init()/CBLEESDH('INIT')で要求コード'K'指定 |
4 |
RDエリア分割キーリスト |
RDエリア分割キーとそれに対応するRDエリア名称が格納されるテーブルです。 |
ee_sdh_init()/CBLEESDH('INIT')で要求コード'R'指定 |
- 〈この項の構成〉
(1) インタフェースエリアテンプレート
SDBごとに存在し,SDBの構成情報や定義情報などが格納されます。また,SDBハンドラが提供するAPIの引数として使用します。SDBデータベースアクセスを行うユーザは,アクセス対象SDB用のインタフェースエリアテンプレートを複写し,アクセス用のインタフェースエリアを作成してください。以降,SDBデータベースアクセス時は複写したインタフェースエリアを使用してください。
SDBハンドラ機能を使用する場合は,インタフェースエリアのヘッダ部(要求部)およびエントリ部(要求部)に必要な情報を設定後,提供APIを呼び出します。提供APIリターン時は,インタフェースエリアのヘッダ部(結果部),エントリ部(結果部)およびキー報告エリア部に実行結果が設定されているので結果を判定してください。
(2) インタフェースエリア構造
インタフェースエリアの構造を次の表に示します。
項番 |
項目 |
説明 |
個数 |
|
---|---|---|---|---|
1 |
ヘッダ部 |
情報部 |
データベース名称,インタフェースエリアテンプレートアドレス,およびSDBデータベースの定義情報(参照可否,DB種別,キー数など)が設定されます。 |
1 |
2 |
要求部 |
提供API呼び出し時,ユーザは必ず設定します。提供API全体に関連する要求情報(排他情報など)を格納します。 |
||
3 |
結果部 |
提供APIの実行結果(SDHステータスコードなど)が設定されます。 |
||
4 |
エントリ部 |
情報部 |
レコード名称,構成情報部ロケーション,およびSDBデータベースの定義情報(参照可否,ユーザキー有無など)が設定されます。 |
レコード型数+1 |
5 |
要求部 |
レコードにアクセスするためのSDBデータベースアクセス情報(SDBデータベースアクセス種別,キー情報,データ格納アドレスなど)を設定します。1回の提供APIで複数レコードにアクセスする場合は,複数エントリにSDBデータベースアクセス情報を設定します。 |
||
6 |
結果部 |
当該エントリのSDBデータベースアクセス実行結果が格納されます。 |
||
7 |
キー報告エリア部 |
− |
アクセスしたレコードのキー構成情報が格納されます。1回の提供APIで複数エントリを指定した場合は,最後にアクセス成功したレコードのキー構成情報が格納されます。 |
1 |
8 |
構成要素情報部 |
− |
SDBデータベース定義で指定した構成要素情報(構成要素名称,属性,サイズなど)が設定されます。 |
全レコードの構成要素数 |
FMBデータベースと,対応するインタフェースエリアの例を次の図に示します。DBアクセス時は,アクセス対象のレコード型に対応する,インタフェースエリアのレコード型エントリを使用してください。複数のレコード型にアクセスする場合は,複数のレコード型エントリを使用してください。
(a) ヘッダ部
データベース名称およびSDBデータベースの定義情報などを設定します。
ヘッダ部の構成を次の表に示します。
項番 |
ヘッダ部の構成 |
用途 |
---|---|---|
1 |
インタフェースエリアテンプレート構成情報部 |
インタフェースエリア全体サイズやDB名称などインタフェースエリアの構成に関する情報を設定します。 |
2 |
要求部 |
UAPからの要求を受け取る領域です。 |
3 |
結果部 |
UAPへの結果を設定する領域です。 |
4 |
定義情報部 |
SDBデータベース定義を設定する領域です。 |
5 |
DBハンドラワーク |
製品が使用します。 |
ヘッダ部の詳細を次の表に示します。
項番 |
分類 |
相対位置 (バイト) |
長さ (バイト) |
属性 |
内容 |
---|---|---|---|---|---|
1 |
インタフェースエリアテンプレート構成情報部 |
0 |
4 |
キャラクタ |
ヘッダ識別子 インタフェースエリアのヘッダを表す識別子。 '*HDR' |
2 |
4 |
4 |
数値 |
ヘッダ部サイズ ヘッダ部のサイズ。2048バイト |
|
3 |
8 |
1 |
キャラクタ |
製品種別 '4':SDBハンドラ |
|
4 |
9 |
3 |
− |
予備 |
|
5 |
12 |
4 |
数値 |
インタフェースエリア全体サイズ インタフェースエリアの全体(ヘッダ部,エントリ部,キー報告エリア部,構成要素情報部)サイズ。 |
|
6 |
16 |
8 |
アドレス |
自インタフェースエリアテンプレートアドレス インタフェースエリアテンプレートへのアドレス。 |
|
7 |
24 |
4 |
数値 |
エントリ部先頭ロケーション※ インタフェースエリアヘッダ部先頭から先頭エントリまでのロケーション。 |
|
8 |
28 |
4 |
数値 |
エントリ部全体サイズ 複数エントリから成るエントリ部全体サイズ。 |
|
9 |
32 |
4 |
数値 |
エントリ数 DB対応エントリを含むエントリ部の数。 |
|
10 |
36 |
4 |
− |
予備 |
|
11 |
40 |
4 |
数値 |
キー報告エリア部先頭ロケーション※ インタフェースエリアヘッダ部先頭からキー報告エリア部へのロケーション |
|
12 |
44 |
4 |
数値 |
キー報告エリア部サイズ |
|
13 |
48 |
4 |
数値 |
構成要素情報部ロケーション※ インタフェースエリアヘッダ部先頭から先頭構成要素情報までのロケーション |
|
14 |
52 |
4 |
数値 |
構成要素情報部全体サイズ 複数構成要素情報から成る構成要素情報部全体サイズ |
|
15 |
56 |
40 |
− |
予備 |
|
16 |
96 |
2 |
数値 |
データベース名称サイズ データベース名称のサイズ |
|
17 |
94 |
30 |
キャラクタ |
データベース名称 本インタフェースエリアでアクセス可能なSDB名称。 データベース名称は左詰めで残りは'△'。 |
|
18 |
要求部 |
128 |
4 |
キャラクタ |
機能コード |
19 |
132 |
1 |
キャラクタ |
要求コード1 |
|
20 |
133 |
1 |
キャラクタ |
要求コード2 |
|
21 |
134 |
1 |
キャラクタ |
要求コード3 |
|
22 |
135 |
1 |
キャラクタ |
要求コード4 |
|
23 |
136 |
1 |
キャラクタ |
アクセスモード1 |
|
24 |
137 |
1 |
キャラクタ |
アクセスモード2 |
|
25 |
138 |
1 |
キャラクタ |
アクセスモード3 |
|
26 |
139 |
1 |
キャラクタ |
アクセスモード4 |
|
27 |
140 |
1 |
キャラクタ |
排他モード1 |
|
28 |
141 |
1 |
キャラクタ |
排他モード2 |
|
29 |
142 |
1 |
キャラクタ |
排他モード3 |
|
30 |
143 |
1 |
キャラクタ |
排他モード4 |
|
31 |
144 |
1 |
キャラクタ |
データエリア形式 |
|
32 |
145 |
1 |
キャラクタ |
店番限定有無 |
|
33 |
146 |
1 |
キャラクタ |
順アクセス内基点条件オプション |
|
34 |
147 |
1 |
キャラクタ |
複数レコードの検索専用オプション |
|
35 |
148 |
1 |
キャラクタ |
個別開始/終了一括要求オプション |
|
36 |
149 |
1 |
キャラクタ |
個別開始実行要求オプション |
|
37 |
150 |
1 |
キャラクタ |
オプションコード7 |
|
38 |
151 |
1 |
キャラクタ |
オプションコード8 |
|
39 |
152 |
8 |
− |
予備 |
|
40 |
160 |
8 |
アドレス |
データベースアクセス用エントリリストアドレス |
|
41 |
168 |
8 |
アドレス |
システム構成表示エリアアドレス |
|
42 |
176 |
2 |
数値 |
データベース名称サイズ |
|
43 |
178 |
30 |
キャラクタ |
データベース名称 |
|
44 |
208 |
8 |
アドレス |
データベースキー指定エリアアドレス |
|
45 |
216 |
8 |
アドレス |
TP1/FSP領域 |
|
46 |
224 |
4 |
− |
予備 |
|
47 |
228 |
12 |
− |
予備 |
|
48 |
240 |
8 |
アドレス |
RDエリア名称格納エリア |
|
49 |
248 |
4 |
数値 |
RDエリア名称格納エリアサイズ |
|
50 |
252 |
4 |
− |
予備 |
|
51 |
256 |
2 |
数値 |
店番サイズ |
|
52 |
258 |
14 |
キャラクタ |
店番 |
|
53 |
272 |
240 |
− |
予備 |
|
54 |
結果部 |
512 |
1 |
キャラクタ |
リターンコード |
55 |
513 |
1 |
キャラクタ |
サブコード |
|
56 |
514 |
2 |
− |
予備 |
|
57 |
516 |
4 |
キャラクタ |
詳細コード |
|
58 |
520 |
4 |
キャラクタ |
エラーコード1 |
|
59 |
524 |
4 |
キャラクタ |
エラーコード2 |
|
60 |
528 |
5 |
キャラクタ |
SDHステータスコード |
|
61 |
533 |
1 |
− |
予備 |
|
62 |
534 |
1 |
キャラクタ |
暗黙的ロールバック有無 |
|
63 |
535 |
1 |
キャラクタ |
個別開始実行要求結果 |
|
64 |
536 |
8 |
数値 |
SQLコード |
|
65 |
544 |
32 |
キャラクタ |
障害情報 |
|
66 |
576 |
8 |
アドレス |
データベース名称リストアドレス |
|
67 |
584 |
8 |
アドレス |
アクセス機能用インタフェースエリアアドレス インタフェースエリアの先頭アドレスを設定 |
|
68 |
592 |
4 |
数値 |
エントリ部ロケーション |
|
69 |
596 |
4 |
− |
予備 |
|
70 |
600 |
8 |
アドレス |
レコード分割キー一覧 |
|
71 |
608 |
8 |
アドレス |
RDエリア分割キー一覧 |
|
72 |
616 |
152 |
− |
予備 |
|
73 |
定義情報部 |
768 |
4 |
数値 |
データベース番号(1〜n) |
74 |
772 |
1 |
キャラクタ |
DB種別 DB種別を表します。 'F':FMB 'D':DAM 'M':MAM 'S':SAM 'T':TAM |
|
75 |
773 |
3 |
キャラクタ |
予備 |
|
76 |
776 |
1 |
キャラクタ |
参照可否 当該SDBデータベースへのレコード参照可否を表します。 SDBデータベース定義で仮想ルートを除くレコードに1つでもアクセス属性'REFER USE'を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
77 |
777 |
1 |
キャラクタ |
更新可否 当該SDBデータベースへのレコード更新可否を表します。 SDBデータベース定義で仮想ルートを除くレコードに1つでもアクセス属性'UPDATE USE'を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
78 |
778 |
1 |
キャラクタ |
追加可否 当該SDBデータベースへのレコード追加可否を表します。 SDBデータベース定義で仮想ルートを除くレコードに1つでもアクセス属性'ADD USE'を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
79 |
779 |
1 |
キャラクタ |
削除可否 当該SDBデータベースへのレコード削除可否を表します。 SDBデータベース定義で仮想ルートを除くレコードに1つでもアクセス属性'ERASE USE'を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
80 |
780 |
1 |
キャラクタ |
一括削除可否 当該SDBデータベースへのレコード一括削除可否を表します。 SDBデータベース定義で仮想ルートを除くレコードに1つでもアクセス属性'ALLERASE USE'を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
81 |
781 |
1 |
キャラクタ |
DB作成UTL追加可否 当該SDBデータベースへのDB作成UTLを使用したレコード追加可否を表します。 SDBデータベース定義でアクセス属性'DBLODUTL USE'を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
82 |
782 |
1 |
キャラクタ |
フォーマットライト可否 当該SDBデータベースへのフォーマットライト可否を表します。 SDBデータベース定義でアクセス属性'FORMAT USE'を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
83 |
783 |
1 |
キャラクタ |
店群構成 店群構成かどうかを示します。 'Y':店群 'N':非店群 |
|
84 |
784 |
1 |
キャラクタ |
リクエストモード1 '△'固定 |
|
85 |
785 |
1 |
キャラクタ |
リクエストモード2 '△'固定 |
|
86 |
786 |
2 |
− |
予備 |
|
87 |
788 |
1 |
キャラクタ |
階層ランダム/シーケンシャル 'R':階層ランダムアクセスモード |
|
88 |
789 |
1 |
キャラクタ |
ユーザファイル通番取得可否 ユーザファイル通番の取得可否を示します。 SDBデータベース定義で仮想ルートを除くレコードに1つでもユーザファイル通番(TYPE U,F)を設定した場合は,'Y'を設定します。 'Y':可 'N':否 |
|
89 |
790 |
2 |
− |
予備 |
|
90 |
792 |
4 |
数値 |
レコード種類数 SDBデータベースに定義したレコードの種類数。仮想ルートは含みません。インタフェースエリアではDB対応エントリを除いたエントリ数と同じになります。 |
|
91 |
796 |
4 |
− |
予備 |
|
92 |
800 |
4 |
数値 |
レコード分割キー数 定義されたレコード分割キーの数 |
|
93 |
804 |
2 |
数値 |
レコード分割キーロケーション※ キー先頭からレコード分割キーまでのロケーション(バイト) |
|
94 |
806 |
2 |
数値 |
レコード分割キーサイズ レコード分割キーのサイズ |
|
95 |
812 |
4 |
数値 |
RDエリア分割キー数 定義されたRDエリア分割キーの数。 |
|
96 |
814 |
2 |
数値 |
RDエリア分割キーロケーション※ キー先頭からRDエリア分割キーまでのロケーション(バイト) |
|
97 |
816 |
2 |
数値 |
RDエリア分割キーサイズ RDエリア分割キーのサイズ |
|
98 |
818 |
4 |
数値 |
最大階層レベル SDBデータベースの最大階層レベルを表します。 FMBの場合は1〜15 FMB以外の場合は1 |
|
99 |
820 |
4 |
数値 |
TP1/FSP領域 |
|
100 |
824 |
8 |
− |
予備 |
|
101 |
832 |
4 |
数値 |
全キー長(レベル2〜一連番号までの合計サイズ) FMBの場合は,ルートレコードのDBKEYサイズ FMB以外の場合は,DBKEYサイズ |
|
102 |
836 |
4 |
数値 |
TP1/FSP領域 |
|
103 |
840 |
8 |
− |
予備 |
|
104 |
848 |
4 |
数値 |
レベル2キー構成要素情報 SDBデータベース定義上の構成要素のエントリ番号 |
|
105 |
852 |
4 |
数値 |
レベル2論理キー長 |
|
106 |
856 |
4 |
数値 |
レベル2論理キー種類数 |
|
107 |
860 |
4 |
− |
予備 |
|
108 |
864 |
4 |
数値 |
レベル3キー構成要素情報 SDBデータベース定義上の構成要素のエントリ番号 |
|
109 |
868 |
4 |
数値 |
レベル3論理キー長 |
|
110 |
872 |
4 |
数値 |
レベル3論理キー種類数 |
|
111 |
876 |
4 |
− |
予備 |
|
112 |
880 |
4 |
数値 |
レベル4キー構成要素情報 SDBデータベース定義上の構成要素のエントリ番号 |
|
113 |
884 |
4 |
数値 |
レベル4論理キー長 |
|
114 |
888 |
4 |
数値 |
レベル4論理キー種類数 |
|
115 |
892 |
4 |
− |
予備 |
|
116 |
896 |
4 |
数値 |
レベル5キー構成要素情報 SDBデータベース定義上の構成要素のエントリ番号 |
|
117 |
900 |
4 |
数値 |
レベル5論理キー長 |
|
118 |
904 |
4 |
数値 |
レベル5論理キー種類数 |
|
119 |
908 |
4 |
− |
予備 |
|
120 |
912 |
4 |
数値 |
レベル6キー構成要素情報 SDBデータベース定義上の構成要素のエントリ番号 |
|
121 |
916 |
4 |
数値 |
レベル6論理キー長 |
|
122 |
920 |
4 |
数値 |
レベル6論理キー種類数 |
|
123 |
924 |
4 |
− |
予備 |
|
124 |
928 |
4 |
数値 |
レベル7キー構成要素情報 SDBデータベース定義上の構成要素のエントリ番号 |
|
125 |
932 |
4 |
数値 |
レベル7論理キー長 |
|
126 |
936 |
4 |
数値 |
レベル7論理キー種類数 |
|
127 |
940 |
4 |
− |
予備 |
|
128 |
944 |
4 |
数値 |
一連番号構成要素情報 SDBデータベース定義上の構成要素のエントリ番号 |
|
129 |
948 |
4 |
数値 |
一連番号サイズ 4固定 |
|
130 |
952 |
8 |
− |
予備 |
|
131 |
960 |
8 |
アドレス |
レコード分割キー一覧アドレス レコード分割キー一覧へのアドレスを表します。 |
|
132 |
968 |
8 |
アドレス |
RDエリア分割キー一覧アドレス RDエリア分割キー一覧へのアドレスを表します。 |
|
133 |
976 |
48 |
− |
予備 |
|
134 |
DBハンドラワーク |
1024 |
1024 |
− |
SDBハンドラ情報 |
- ロケーション情報
-
各領域へのロケーション情報として,ヘッダ部には,1.エントリ部へのロケーション,2.キー報告エリア部へのロケーション,3.構成要素情報部へのロケーションを設定します。
図2‒7 各エリアへのロケーション また,4.RDエリア分割キーのロケーション,5.レコード分割キーのロケーションを設定します。
図2‒8 各キーへのロケーション
(b) エントリ部
エントリ部は,複数エントリから成り,SDBに定義された1レコードを,1エントリとして設定します。ただし,先頭エントリ(エントリ0)はレコード定義に関係なくDBそのものに対応したDB対応エントリとして作成します。DB対応エントリのレコード名称は空白を設定します。エントリ1以降が実際のレコードとなり,レコード名や定義情報などを設定します。
エントリの構成を次の表に示します。
項番 |
エントリの構成 |
用途 |
---|---|---|
1 |
インタフェースエリアテンプレート構成情報部 |
構成要素数やレコード名称などインタフェースエリアの構成に関する情報を設定する |
2 |
要求部 |
UAPからの要求を受け取る領域 |
3 |
キー部 |
UAPが単一キー指定する領域 |
4 |
結果部 |
UAPへの結果を設定する領域 |
5 |
定義情報部 |
SDBデータベース定義を設定する領域 |
6 |
DBハンドラワーク |
製品が使用する領域 |
エントリ部の詳細を次の表に示します。
項番 |
分類 |
相対位置 (バイト) |
長さ (バイト) |
属性 |
内容 |
---|---|---|---|---|---|
1 |
インタフェースエリアテンプレート構成情報部 |
0 |
4 |
キャラクタ |
エントリ識別子 インタフェースエリアのエントリ部を示す識別子 '*ENT' |
2 |
4 |
4 |
数値 |
エントリ部サイズ 1エントリのサイズ。2048バイト |
|
3 |
8 |
1 |
キャラクタ |
製品種別 製品種別を表します。 4:SDBハンドラ |
|
4 |
9 |
3 |
− |
予備 |
|
5 |
12 |
4 |
数値 |
インタフェースエリア内のエントリ部ロケーション※1 インタフェースエリア先頭から自エントリへのロケーション |
|
6 |
16 |
4 |
数値 |
構成要素情報部ロケーション※1 インタフェースエリア先頭から自エントリに属する構成要素先頭へのロケーション。 DB対応エントリの場合は0を設定 |
|
7 |
20 |
4 |
数値 |
構成要素数 自レコードに対応する構成要素数。キーの構成要素を含みます。 DB対応エントリの場合は0を設定 |
|
8 |
24 |
72 |
− |
予備 |
|
9 |
96 |
2 |
数値 |
レコード名称サイズ※2 レコード名称のサイズ DB対応エントリの場合は0設定 |
|
10 |
98 |
30 |
キャラクタ |
レコード名称※2 本エントリでアクセス可能なレコード名称。 レコード名称は左詰めで残りは'△' DB対応エントリの場合はすべて'△'を設定 |
|
11 |
要求部 |
128 |
4 |
キャラクタ |
要求コード |
12 |
132 |
1 |
キャラクタ |
指示コード |
|
13 |
133 |
1 |
キャラクタ |
検索コード |
|
14 |
134 |
1 |
キャラクタ |
条件コード |
|
15 |
135 |
1 |
− |
予備 |
|
16 |
136 |
8 |
− |
予備 |
|
17 |
144 |
1 |
キャラクタ |
ポインタオプション |
|
18 |
145 |
1 |
キャラクタ |
一括オプション |
|
19 |
146 |
1 |
キャラクタ |
ステータス報告オプション |
|
20 |
147 |
1 |
キャラクタ |
ページ切り替え |
|
21 |
148 |
1 |
キャラクタ |
PCTFREE有効化 |
|
22 |
149 |
1 |
キャラクタ |
二次インデクス使用抑止オプション |
|
23 |
150 |
1 |
キャラクタ |
オプションコード7 |
|
24 |
151 |
1 |
キャラクタ |
TP1/FSP領域 |
|
25 |
152 |
40 |
− |
予備 |
|
26 |
192 |
8 |
アドレス |
条件式格納エリアアドレス |
|
27 |
200 |
8 |
アドレス |
構成要素指定エリアアドレス |
|
28 |
208 |
8 |
アドレス |
データ格納エリアアドレス |
|
29 |
216 |
4 |
数値 |
データ格納エリアサイズ |
|
30 |
220 |
4 |
数値 |
事前割り当て要求ページ数 |
|
31 |
224 |
56 |
− |
予備 |
|
32 |
280 |
4 |
キャラクタ値 |
レベル2論理キー(TAM(DAM)用) |
|
33 |
284 |
4 |
数値 |
一連番号 |
|
34 |
288 |
16 |
キャラクタ |
ダイレクトアクセス情報 |
|
35 |
304 |
80 |
− |
予備 |
|
36 |
キー部 |
384 |
256 |
キャラクタ |
ユーザキー/論理キー格納エリア |
37 |
結果部 |
640 |
1 |
キャラクタ |
リターンコード |
38 |
641 |
1 |
キャラクタ |
サブコード |
|
39 |
642 |
2 |
− |
予備 |
|
40 |
644 |
4 |
キャラクタ |
詳細コード |
|
41 |
648 |
4 |
キャラクタ |
エラーコード1 |
|
42 |
652 |
4 |
キャラクタ |
エラーコード2 |
|
43 |
656 |
8 |
数値 |
SQLコード |
|
44 |
664 |
4 |
− |
予備 |
|
45 |
668 |
4 |
数値 |
事前割り当て済みページ数 |
|
46 |
672 |
32 |
キャラクタ |
障害情報 |
|
47 |
704 |
4 |
数値 |
レコードサイズ |
|
48 |
708 |
4 |
数値 |
エントリ部ロケーション |
|
49 |
712 |
8 |
− |
予備 |
|
50 |
720 |
4 |
キャラクタ |
レベル2論理キー(TAM(DAM)用) |
|
51 |
724 |
4 |
数値 |
一連番号 |
|
52 |
728 |
16 |
キャラクタ |
ダイレクトアクセス情報 |
|
53 |
744 |
24 |
− |
予備 |
|
54 |
768 |
24 |
キャラクタ |
BES,RDエリアに関する情報 |
|
55 |
792 |
40 |
− |
予備 |
|
56 |
832 |
1 |
キャラクタ |
二次インデクス使用フラグ |
|
57 |
833 |
1 |
キャラクタ |
ステータス |
|
58 |
834 |
2 |
数値 |
TP1/FSP領域 |
|
59 |
836 |
4 |
数値 |
TP1/FSP領域 |
|
60 |
840 |
56 |
− |
予備 |
|
61 |
定義情報部 |
896 |
4 |
数値 |
レコード番号(0〜エントリ部の個数-1) DB対応エントリは0です。 |
62 |
900 |
1 |
キャラクタ |
種別 SDB種別を表します。 'F':FMB 'D':DAM 'M':MAM 'S':SAM 'T':TAM |
|
63 |
901 |
3 |
− |
予備 |
|
64 |
904 |
1 |
キャラクタ |
参照可否 当該レコードへのレコード参照可否を表します。 DB対応エントリの場合,ヘッダ部と同じ値を設定します。 'Y':可 'N':否 |
|
65 |
905 |
1 |
キャラクタ |
更新可否 当該レコードへのレコード更新可否を表します。 DB対応エントリの場合,ヘッダ部と同じ値を設定します。 'Y':可 'N':否 |
|
66 |
906 |
1 |
キャラクタ |
追加可否 当該レコードへのレコード追加可否を表します。 DB対応エントリの場合,ヘッダ部と同じ値を設定します。 'Y':可 'N':否 |
|
67 |
907 |
1 |
キャラクタ |
削除可否 当該レコードへのレコード削除可否を表します。 DB対応エントリの場合,ヘッダ部と同じ値を設定します。 'Y':可 'N':否 |
|
68 |
908 |
1 |
キャラクタ |
一括削除可否 当該レコードへのレコード一括削除可否を表します。 DB対応エントリの場合,ヘッダ部と同じ値を設定します。 'Y':可 'N':否 |
|
69 |
909 |
1 |
キャラクタ |
構成要素指示可否 構成要素指定でのアクセス可否を表します。 DAM/MAM/TAMは'Y'。その他は'N'。 FMB:'N' DAM:'Y' MAM:'Y' TAM:'Y' SAM:'N' 'Y':可 'N':否 |
|
70 |
910 |
1 |
− |
予備 |
|
71 |
911 |
1 |
キャラクタ |
店群構成 店群構成かどうかを表します。 'Y':店群 'N':非店群 |
|
72 |
912 |
1 |
キャラクタ |
オカレンス属性 オカレンス属性かどうかを表します。 DB対応エントリは'F'。 'F':ルートレコードまたは非オカレンス属性レコード 'O':オカレンス属性レコード |
|
73 |
913 |
1 |
キャラクタ |
子レコード有無 子レコード有無を表します。 DB対応エントリは'N'。 'Y':可 'N':否 |
|
74 |
914 |
1 |
キャラクタ |
ユーザポインタ有無 ユーザポインタを持てるかどうかを表します。 DB対応エントリは'N'。 'Y':あり 'N':なし |
|
75 |
915 |
1 |
キャラクタ |
ユーザキー有無 ユーザキーの有無を表します。 DB対応エントリは'N'。 'Y':あり 'N':なし |
|
76 |
916 |
4 |
− |
予備 |
|
77 |
920 |
1 |
キャラクタ |
リクエストモード1 '△'固定 |
|
78 |
921 |
1 |
キャラクタ |
リクエストモード2 '△'固定 |
|
79 |
922 |
2 |
− |
予備 |
|
80 |
924 |
1 |
キャラクタ |
階層ランダム/シーケンシャル 'R':階層ランダムアクセスモード |
|
81 |
925 |
1 |
キャラクタ |
ユーザファイル通番取得可否 ユーザファイル通番の取得可否を表します。 DB対応エントリの場合,ヘッダ部と同じ値を設定します。 'Y':可 'N':否 |
|
82 |
926 |
2 |
− |
予備 |
|
83 |
928 |
4 |
数値 |
自身のレコード識別コード長 DB対応エントリの場合は0 FMB:1 DAM系:2 |
|
84 |
932 |
4 |
数値 |
自身のレコード識別コード SDBデータベース定義で定義したレコード識別コード。 DB対応エントリの場合オール0x00 |
|
85 |
936 |
4 |
数値 |
自身のレコード型番号 DB対応エントリの場合0 |
|
86 |
940 |
4 |
数値 |
親のレコード型番号 ルートレコードの場合は0 また,DB対応エントリの場合0 |
|
87 |
944 |
4 |
数値 |
階層レベル番号 当該レコードの階層レベルを表します。 DB対応エントリの場合0 FMB:1〜15 DAM/MAM/TAM/SAM:1 |
|
88 |
948 |
4 |
− |
予備 |
|
89 |
952 |
4 |
数値 |
ユーザデータサイズ。 当該レコードのユーザデータサイズ。ユーザキー,ユーザファイル通番サイズも含みます。 DB対応エントリの場合0 |
|
90 |
956 |
4 |
数値 |
ユーザファイル通番部サイズ 当該レコードのユーザファイル通番のサイズ。 DB対応エントリの場合0 |
|
91 |
960 |
4 |
数値 |
公開構成要素数 当該レコードのユーザデータの構成要素数。ユーザキー,ユーザファイル通番も含みます。 DB対応エントリの場合0 |
|
92 |
964 |
4 |
数値 |
一連番号最小値 当該レコードの一連番号最小値を表します。 一連番号最大値が0の場合は0です。それ以外は1です。 |
|
93 |
968 |
4 |
数値 |
一連番号最大値 当該レコードの一連番号最大値 0〜32767 DB対応エントリの場合0 |
|
94 |
972 |
52 |
− |
予備 |
|
95 |
DBハンドラワーク |
1024 |
1024 |
− |
SDBハンドラ情報 |
- ロケーション情報
-
各領域へのロケーション情報として,各エントリには,1.自エントリへのロケーション,2.エントリに属する構成要素へのロケーションを設定します。DB対応エントリの場合,2.は0を設定します。
図2‒9 各構成要素へのロケーション
(c) 構成要素情報部
構成要素情報部は,複数構成要素情報から成り,SDBに定義された構成要素ごとに設定します。
構成要素名,属性,構成要素属性などを設定します。
集団項目の構成要素は含みません。
項番 |
分類 |
相対位置 (バイト) |
長さ (バイト) |
属性 |
内容 |
---|---|---|---|---|---|
1 |
構成要素情報部 |
0 |
4 |
キャラクタ |
識別記号 インタフェースエリアの構成要素情報部を表す識別記号 '*FLD' |
2 |
4 |
4 |
数値 |
構成要素番号(1〜n) 当該構成要素の番号。 0xFFFFFFFF:DBKEY,ユーザキー その他:その他構成要素 |
|
3 |
8 |
2 |
数値 |
構成要素名称サイズ |
|
4 |
10 |
30 |
キャラクタ |
構成要素名称 当該構成要素の名称。 構成要素名称は左詰めで残りは'△' DBKEYを表す構成要素の場合は"DBKEY"を設定します。 |
|
5 |
40 |
1 |
キャラクタ |
データ属性 'C':コンビネーション 'P':パック 'X':16進数 'I':数値 |
|
6 |
41 |
1 |
キャラクタ |
構成要素属性 'K':FMBルートレコードのDBKEY,DAM系のDBKEY 'O':FMB従属レコードの一連番号 'U':ユーザキー構成要素 'D':キーでない通常のユーザデータ構成要素 'P':ユーザファイル通番構成要素 |
|
7 |
42 |
1 |
キャラクタ |
構成要素属性2 0x00を設定 |
|
8 |
43 |
1 |
− |
予備 |
|
9 |
44 |
4 |
数値 |
ユーザデータ先頭からのロケーション 0xFFFFFFFF:DBKEY その他:その他の構成要素 |
|
10 |
48 |
4 |
数値 |
構成要素サイズ |
|
11 |
52 |
2 |
キャラクタ |
ユーザ情報 SDBデータベース定義に指定したデータ種別3の値 |
|
12 |
54 |
10 |
− |
予備 |