11.6.1 SDBデータベース定義【4V AFM】
*ENTRY DICTIONARY文または*ALTER DICTIONARY文に指定するSDBデータベース定義について説明します。
- 注意事項
-
*ENTRY DICTIONARY文または*ALTER DICTIONARY文に指定したSDBデータベース定義は保存しておいてください。*ALTER DICTIONARY文でSDBデータベース定義を変更する際,変更個所だけを指定するのではなく,変更後のSDBデータベース定義をすべて指定する必要があります。このとき,保存しておいたSDBデータベース定義が必要になります。
(1) 機能
SDBデータベースの論理構造を定義します。
(2) 形式
項番 |
形式 |
オペランドの追加可否※1 |
---|---|---|
SCHEMA SDBデータベース名 |
× |
|
DBTYPE 4V {DAM|MAM|TAM|SAM} |
× |
|
RECORD レコード型名 |
○※2 |
|
{レベル番号|ITEM} 構成要素名 |
||
〔{CHARACTER 長さ |XCHARACTER 長さ |PACKED 〔DECIMAL FIXED〕 整数部桁数〔,小数部桁数〕 |INTEGER} |
||
TYPE データ種別1,データ種別2〔,データ種別3〕 |
||
〕… |
||
〔FUNCTION 〔REFER {USE|NOUSE}〕 〔ADD {USE|NOUSE}〕※3 〔UPDATE {USE|NOUSE}〕※4 〔ERASE {USE|NOUSE}〕 〔ALLERASE {USE|NOUSE}〕 〕 |
||
〔RECORDID レコード識別コード〕 |
||
… |
||
SET 親子集合型名 |
||
OWNER 親レコード型名 |
||
ORDER {LAST|SORTED DUPLICATES PROHIBITED} |
||
MEMBER 子レコード型名 |
||
INSERTION AUTOMATIC |
||
RETENTION FIXED |
||
〔KEY {ASCENDING|DESCENDING} 構成要素名〕 |
||
〔SETOPTION |
||
〔OCCURRENCE NUMBER 一連番号の最大値 |
||
〔WARNING {一連番号使用比率1 〔,一連番号使用比率2 〔,一連番号使用比率3〕〕|0}〕 |
||
〔REUSE {YES|NO}〕 〕 |
||
〕 … |
||
〔SDBOPTION |
× |
|
〔FUNCTION 〔REFER {USE|NOUSE}〕 〔ADD {USE|NOUSE}〕※3 〔UPDATE {USE|NOUSE}〕※4 〔ERASE {USE|NOUSE}〕 〔ALLERASE {USE|NOUSE}〕 〔DBLODUTL {USE|NOUSE}〕※5 〔FORMAT {USE|NOUSE}〕 〕 |
||
〔TAMMODE {NONPROTECTED RETRIEVE|SHARED RETRIEVE}〕 |
||
〔OCCURRENCE WARNING {一連番号使用比率1 〔,一連番号使用比率2 〔,一連番号使用比率3〕〕|0}〕 |
× |
|
〕 |
||
END SCHEMA |
× |
- 参考
-
SDBOPTION句下のREADYMODE句の指定は無視されるため,バージョン09-66のマニュアルから,上記の形式にREADYMODE句は記載していません。READYMODE句を指定したままでもエラーにはなりません。また,READYMODE句の指定値によってシステムの動作が変わることはありません。
(3) 定義句の指定順序
SDBデータベース定義の定義句の指定順序には,次に示す規則があります。
-
必須の定義,または必須の定義と省略できる定義の間は,上記の形式で示す順序で指定してください。
-
RECORD句下のFUNCTION句とRECORDID句,およびFUNCTION句下の各句については指定順はありません。任意の順番で指定できます。
-
RECORD句およびSET句の指定順序は,一筆書き順の規則に従ってください。一筆書き順の規則については,「図11-11 RECORD句およびSET句の指定順序(一筆書き順)の規則」を参照してください。
(4) *ALTER DICTIONARY文によるSDBデータベースの定義変更
*ALTER DICTIONARY文によるSDBデータベースの定義変更は,最下位の子レコード型の追加とその親子集合の追加ができます。子レコード型を追加できる位置と追加できない位置の例については「図11-12 子レコード型を追加できる位置と追加できない位置」を参照してください。
なお,*ALTER DICTIONARY文では,既存のレコード型の定義は変更できません。
*ALTER DICTIONARY文によるSDBデータベースの定義変更の例を次の図に示します。
*ALTER DICTIONARY文で実行できるSDBデータベースの定義変更を次の表に示します。
定義名 |
定義変更の内容 |
説明 |
---|---|---|
SDBデータベース定義 |
レコード型の追加(RECORD句の追加) |
次に示す条件をすべて満たす場合にレコードを追加できます。
また,次に示す定義の追加または変更を行う必要があります。
|
親子集合の追加(SET句の追加) |
追加した子レコード型の親子集合を追加できます。 仮想ルートレコード型を親レコード型とし,追加するレコード型を子レコード型とする親子集合を追加してください。 |
|
SDBデータベース格納定義 |
格納レコードの追加(STORAGE RECORD句の追加) |
SDBデータベース定義で子レコード型を追加した場合に,対応する格納レコード名を追加します。子レコード型を追加していない場合に,格納レコード名だけを追加することはできません。 なお,追加した子レコード型にデータ種別がK,Nの構成要素が存在する場合は,K,NまたはU,Kの構成要素数分の二次インデクスを追加してください。二次インデクスの追加に伴い,二次インデクスを格納するRDエリアを追加できます。 |
格納親子集合の追加(SET句の追加) |
子レコード型を追加する際に追加する親子集合に対応する格納親子集合を追加できます。子レコード型を追加しないで,格納親子集合だけを追加することはできません。 |
|
キー値の追加(KEYDEF句の追加) |
■4V DAM,4V TAM,4V SAMのSDBデータベースの場合 次に示す条件をすべて満たす場合は,追加する子レコード型ごとに,それぞれ1個以上のデータベースキーを追加できます。
|
|
■4V MAMのSDBデータベースの場合 次に示す条件をすべて満たす場合は,追加する子レコード型ごとに,それぞれ1個のデータベースキーを追加できます。
|
(5) オペランドの説明
SDBデータベース定義の各オペランドの指定内容を説明します。
(a) SCHEMA
- SCHEMA SDBデータベース名
-
〜<識別子>((1〜30バイト))
SDBデータベースのSDBデータベース名を指定します。
すでに使用しているSDBデータベース名は指定できません。
(b) DBTYPE
- DBTYPE 4V {DAM|MAM|TAM|SAM}
-
定義するSDBデータベースのSDBデータベース種別を指定します。
- DAM
-
SDBデータベース種別が4V DAMのSDBデータベースを定義する場合に指定します。
- MAM
-
SDBデータベース種別が4V MAMのSDBデータベースを定義する場合に指定します。
- TAM
-
SDBデータベース種別が4V TAMのSDBデータベースを定義する場合に指定します。
- SAM
-
SDBデータベース種別が4V SAMのSDBデータベースを定義する場合に指定します。
4V DAM,4V MAM,4V TAM,または4V SAMのSDBデータベースとは,階層構造を持たないデータベースで,メインフレームのTMS-4V/SPがサポートしているDAM,MAM,TAM,またはSAMのデータベースに相当します。詳細については,「2.3.3 SDBデータベース」を参照してください。
- 注意事項
-
SDBデータベース種別が4V(4V FMBまたは4V AFM)のSDBデータベースとSD FMBのSDBデータベースをシステム内で混在して定義することはできません。混在させた場合,動作を保証しません。
(c) RECORD
- RECORD レコード型名
-
〜<識別子>((1〜30バイト))
レコード型名を指定します。
- 《規則》
-
-
レコード型名は,同一スキーマ内で一意になるように指定してください。
-
1つのSDBデータベース定義内で指定できるRECORD句は,2〜128個です。
-
(d) レベル番号,ITEM
- {レベル番号│ITEM} 構成要素名
-
構成要素に関する情報を指定します。1つのRECORD句内での構成要素の階層レベルを指定します。
-
すべての構成要素が基本項目の場合,ITEMを指定できます。
-
1つのレコード型内で,レベル番号とITEMは同時に指定できません。
データベースにアクセスするためのAPIで「DBKEY」の名称を利用するため,構成要素名として「DBKEY」を指定する必要があります。指定方法の詳細については,「表11-41 仮想ルートレコード型の構成要素の指定」〜「表11-42 子レコード型(2階層)の構成要素の指定」を参照してください。
- レベル番号
-
〜<符号なし整数>((2〜49))
1つのRECORD句内での構成要素の階層レベルを指定します。
階層が深くなるに従ってレベル番号を増やすように指定してください。レベル番号は連続した値である必要はありません。
階層が浅くなるときは,すでに指定したレベル番号にしてください。
- ITEM
-
すべての構成要素が基本項目の場合に指定できます。
- 構成要素名
-
〜<識別子>((1〜30バイト))
構成要素名を指定します。
《規則》
-
構成要素名は,RECORD句内で一意にしてください。
-
RECORD句内に指定できる構成要素の合計長は最大30,000バイトです。また,RECORD句内に指定できる構成要素の個数は最大30,000個です。
-
各レコード型の最初の基本項目の構成要素のデータ種別1には,Dを指定してください。
-
上位レコードのキーの構成要素,および一連番号の構成要素は,下位レコードの構成要素として,データ型とデータ種別を同じように指定してください。
-
ユーザデータ(データ種別1,2(TYPE U,D))の構成要素は,幾つかの構成要素をまとめて,ユーザ任意の集団項目内に指定できます。
ユーザキー(データ種別1,2(TYPE U,K)),ユーザファイル通番(データ種別1,2(TYPE U,F))の構成要素は,集団項目内に指定できません。
-
-
(e) データ型
- {CHARACTER 長さ
-
│XCHARACTER 長さ
│PACKED 〔DECIMAL FIXED〕 整数部桁数〔,小数部桁数〕
│INTEGER}
構成要素のデータ型を指定します。構成要素に指定できるデータ型を次の表に示します。
表11‒38 構成要素に指定できるデータ型 データ種別
データ型
データ形式
文字列
CHARACTER
固定長文字列
16進形式の文字列
XCHARACTER
16進固定長文字列
数値
PACKED 〔DECIMAL FIXED〕
符号付きパック形式10進データ
INTEGER
整数
- CHARACTER 長さ
-
〜<符号なし整数>((1〜30,000))
文字列データの長さを指定します。
- XCHARACTER 長さ
-
〜<符号なし整数>((1〜30,000))
16進形式の文字列データの長さを指定します。
- PACKED 〔DECIMAL FIXED〕 整数部桁数〔,小数部桁数〕
-
整数部桁数
〜<符号なし整数>((0〜38))
小数部桁数
〜<符号なし整数>((0〜38))
符号付きパック形式の10進データの整数部桁数,および小数部桁数を指定します。
整数部桁数と小数部桁数の和は,1〜38になるようにしてください。
- INTEGER
-
値の範囲が-2,147,483,648〜2,147,483,647の整数を指定します。長さは指定できません。
- 《規則》
-
-
一連番号の構成要素には,必ずINTEGERを指定してください。
-
基本項目の場合,データ型およびTYPE句を指定してください。
-
集団項目の場合,データ型およびTYPE句を省略してください。
-
KEYDEF句に指定する構成要素については,データの長さを1〜30バイトで指定してください。KEYDEF句については,「11.6.2(3)(u) KEYDEF」を参照してください。
-
(f) TYPE
- TYPE データ種別1,データ種別2〔,データ種別3〕
-
構成要素のデータ種別を指定します。
- データ種別1
-
〜<英字>((1バイト))
データベースキーかユーザデータかを区別するための種別を指定します。
- データ種別2
-
〜<英字>((1バイト))
データ種別1をさらに分類するための詳細な種別を指定します。
- データ種別3
-
〜X'<16進数字>'((2バイト))
{X'ユーザ情報'│X'0000'}
ユーザ情報を指定します。
TYPE句で指定するデータ種別の指定値と意味を次の表に示します。
表11‒39 データ種別の指定値と意味 データ種別
指定値
意味
データ種別1
D
データベース名称を識別する構成要素
K
データベースキーで,次に該当する場合の構成要素
-
データベースキー
-
上位レコードの一連番号
-
自レコードの一連番号(一連番号の最大値(OCCURRENCE NUMBER句の指定)が1以上の場合)
N
自レコードの一連番号(一連番号の最大値(OCCURRENCE NUMBER句の指定)が0の場合)
U
ユーザデータ
データ種別2
A※1
レコード型のRDエリア分割キーとする構成要素(SDBデータベースを横分割する際,レコードの格納RDエリアを決める構成要素)
R※2
レコード分割キーとする構成要素
M※3
AかつRの構成要素
N
自レコードの一連番号の構成要素
-
データ種別1がKの場合,一連番号属性あり
-
データ種別1がNの場合,一連番号属性なし
L
そのほかのデータベースキーの構成要素
F
ユーザファイル通番の構成要素
K
ユーザキーの構成要素
D
そのほかのユーザデータの構成要素
データ種別3
2バイトの16進数字
ユーザが独自に設定する属性
- 《規則》
-
共通の規則
-
D,K,N,Uの順に,必要な種別を指定してください。
-
ユーザデータのあとにデータベースキーを指定することはできません。
-
レコード型の先頭にデータ種別1がDの構成要素を指定してください。
-
子レコード型が1つのときはデータ種別1がKかつ,データ種別2がMの構成要素を指定できません。
-
子レコード型が2つ以上のときは,データ種別1がKかつ,データ種別2がRまたはMの構成要素の指定が必要になります。
4V MAMのSDBデータベースの規則
-
データ種別2がKの構成要素を子レコード型に指定してください。
-
データ種別1がK,かつデータ種別2がAの構成要素に対して,2つ以上のレコード型のRDエリア分割キー値を指定できません。
4V TAMのSDBデータベースの規則
-
データ種別2がKの構成要素を子レコード型に指定してください。
-
データ種別1がK,かつデータ種別2がA,Mの構成要素は指定できません。
4V DAMのSDBデータベースの規則
-
データ種別2がKの構成要素は子レコード型には指定できません。
4V SAMのSDBデータベースの規則
-
データ種別2がKの構成要素は子レコード型には指定できません。
-
データ種別1がK,かつデータ種別2がA,Mの構成要素は指定できません。
そのほかの規則
-
データ種別1がK,かつデータ種別2がA,Mの構成要素は,仮想ルートレコード型と子レコード型で同一名称にしてください。
-
データ種別1がK,かつデータ種別2がA,Mの構成要素は,データの長さを1〜30バイトの範囲で指定してください。
-
RECORD句内では,データ種別1の指定に関係なく,データ種別2がA,R,またはMの構成要素は,それぞれ最大1つ指定できます。
-
RECORD句内では,データ種別1の指定に関係なく,データ種別2がMの構成要素を指定した場合,データ種別2がA,Rの構成要素は指定できません。
-
データ種別1がK,かつデータ種別2がNの場合,一連番号属性があります。OCCURRENCE NUMBER句には1以上を指定するか,または指定を省略してください。
-
データ種別1がN,かつデータ種別2がNの場合,一連番号属性がありません。OCCURRENCE NUMBER句には0を指定してください。
-
データ種別2がFの構成要素はレコード型内の最後の構成要素に1つだけ指定できます。
-
データ種別2がKの構成要素は1レコード型に最大1つのユーザキーを指定できます。
-
データ種別1がK,かつデータ種別2がMの構成要素を指定した場合,*ALTER DICTIONARY文によるSDBデータベースの定義変更はできません。
-
構成要素のデータ種別1,データ種別2,データ種別3で指定できる組み合わせを次の表に示します。
表11‒40 データ種別1,データ種別2,データ種別3で指定できる組み合わせ データ種別1
データ種別2
データ種別3
D
L
−
A
R
M
K
L
A※1
R
M※1
N※2
N
N※3
−
U
D
○
−
F※4
○
−
K※5,※6
○
−
-
仮想ルートレコード型と子レコード型の構成要素の指定を次の表に示します。指定順序や指定する個数,データ種別の組み合わせに誤りがある場合は,エラーとなります。なお,1つの項番の中で基本項目と集団項目を複数指定できる場合,指定順序は任意です。
表11‒41 仮想ルートレコード型の構成要素の指定 指定順
項目
説明
データ種別
1
2
3
1
データベースキー1
データベース名称を識別する構成要素名
-
構成要素名を「DBKEY」以外とします。
-
レコードの先頭の構成要素として指定します。
-
基本項目として指定します。
D
L
−
A
R
個数
1
M
2
データベースキー2〜7※4
構成要素名
-
構成要素名を「DBKEY」以外とします。
-
データベースキー2〜7を,基本項目として指定します。
K
L
−
A※1
R※3
個数
0〜6
M※1,※2,※3
表11‒42 子レコード型(2階層)の構成要素の指定 指定順
項目
説明
データ種別
1
2
3
1
データベースキー1
データベース名称を識別する構成要素名
仮想ルートレコード型で指定したデータベースキー1(データベースを識別する構成要素名)を,基本項目として指定します。
D
L
−
個数
1
A
R
M
2
「DBKEY」の構成要素名
次のどちらかの場合,構成要素名「DBKEY」の集団項目を指定します。
-
データベースキー2〜7がある。
-
一連番号の最大値(OCCURRENCE NUMBER句の指定値)が1以上である。
−
3
データベースキー2〜7
構成要素名
仮想ルートレコード型で指定したデータベースキー2〜7を集団項目「DBKEY」下の基本項目として指定します。
K
L
−
A
R
個数
0〜6
M
4
一連番号
OCCURRENCE NUMBER句の指定値が1以上の場合
集団項目「DBKEY」下の基本項目として指定します。
K
N
−
OCCURRENCE NUMBER句の指定値が0の場合
-
構成要素名を「DBKEY」以外とします。
-
基本項目として指定します。※
N
N
5
ユーザデータの構成要素名
ユーザデータの構成要素名を指定します。
−
−
−
U
D
K
F
-
-
(g) FUNCTION
- FUNCTION
-
〔REFER {USE|NOUSE}〕
〔ADD {USE|NOUSE}〕※1
〔UPDATE {USE|NOUSE}〕※2
〔ERASE {USE|NOUSE}〕
〔ALLERASE {USE|NOUSE}〕
- 注※1
-
省略値については,「表11-43 ADD句の省略値(4V AFMのSDBデータベースの場合)」を参照してください。
- 注※2
-
省略値については,「表11-44 UPDATE句の省略値(4V AFMのSDBデータベースの場合)」を参照してください。
SDBデータベースへのアクセス属性を指定します。
SDBデータベースへのアクセス属性は,SDBOPTION句下のFUNCTION句でも指定できます。RECORD句内で指定する場合は,各RECORD句にアクセス属性が指定できます。指定を省略した場合は,SDBOPTION句下のFUNCTION句の指定値,または省略値が仮定されます。
- REFER
-
レコードの検索を許可するかどうかを指定します。
USE:レコードの検索を許可します。
NOUSE:レコードの検索を許可しません。
- ADD
-
レコードの追加を許可するかどうかを指定します。
USE:レコードの追加を許可します。
NOUSE:レコードの追加を許可しません。
表11‒43 ADD句の省略値(4V AFMのSDBデータベースの場合) SDBデータベース種別
レコード型の指定条件
RECORD句下のFUNCTION句が省略された場合
SDBOPTION句下のFUNCTION句が省略された場合
仮想ルートレコード型
仮想ルートレコード型以外
4V AFM
USE
SDBOPTION句下のFUNCTION句の指定値,または省略値
NOUSE
- UPDATE
-
レコードの更新を許可するかどうかを指定します。
USE:レコードの更新を許可します。
NOUSE:レコードの更新を許可しません。
表11‒44 UPDATE句の省略値(4V AFMのSDBデータベースの場合) SDBデータベース種別
レコード型の指定条件
RECORD句下のFUNCTION句が省略された場合
SDBOPTION句下のFUNCTION句が省略された場合
仮想ルートレコード型
仮想ルートレコード型以外
4V DAM
4V MAM
4V TAM
USE
SDBOPTION句下のFUNCTION句の指定値,または省略値
USE
4V SAM
USE
SDBOPTION句下のFUNCTION句の指定値,または省略値
NOUSE
- ERASE
-
レコードの削除を許可するかどうかを指定します。
USE:レコードの削除を許可します。
NOUSE:レコードの削除を許可しません。
- ALLERASE
-
レコードの一括削除を許可するかどうかを指定します。
USE:レコードの一括削除を許可します。
NOUSE:レコードの一括削除を許可しません。
- 《規則》
-
-
SDBデータベース種別ごとの,仮想ルートレコード型に対するFUNCTION句の指定可否を次の表に示します。
表11‒45 仮想ルートレコード型に対するFUNCTION句の指定可否 SDBデータベース種別
RECORD句下のFUNCTION句の指定
REFER句
ADD句
UPDATE句
ERASE句
ALLERASE句
U
N
省略※
U
N
省略※
U
N
省略※
U
N
省略※
U
N
省略※
4V DAM
×
×
○
×
×
○
×
×
○
×
×
○
×
×
○
4V MAM
×
×
○
×
×
○
×
×
○
×
×
○
×
×
○
4V TAM
×
×
○
×
×
○
×
×
○
×
×
○
×
×
○
4V SAM
×
×
○
×
×
○
×
×
○
×
×
○
×
×
○
-
SDBデータベース種別ごとの,子レコード型に対するFUNCTION句の指定可否を次の表に示します。
表11‒46 子レコード型に対するFUNCTION句の指定可否 SDBデータベース種別
RECORD句下のFUNCTION句の指定
REFER句
ADD句
UPDATE句
ERASE句
ALLERASE句
U
N
省略※
U
N
省略※
U
N
省略※
U
N
省略※
U
N
省略※
4V DAM
○
○
○
○
○
○
○
○
○
×
○
○
○
○
○
4V MAM
○
×
○
○
○
○
○
○
○
○
○
○
×
○
○
4V TAM
○
×
○
×
○
○
○
○
○
×
○
○
×
○
○
4V SAM
○
×
○
○
○
○
×
○
○
×
○
○
○
○
○
-
(i) SET
- SET 親子集合型名
-
〜<識別子>((1〜30バイト))
親子集合型名を指定します。
- 《規則》
-
-
親子集合型名は,SDBデータベース定義内で一意にしてください。
-
仮想ルートレコード型の数は1つにしてください。
-
親レコードから子レコードへの親子集合型をたどった場合に,元のレコードにたどり着くような親子集合型は定義できません。
-
1つのSDBデータベース定義内に指定できる親子集合型数は,1〜127個です。指定できる親子集合の階層は,2です。
-
(j) OWNER
- OWNER 親レコード型名
-
〜<識別子>((1〜30バイト))
親子集合の親レコード型名を指定します。
- 《規則》
-
親レコード型名には,RECORD句で定義したレコード型名を指定してください。
(k) ORDER
- ORDER {LAST│SORTED DUPLICATES PROHIBITED}
-
APIによるレコードの格納時(STORE),HiRDB/SDデータベース作成ユティリティ(pdsdblod),またはHiRDB/SDデータベースアクセスユティリティ(pdsdbexe)で,子レコード実現値を親子集合内の任意の実現値に格納する際の位置(親子集合内の子レコードへの挿入順序)を指定します。
- LAST
-
子レコード実現値群の最後に格納します。
- SORTED DUPLICATES PROHIBITED
-
子レコード型で指定したキー項目(KEY句に指定した構成要素)の値に従って,昇順または降順に格納します。
同じ親レコードに対して,同じ値のキー項目を持つ子レコードが格納済みの場合,格納できません。
データ種別1,2(TYPE U,K)を指定している場合は,SORTED DUPLICATES PROHIBITEDを指定してください。それ以外の場合は,LASTを指定してください。
- 《規則》
-
1つのSET句の指定には,必ずORDER句を指定してください。
(l) MEMBER
- MEMBER 子レコード型名
-
〜<識別子>((1〜30バイト))
親子集合内の子レコード型名を指定します。
- 《規則》
-
-
子レコード型名には,RECORD句で定義したレコード型名を指定してください。ただし,親子集合の親レコード型名と重複する子レコード型名は指定できません。
-
1つのSET句には,必ずMEMBER句を指定してください。
-
(m) INSERTION
- INSERTION AUTOMATIC
-
子レコードを親子集合に格納するときの挿入方法を指定します。
- AUTOMATIC
-
子レコードのレコード実現値がデータベースに格納されると,自動的に親レコードが属する親子集合型の親子集合実現値に格納されます。
(n) RETENTION
- RETENTION FIXED
-
子レコードを親子集合から切り離すまでの属性を指定します。
- FIXED
-
レコードが,ある親子集合の子レコードになったレコードは,データベースから削除されるまで,その親子集合の子レコードでなければなりません。
(o) KEY
- KEY {ASCENDING│DESCENDING} 構成要素名
-
ORDER句でSORTED DUPLICATES PROHIBITEDを指定した親子集合の子レコードを構成要素の値に従って,昇順に格納するか,または降順に格納するかを指定します。指定した構成要素をキー項目とします。
- ASCENDING
-
子レコードを昇順に格納します。
- DESCENDING
-
子レコードを降順に格納します。
- 構成要素名
-
〜<識別子>((1〜30バイト))
格納時のキーになる構成要素名を指定します。
- 《規則》
-
-
キーの構成要素長は254バイト以内としてください。
-
構成要素名に,集団項目の構成要素名は指定できません。
-
指定できる構成要素は,データ種別1がユーザデータ(U),データ種別2がユーザキー(K)の構成要素だけです。
-
構成要素名には,RECORD句で定義した構成要素名を指定してください。
-
1つのKEY句に構成要素名を2つ以上指定できません。
-
ORDER句でLASTを指定した場合,KEY句は指定できません。
-
ORDER句でSORTED DUPLICATES PROHIBITEDを指定した場合,必ずKEY句を指定してください。
-
(q) OCCURRENCE NUMBER
- OCCURRENCE NUMBER 一連番号の最大値
-
〜<符号なし整数>((0〜2,147,483,647))≪30,000≫
一連番号の最大値を指定します。
0を指定した場合,非オカレンスであることを示します。
FUNCTION句下のFORMAT句にUSEを指定した場合(フォーマットライト機能を使用する場合),KEYDEF句の組み合わせ数×OCCURRENCE NUMBER句の指定値分のレコードが作成されます。このため,この句の値が大きいと,フォーマットライトに時間が掛かるため,注意してください。
- 《規則》
-
-
構成要素のデータ種別1,2の指定がN,Nの場合,OCCURRENCE NUMBER句に0以外を指定,または省略することはできません。
-
構成要素のデータ種別1,2の指定がK,Nの場合,0は指定できません。
-
1つのSDBデータベース定義内で一連番号の最大値の値に0と1以上(OCCURRENCE NUMBER句の指定を省略する場合も含む)を混在させることはできません。
-
WARNING句またはREUSE句を指定する場合は,この句も指定する必要があります。
-
(r) WARNING
- WARNING {一連番号使用比率1〔,一連番号使用比率2〔,一連番号使用比率3〕〕|0}
-
一連番号の使用状況を監視する場合に,一連番号の使用比率を%単位で指定します。
- 一連番号使用比率1,一連番号使用比率2,一連番号使用比率3
-
〜<符号なし整数>((50〜99))
割り当て済み一連番号の割合が一連番号使用比率1〜3で指定した値に達した場合※に,メッセージを1回ずつ出力します。0を指定した場合は,割り当て済みの一連番号の監視をしません。
注※ 監視値=↑一連番号の最大値×一連番号使用比率n↑
この句とSDBOPTION句下のOCCURRENCE WARNING句の両方を指定した場合,この句での指定が有効となります。この場合,一連番号使用比率の指定値の個数が異なっていても,双方で補ってメッセージを出力することはありません。
OCCURRENCE NUMBER句の指定が0で,この句を省略した場合,割り当て済みの一連番号の監視をしません。
OCCURRENCE NUMBER句の指定が0以外で,この句を省略した場合,SDBOPTION句下のOCCURRENCE WARNING句の指定が有効となります。
SDBOPTION句下のOCCURRENCE WARNING句も省略した場合,割り当て済みの一連番号の監視をしません。
一度に複数の一連番号使用比率に達した場合は,対応するメッセージがすべて出力されます。例えば,WARNING句の指定を60,70,80とした場合に,1回目のレコードの格納で75%に達した場合は,指定値60と70に対応するメッセージが出力されます。
一連番号の最大値が小さいと,重複指定でなくても内部的に重複指定と同じような扱いになる場合があります。例えば,OCCURRENCE NUMBER句が10,WARNING句が97,98,99と定義した場合,どの指定値も割り当て済み一連番号が10になった時点で,97(%)と98(%)と99(%)に対応するメッセージが出力されます。
一連番号の監視については,「5.25 一連番号の監視」を参照してください。
《規則》
-
4V TAMのSDBデータベースの場合は指定できません。
-
一連番号使用比率を複数指定する場合,指定値が昇順になるように指定してください。
-
SDBOPTION句下のFUNCTIONでFORMAT USEを指定している場合は指定できません。
-
OCCURRENCE NUMBER句との組み合わせ可否を次の表に示します。
表11‒47 SETOPTION句下のOCCURRENCE NUMBER句とWARNING句の組み合わせ可否 SETOPTION句下のOCCURRENCE NUMBER句の指定
SETOPTION句下のWARNING句の指定
0以外
0
0以外
○
○
0
×
○
表11‒48 SETOPTION句下のOCCURRENCE NUMBER句とSDBOPTION句下のOCCURRENCE WARNING句の組み合わせ可否 SETOPTION句下のOCCURRENCE NUMBER句の指定
SDBOPTION句下のOCCURRENCE WARNING句の指定
0以外
0
すべて0以外
○
○
一部0
○
○
すべて0
×
○
-
FUNCTION句のADD指定との組み合わせとレコードの追加可否を次の表に示します。
表11‒49 FUNCTION句のADD指定との組み合わせとレコードの追加可否 SDBデータベース種別
SDBOPTION句下のFUNCTION句のADD指定
省略
U
N
子レコードのFUNCTION句のADD指定
省略
U
N
省略
U
N
省略
U
N
4V DAM
4V MAM
4V SAM
×
○
×
○
○
×
×
○
×
4V TAM
×
−
×
−
−
−
×
−
×
-
子レコードへの追加可否との組み合わせを次の表に示します。
表11‒50 子レコードへの追加可否とWARNING句の組み合わせ可否 子レコードへの追加
SETOPTION句下のWARNING句の指定
0以外
0
できる
○
○
できない
×
○
表11‒51 子レコードへの追加可否とSDBOPTION句下のOCCURRENCE WARNING句の組み合わせ可否 子レコードへの追加
SDBOPTION句下のOCCURRENCE WARNING句の指定
0以外
0
すべての子レコードに対してできる
○
○
一部の子レコードに対してできる
○
○
すべての子レコードに対してできない
×
○
-
(s) REUSE
- REUSE {YES│NO}
-
削除された一連番号を再利用するかどうかを指定します。
レコードを一括削除した場合,または全件削除した場合は,REUSE句の指定に関係なく,最初から一連番号を振り直します。
- YES
-
一連番号を再利用します。
4V DAMまたは4V SAMのSDBデータベースで,ALLERASE句にUSEを指定した場合に,一連番号を再利用できます。
なお,OCCURRENCE NUMBER句に0を指定してもエラーにはなりません。
ORDER句でSORTED DUPLICATES PROHIBITEDを指定した場合は指定できません。
- NO
-
削除された一連番号を再利用しません。
一連番号の再利用の例については,「図11-14 一連番号再利用の例」を参照してください。
(u) FUNCTION
- FUNCTION
-
〔REFER {USE|NOUSE}〕
〔ADD {USE|NOUSE}〕※1
〔UPDATE {USE|NOUSE}〕※2
〔ERASE {USE|NOUSE}〕
〔ALLERASE {USE|NOUSE}〕
〔DBLODUTL {USE|NOUSE}〕※3
〔FORMAT {USE|NOUSE}〕
- 注※1
-
省略値については,「表11-43 ADD句の省略値(4V AFMのSDBデータベースの場合)」を参照してください。
- 注※2
-
省略値については,「表11-44 UPDATE句の省略値(4V AFMのSDBデータベースの場合)」を参照してください。
- 注※3
-
省略値については,「表11-52 DBLODUTL句の省略値(4V AFMのSDBデータベースの場合)」を参照してください。
SDBデータベースへのアクセス属性を指定します。
REFER句,ADD句,UPDATE句,ERASE句,ALLERASE句の説明については,「11.6.1(5)(g) FUNCTION」を参照してください。
- DBLODUTL
-
HiRDB/SDデータベース作成ユティリティ(pdsdblod)のデータロード機能の実行を許可するかどうかを指定します。
USE:HiRDB/SDデータベース作成ユティリティ(pdsdblod)のデータロード機能の実行を許可します。
NOUSE:HiRDB/SDデータベース作成ユティリティ(pdsdblod)のデータロード機能の実行を許可しません。
表11‒52 DBLODUTL句の省略値(4V AFMのSDBデータベースの場合) SDBデータベース種別
FUNCTION句下のADD句の指定
USE
NOUSE
4V DAM
NOUSE
NOUSE
4V MAM
4V SAM
NOUSE
USE
4V TAM
−
USE
- FORMAT
-
HiRDB/SDデータベース作成ユティリティ(pdsdblod)のフォーマットライト機能の実行を許可するかどうかを指定します。
SET句下のOCCURRENCE NUMBER句の指定値が大きいとフォーマットライトに時間が掛かるため,注意してください。
USE:HiRDB/SDデータベース作成ユティリティ(pdsdblod)のフォーマットライト機能の実行を許可します。
NOUSE:HiRDB/SDデータベース作成ユティリティ(pdsdblod)のフォーマットライト機能の実行を許可しません。
- 《規則》
-
-
4V DAMのSDBデータベースの場合,次の指定をするとデータベースにデータを格納できないため,指定しないでください。
・ADD句,DBLODUTL句,およびFORMAT句の指定をすべて省略する。
・ADD句,DBLODUTL句,およびFORMAT句にすべてNOUSEを指定する。
-
SDBデータベース種別とSDBOPTION句下のFUNCTION句(ADD句,DBLODUTL句,FORMAT句)の指定の組み合わせ可否を次の表に示します。
表11‒53 SDBOPTION句下のFUNCTION句の指定の組み合わせ可否 SDBデータベース種別
ADD句の指定
USE
NOUSE
DBLODUTL句の指定
USE
NOUSE
USE
NOUSE
FORMAT句の指定
USE
NOUSE
USE
NOUSE
USE
NOUSE
USE
NOUSE
4V DAM
×
○
×
○
○
○
○
○※
4V MAM
4V SAM
×
○
×
○
×
○
×
×
4V TAM
−
−
−
−
×
○
×
×
-
(v) TAMMODE
- TAMMODE {NONPROTECTED RETRIEVE|SHARED RETRIEVE}
-
4V TAMのSDBデータベースの場合に,TAMのデータベースの無排他検索機能を適用し,ページまたはサブページに排他を掛けないで検索するかどうかを指定します。
この指定は,個別開始時に指定するSDBデータベースを操作するAPIで,排他モード1に'S'(共用モード)を指定した場合に有効となります。
詳細については,「2.9.6 TAMのデータベースの無排他検索機能【4V TAM】」を参照してください。
なお,4V TAMのSDBデータベース以外の場合に,この指定をするとエラーになります。
- NONPROTECTED RETRIEVE
-
TAMのデータベースの無排他検索機能を適用し,4V TAMのSDBデータベースのページまたはサブページに排他を掛けないで検索します。
- SHARED RETRIEVE
-
TAMのデータベースの無排他検索機能を適用しません(共用モードで,4V TAMのSDBデータベースのレコードを検索します)。
(w) OCCURRENCE WARNING
- OCCURRENCE WARNING {一連番号使用比率1〔,一連番号使用比率2〔,一連番号使用比率3〕〕
-
|0}
一連番号の使用状況を監視する場合に,一連番号の使用比率を%単位で指定します。
- 一連番号使用比率1,一連番号使用比率2,一連番号使用比率3
-
〜<符号なし整数>((50〜99))
割り当て済み一連番号の割合が,一連番号使用比率1〜3で指定した値に達した場合に,メッセージを1回ずつ出力します。0を指定した場合,またはこの句を省略した場合は,割り当て済み一連番号の監視はしません。
この指定はすべての子レコード型に対して有効となりますが,SETOPTION句下でWARNING句を指定した場合は,SETOPTION句下のWARNING句の指定が有効となります。この場合,一連番号使用比率の指定値の個数が異なっても,双方で補ってメッセージを出力することはありません。
一連番号の監視については,「5.25 一連番号の監視」を参照してください。
《規則》
-
このオペランドの指定規則については,「(r) WARNING」の規則を参照してください。
-