Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能(UAP開発編)


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文で検索したレコードのレコード型名を受け取る埋込み変数を指定します。FETCH文,またはFIND文で検索したレコードのレコード型名を受け取る場合にこのオプションを指定してください。

留意事項を次に示します。

  • レコード型名が返されるのは,「SQLCODE≧0かつSQLCODE≠100」のときに限ります。「SQLCODE<0またはSQLCODE=100」の場合は,埋込み変数に空白が返されます。

    SQLCODEについては,「2.7.2 SQLCODEの値と意味」を参照してください。

埋込み変数に付ける名前の規則については,マニュアル「COBOL85 言語」の「利用者語」を参照してください。ただし,数字,または下線で始まる名前は指定できません。

RECORD LENGTH 埋込み変数

〜<識別子>((1〜30文字))

FETCH文,MODIFY文,またはSTORE文で操作したレコードのレコード長を受け取る埋込み変数を指定します。FETCH文,MODIFY文,またはSTORE文で操作したレコードのレコード長を受け取る場合にこのオプションを指定してください。

留意事項を次に示します。

  • レコード長が返されるのは,「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の文字列定数の行のつなぎの規則に従ってください。