2.3.2 SDBデータベース節の記述内容と構文規則
SDBデータベース節に記述する内容とその構文規則を説明します。
形式
SDB-DATABASE SECTION. SDB SDBデータベース名〔,SDBデータベース名〕… 〔RECORD NAME 埋込み変数〕 〔RECORD LENGTH 埋込み変数〕 .(終止符)
- SDB-DATABASE SECTION.
-
SDBデータベース節の開始を宣言します。
SDB-DATABA SESECTION.は1行に記述してください。複数行にわたって記述した場合,SDBデータベース節として認識されません。
- SDB SDBデータベース名〔,SDBデータベース名〕…
-
〜<識別子>((1〜30文字))
UAPがアクセスするSDBデータベースの名称を指定します。
SDBデータベース名は,最大64個指定できます。
- 注意事項
-
-
SDBデータベース名に英小文字がある場合は,SDBデータベース名を引用符(")で囲んでください。引用符で囲まない場合,SDBデータベース名はすべて英大文字と見なされます。例えば,SDBデータベース名に「Database01」を指定した場合,「DATABASE01」を指定したと見なされます。
-
SDBデータベース名がpdsdbcblコマンドの予約語に該当する場合は,SDBデータベース名を引用符(")で囲んでください。pdsdbcblコマンドの予約語は,pdsdbcblコマンドの機能拡張によって追加されることがあります。そのため,SDBデータベース名は予約語に該当しない場合でも,あらかじめ引用符で囲んでおくことを推奨します。
-
次のどちらかの条件を満たす場合,「2.10.9 SDBデータベースの特定規則」で説明している規則に従って,定義情報を参照するSDBデータベースが決まります。よって,SDBデータベース名の指定順序に注意が必要です。
・DMLに指定したレコード名と同一のレコード型名が,複数のSDBデータベースに定義されている場合
・DMLに指定した親子集合型名と同一の親子集合型名が,複数のSDBデータベースに定義されている場合
また,「2.10.9 SDBデータベースの特定規則」で説明しているように,異なるSDBデータベースに定義された同一名称のレコード型は,1つのUAPソースファイルで同時に操作できません。親子集合型も同様に,DMLにレコード名と同時に指定する場合を除いて,異なるSDBデータベースに定義された同一名称の親子集合型は,1つのUAPソースファイルで同時に操作できません。
-
SDBデータベース名の指定規則については,マニュアル「HiRDB 構造型データベース機能」の「HiRDB/SD定義ユティリティ(pdsdbdef)」の「名前の規則」を参照してください。
pdsdbcblコマンドの予約語については,マニュアル「HiRDB 構造型データベース機能」の「pdsdbcblコマンドの予約語」を参照してください。
- RECORD NAME 埋込み変数
-
〜<識別子>((1〜30文字))
FETCH文,FIND文,またはGET文で操作したレコードのレコード型名を受け取る埋込み変数を指定します。FETCH文,FIND文,またはGET文で操作したレコードのレコード型名を受け取る場合にこのオプションを指定してください。
留意事項を次に示します。
-
レコード型名が返されるのは,「SQLCODE≧0かつSQLCODE≠100」のときに限ります。「SQLCODE<0またはSQLCODE=100」の場合は,埋込み変数に空白が返されます。
SQLCODEについては,「2.7.2 SQLCODEの値と意味」を参照してください。
埋込み変数に付ける名前の規則については,マニュアル「COBOL85 言語」の「利用者語」を参照してください。ただし,数字,または下線で始まる名前は指定できません。
-
- RECORD LENGTH 埋込み変数
-
〜<識別子>((1〜30文字))
FETCH文,MODIFY文,STORE文,またはGET文で操作したレコードのレコード長を受け取る埋込み変数を指定します。FETCH文,MODIFY文,STORE文,またはGET文で操作したレコードのレコード長を受け取る場合にこのオプションを指定してください。
留意事項を次に示します。
-
レコード長が返されるのは,「SQLCODE≧0かつSQLCODE≠100」のときに限ります。「SQLCODE<0またはSQLCODE=100」の場合は,埋込み変数に0が返されます。
SQLCODEについては,「2.7.2 SQLCODEの値と意味」を参照してください。
埋込み変数に付ける名前の規則については,マニュアル「COBOL85 言語」の「利用者語」を参照してください。ただし,数字,または下線で始まる名前は指定できません。
-
- .(終止符)
-
SDBデータベース節の終了を示す終止符を指定します。
- 注意事項
-
-
SDBデータベース節は,主プログラム部分のデータ部に記述します。
-
SDBデータベース節は,データ部のほかの節より先に記述してください。
-
SDBデータベース節を記述した行に,ほかの命令を記述しないでください。
-
SDBデータベース節は第8欄から第72欄までの間に記述してください。字句の途中で改行する場合は,COBOLの行のつなぎの規則に従ってください。SDBデータベース名を引用符で囲む場合は,COBOLの文字列定数の行のつなぎの規則に従ってください。
-