Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Financial Service Platform プログラム作成の手引


1.3.10 SDBハンドラ制御(CBLEESDH)

〈この項の構成〉

(1) CBLEESDH('INIT ')

名称

イニシャライズ

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEESDH' USING 一意名1 一意名2
 
DATA DIVISIONの指定
01 一意名1.
    02 データ名A  PIC X(8) VALUE 'INIT    '.
    02 データ名B  PIC X(5).
    02 FILLER     PIC X(3).
    02 データ名C  PIC S9(9) COMP VALUE ZERO.
  01 一意名2.                            /*インタフェースエリア */
    02 データ名D.                        /*ヘッダ部 */
       /*インタフェースエリア構成情報部*/
       03 データ名D01  PIC X(4).         /*ヘッダ識別子 */
       03 データ名D02  PIC S9(9) COMP.   /*ヘッダ部サイズ */
       03 データ名D03  PIC X(1).         /*種別 */
       03 FILLER       PIC X(3).         /*予備 */
       03 データ名D04  PIC S9(9) COMP.  /*インタフェースエリア全体サイズ */
       03 データ名D05  ADDRESS.         /*自インタフェースエリアのテンプレートアドレス */
       03 データ名D06  PIC S9(9) COMP. /*エントリ部先頭ロケーション */
       03 データ名D07  PIC S9(9) COMP. /*エントリ部サイズ */
       03 データ名D08  PIC S9(9) COMP. /*エントリ部数 */
       03 FILLER       PIC X(4).        /*予備 */
       03 データ名D09  PIC S9(9) COMP.  /*キー報告エリア部ロケーション */
       03 データ名D10  PIC S9(9) COMP. /*キー報告エリア部サイズ */
       03 データ名D11  PIC S9(9) COMP. /*構成要素情報表示部ロケーション */
       03 データ名D12  PIC S9(9) COMP. /*構成要素情報表示部エントリサイズ */
       03 FILLER       PIC X(40).       /*予備 */
       03 データ名 D13  PIC S9(4) COMP. /*データベース名称サイズ */
       03 データ名 D14  PIC X(30).      /*データベース名称 */
       /*要求部*/
       03 データ名D15  PIC X(4).       /*機能コード */
       03 データ名D16  PIC X(1).       /*要求コード1 */
       03 データ名D17  PIC X(1).       /*要求コード2 */
       03 データ名D18  PIC X(1).       /*要求コード3 */
       03 データ名D19  PIC X(1).       /*要求コード4 */
       03 データ名D20  PIC X(1).       /*アクセスモード1 */
       03 データ名D21  PIC X(1).       /*アクセスモード2 */
       03 データ名D22  PIC X(1).       /*アクセスモード3 */
       03 データ名D23  PIC X(1).       /*アクセスモード4 */
       03 データ名D24  PIC X(1).       /*排他モード1 */
       03 データ名D25  PIC X(1).       /*排他モード2 */
       03 データ名D26  PIC X(1).       /*排他モード3 */
       03 データ名D27  PIC X(1).       /*排他モード4 */
       03 データ名D28  PIC X(1).       /*データエリア形式 */
       03 データ名D29  PIC X(1).       /*店番限定有無 */
       03 データ名D30  PIC X(1).       /*順アクセス内基点条件オプション */
       03 データ名D31  PIC X(1).       /*複数レコードの検索専用オプション */
       03 データ名D32  PIC X(1).       /*個別開始/終了一括要求オプション */
       03 データ名D33  PIC X(1).       /*個別開始実行要求オプション */
       03 データ名D34  PIC X(1).       /*オプションコード7 */
       03 データ名D35  PIC X(1).       /*オプションコード8 */
       03 FILLER       PIC X(8).       /*予備 */
       03 データ名D36  ADDRESS.        /*データベースアクセス用エントリリストアドレス */
       03 データ名D37  ADDRESS.        /*システム構成表示エリアアドレス */
       03 データ名D38  PIC S9(4) COMP. /*データベース名称サイズ指定 */
       03 データ名 D39  PIC X(30).      /*データベース名称指定 */
       03 データ名D40  ADDRESS.         /*データベースキー指定エリアアドレス */
       03 データ名D41  ADDRESS.        /* TP1/FSP領域 */
       03 FILLER       PIC X(4).        /*予備 */
       03 FILLER       PIC X(12).       /*予備 */
       03 データ名D42  ADDRESS.         /*RDエリア名称格納エリア */
       03 データ名D43  PIC S9(9) COMP.  /*RDエリア名称格納エリアサイズ */
       03 FILLER       PIC X(4).        /*予備 */
       03 データ名D44  PIC S9(4) COMP.  /*店番サイズ */
       03 データ名D45  PIC X(14).       /*店番 */
       03 FILLER       PIC X(240).       /*予備 */
       /*結果部*/
       03データ名D46  PIC X(1).         /*リターンコード */
       03 データ名D47  PIC X(1).         /*サブコード */
       03 FILLER       PIC X(2).         /*予備 */
       03データ名D48  PIC S9(9) COMP.   /*詳細コード */
       03データ名D49  PIC S9(9) COMP.   /*エラーコード1 */
       03データ名D50  PIC S9(9) COMP.   /*エラーコード2 */
       03 データ名D51  PIC X(5).        /*SDHステータスコード */
       03 FILLER       PIC X(1).         /*予備 */
       03 データ名D52  PIC X(1).         /*暗黙的ロールバック有無 */
       03 データ名D53  PIC X(1).         /*個別開始実行要求結果 */
       03 データ名D54  PIC S9(18) COMP.  /*SQLCODE */
       03 データ名D55  PIC X(32).        /*障害情報 */
       03 データ名D56  ADDRESS.          /*データベース名称リストアドレス */
       03 データ名D57  ADDRESS.          /*アクセス機能用インタフェースエリアアドレス */
       03 データ名D58  PIC S9(9) COMP.   /*エントリ部ロケーション */
       03 FILLER       PIC X(4).          /*予備 */
       03 データ名D59  ADDRESS.           /*レコード分割キー一覧アドレス */
       03 データ名D60  ADDRESS.          /*RDエリア分割キー一覧アドレス */
       03 FILLER       PIC X(152).        /*予備 */
       /*定義情報部*/
       03 データ名D61  PIC S9(9) COMP.    /*データベース番号 */
       03 データ名D62  PIC X(1).          /*種別 */
       03 FILLER       PIC X(3).           /*予備 */
       03 データ名D63  PIC X(1).          /*参照可否 */
       03 データ名D64  PIC X(1).          /*変更可否 */
       03 データ名D65  PIC X(1).          /*格納可否 */
       03 データ名D66  PIC X(1).          /*削除可否 */
       03 データ名D67  PIC X(1).          /*一括削除可否 */
       03 データ名D68  PIC X(1).          /*DB作成UTL追加可否 */
       03 データ名D69  PIC X(1).          /*フォーマットライト可否 */
       03 データ名D70  PIC X(1).          /*店群構成 */
       03 データ名D71  PIC X(1).          /*リクエストモード1 */
       03 データ名D72  PIC X(1).          /*リクエストモード2 */
       03 FILLER       PIC X(2).          /*予備 */
       03 データ名D73  PIC X(1).          /*階層ランダム/シーケンシャル */
       03 データ名D74  PIC X(1).          /*ユーザファイル通番可否 */
       03 FILLER       PIC X(2).          /*予備 */
       03 データ名D75  PIC S9(9) COMP.   /*レコード種別数 */
       03 FILLER       PIC X(4).          /*予備 */
       03 データ名D76  PIC S9(9) COMP.   /*レコード分割キー数 */
       03 データ名D77  PIC S9(4) COMP.   /*レコード分割キーのロケーション */
       03 データ名D78  PIC S9(4) COMP.   /*レコード分割キーのサイズ */
       03 データ名D79  PIC S9(9) COMP.   /* RDエリア分割キー数 */
       03 データ名D80  PIC S9(4) COMP.   /*RDエリア分割キーのロケーション */
       03 データ名D81  PIC S9(4) COMP.   /*RDエリア分割キーのサイズ */
       03 データ名D82  PIC S9(9) COMP.   /*最大階層レベル(FMB用) */
       03 データ名D83  PIC S9(9) COMP.   /* TP1/FSP領域 */
       03 FILLER       PIC X(8).         /*予備 */
       03 データ名D84  PIC S9(9) COMP.   /*全キー長(レベル2〜一連番号までの合計サイズ)*/
       03 データ名D85  PIC S9(9) COMP.   /* TP1/FSP領域 */
       03 FILLER       PIC X(8).         /*予備 */
       03 データ名D86  PIC S9(9) COMP.  /*レベル2キー構成要素情報 */
       03 データ名D87  PIC S9(9) COMP.  /*レベル2論理キー長 */
       03 データ名D88  PIC S9(9) COMP.  /*レベル2論理キー種類数 */
       03 FILLER       PIC S9(9) COMP.  /*予備 */
       03 データ名D89  PIC S9(9) COMP.  /*レベル3キー構成要素情報 */
       03 データ名D90  PIC S9(9) COMP.  /*レベル3論理キー長 */
       03 データ名D91  PIC S9(9) COMP.  /*レベル3論理キー種類数 */
       03 FILLER       PIC S9(9) COMP.  /*予備 */
       03 データ名D92  PIC S9(9) COMP.  /*レベル4キー構成要素情報 */
       03 データ名D93  PIC S9(9) COMP.  /*レベル4論理キー長 */
       03 データ名D94  PIC S9(9) COMP.  /*レベル4論理キー種類数 */
       03 FILLER       PIC S9(9) COMP.  /*予備 */
       03 データ名D95  PIC S9(9) COMP.  /*レベル5キー構成要素情報 */
       03 データ名D96  PIC S9(9) COMP.  /*レベル5論理キー長 */
       03 データ名D97  PIC S9(9) COMP.  /*レベル5論理キー種類数 */
       03 FILLER       PIC S9(9) COMP.  /*予備 */
       03 データ名D98  PIC S9(9) COMP.  /*レベル6キー構成要素情報 */
       03 データ名D99  PIC S9(9) COMP.  /*レベル6論理キー長 */
       03 データ名D100  PIC S9(9) COMP. /*レベル6論理キー種類数 */
       03 FILLER       PIC S9(9) COMP.   /*予備 */
       03 データ名D101  PIC S9(9) COMP. /*レベル7キー構成要素情報 */
       03 データ名D102  PIC S9(9) COMP. /*レベル7論理キー長 */
       03 データ名D103  PIC S9(9) COMP. /*レベル7論理キー種類数 */
       03 FILLER       PIC S9(9) COMP.   /*予備 */
       03 データ名D104  PIC S9(9) COMP.  /*一連番号構成要素情報  */
       03 データ名D105  PIC S9(9) COMP.  /*一連番号サイズ   */
       03 FILLER       PIC X(8).         /*予備 */
       03 データ名D106  ADDRESS.        /*レコード分割キー一覧アドレス */
       03 データ名D107  ADDRESS.        /*RDエリア分割キー一覧アドレス */
       03 FILLER       PIC X(48).       /*予備 */
       03 FILLER       PIC X(1024).     /*予備 */
 
  01 一意名3.                           /*データベース名称リスト */
    02 データ名E01    PIC S9(4) COMP.   /*エントリ数 */
    02 データ名E02    PIC S9(4) COMP.   /*エントリサイズ */
    02 FILLER          PIC X(4).         /*予備 */
    02 データ名E03     OCCURS n TIMES.  /*DB情報エリア */
      03 データ名E04  PIC S9(4) COMP.   /*DB名称長 */
      04 データ名E05  PIC X(30).        /*DB名称 */
      03 データ名E06  ADDRESS.          /*インタフェースエリアテンプレートアドレス */
      03 FILLER        PIC X(24).       /*予備 */
 
  01 一意名4.                          /*レコード分割キー一覧 */
    02 データ名F01    PIC S9(9) COMP.  /*キー数 */
    02 データ名F02    PIC S9(9) COMP.  /*キーサイズ */
    02 データ名F03    PIC S9(9) COMP.  /*キーロケーション */
    02 データ名F04    PIC S9(9) COMP.  /*エントリサイズ */
    02 データ名F05     OCCURS n TIMES. /*キーサイズ */
      03 データ名F06  PIC X(256).      /*レコード分割キー */
      03 データ名F07  PIC S9(9) COMP.  /*エントリロケーション */
      03 FILLER       PIC X(12).        /*予備 */
 
  01 一意名5.                          /*RDエリア分割キー一覧 */
    02 データ名G01    PIC S9(9) COMP.  /*キー数 */
    02 データ名G02    PIC S9(9) COMP.  /*キーサイズ */
    02 データ名G03    PIC S9(9) COMP.  /*キーロケーション */
    02 データ名G04    PIC S9(9) COMP.  /*エントリサイズ */
    02 データ名G05    PIC X(1).        /*分割種別 */
    02 FILLER         PIC X(7).        /*予備 */
    02 データ名G06     OCCURS n TIMES. /*キーサイズ    */
      03 データ名G07  PIC X(32).      /*RDエリア分割キー */
      03 データ名G08  PIC S9(4) COMP. /*RDエリア名称長 */
      03 データ名G09  PIC X(30).      /*RDエリア名称 */
機能

構造型データベースへアクセスするための情報を初期化または取得します。

  • スレッドイニシャライズ

  • インタフェースエリアイニシャライズ

  • データベースキー対応エントリ検索

  • RDエリア分割キー一覧取得

各項目はインタフェースエリア(ヘッダ部)の要求コード1指定値によって選択できます。

UAPは,インタフェースエリアイニシャライズを選択する場合は,確保済みのインタフェースエリアを一意名2に設定します。それ以外の場合は,インタフェースエリア(ヘッダ部だけ)を確保し,一意名2に設定します。

スレッドイニシャライズ

CBLEESDH('STRT ')やCBLEESDH('ACCS ')発行時に必要となるデータベース名を保持するデータベース名称リストおよびインタフェースエリアテンプレートを返却します。そのため,スレッドイニシャライズは必ず発行してください。

データベース名称リストおよびインタフェースエリアテンプレートは,全スレッドで共用します。データベース名称リストおよびインタフェースエリアテンプレートの内容は変更しないでください。変更した場合はTP1/FSPはプロセスダウンします。

インタフェースエリア,データベース名称リストとインタフェースエリアテンプレートの関係を次の図に示します。

図1‒23 スレッドイニシャライズ(共用)

[図データ]

インタフェースエリアイニシャライズ

指定されたインタフェースエリアのエントリ部を初期化します。

データベースキー対応エントリ検索

指定されたデータベースに定義されたレコード分割キーとレコード分割キーに対応するインタフェースエリアの各エントリへのロケーション一覧を返却します。

データベース名称と同時にDBKEYが指定された場合,レコード分割キー一覧に加え,DBKEYからレコード型を特定し,インタフェースエリア先頭からレコード型に対応するインタフェースエリアのエントリへのロケーションも返却します。

本機能は,FMB以外のデータベースに対して要求できます。

レコード分割キー一覧の内容は変更しないでください。変更した場合はTP1/FSPはプロセスダウンします。

表1‒38 データベースキー対応エントリ検索

項番

API

DB種別

FMB

DAM

MAM

TAM

SAM

1

データベースキー対応

エントリ検索

×

(凡例)

○:指定可

×:指定不可

図1‒24 データベースキー対応エントリ検索

[図データ]

RDエリア分割キー一覧取得

指定されたデータベースに定義されたRDエリア分割キーとRDエリア分割キーに対応するRDエリア名称一覧を返却します。

RDエリア分割キー一覧の内容は変更しないでください。変更した場合はTP1/FSPはプロセスダウンします。

UAPで値を設定するデータ領域

データ名A

イニシャライズを示すコード「VALUE 'INIT△△△△'」を設定します。

データ名C

0を設定します。

一意名2

確保したインタフェースエリア(ヘッダ部だけ)または初期化するインタフェースエリアを設定します。要求時に次の項目を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

ヘッダ部−インタフェースエリア構成情報部
  • ヘッダ識別子

    インタフェースエリアヘッダを表す識別子を設定します。

    '*HDR':インタフェースエリアヘッダ識別子

ヘッダ部−要求部
  • 機能コード

    イニシャライズ要求する機能コードを設定します。

    'INIT':イニシャライズ

  • 要求コード1

    イニシャライズの要求コードを設定します。

    'S':スレッドイニシャライズ

    'I':インタフェースエリアイニシャライズ

    'K':データベースキー対応エントリ検索

    'R':RDエリア分割キー一覧取得

  • 要求コード2,要求コード3,要求コード4

    '△'を設定します。

  • サブコード1(アクセスモード1に設定する)

    要求コード1の値によって設定する内容が異なります。

    ・要求コード1が'S'の場合

     インタフェースエリアテンプレートの利用形態を設定します。

     'P':インタフェースエリアテンプレートを全スレッドで共用

    ・要求コード1が'I'の場合

     インタフェースエリアの初期化方法を設定します。

     '△'を設定します。

    ・要求コード1が'K'/'R'の場合

     '△'を設定します。

  • サブモード2,サブモード3,サブモード4(アクセスモード2,アクセスモード3,アクセスモード4に設定する)

    '△'を設定します。

  • データベース名称サイズ指定

    要求コード1の値によって設定する内容が異なります。

    ・要求コード1が'K'/'R'の場合

     データベース名称サイズを設定します(単位:バイト)。1〜30の範囲の値を設定できます。

    ・その他の場合

     ZEROを設定します。

  • データベース名称指定

    要求コード1の値によって設定する内容が異なります。

    ・要求コード1が'K'/'R'の場合

     データベース名称を設定した領域を設定します。

    ・その他の場合

     すべてX'00'を設定します。

  • データベースキー指定エリアアドレス

    要求コード1の値によって設定する内容が異なります。

    ・要求コード1が'K'の場合

     データベースキー指定エリアを確保し,DBKEYを格納したあと,アドレスを設定します。設定されたデータベースにレコード分割キーが定義されていない場合など設定されたDBKEYからエントリを特定できない場合はエラーとなります。

     DBKEYを指定しない場合はZEROを設定します。

    ・その他の場合

     ZEROを設定します。

TP1/EEから値が返されるデータ領域

一意名2

インタフェースエリアの各項目に値が設定されています。

ステータスコードが'00000'または'04310'の場合だけ参照可能です。

次に記載のない項目についてはTP1/FSPは値を設定しません。

ヘッダ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SDHステータスコード

    SDHステータスコードを設定します。

    1.4 SDHステータスコード一覧」を参照してください。

  • データベース名称リストアドレス

    要求コード1の値によって設定する内容が異なります。

    エラー時は設定されている内容を変更しません。

    ・要求コード1が'S'の場合

     データベース名称リストのアドレスを設定します。

     データベース名称リスト内には,各データベースのDBの名称と名称長,対応するインタフェースエリアテンプレートアドレスが格納されています。DB名称は左詰めで設定し名称以外の部分には'△'を設定します。予備にはX'00'を設定します。

    ・その他の場合

     設定されている内容を変更しません。

    図1‒25 データベース名称リスト

    [図データ]

  • エントリ部ロケーション

    要求コード1の値によって設定する内容が異なります。

    エラー時は設定されている内容を変更しません。

    ・要求コード1が'K'の場合

     指定したDBKEYに対応するエントリへのロケーションを設定します。DBKEYが指定されていない場合はZEROを設定します。

    ・その他の場合

     設定されている内容を変更しません。

  • レコード分割キー一覧アドレス

    要求コード1の値によって設定する内容が異なります。エラー時は設定されている内容を変更しません。

    ・要求コード1が'K'の場合

     レコード分割キー一覧のアドレスを設定します。

    レコード分割キー一覧には,レコード分割キー数,レコード分割キーサイズ,DBKEYの先頭からレコード分割キーまでのロケーション(0〜),エントリサイズとレコード分割キーごとのエントリ部へのロケーションが格納されています。レコード分割キーがない場合は,キー数に0を設定します。

    ・その他の場合

     設定されている内容を変更しません。

    図1‒26 レコード分割キー一覧

    [図データ]

  • RDエリア分割キー一覧アドレス

    要求コード1の値によって設定する内容が異なります。

    エラー時は設定されている内容を変更しません。

    ・要求コード1が'R'の場合

     RDエリア分割キー一覧のアドレスを設定します。

     RDエリア分割キー一覧には,RDエリア分割キー数,RDエリア分割キーサイズ,DBKEYの先頭からRDエリア分割キーまでのロケーション(0〜),エントリサイズ,分割種別とRDエリア分割キーごとのRDエリア名称が格納されています。RDエリア分割キーがない場合は,キー数に0を設定します。

    分割種別の値の意味を次の表に示します。キー数が0の場合やレコード分割キーかつRDエリア分割キー(TYPE K,M)の場合は'0'を設定します。分割種別の詳細については,マニュアル「HiRDB Version 9 構造型データベース機能」の「SDBデータベースの横分割」を参照してください。

    表1‒39 分割種別

    項番

    分割種別

    意味

    説明

    1

    '1'

    格納条件分割

    SDB格納データベース定義文のWITHINで,格納条件を指定した場合

    2

    '2'

    境界値分割

    SDB格納データベース定義文のWITHINで,境界値を指定した場合

    3

    '0'

    種別なし

    (凡例)

    −:該当しません

    ・その他の場合

     設定されている内容を変更しません。

    図1‒27 RDエリア分割キー一覧

    [図データ]

データ名B

ステータスコードを5桁の数字で返します。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

04301

引数に設定した値が間違っています。

  • 要求コード(データ名A)の値が不正です。

  • インタフェースエリア(一意名2)が不正(NULL)です。

04302

発行条件が不正です。

  • TP1/FSPの環境下にありません。

  • SDBハンドラ機能が有効(sdh_use=Y)ではありません。

  • リソースマネジャが定義されていないか,リソースマネジャにHiRDBが定義されていません。

04310

構造型DBのアクセスに失敗しました。

詳細は「1.4 SDHステータスコード一覧」を参照してください。

(2) CBLEESDH('STRT ')

名称

個別開始要求

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEESDH' USING 一意名1 一意名2
 
DATA DIVISIONの指定
01 一意名1.
    02 データ名A  PIC X(8) VALUE 'STRT    '.
    02 データ名B  PIC X(5).
    02 FILLER     PIC X(3).
    02 データ名C  PIC S9(9) COMP VALUE ZERO.
  01 一意名2.                           /*インタフェースエリア */
    02 データ名D.                       /*ヘッダ部 */
    /*インタフェースエリア構成情報部*/
      03 データ名D01  PIC X(4).         /*ヘッダ識別子 */
      03 データ名D02  PIC S9(9) COMP.   /*ヘッダ部サイズ */
      03 データ名D03  PIC X(1).         /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名D04  PIC S9(9) COMP.   /*インタフェースエリア全体サイズ */
      03 データ名D05  ADDRESS.          /*自インタフェースエリアのテンプレートアドレス */
      03 データ名D06  PIC S9(9) COMP.   /*エントリ部先頭ロケーション */
      03 データ名D07  PIC S9(9) COMP.   /*エントリ部サイズ */
      03 データ名D08  PIC S9(9) COMP.   /*エントリ部数 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D09  PIC S9(9) COMP.   /*キー報告エリア部ロケーション */
      03 データ名D10  PIC S9(9) COMP.   /*キー報告エリア部サイズ */
      03 データ名D11  PIC S9(9) COMP.   /*構成要素情報表示部ロケーション */
      03 データ名D12  PIC S9(9) COMP.  /*構成要素情報表示部エントリサイズ */
      03 FILLER       PIC X(40).       /*予備 */
      03 データ名 D13  PIC S9(4) COMP. /*データベース名称サイズ */
      03 データ名 D14  PIC X(30).      /*データベース名称 */
      /*要求部*/
      03 データ名D15  PIC X(4).       /*機能コード */
      03 データ名D16  PIC X(1).       /*要求コード1 */
      03 データ名D17  PIC X(1).       /*要求コード2 */
      03 データ名D18  PIC X(1).       /*要求コード3 */
      03 データ名D19  PIC X(1).       /*要求コード4 */
      03 データ名D20  PIC X(1).       /*アクセスモード1 */
      03 データ名D21  PIC X(1).       /*アクセスモード2 */
      03 データ名D22  PIC X(1).       /*アクセスモード3 */
      03 データ名D23  PIC X(1).       /*アクセスモード4 */
      03 データ名D24  PIC X(1).       /*排他モード1 */
      03 データ名D25  PIC X(1).       /*排他モード2 */
      03 データ名D26  PIC X(1).       /*排他モード3 */
      03 データ名D27  PIC X(1).       /*排他モード4 */
      03 データ名D28  PIC X(1).       /*データエリア形式 */
      03 データ名D29  PIC X(1).       /*店番限定有無 */
      03 データ名D30  PIC X(1).       /*順アクセス内基点条件オプション */
      03 データ名D31  PIC X(1).       /*複数レコードの検索専用オプション */
      03 データ名D32  PIC X(1).       /*個別開始/終了一括要求オプション */
      03 データ名D33  PIC X(1).       /*個別開始実行要求オプション */
      03 データ名D34  PIC X(1).       /*オプションコード7 */
      03 データ名D35  PIC X(1).       /*オプションコード8 */
      03 FILLER       PIC X(8).       /*予備 */
      03 データ名D36  ADDRESS.       /*データベースアクセス用エントリリストアドレス */
      03 データ名D37  ADDRESS.       /*システム構成表示エリアアドレス */
      03 データ名D38  PIC S9(4) COMP. /*データベース名称サイズ指定 */
      03 データ名 D39  PIC X(30).    /*データベース名称指定 */
      03 データ名D40  ADDRESS.       /*データベースキー指定エリアアドレス */
      03 データ名D41  ADDRESS.       /* TP1/FSP領域 */
      03 FILLER       PIC X(4).       /*予備 */
      03 FILLER       PIC X(12).      /*予備 */
      03 データ名D42  ADDRESS.        /*RDエリア名称格納エリア */
      03 データ名D43  PIC S9(9) COMP. /*RDエリア名称格納エリアサイズ */
      03 FILLER       PIC X(4).       /*予備 */
      03 データ名D44  PIC S9(4) COMP. /*店番サイズ */
      03 データ名D45  PIC X(14).      /*店番 */
      03 FILLER       PIC X(240).     /*予備 */
      /*結果部*/
      03データ名D46  PIC X(1).       /*リターンコード */
      03 データ名D47  PIC X(1).       /*サブコード */
      03 FILLER       PIC X(2).       /*予備 */
      03データ名D48  PIC S9(9) COMP. /*詳細コード */
      03データ名D49  PIC S9(9) COMP. /*エラーコード1 */
      03データ名D50  PIC S9(9) COMP. /*エラーコード2 */
      03 データ名D51  PIC X(5).       /*SDHステータスコード */
      03 FILLER       PIC X(1).       /*予備 */
      03 データ名D52  PIC X(1).       /*暗黙的ロールバック有無 */
      03 データ名D53  PIC X(1).       /*個別開始実行要求結果 */
      03 データ名D54  PIC S9(18) COMP. /*SQLCODE */
      03 データ名D55  PIC X(32).       /*障害情報 */
      03 データ名D56  ADDRESS.         /*データベース名称リストアドレス */
      03 データ名D57  ADDRESS.         /*アクセス機能用インタフェースエリアアドレス */
      03 データ名D58  PIC S9(9) COMP.  /*エントリ部ロケーション */
      03 FILLER       PIC X(4).        /*予備 */
      03 データ名D59  ADDRESS.         /*レコード分割キー一覧アドレス */
      03 データ名D60  ADDRESS.         /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(152).      /*予備 */
      /*定義情報部*/
      03 データ名D61  PIC S9(9) COMP.  /*データベース番号 */
      03 データ名D62  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名D63  PIC X(1).        /*参照可否 */
      03 データ名D64  PIC X(1).        /*変更可否 */
      03 データ名D65  PIC X(1).        /*格納可否 */
      03 データ名D66  PIC X(1).        /*削除可否 */
      03 データ名D67  PIC X(1).        /*一括削除可否 */
      03 データ名D68  PIC X(1).        /*DB作成UTL追加可否 */
      03 データ名D69  PIC X(1).        /*フォーマットライト可否 */
      03 データ名D70  PIC X(1).        /*店群構成 */
      03 データ名D71  PIC X(1).        /*リクエストモード1 */
      03 データ名D72  PIC X(1).        /*リクエストモード2 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名D73  PIC X(1).        /*階層ランダム/シーケンシャル */
      03 データ名D74  PIC X(1).        /*ユーザファイル通番可否 */
      03 FILLER       PIC X(2).        /*予備 */
      03 データ名D75  PIC S9(9) COMP.  /*レコード種別数 */
      03 FILLER       PIC X(4).        /*予備 */
      03 データ名D76  PIC S9(9) COMP. /*レコード分割キー数 */
      03 データ名D77  PIC S9(4) COMP. /*レコード分割キーのロケーション */
      03 データ名D78  PIC S9(4) COMP. /*レコード分割キーのサイズ */
      03 データ名D79  PIC S9(9) COMP. /*RDエリア分割キー数 */
      03 データ名D80  PIC S9(4) COMP. /*RDエリア分割キーのロケーション */
      03 データ名D81  PIC S9(4) COMP. /*RDエリア分割キーのサイズ */
      03 データ名D82  PIC S9(9) COMP. /*最大階層レベル(FMB用) */
      03 データ名D83  PIC S9(9) COMP. /* TP1/FSP領域 */
      03 FILLER       PIC X(8).        /*予備 */
      03 データ名D84  PIC S9(9) COMP.  /*全キー長(レベル2〜一連番号までの合計サイズ)*/
      03 データ名D85  PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D86  PIC S9(9) COMP.  /*レベル2キー構成要素情報 */
      03 データ名D87  PIC S9(9) COMP.  /*レベル2論理キー長 */
      03 データ名D88  PIC S9(9) COMP.  /*レベル2論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D89  PIC S9(9) COMP.  /*レベル3キー構成要素情報 */
      03 データ名D90  PIC S9(9) COMP.  /*レベル3論理キー長 */
      03 データ名D91  PIC S9(9) COMP.  /*レベル3論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D92  PIC S9(9) COMP.  /*レベル4キー構成要素情報 */
      03 データ名D93  PIC S9(9) COMP.  /*レベル4論理キー長 */
      03 データ名D94  PIC S9(9) COMP.  /*レベル4論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D95  PIC S9(9) COMP.  /*レベル5キー構成要素情報 */
      03 データ名D96  PIC S9(9) COMP.  /*レベル5論理キー長 */
      03 データ名D97  PIC S9(9) COMP.  /*レベル5論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D98  PIC S9(9) COMP.  /*レベル6キー構成要素情報 */
      03 データ名D99  PIC S9(9) COMP.  /*レベル6論理キー長 */
      03 データ名D100  PIC S9(9) COMP. /*レベル6論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D101  PIC S9(9) COMP. /*レベル7キー構成要素情報 */
      03 データ名D102  PIC S9(9) COMP. /*レベル7論理キー長 */
      03 データ名D103  PIC S9(9) COMP. /*レベル7論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D104  PIC S9(9) COMP.  /*一連番号構成要素情報 */
      03 データ名D105  PIC S9(9) COMP.  /*一連番号サイズ */
      03 FILLER       PIC X(8).          /*予備 */
      03 データ名D106  ADDRESS.          /*レコード分割キー一覧アドレス */
      03 データ名D107  ADDRESS.          /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(48).          /*予備 */
      03 FILLER       PIC X(1024).        /*予備 */
 
  02 データ名E       OCCURS n TIMES.     /*エントリ部 */
      /*インタフェースエリア構成情報部*/
      03 データ名E01  PIC X(4).          /*識別子 */
      03 データ名E02  PIC S9(9) COMP.    /*エントリ部サイズ */
      03 データ名E03  PIC X(1).          /*種別 */
      03 FILLER       PIC X(3).          /*予備 */
      03 データ名E04  PIC S9(9) COMP.    /*インタフェースエリア内のエントリ部ロケーション */
      03 データ名E05  PIC S9(9) COMP.     /*構成要素情報部ロケーション */
      03 データ名E06  PIC S9(9) COMP.    /*構成要素情報エントリ数 */
      03 FILLER       PIC X(72).          /*予備 */
      03 データ名E07  PIC S9(4) COMP.    /*レコード名称サイズ */
      03 データ名E08  PIC X(30).         /*レコード名称   */
      /*要求部*/
      03 データ名E09  PIC X(4).          /*要求コード */
      03 データ名E10  PIC X(1).          /*指示コード */
      03 データ名E11  PIC X(1).          /*検索コード */
      03 データ名E12  PIC X(1).          /*条件コード */
      03 FILLER        PIC X(1).          /*予備 */
      03 FILLER        PIC X(8).          /*予備 */
      03 データ名E13  PIC X(1).           /*ポインタオプション */
      03 データ名E14  PIC X(1).           /*一括オプション */
      03 データ名E15  PIC X(1).           /*ステータス報告オプション */
      03 データ名E16  PIC X(1).           /*ページ切り替え */
      03 データ名E17  PIC X(1).           /*PCTFREE有効化 */
      03 データ名E18  PIC X(1).           /*オプションコード6 */
      03 データ名E19  PIC X(1).           /*オプションコード7 */
      03 データ名E20  PIC X(1).           /* TP1/FSP領域 */
      03 FILLER       PIC X(40).           /*予備 */
      03 データ名E21  ADDRESS.             /*条件式格納エリアアドレス */
      03 データ名E22  ADDRESS.            /*構成要素指定エリアアドレス */
      03 データ名E23  ADDRESS.             /*データ格納エリアアドレス */
      03 データ名E24  PIC S9(9) COMP.      /*データ格納エリアサイズ */
      03 データ名E25  PIC S9(9) COMP.      /*事前割り当て要求ページ数 */
      03 FILLER       PIC X(56).           /*予備 */
      03 データ名E26  PIC X(4).            /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E27  PIC S9(9) COMP.     /*一連番号 */
      03 データ名E28  PIC X(16).          /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(80).          /*予備 */
      03 データ名E29  PIC X(256).         /*ユーザキー/論理キー格納エリア */
      /*結果部*/
      03データ名E30  PIC X(1).            /*リターンコード */
      03 データ名E31  PIC X(1).            /*サブコード */
      03 FILLER       PIC X(2).             /*予備 */
      03データ名E32  PIC S9(9) COMP.       /*詳細コード */
      03データ名E33  PIC S9(9) COMP.       /*エラーコード1 */
      03データ名E34  PIC S9(9) COMP.       /*エラーコード2 */
      03 データ名E35  PIC S9(18) COMP.     /*SQLCODE */
      03 FILLER       PIC X(8).             /*予備 */
      03 データ名E36  PIC X(32).           /*障害情報 */
      03 データ名E37  PIC S9(9) COMP.      /*レコードサイズ */
      03 データ名E38  PIC S9(9) COMP.      /*エントリ部ロケーション */
      03 FILLER       PIC X(4).             /*予備 */
      03 データ名E39  PIC S9(9) COMP.      /*事前割り当て済みページ数 */
      03 データ名E40  PIC X(4).             /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E41  PIC S9(9) COMP.       /*一連番号 */
      03 データ名E42  PIC X(16).            /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(24).            /*予備 */
      03 データ名E43  PIC X(24).            /*BES,RDエリアに関する情報 */
      03 FILLER       PIC X(40).            /*予備 */
      03 データ名E44   PIC X(1).            /*二次インデクス使用フラグ */
      03 データ名E45   PIC X(1).            /*ステータス */
      03 データ名E46   PIC S9(4) COMP.      /* TP1/FSP領域 */
      03 データ名E47   PIC S9(9) COMP.      /* TP1/FSP領域 */
      03 FILLER       PIC X(56).             /*予備 */
      /*定義情報部*/
      03 データ名E48  PIC S9(9) COMP.       /*レコード番号 */
      03 データ名E49  PIC X(1).             /*種別 */
      03 FILLER       PIC X(3).             /*予備 */
      03 データ名E50  PIC X(1).             /*検索可否 */
      03 データ名E51  PIC X(1).             /*変更可否 */
      03 データ名E52  PIC X(1).             /*格納可否 */
      03 データ名E53  PIC X(1).             /*削除可否 */
      03 データ名E54  PIC X(1).             /*一括削除可否 */
      03 データ名E55  PIC X(1).             /*構成要素指示可否 */
      03 FILLER       PIC X(1).              /*予備 */
      03 データ名E56  PIC X(1).             /*店群構成 */
      03 データ名E57  PIC X(1).             /*オカレンス属性 */
      03 データ名E58  PIC X(1).             /*子レコード有無 */
      03 データ名E59  PIC X(1).             /*ユーザポインタ有無 */
      03 データ名E60  PIC X(1).             /*ユーザキー有無 */
      03 FILLER       PIC X(4).              /*予備 */
      03 データ名E61  PIC X(1).              /*リクエストモード1 */
      03 データ名E62  PIC X(1).              /*リクエストモード2 */
      03 FILLER       PIC X(2).              /*予備 */
      03 データ名E63  PIC X(1).              /*階層ランダム/シーケンシャル */
      03 データ名E64  PIC X(1).              /*ユーザファイル通番取得可否 */
      03 FILLE        PIC X(2).              /*予備 */
      03 データ名E65  PIC S9(9) COMP.        /*自身のレコード識別コード長 */
      03 データ名E66  PIC X(4).              /*自身のレコード識別コード */
      03 データ名E67  PIC S9(9) COMP.        /*レコード型番号 */
      03 データ名E68  PIC S9(9) COMP.        /*親のレコード型番号 */
      03 データ名E69  PIC S9(9) COMP.        /*レコードレベル番号 */
      03 FILLER       PIC S9(9) COMP.         /*予備 */
      03 データ名E70  PIC S9(9) COMP.        /*ユーザデータサイズ */
      03 データ名E71  PIC S9(9) COMP.        /*ユーザファイル通番部サイズ */
      03 データ名E72  PIC S9(9) COMP.        /*公開構成要素数 */
      03 データ名E73  PIC S9(9) COMP.        /*一連番号最小値 */
      03 データ名E74  PIC S9(9) COMP.        /*一連番号最大値 */
      03 FILLER       PIC X(52).              /*予備 */
      03 FILLER       PIC X(1024).            /*予備 */
 
    02 データ名F.                            /*キー報告エリア部 */
      03 データ名F01  PIC S9(4) COMP.        /*K1 */
      03 データ名F02  PIC S9(4) COMP.        /*K2 */
      03 データ名F03  PIC S9(4) COMP.        /*K3 */
      03 データ名F04  PIC S9(4) COMP.        /*K4 */
      03 データ名F05  PIC S9(4) COMP.        /*K5 */
      03 データ名F06  PIC S9(4) COMP.        /*K6 */
      03 データ名F07  PIC S9(4) COMP.        /*K7 */
      03 データ名F08  PIC S9(4) COMP.        /*K8 */
      03 データ名F09  PIC S9(4) COMP.        /*K9 */
      03 データ名F10  PIC S9(4) COMP.        /*K10 */
      03 データ名F11  PIC S9(4) COMP.        /*K11 */
      03 データ名F12  PIC S9(4) COMP.        /*K12 */
      03 データ名F13  PIC S9(4) COMP.        /*K13 */
      03 データ名F14  PIC S9(4) COMP.        /*K14 */
      03 データ名F15  PIC S9(4) COMP.        /*K15 */
      03 FILLER       PIC X(2).               /*予備 */
      03 データ名F16  PIC X(n).              /*キー部 */
 
    02 データ名G       OCCURS n TIMES.       /*構成要素情報部 */
      03 データ名G01  PIC X(4).              /*識別記号 */
      03 データ名G02  PIC S9(9) COMP.        /*構成要素番号 */
      03 データ名G03  PIC S9(4) COMP.        /*構成要素名称サイズ */
      03 データ名G04  PIC X(30).             /*構成要素名称 */
      03 データ名G05  PIC X(1).              /*データ属性 */
      03 データ名G06  PIC X(1).              /*構成要素属性 */
      03 データ名G07  PIC X(1).              /*構成要素属性 */
      03 FILLER        PIC X(1).              /*予備 */
      03 データ名G08  PIC S9(9) COMP.        /*ロケーション */
      03 データ名G09  PIC S9(9) COMP.        /*構成要素サイズ */
      03 データ名G10  PIC X(2).              /*ユーザ情報 */
      03 FILLER        PIC X(10).             /*予備 */
機能

インタフェースエリアに指定された構造型データベースへのアクセスを開始します。データベースにアクセスするCBLEESDH('ACCS '),CBLEESDH('CLAR ')およびCBLEESDH('REFS ')は,個別開始した当該インタフェースエリアを指定する必要があります。当該インタフェースエリアは,CBLEESDH('FNSH ')を発行します,またはトランザクション終了まで使用できます。

UAPは,インタフェースエリアにアクセスするデータベース名およびアクセス方法などのオプションを設定し発行してください。

UAPは,CBLEESDH('INIT ')のスレッドイニシャライズで取得したインタフェースエリアテンプレートをコピーして新規インタフェースエリアを作成し,アクセス方法/オプションなどを設定後,CBLEESDH('STRT ')を発行してください。インタフェースエリアテンプレートのサイズは,インタフェースエリアテンプレート内のインタフェースエリア全体サイズに格納されています。

インタフェースエリアの確保方法を図1-28に示します。

CBLEESDH('STRT ')は,アクセスするデータベースの数だけ発行する必要があります。なお,1トランザクション内で同じデータベース中の複数レコードに平行してアクセスする場合は,同一データベースに対して複数回CBLEESDH('STRT ')を発行することも可能です。発行例を図1-29に示します。ただし,CBLEESDH('ACCS '),かつ,個別開始/終了一括要求オプションに'Y'を指定する場合,またはCBLEESDH('ACCS ')/CBLEESDH('CLAR ')/CBLEESDH('REFS '),かつ,個別開始実行要求オプションに'Y'を指定する場合は,個別開始を行う必要はありませんので,CBLEESDH('STRT ')の発行は不要です。

CBLEESDH('ACCS ')で格納,変更,削除を行う場合,またはCBLEESDH('CLAR ')を発行する場合は,インタフェースエリアヘッダ部のアクセスモード1を'U'に設定して,CBLEESDH('STRT ')を発行してください。

CBLEESDH('ACCS ')で複数レコードの検索を行う場合は,複数レコードの検索専用オプションに'D'または'S'を設定して,CBLEESDH('STRT ')を発行してください。ただし,複数レコードの検索はFMBでだけ指定できます。AFMで指定した場合はエラーとなります。

複数レコードの検索専用オプションに'D'または'S'を設定して,CBLEESDH('STRT ')を発行した場合は,CBLEESDH('ACCS ')で複数レコードの検索以外を指定することはできません。指定した場合はエラーとなります。

図1‒28 インタフェースエリアの確保方法

[図データ]

図1‒29 CBLEESDH('STRT ')発行例

[図データ]

UAPで値を設定するデータ領域

データ名A

個別開始要求を示すコード「VALUE 'STRT△△△△'」を設定します。

データ名C

0を設定します。

一意名2

インタフェースエリアを設定します。

要求時に次の項目を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

ヘッダ部−要求部
  • 機能コード

    個別開始要求の機能コードを設定します。

    'STRT':個別開始要求

  • 要求コード1

    インタフェースエリアの確保方法を設定します。

    'U':UAPがインタフェースエリアを確保します。UAPは確保したインタフェースエリアにインタフェースエリアテンプレートをコピーしてください。

  • 要求コード2,要求コード3,要求コード4

    '△'を設定します。

  • アクセスモード1

    アクセスモードを設定します。

    アクセスモード1と排他モード1の組み合わせを次の表に示します。設定できない組み合わせはエラーとなります。また,複数レコードの検索専用オプションに'D'または'S'を設定(複数レコードの検索)している場合は,'R'だけ設定可能です。それ以外はエラーとなります。

    'R':参照モード

    'U':更新モード

  • アクセスモード2,アクセスモード3,アクセスモード4

    '△'を設定します。

  • 排他モード1

    排他モードを設定します。

    アクセスモード1と排他モード1の組み合わせを次の表に示します。設定できない組み合わせはエラーとなります。

    'E':排他モード

    'S':共用モード

    'O':占有モード

    'N':無排他モード

    表1‒40 アクセスモード1と排他モード1の組み合わせ

    排他モード1

    アクセスモード1

    R

    U

    E

    S

    ×

    O

    N

    ×

    (凡例)

    ○:指定可

    ×:指定不可

    TAMデータベースに対する個別開始では,本オプションに'S'を指定した場合,SDBデータベース定義のTAMMODE句の指定によってデータページ(ページまたはサブページ)に対して排他を掛けないレコード検索(FTCH)要求ができます。この場合は,排他モード2で指定した値は無効となります。

    排他モード1として無排他モードを選択した場合,そのあとの参照系SDBデータベースアクセスで,他トランザクションの更新系SDBデータベースアクセスが更新仕掛かっているレコードを参照することがあります。この場合,参照系SDBデータベースアクセスは,sdh_nlocksqlerr_modeオペランドで指定された動作を行います。

    また,無排他モードでの参照系SDBデータベースアクセスでは,ページ/サブページへの排他を掛けないで検索します。そのため,他トランザクションで更新系SDBデータベースアクセスを実行されると,検索成功時に返却する次の情報が不正となる場合があります。

    ・ステータスのUSERポインタ有無が不正。USERポインタのないレコードに対して「USERポインタあり」を返却,または,USERポインタのあるレコードに対して「USERポインタなし」を返却。

    ・検索成功時に返却するダイレクトアクセス情報,一連番号,および,移行用ダイレクトアクセス情報が不正。これらの情報を使用してレコード再検索を行うと,異なるレコードを検索,または,レコードなしによる検索失敗となる場合があります。

    ・終端検知の結果が不正。本来は「終端検知しなかった」と返却する状態でも,「終端検知した」と返却する場合があります。

  • 排他モード2

    排他の解放タイミングを設定します。本項目はアクセスモード1および排他モード1の設定値に関係なく動作します。

    'C':同期点で解放(同期点まで排他制御を保持)します。

    'D':レコード位置指示子が指さなくなったレコード実現値の格納ページに対する排他をSDB操作完了時に解放します。ただし,更新が発生した格納ページに対する排他は同期点まで解放しません。

  • 排他モード3

    排他競合時の処置を設定します。

    'W':確保できるまで待ちます。

  • 排他モード4

    '△'を設定します。

  • データエリア形式

    '△'を設定します。

  • 店番限定有無

    店群順アクセスまたはDAM順アクセスでの検索範囲を設定します。

    FMB/DAMデータベースで有効。店群構成でない場合は,'N'設定と同じ動作となります。

    環境変数EESDHRDAOPT設定値を有効にする場合は'△'を設定します。

    'M':指定したRDエリアを検索範囲とします。RDエリア名称は,RDエリア名称格納エリアに指定してください。

    'A':すべてのRDエリアを検索範囲とします。

    'N':RDエリアを指定しません。

    '△':環境変数EESDHRDAOPT指定値に従います。

  • 順アクセス内基点条件オプション

    店群順アクセスまたはDAM順アクセスで,検索範囲内の特定位置からアクセスを開始する場合に,基点となる条件の指定を有効とする場合に設定します。

    基点となる条件は,FMBルートレコードおよびDAMの,指示コード'F'または当該レコードが読み込み済みでない場合の指示コード'N'指定の検索時に設定します。

    本オプションを指定後,検索時に基点となる条件を指定しない場合は,検索範囲の先頭からアクセスを開始します。

    'Y':条件を指定します

    'N':条件を指定しません

    '△':指示なし(条件を指定しません)

  • 複数レコードの検索専用オプション

    複数レコードの検索を使用するかを設定します。

    'D':ダイレクト(指定された検索条件の範囲を検索します。条件を満たす間だけ'N'で検索を継続し,条件を満たさなくなったらNOT FOUNDとなります。)

    'S':シーケンシャル(指定された検索条件を「開始条件」と見なし,最初の1件目を位置づけます。そのあとは検索条件と関係なく,'N'を発行している間検索を継続します(検索終了は終端まで行くか,ユーザが検索をやめるまでです)。)

    'N':指示なし(複数レコードの検索以外)

    '△':指示なし(複数レコードの検索以外)

  • 個別開始/終了一括要求オプション

    '△'を指定してください。

    '△':指示なし

  • 個別開始実行要求オプション

    '△'を指定します。

    '△':指示なし

  • オプションコード7,オプションコード8

    '△'を設定します。

  • データベースアクセス用エントリリストアドレス

    ・要求コード1が'U'の場合

     ZEROを設定します。

  • システム構成表示エリアアドレス

    ZEROを設定します。

  • データベース名称サイズ指定

    ZEROを設定します。

  • データベース名称指定

    すべてX'00'を設定します。

  • データベースキー指定エリアアドレス

    ZEROを設定します。

  • 旧キー報告エリアアドレス

    ZEROを設定します。

  • RDエリア名称格納エリア

    店群順アクセスまたはDAM順アクセスを行う場合,検索範囲となるRDエリア名称を格納したアドレスを設定します。

    RDエリア名称を複数設定する場合は,「,」で区切ってください。

    (例)

     RDarea1,RDarea2

    指定されたRDエリア名称の中に,RDエリア名称長が1〜30バイトでないRDエリア名称が存在した場合は,エラーとなります。個別開始するSDBに定義されていないRDエリア名称が含まれていた場合,そのRDエリア名称は無視します。すべてのRDエリア名称を無視した場合は,RDエリア名称が指定されていないものとして扱います。

    設定しない場合はZEROを設定します。

    MAM/TAM/SAMの場合は設定値を無視します。

  • RDエリア名称格納エリアサイズ

    RDエリア名称格納エリアの長さを設定します(単位:バイト)。

    設定しない場合はZEROを設定します。

    MAM/TAM/SAMの場合は設定値を無視します。

    表1‒41 RDエリア名称格納エリアサイズ

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    1

    RDエリア名称格納エリアサイズ

    ×

    ×

    ×

    (凡例)

    ○:指定可

    ×:指定値を無視する

  • 店番サイズ

    ZEROを設定します。

  • 店番

    すべてX'00'を設定します。

TP1/EEから値が返されるデータ領域
  • 暗黙的ロールバック有無

    HiRDBでの暗黙的ロールバック有無を設定します。HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合は,'N'が設定されます。

    'Y':暗黙的ロールバックが発生している

    'N':暗黙的ロールバックが発生していない

TP1/EEから値が返される引数

一意名2

インタフェースエリアの各項目に値が設定されています。

ステータスコードが'00000'または'04310'の場合だけ参照可能です。

次に記載のない項目についてはTP1/FSPは値を設定しません。

ヘッダ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SDHステータスコード

    SDHステータスコードを設定します。

    1.4 SDHステータスコード一覧」を参照してください。

  • SQLCODE

    SQLCODEを設定します。

  • 障害情報

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • アクセス機能用インタフェースエリアアドレス

    要求コード1の値によって設定する内容が異なります。

    ・要求コード1が'U'の場合

     UAPが指定したインタフェースエリアの先頭アドレスを設定します。

データ名B

ステータスコードを5桁の数字で返します。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

04301

引数に設定した値が間違っています。

  • 要求コード(データ名A)の値が不正です。

  • インタフェースエリア(一意名2)が不正(NULL)です。

04302

発行条件が不正です。

  • TP1/FSPの環境下にありません。

  • SDBハンドラ機能が有効(sdh_use=Y)ではありません。

  • リソースマネジャが定義されていないか,リソースマネジャにHiRDBが定義されていません。

04310

構造型DBのアクセスに失敗しました。

詳細は「1.4 SDHステータスコード一覧」を参照してください。

(3) CBLEESDH('ACCS ')

名称

データベースアクセス要求(検索/変更/格納/削除/複数レコードの検索)

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEESDH' USING 一意名1 一意名2
 
DATA DIVISIONの指定
01 一意名1.
    02 データ名A  PIC X(8) VALUE 'ACCS    '.
    02 データ名B  PIC X(5).
    02 FILLER     PIC X(3).
    02 データ名C  PIC S9(9) COMP VALUE ZERO.
  01 一意名2.                              /*インタフェースエリア */
    02 データ名D.                          /*ヘッダ部 */
      /*インタフェースエリア構成情報部*/
      03 データ名D01  PIC X(4).            /*ヘッダ識別子 */
      03 データ名D02  PIC S9(9) COMP.      /*ヘッダ部サイズ */
      03 データ名D03  PIC X(1).            /*種別 */
      03 FILLER       PIC X(3).            /*予備 */
      03 データ名D04  PIC S9(9) COMP.      /*インタフェースエリア全体サイズ */
      03 データ名D05  ADDRESS.             /*自インタフェースエリアのテンプレートアドレス */
      03 データ名D06  PIC S9(9) COMP.      /*エントリ部先頭ロケーション */
      03 データ名D07  PIC S9(9) COMP.      /*エントリ部サイズ */
      03 データ名D08  PIC S9(9) COMP.      /*エントリ部数 */
      03 FILLER       PIC X(4).             /*予備 */
      03 データ名D09  PIC S9(9) COMP.      /*キー報告エリア部ロケーション */
      03 データ名D10  PIC S9(9) COMP.      /*キー報告エリア部サイズ */
      03 データ名D11  PIC S9(9) COMP.      /*構成要素情報表示部ロケーション */
      03 データ名D12  PIC S9(9) COMP.      /*構成要素情報表示部エントリサイズ */
      03 FILLER       PIC X(40).           /*予備 */
      03 データ名 D13  PIC S9(4) COMP.     /*データベース名称サイズ */
      03 データ名 D14  PIC X(30).          /*データベース名称 */
      /*要求部*/
      03 データ名D15  PIC X(4).           /*機能コード */
      03 データ名D16  PIC X(1).           /*要求コード1 */
      03 データ名D17  PIC X(1).           /*要求コード2 */
      03 データ名D18  PIC X(1).           /*要求コード3 */
      03 データ名D19  PIC X(1).           /*要求コード4 */
      03 データ名D20  PIC X(1).           /*アクセスモード1 */
      03 データ名D21  PIC X(1).           /*アクセスモード2 */
      03 データ名D22  PIC X(1).           /*アクセスモード3 */
      03 データ名D23  PIC X(1).           /*アクセスモード4 */
      03 データ名D24  PIC X(1).           /*排他モード1 */
      03 データ名D25  PIC X(1).           /*排他モード2 */
      03 データ名D26  PIC X(1).           /*排他モード3 */
      03 データ名D27  PIC X(1).           /*排他モード4 */
      03 データ名D28  PIC X(1).           /*データエリア形式 */
      03 データ名D29  PIC X(1).           /*店番限定有無 */
      03 データ名D30  PIC X(1).           /*順アクセス内基点条件オプション */
      03 データ名D31  PIC X(1).          /*複数レコードの検索専用オプション */
      03 データ名D32  PIC X(1).          /*個別開始/終了一括要求オプション */
      03 データ名D33  PIC X(1).          /*個別開始実行要求オプション */
      03 データ名D34  PIC X(1).          /*オプションコード7 */
      03 データ名D35  PIC X(1).          /*オプションコード8 */
      03 FILLER       PIC X(8).           /*予備 */
      03 データ名D36  ADDRESS.            /*データベースアクセス用エントリリストアドレス */
      03 データ名D37  ADDRESS.           /*システム構成表示エリアアドレス */
      03 データ名D38  PIC S9(4) COMP.     /*データベース名称サイズ指定  */
      03 データ名 D39  PIC X(30).         /*データベース名称指定 */
      03 データ名D40  ADDRESS.           /*データベースキー指定エリアアドレス */
      03 データ名D41  ADDRESS.           /* TP1/FSP領域 */
      03 FILLER       PIC X(4).           /*予備 */
      03 FILLER       PIC X(12).          /*予備 */
      03 データ名D42  ADDRESS.           /*RDエリア名称格納エリア */
      03 データ名D43  PIC S9(9) COMP.     /*RDエリア名称格納エリアサイズ */
      03 FILLER       PIC X(4).           /*予備 */
      03 データ名D44  PIC S9(4) COMP.     /*店番サイズ */
      03 データ名D45  PIC X(14).          /*店番 */
      03 FILLER       PIC X(240).         /*予備 */
      /*結果部*/
      03データ名D46  PIC X(1).           /*リターンコード */
      03 データ名D47  PIC X(1).           /*サブコード */
      03 FILLER       PIC X(2).           /*予備 */
      03データ名D48  PIC S9(9) COMP.     /*詳細コード   */
      03データ名D49  PIC S9(9) COMP.     /*エラーコード1 */
      03データ名D50  PIC S9(9) COMP.     /*エラーコード2 */
      03 データ名D51  PIC X(5).          /*SDHステータスコード */
      03 FILLER       PIC X(1).           /*予備 */
      03 データ名D52  PIC X(1).           /*暗黙的ロールバック有無 */
      03 データ名D53  PIC X(1).          /*個別開始実行要求結果 */
      03 データ名D54  PIC S9(18) COMP.   /*SQLCODE */
      03 データ名D55  PIC X(32).         /*障害情報 */
      03 データ名D56  ADDRESS.           /*データベース名称リストアドレス */
      03 データ名D57  ADDRESS.           /*アクセス機能用インタフェースエリアアドレス */
      03 データ名D58  PIC S9(9) COMP.    /*エントリ部ロケーション */
      03 FILLER       PIC X(4).           /*予備 */
      03 データ名D59  ADDRESS.           /*レコード分割キー一覧アドレス */
      03 データ名D60  ADDRESS.           /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(152).        /*予備 */
      /*定義情報部*/
      03 データ名D61  PIC S9(9) COMP.    /*データベース番号 */
      03 データ名D62  PIC X(1).          /*種別 */
      03 FILLER       PIC X(3).           /*予備 */
      03 データ名D63  PIC X(1).          /*参照可否 */
      03 データ名D64  PIC X(1).          /*変更可否 */
      03 データ名D65  PIC X(1).          /*格納可否 */
      03 データ名D66  PIC X(1).          /*削除可否 */
      03 データ名D67  PIC X(1).          /*一括削除可否 */
      03 データ名D68  PIC X(1).          /*DB作成UTL追加可否 */
      03 データ名D69  PIC X(1).          /*フォーマットライト可否 */
      03 データ名D70  PIC X(1).          /*店群構成 */
      03 データ名D71  PIC X(1).          /*リクエストモード1 */
      03 データ名D72  PIC X(1).          /*リクエストモード2 */
      03 FILLER       PIC X(2).           /*予備 */
      03 データ名D73  PIC X(1).          /*階層ランダム/シーケンシャル */
      03 データ名D74  PIC X(1).          /*ユーザファイル通番可否 */
      03 FILLER       PIC X(2).           /*予備 */
      03 データ名D75  PIC S9(9) COMP.    /*レコード種別数 */
      03 FILLER       PIC X(4).           /*予備 */
      03 データ名D76  PIC S9(9) COMP.    /*レコード分割キー数 */
      03 データ名D77  PIC S9(4) COMP.    /*レコード分割キーのロケーション */
      03 データ名D78  PIC S9(4) COMP.    /*レコード分割キーのサイズ */
      03 データ名D79  PIC S9(9) COMP.    /* RDエリア分割キー数 */
      03 データ名D80  PIC S9(4) COMP.    /*RDエリア分割キーのロケーション */
      03 データ名D81  PIC S9(4) COMP.    /*RDエリア分割キーのサイズ */
      03 データ名D82  PIC S9(9) COMP.    /*最大階層レベル(FMB用) */
      03 データ名D83  PIC S9(9) COMP.    /* TP1/FSP領域 */
      03 FILLER       PIC X(8).           /*予備 */
      03 データ名D84  PIC S9(9) COMP.    /*全キー長(レベル2〜一連番号までの合計サイズ)*/
      03 データ名D85  PIC S9(9) COMP.    /* TP1/FSP領域 */
      03 FILLER       PIC X(8).           /*予備 */
      03 データ名D86  PIC S9(9) COMP.    /*レベル2キー構成要素情報 */
      03 データ名D87  PIC S9(9) COMP.    /*レベル2論理キー長 */
      03 データ名D88  PIC S9(9) COMP.    /*レベル2論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.     /*予備 */
      03 データ名D89  PIC S9(9) COMP.    /*レベル3キー構成要素情報 */
      03 データ名D90  PIC S9(9) COMP.    /*レベル3論理キー長 */
      03 データ名D91  PIC S9(9) COMP.    /*レベル3論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.    /*予備 */
      03 データ名D92  PIC S9(9) COMP.   /*レベル4キー構成要素情報 */
      03 データ名D93  PIC S9(9) COMP.   /*レベル4論理キー長 */
      03 データ名D94  PIC S9(9) COMP.   /*レベル4論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.    /*予備 */
      03 データ名D95  PIC S9(9) COMP.   /*レベル5キー構成要素情報 */
      03 データ名D96  PIC S9(9) COMP.   /*レベル5論理キー長 */
      03 データ名D97  PIC S9(9) COMP.   /*レベル5論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.    /*予備 */
      03 データ名D98  PIC S9(9) COMP.   /*レベル6キー構成要素情報 */
      03 データ名D99  PIC S9(9) COMP.   /*レベル6論理キー長 */
      03 データ名D100  PIC S9(9) COMP.   /*レベル6論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.    /*予備 */
      03 データ名D101  PIC S9(9) COMP.   /*レベル7キー構成要素情報 */
      03 データ名D102  PIC S9(9) COMP.   /*レベル7論理キー長 */
      03 データ名D103  PIC S9(9) COMP.   /*レベル7論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.    /*予備 */
      03 データ名D103  PIC S9(9) COMP.   /*一連番号構成要素情報 */
      03 データ名D105  PIC S9(9) COMP.   /*一連番号サイズ */
      03 FILLER       PIC X(8).           /*予備 */
      03 データ名D106  ADDRESS.          /*レコード分割キー一覧アドレス */
      03 データ名D107  ADDRESS.          /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(48).          /*予備 */
      03 FILLER       PIC X(1024).        /*予備 */
 
    02 データ名E       OCCURS n TIMES.   /*エントリ部 */
      /*インタフェースエリア構成情報部*/
      03 データ名E01  PIC X(4).          /*識別子 */
      03 データ名E02  PIC S9(9) COMP.    /*エントリ部サイズ */
      03 データ名E03  PIC X(1).          /*種別 */
      03 FILLER       PIC X(3).           /*予備 */
      03 データ名E04  PIC S9(9) COMP.    /*インタフェースエリア内のエントリ部ロケーション */
      03 データ名E05  PIC S9(9) COMP.     /*構成要素情報部ロケーション */
      03 データ名E06  PIC S9(9) COMP.    /*構成要素情報エントリ数 */
      03 FILLER       PIC X(72).         /*予備 */
      03 データ名E07  PIC S9(4) COMP.   /*レコード名称サイズ */
      03 データ名E08  PIC X(30).        /*レコード名称 */
      /*要求部*/
      03 データ名E09  PIC X(4).         /*要求コード */
      03 データ名E10  PIC X(1).         /*指示コード */
      03 データ名E11  PIC X(1).         /*検索コード */
      03 データ名E12  PIC X(1).         /*条件コード */
      03 FILLER        PIC X(1).        /*予備 */
      03 FILLER        PIC X(8).        /*予備 */
      03 データ名E13  PIC X(1).         /*ポインタオプション */
      03 データ名E14  PIC X(1).         /*一括オプション */
      03 データ名E15  PIC X(1).         /*ステータス報告オプション*/
      03 データ名E16  PIC X(1).         /*ページ切り替え */
      03 データ名E17  PIC X(1).         /*PCTFREE有効化 */
      03 データ名E18  PIC X(1).         /*二次インデクス使用抑止オプション */
      03 データ名E19  PIC X(1).         /*オプションコード7 */
      03 データ名E20  PIC X(1).         /* TP1/FSP領域 */
      03 FILLER       PIC X(40).        /*予備    */
      03 データ名E21  ADDRESS.         /*条件式格納エリアアドレス */
      03 データ名E22  ADDRESS.         /*構成要素指定エリアアドレス */
      03 データ名E23  ADDRESS.         /*データ格納エリアアドレス */
      03 データ名E24  PIC S9(9) COMP.  /*データ格納エリアサイズ */
      03 データ名E25  PIC S9(9) COMP.      /*事前割り当て要求ページ数 */
      03 FILLER       PIC X(56).       /*予備 */
      03 データ名E26  PIC X(4).        /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E27  PIC S9(9) COMP.  /*一連番号 */
      03 データ名E28  PIC X(16).       /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(80).        /*予備 */
      03 データ名E29  PIC X(256).      /*ユーザキー/論理キー格納エリア */
      /*結果部*/
      03データ名E30  PIC X(1).        /*リターンコード */
      03 データ名E31  PIC X(1).       /*サブコード */
      03 FILLER       PIC X(2).        /*予備 */
      03データ名E32  PIC S9(9) COMP.  /*詳細コード */
      03データ名E33  PIC S9(9) COMP.  /*エラーコード1 */
      03データ名E34  PIC S9(9) COMP.  /*エラーコード2  */
      03 データ名E35  PIC S9(18) COMP. /*SQLCODE */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名E36  PIC X(32).       /*障害情報 */
      03 データ名E37  PIC S9(9) COMP.  /*レコードサイズ */
      03 データ名E38  PIC S9(9) COMP.  /*エントリ部ロケーション */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名E39  PIC S9(9) COMP.      /*事前割り当て済みページ数 */
      03 データ名E40  PIC X(4).         /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E41  PIC S9(9) COMP.  /*一連番号 */
      03 データ名E42  PIC X(16).       /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(24).        /*予備 */
      03 データ名E43  PIC X(24).       /*BES,RDエリアに関する情報 */
      03 FILLER       PIC X(40).        /*予備 */
      03 データ名E44   PIC X(1).       /*二次インデクス使用フラグ */
      03 データ名E45   PIC X(1).       /*ステータス */
      03 データ名E46   PIC S9(4) COMP.  /* TP1/FSP領域 */
      03 データ名E47   PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(56).         /*予備 */
      /*定義情報部*/
      03 データ名E48  PIC S9(9) COMP.   /*レコード番号 */
      03 データ名E49  PIC X(1).         /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名E50  PIC X(1).        /*検索可否 */
      03 データ名E51  PIC X(1).        /*変更可否 */
      03 データ名E52  PIC X(1).        /*格納可否 */
      03 データ名E53  PIC X(1).        /*削除可否 */
      03 データ名E54  PIC X(1).        /*一括削除可否 */
      03 データ名E55  PIC X(1).        /*構成要素指示可否 */
      03 FILLER       PIC X(1).         /*予備 */
      03 データ名E56  PIC X(1).        /*店群構成 */
      03 データ名E57  PIC X(1).        /*オカレンス属性 */
      03 データ名E58  PIC X(1).        /*子レコード有無 */
      03 データ名E59  PIC X(1).        /*ユーザポインタ有無 */
      03 データ名E60  PIC X(1).        /*ユーザキー有無 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名E61  PIC X(1).        /*リクエストモード1 */
      03 データ名E62  PIC X(1).        /*リクエストモード2 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名E63  PIC X(1).        /*階層ランダム/シーケンシャル */
      03 データ名E64  PIC X(1).        /*ユーザファイル通番取得可否 */
      03 FILLER       PIC X(2).        /*予備 */
      03 データ名E65  PIC S9(9) COMP.  /*自身のレコード識別コード長 */
      03 データ名E66  PIC X(4).        /*自身のレコード識別コード */
      03 データ名E67  PIC S9(9) COMP.  /*レコード型番号 */
      03 データ名E68  PIC S9(9) COMP.  /*親のレコード型番号 */
      03 データ名E69  PIC S9(9) COMP.  /*レコードレベル番号 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名E70  PIC S9(9) COMP.  /*ユーザデータサイズ */
      03 データ名E71  PIC S9(9) COMP.  /*ユーザファイル通番部サイズ */
      03 データ名E72  PIC S9(9) COMP.  /*公開構成要素数 */
      03 データ名E73  PIC S9(9) COMP.  /*一連番号最小値 */
      03 データ名E74  PIC S9(9) COMP.  /*一連番号最大値 */
      03 FILLER       PIC X(52).        /*予備 */
      03 FILLER       PIC X(1024).      /*予備 */
 
    02 データ名F.                       /*キー報告エリア部 */
      03 データ名F01  PIC S9(4) COMP.   /*K1 */
      03 データ名F02  PIC S9(4) COMP.   /*K2 */
      03 データ名F03  PIC S9(4) COMP.   /*K3 */
      03 データ名F04  PIC S9(4) COMP.   /*K4 */
      03 データ名F05  PIC S9(4) COMP.   /*K5 */
      03 データ名F06  PIC S9(4) COMP.   /*K6 */
      03 データ名F07  PIC S9(4) COMP.   /*K7 */
      03 データ名F08  PIC S9(4) COMP.   /*K8 */
      03 データ名F09  PIC S9(4) COMP.   /*K9 */
      03 データ名F10  PIC S9(4) COMP.   /*K10 */
      03 データ名F11  PIC S9(4) COMP.   /*K11 */
      03 データ名F12  PIC S9(4) COMP.   /*K12 */
      03 データ名F13  PIC S9(4) COMP.   /*K13 */
      03 データ名F14  PIC S9(4) COMP.   /*K14 */
      03 データ名F15  PIC S9(4) COMP.   /*K15 */
      03 FILLER       PIC X(2).          /*予備 */
      03 データ名F16  PIC X(n).         /*キー部 */
 
    02 データ名G       OCCURS n TIMES.  /*構成要素情報部 */
      03 データ名G01  PIC X(4).         /*識別記号 */
      03 データ名G02  PIC S9(9) COMP.   /*構成要素番号 */
      03 データ名G03  PIC S9(4) COMP.   /*構成要素名称サイズ */
      03 データ名G04  PIC X(30).        /*構成要素名称 */
      03 データ名G05  PIC X(1).         /*データ属性 */
      03 データ名G06  PIC X(1).         /*構成要素属性 */
      03 データ名G07  PIC X(1).         /*構成要素属性 */
      03 FILLER        PIC X(1).         /*予備 */
      03 データ名G08  PIC S9(9) COMP.   /*ロケーション */
      03 データ名G09  PIC S9(9) COMP.   /*構成要素サイズ */
      03 データ名G10  PIC X(2).         /*ユーザ情報 */
      03 FILLER        PIC X(10).        /*予備 */
 
01 一意名3.                             /*データベースアクセス用エントリリスト */
  02 データ名H01     PIC S9(4) COMP.   /*エントリ数*/
  02 データ名H02     PIC X(1).         /*アドレス種別 */
  02 FILLER           PIC X(5).        /*予備 */
  02 データ名H03     ADDRESS OCCURS n TIMES./*エントリアドレス */
機能

インタフェースエリアに指定されたデータベースの単一レコードまたは複数レコードに対してアクセス(検索/変更/格納/削除/複数レコードの検索)します。

レコードにアクセスする場合は,各レコードに対応したインタフェースエリア(エントリ部)のエントリに要求を指定することでアクセスできます。一度の呼び出しで複数レコードに対してアクセスすることも可能です。ただし,同一要求(変更+変更など)だけ可能です。異なる要求(変更+格納など)を行った場合はエラーとなります。レコードとインタフェースエリアのエントリの対応を次の図に示します。

UAPは,CBLEESDH('STRT ')に指定したインタフェースエリアを一意名2に設定します。また,格納,変更,および削除を行う場合は,CBLEESDH('STRT ')発行時にインタフェースエリア(ヘッダ部)のアクセスモード1を'U'に設定したインタフェースエリアを用いてください。

検索を行う場合,かつ,個別開始/終了一括要求オプションに'Y'を指定する場合は,CBLEESDH('STRT ')の記述を参照し,インタフェースエリアをift_ptに指定してください。この場合,CBLEESDH('STRT ')発行済みのインタフェースエリアを指定した場合はエラーとなります。

個別開始実行要求オプションに'Y'を指定する場合は,CBLEESDH('STRT ')の記述を参照し,インタフェースエリアを一意名2に指定してください。すでにCBLEESDH('STRT ')発行済みだった場合,個別開始実行要求オプションは無視します。

図1‒30 レコードとインタフェースエリアのエントリの対応

[図データ]

それぞれのアクセスに関する注意点を次に示します。

特定のデータベースでだけサポートしている機能を,未サポートのほかのデータベースに要求した場合はエラーになります。

  • 検索

    要求されたレコードを検索します。検索では,条件に合致した最初のレコードを返します。検索に条件を付与する場合,条件式格納エリアを確保し条件を設定することで有効となります。また,特定の構成要素にアクセスする場合は構成要素指定エリアを確保し,対象となる構成要素名称または番号を設定してください。

    FMBデータベースの子レコードを検索する場合は,親レコードが検索されている,または同時に検索要求している必要があります。

  • 変更

    検索済みのレコードを変更します。検索済みであれば,複数エントリを選択できます。変更データは,データ格納エリアに設定します。USERポインタだけ変更する場合はデータ格納エリアにZEROを設定します。

    なお,ユーザキーは変更はできません。

  • 格納

    指定されたデータを格納します。格納データは,データ格納エリアに設定します。

    FMBデータベースの場合,格納する個所の親レコードが検索済みまたは格納済みである必要があります。

    ユーザキーが定義されているMAM/TAMデータベースに格納する場合,格納するユーザキーはLASTポインタが示すレコードのユーザキーより大きな値を設定します。LASTポインタが示すレコードのユーザキーより小さい場合や同じ場合はエラーとなります。

  • 削除

    検索済みのレコードを削除します。検索済みであれば,複数エントリを選択できます。

    FMBデータベースの場合,指定レコードおよび指定レコードの子レコードを削除する方法と,最下位レコードをすべて削除する方法があります。最下位レコードをすべて削除する場合は,最下位レコードのどれかのレコードを検索して行う必要があります。

    USERポインタの示すレコードの削除時は,USERポインタは解除されます。

  • 複数レコードの検索

    要求されたレコードを検索します。複数レコードの検索では,条件に合致したルートレコード以下のすべてのレコードを返します。検索に条件を付与する場合,条件式格納エリアを確保し条件を設定することで有効となります。

    なお,複数レコードの検索が行えるのは,FMBデータベースの場合だけです。また,個別開始を行う場合に専用オプションを指定する必要があり,DBアクセス時のインタフェースエリアエントリ部は,ルートエントリに設定します。

DAM/MAM/TAM/SAMデータベースに対して,レコードを特定しないでアクセスすることをデータベース名称指定アクセスといいます。データベース名称指定アクセスを行う場合は,先頭エントリ(DB対応エントリ)に要求コードを設定します。データベース名称指定アクセスは,検索,変更,および格納の場合に行うことができます。検索後に変更する場合は,検索および変更の両方の要求でDB対応エントリを使用してください。

FMBデータベースの場合は,データベース名称指定アクセスはできません。そのため,DB対応エントリに指定した場合はエラーになります。

UAPで値を設定するデータ領域

データ名A

データベースアクセス(検索/変更/格納/削除)を示すコード「VALUE 'ACCS△△△△'」を設定します。

データ名C

0を設定します。

一意名2

インタフェースエリアを設定します。

要求時に次の項目を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

ヘッダ部−要求部
  • 機能コード

    データベースアクセス要求を示す機能コードを設定します。

    'ACCS':データベースアクセス要求

  • 要求コード1

    インタフェースエリアの確保方法を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の要求コード1の記載内容を参照し,値を設定してください。

  • 要求コード2,要求コード3,要求コード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の要求コード2,要求コード3,要求コード4の記載内容を参照し,値を設定してください。

  • アクセスモード1

    アクセスモードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のアクセスモード1の記載内容を参照し,値を設定してください。

  • アクセスモード2,アクセスモード3,アクセスモード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のアクセスモード2,アクセスモード3,アクセスモード4の記載内容を参照し,値を設定してください。

  • 排他モード1

    排他モードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード1の記載内容を参照し,値を設定してください。

  • 排他モード2

    排他の解放タイミングを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード2の記載内容を参照し,値を設定してください。

  • 排他モード3

    排他競合時の処置を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード3の記載内容を参照し,値を設定してください。

  • 排他モード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード4の記載内容を参照し,値を設定してください。

  • データエリア形式

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のデータエリア形式の記載内容を参照し,値を設定してください。

  • 店番限定有無

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の店番限定有無の記載内容を参照し,値を設定してください。

  • 順アクセス内基点条件オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の順アクセス内基点条件オプションの記載内容を参照し,値を設定してください。

  • 複数レコードの検索専用オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の複数レコードの検索専用オプションの記載内容を参照し,値を設定してください。

  • 個別開始/終了一括要求オプション

    レコードの検索要求の処理の中で個別開始と個別終了を一括で行うかどうかを指定します。

    要求コードに'FTCH'を指定している場合

    'Y':レコードの検索要求の処理の中で個別開始と個別終了を実行します

    'N':指示なし

    '△':指示なし

    要求コードが'FTCH'以外の場合

    '△'を指定してください。

    '△':指示なし

  • 個別開始実行要求オプション

    DBアクセスの処理の中で個別開始をするかどうかを指定します。すでに個別開始済みの場合,このオプション指定値は無視します。このオプション,および,個別開始/終了一括要求オプションの両方に'Y'を指定した場合はエラーとなります。

    'Y':DBアクセスの処理の中で個別開始を実行する

    'N':指示なし

    '△':指示なし

  • オプションコード7,オプションコード8

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のオプションコード7,オプションコード8の記載内容を参照し,値を設定してください。

  • データベースアクセス用エントリリスト

    アクセスするエントリのアドレス一覧を格納したデータベースアクセス用エントリリストアドレスを設定します。

    エントリ数には,エントリアドレスを格納する領域の数を設定し,アドレス種別には'A'を設定します。1つのエントリアドレスは一度だけ設定可能です。複数回設定した場合はエラーになります。エントリアドレスにはZEROを設定可能です。ZEROの場合はスキップして次のエントリアドレスを処理します。ただし,エントリアドレスすべてがZEROの場合はエラーとなります。

    設定しない場合,TP1/FSPはインタフェースエリア内の全エントリをサーチし,要求コードが設定されているエントリを処理します。予備にはすべてX'00'を設定します。

    エントリリストの詳細を次の図に示します。

    図1‒31 データベースアクセス用エントリリスト

    [図データ]

  • システム構成表示エリアアドレス

    ZEROを設定します。

  • データベース名称サイズ指定

    ZEROを設定します。

  • データベース名称指定

    すべてX'00'を設定します。

  • データベースキー指定エリアアドレス

    ZEROを設定します。

  • 旧キー報告エリアアドレス

    ZEROを設定します。

  • RDエリア名称格納エリア

    ZEROを設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のRDエリア名称格納エリアの記載内容を参照し,値を設定してください。

  • RDエリア名称格納エリアサイズ

    ZEROを設定します。ただし,個別開始/終了一括要求オプションに'Y'を指定している場合,または個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のRDエリア名称格納エリアサイズの記載内容を参照し,値を設定してください。

  • 店番サイズ

    ZEROを設定します。

  • 店番

    すべてX'00'を設定します。

エントリ部−要求部
表1‒42 インタフェースエリアエントリ部

項番

項目内容

検索

変更

格納

削除

複数レコードの検索

1

要求コード

2

指示コード

×

3

検索コード

4

条件コード

5

ポインタオプション

×

×

×

6

一括オプション

7

ステータス報告オプション

8

ページ切り替え

×

×

×

×

9

PCTFREE有効化

×

×

×

×

10

二次インデクス使用抑止オプション

×

×

×

×

11

オプションコード7

×

×

×

×

×

12

条件式格納エリアアドレス※1

×

×

×

13

構成要素指定エリアアドレス

×

×

×

×

14

データ格納エリアアドレス

×

15

データ格納エリアサイズ

×

16

一連番号※2 ※3

×

×

×

×

17

ダイレクトアクセス情報※4

×

×

×

×

18

キー格納エリア※5 ※6

×

×

19

事前割り当て要求ページ数

×

×

×

×

(凡例)

◎:設定必須

○:指定可能(指定しない場合は,指示なしの値を指定すること)

×:'△'またはZEROを指定

□:検索要求時に指定した値をそのまま変更すること

注※1

条件コードが'C'の場合に設定する。

注※2

条件コードが'D'の場合に設定する。

注※3

条件コードが'S'の場合に設定する。

注※4

条件コードが'R'の場合に設定する。

注※5

条件コードが'K'の場合に設定する。

注※6

条件コードが'U'の場合に設定する。

検索

対象となるレコードのエントリに次の値を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

  • 要求コード

    検索要求を示す要求コードを設定します。

    'FTCH':検索します。

  • 指示コード

    検索の基点を設定します。

    指示コードだけを設定された場合は,指示コードに従った基点のデータを返却します。指示コード以外の条件式などが設定された場合は,基点から検索を開始します。

    'F':先頭(FIRSTポインタ)を基点として検索します。

    'L':最後(LASTポインタ)を基点として検索します。

    'N':次(NEXTポインタ)を基点として検索します。当該レコードが読み込み済みでない場合は'F'指定と同じになります。

    'U':USERポインタを基点として検索します。

    'P':1つ前(PRIORポインタ)を基点として検索します。当該レコードが読み込み済みでない場合は'L'指定と同じになります。

  • 検索コード

    検索の方向を設定します。

    昇順/降順の順序性の基準は,ユーザキーを持つ場合はユーザキー,持たない場合は一連番号です。

    指示コードと検索コードの設定可能な組み合わせを次の表に示します。

    'N':キーの昇順に検索します。

    'P':キーの降順に検索します。

    表1‒43 指示コードと検索コードの組み合わせ

    項番

    指示コード

    DB種別と検索コード

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    'N'

    'P'

    'N'

    'P'

    'N'

    'P'

    'N'

    'P'

    'N'

    'P'

    'N'

    'P'

    1

    'F'

    ×

    ×

    ×

    ×

    ×

    ×

    2

    'L'

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    3

    'N'

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    4

    'U'

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    5

    'P'

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    (凡例)

    ○:指定可

    ×:指定不可

  • 条件コード

    検索条件の設定方法を設定します。

    'K':条件キーとして,DBKEYを指定します。このコードを指定した場合,条件式は指定できません。

    'C':条件式を指定します。このコードを指定した場合,必ず条件式を指定してください。

    'U':条件キーとして,ユーザキーを指定します。このコードを指定した場合,条件式は指定できません。

    'S':条件キーとして,一連番号を指定します。このコードを指定した場合,条件式は指定できません。

    'R':ダイレクトアクセス情報を指定します。FMBデータベースの子レコードに指示できます。FMBデータベースのルートレコード,DAM/MAM/SAM/TAMデータベースには指示できません。このコードを指定した場合,条件式は指定できません。また,指示コード,検索コードは無効となります。

    'N':条件を指定しません。

    表1‒44 条件コードの指定可否

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    1

    条件コード

    K

    ×

    2

    U※1

    ×

    ×

    ×

    3

    S※1

    ×

    4

    C※2

    5

    R※1

    ×

    ×

    ×

    ×

    ×

    6

    N

    ×

    (凡例)

    ○:指定可

    ×:指定不可

    注※1

    DB対応エントリには指定できません。

    注※2

    DB対応エントリに指定する場合は,キーの条件だけ指定できます。キー以外の条件を指定した場合はエラーになります。

  • ポインタオプション

    '△'を設定します。

  • 一括オプション

    '△'または'S'を設定します。

    'S':単一レコードの検索であることを指示します。

    '△':指示なし(単一レコードの検索であることを指示します)

  • ステータス報告オプション

    ステータスおよびダイレクトアクセス情報,一連番号の取得有無を設定します。

    'Y'を指定してください。

    'Y':取得します。

  • ページ切り替え

    '△'を設定します。

  • PCTFREE有効化

    '△'を設定します。

  • 二次インデクス使用抑止オプション

    二次インデクスの使用を抑止するかどうかを設定します。

    'Y':二次インデクスが使用可能な場合でもポインタ検索を行います(DB種別や指示コードによって使用可否が異なります。使用不可の場合はDBアクセスがエラーとなります。詳細はマニュアル「HiRDB Version 9 構造型データベース機能」の「二次インデクス」の「子レコード検索時の二次インデクスの使用有無」を参照してください)。

    'N':指示なし(二次インデクスが使用可能であれば使用して検索を行います)

    '△':指示なし(二次インデクスが使用可能であれば使用して検索を行います)

  • オプションコード7

    '△'を設定します。

  • 条件式格納エリアアドレス

    条件式を指定する(条件コードが'C')場合は,条件式格納エリアを確保し条件を設定後,そのアドレスを設定します。条件式格納エリアの詳細を次の図に示します。条件コードが'C'以外の場合,設定値を無視します。

    設定しない場合は,ZEROを設定します。

    図1‒32 条件式格納エリア

    [図データ]

    表1‒45 条件式格納エリア内容

    項番

    分類

    説明

    1

    識別記号

    *FDN:構成要素名称を指定します。

    2

    構成要素名称

    キーの条件を指定する場合は,'DBKEY△△△'を指定します。※1 ※2

    キーの条件は2個まで指定可能です。

    キーの条件を2個指定する場合は範囲指定(例:3<=X<=7)となるように指定してください。

    3

    キー以外の条件の場合は,SDBデータベース定義で定義した構成要素名称を指定します。※1 ※3指定する構成要素名称が8バイト未満である場合は,残りを'△'で埋めてください。

    キー以外の条件に指定する構成要素名称には,基本項目の構成要素だけ指定可能です。集団項目の構成要素は指定できません。また,存在しない構成要素名称を指定した場合はエラーになります。

    キー以外の条件は8個まで指定可能です。ただし,キーの条件を含めて8個までしか指定できません。

    4

    比較記号

    'GT'or'>△':大きい

    'GE'or'>=':大きいか等しい

    'LT'or'<△':小さい

    'LE'or'<=':小さいか等しい

    'EQ'or'△=:等しい

    'NE'or'^=':等しくない(キーの条件では指定できません)

    5

    論理式

    条件式と条件式の間に指定します。条件式が1つの場合は指定できません。

    '+'or'|':論理和(キーの条件では指定できません)

    '*'or'&':論理積

    6

    接続記号

    '-'or'_'

    7

    構成要素の値を格納します。※2

    値のサイズは,SDBデータベース定義の構成要素定義で指定したサイズです。

    8

    終了記号

    '.'

    注※1

    条件式は,キーの条件,キー以外の条件の順序で指定してください。

    キーの条件とキー以外の条件を組み合わせて指定する場合は,次の点に注意してください。

    ・キーの条件は,キー以外の条件より優先順位が高い

    (例)

    「キーの条件1&キーの条件2&キー以外の条件A|キー以外の条件B」を指定した場合,「(キーの条件1&キーの条件2)&(キー以外の条件A|キー以外の条件B)」と解釈します。

    注※2

    MAMデータベースで構成要素名称に'%ENTRY△△'を指定して検索する場合は,値に一連番号だけを指定してください。

    注※3

    ユーザキーは,キー以外の条件として扱います。キーの条件とユーザキーの条件は同時に指定できません。

  • 構成要素指定エリアアドレス

    レコード内の特定構成要素にアクセス(構成要素アクセス)する場合に設定します。構成要素指定エリアを確保し,アクセスする構成要素名称または構成要素番号を設定後,そのアドレスを設定します。

    構成要素名称には,ユーザデータの基本項目の構成要素,ユーザキーおよびユーザファイル通番を指定可能です。DBKEYおよびユーザデータの集団項目の構成要素は設定できません。

    構成要素番号はインタフェースエリアの構成要素情報部の構成要素番号を設定します。その際,構成要素番号は昇順で設定します。DBKEYおよびユーザキーを表す番号は設定できません。

    存在しない構成要素名称および構成要素番号を設定した場合はエラーになります。また,構成要素名称および構成要素番号は,重複して設定できません。

    設定しない場合は,レコードの全構成要素のデータを取得します。構成要素アクセスは,DAM/MAM/TAMデータベースに対して指定可能です。FMB/SAMデータベースに対して設定した場合はエラーとなります。また,DB対応エントリを使用かつ条件コード'N'の場合は指定できません。構成要素指定エリアの詳細を次の図に示します。予備にはすべてX'00'を設定します。

    設定しない場合は,ZEROを設定します。

    表1‒46 構成要素指定エリアアドレスの指定可否

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    1

    構成要素指定エリアアドレス

    ×

    ×

    ×

    (凡例)

    ○:指定可

    ×:指定不可

    注※

    DB対応エントリを使用かつ条件コード'N'または条件コード'C'の場合には指定できません。

    図1‒33 構成要素名称指定と構成要素番号指定

    [図データ]

  • データ格納エリアアドレス

    検索したデータを格納するエリアのアドレスを設定します。データ格納エリアのサイズは,データ格納エリアサイズに設定します。検索データの格納が不要の場合は,ZEROを設定します。ただし,構成要素アクセスする場合は,必ずデータ格納エリアを設定してください。

  • データ格納エリアサイズ

    データ格納エリアの長さを設定します(単位:バイト)。検索データサイズより設定値が小さい場合はエラーとなります。

    検索データの格納が不要の場合は,ZEROを設定します。ただし,構成要素アクセスする場合は,必ずデータ格納エリアを設定してください。

  • 一連番号

    条件式を用いないで一連番号を直接指定する(条件コードが'S'または'D')場合に検索要求する一連番号を設定します。1〜nの値を設定します。条件コードが'S'または'D'以外の場合,設定値を無視します。

  • ダイレクトアクセス情報

    すでに検索済みのレコードを再度検索する(条件コードが'R')場合に,前回の検索時に報告したダイレクトアクセス情報を設定します。条件コードが'R'以外の場合,設定値を無視します。

  • キー格納エリア

    条件式を用いないでDBKEYまたはユーザキーを直接指定する(条件コードが'K'または'U')場合に検索要求するキーを格納します。条件コードが'K'または'U'以外の場合,設定値を無視します。

変更

対象となるレコードのエントリに次の値を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

  • 要求コード

    変更要求を示す要求コードを設定します。

    'MODF':変更します。

  • 指示コード

    検索の基点を設定します。

    CBLEESDH('ACCS ')の検索要求時に設定した値をそのまま設定します。

  • 検索コード

    検索の方向を設定します。

    CBLEESDH('ACCS ')の検索要求時に設定した値をそのまま設定します。

  • 条件コード

    変更データの位置づけ方法(位置づけるための検索方法)を設定します。

    検索済みのレコードを変更する場合は,'N'を設定します。

    'N':条件を指定しません。検索要求で位置づけたレコードを変更します。

  • ポインタオプション

    USERポインタを操作する場合に設定します。

    本機能は,FMBデータベースの子レコードに対して有効となります。SDBデータベース定義でFMBの子レコードにUSERポインタの定義がない場合は設定値を無視します。

    DAM/MAM/TAM/SAMデータベースとFMBデータベースのルートレコードの場合は'N'を設定します。

    'U':ほかのレコードに設定されているUSERポインタを解消して,当該レコードにUSERポインタを設定します。

    'C':当該レコードに設定されているUSERポインタを解消します。

    'N':USERポインタを変更しません。

    表1‒47 ポインタオプションの指定可否

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    1

    ポインタオプション

    U

    ×

    ×

    ×

    ×

    ×

    2

    C

    ×

    ×

    ×

    ×

    ×

    3

    N

    (凡例)

    ○:指定可

    ×:指定不可

  • 一括オプション

    'S':単一レコードの変更であることを指示します。

    '△':指示なし(単一レコードの変更であることを指示します)

  • ステータス報告オプション

    ステータスおよびダイレクトアクセス情報,一連番号の取得有無を設定します。

    'N'を設定します。

  • ページ切り替え

    '△'を設定します。

  • PCTFREE有効化

    '△'を設定します。

  • 二次インデクス使用抑止オプション

    '△'を設定します。

  • オプションコード7

    CBLEESDH('ACCS ')の検索要求時に設定した値をそのまま設定します。

  • 条件式格納エリアアドレス

    ZEROを設定します。

  • 構成要素指定エリアアドレス

    ZEROを設定します。ZEROは直前の検索時にアクセスした構成要素を変更するという意味です。

  • データ格納エリアアドレス

    変更データを格納したエリアのアドレスを設定します。

    データ格納エリアのサイズは,データ格納エリアサイズに設定します。

    SDBデータベース定義でFMBの子レコードにUSERポインタを定義し,USERポインタの操作だけを行う場合は,ZEROを設定します。FMBの子レコードにUSERポインタの定義がない場合やUSERポインタを変更しない場合にZEROを設定するとエラーになります。

  • データ格納エリアサイズ

    データ格納エリアの長さを設定します(単位:バイト)。

    変更データサイズより設定値が小さい場合エラーとなります。変更データサイズより設定値が大きい場合は,後部を無視します。

    SDBデータベース定義でFMBの子レコードにUSERポインタを定義し,USERポインタの操作だけを行う場合は,ZEROを設定します。FMBの子レコードにUSERポインタの定義がない場合やUSERポインタを変更しない場合にZEROを設定するとエラーになります。

  • 事前割り当て要求ページ数

    ZEROを指定します。

  • 一連番号

    ZEROを設定します。

  • ダイレクトアクセス情報

    すべてX'00'を設定します。

  • キー格納エリア

    すべてX'00'を設定します。

格納

対象となるレコードのエントリに次の値を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

  • 要求コード

    格納要求を示す要求コードを設定します。

    'STOR':格納します。

  • 指示コード

    格納位置を設定します。

    '△':指示なし(SDBデータベース定義に基づいて格納位置を決定する)

  • 検索コード

    格納位置を決定するために内部的な検索が発生する場合に,内部的な検索の方向を設定します。キーとは,ユーザキーを持つ場合はユーザキー,持たない場合は一連番号です。

    'N':キーの昇順に検索します。

    'P':キーの降順に検索します。

    '△':指示なし

  • 条件コード

    格納条件の設定方法を指示します。

    'K':条件キーとして,データベースキー(一連番号を含まない部分)を指定します。SDBデータベース定義で一連番号だけを定義したデータベースに要求する場合は,キー格納エリアへの設定は不要です。

    'N':条件を指定しません。

    条件を指定しない格納の成否は,SDBデータベース定義のキー構成に依存します。

    表1‒48 条件コードの指定可否

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    1

    条件コード

    K

    ×

    2

    N

    ×

    (凡例)

    ○:指定可

    ×:指定不可

  • ポインタオプション

    USERポインタを操作する場合に設定します。

    本機能は,FMBデータベースの子レコードに対して有効となります。SDBデータベース定義でFMBの子レコードにUSERポインタの定義がない場合は設定値を無視します。

    DAM/MAM/TAM/SAMデータベースとFMBデータベースのルートレコードの場合は'N'を設定します。

    'U':ほかのレコードに設定されているUSERポインタを解消して,当該レコードにUSERポインタを設定します。

    'N':USERポインタを変更しません。

    表1‒49 ポインタオプションの指定可否

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    1

    ポインタオプション

    U

    ×

    ×

    ×

    ×

    ×

    2

    N

    (凡例)

    ○:指定可

    ×:指定不可

  • 一括オプション

    '△'または'S'を設定します。

    'S':単一レコードの格納であることを指示します。

    '△':指示なし(単一レコードの格納であることを指示します)

  • ステータス報告オプション

    ステータスおよびダイレクトアクセス情報,一連番号の取得有無を設定します。

    'Y'を指定してください。

    'Y':取得します。

  • ページ切り替え

    レコード格納時にページの切り替えをする場合に設定します。

    レコードに対するアクセス時の排他をページ単位で分散させたい場合は,'C'/'O'を設定してください。それ以外では'N'/'△'を設定します。

    適用基準を次の表に示します。

     'C':レコード格納時にページを切り替え,空きページを確保します。確保したページに対するほかのレコードの格納は可能です。

     'O':レコード格納時にページを切り替え,空きページを確保します。確保したページは格納レコードで占有し,ほかのレコードを格納しません。

     'N':ページの切り替えは行いません。

     '△':指示なし(ページの切り替えは行いません)

    表1‒50 ページ切り替えの適用基準

    項番

    DB種別

    適用基準

    1

    FMB

    ルートレコード格納ページの排他によって,配下の子レコードのアクセスをシリアライズするため,'C'/'O'指定は効果がなく,'N'を推奨します。

    2

    DAM/

    MAM/

    TAM/

    SAM

    一連番号なし

    各レコードは1件だけであるため,'C'/'O'指定は効果がなく,'N'を推奨します。

    3

    一連番号あり

    参照だけ行う場合や他トランザクションが存在しない状態で単独で更新処理を実行する場合などは,'N'を推奨します。

    上記以外では,'C'/'O'を推奨します。

  • PCTFREE有効化

    SDB格納データベース定義のPCTFREEを有効にする場合に設定します。

    ページ内に格納するレコード件数に上限を付け,ページ排他の影響範囲を局所化したい場合には,PCTFREEを有効化することを推奨します。

    適用基準を次の表に示します。

     'Y':レコード格納時にSDB格納データベース定義のPCTFREEで指定したページ内未使用領域比率を有効にします。

     'N':レコード格納時にSDB格納データベース定義のPCTFREEで指定したページ内未使用領域比率を有効にしません。

     '△':指示なし(SDB格納データベース定義のPCTFREEで指定したページ内未使用領域比率を有効にします)

    表1‒51 PCTFREEの適用基準

    項番

    DB種別

    適用基準

    1

    FMB

    ルートレコード格納ページの排他によって,配下の子レコードのアクセスをシリアライズするため,'Y'指定は効果がありません。

    2

    DAM/

    MAM/

    TAM/

    SAM

    一連番号なし

    各レコードは1件だけであるため,'Y'指定は効果がありません。

    3

    一連番号あり

    ページ内に格納するレコード件数に上限を付け,ページ排他の影響範囲を局所化したい場合には,PCTFREEを有効化してください。

  • 二次インデクス使用抑止オプション

    '△'を設定します。

  • オプションコード7

    CBLEESDH('ACCS ')の検索要求時に設定した値をそのまま設定するか,または,'△'を設定します。

    '△':指示なし

  • 条件式格納エリアアドレス

    ZEROを設定します。

  • 構成要素指定エリアアドレス

    ZEROを設定します。

  • データ格納エリアアドレス

    格納するデータを格納するエリアのアドレスを設定します。

    データ格納エリアのサイズは,データ格納エリアサイズに設定します。

  • データ格納エリアサイズ

    データ格納エリアの長さを設定します(単位:バイト)。

    格納データサイズより設定値が小さい場合はエラーになります。格納データサイズより設定値が大きい場合は,後部を無視します。

  • 事前割り当て要求ページ数

    事前ページ割り当て機能を使用する場合,割り当てページ数を1〜2,147,483,647の範囲で指定します。事前ページ割り当て機能を使用しない場合,ZEROを指定してください。

  • 一連番号

    ZEROを設定します。

  • ダイレクトアクセス情報

    すべてX'00'を設定します。

  • キー格納エリア

    DBKEYを直接指定する(条件コードが'K')場合に格納要求するDBKEY(一連番号を含まない部分)を格納します。SDBデータベース定義で一連番号だけ定義したデータベースに要求する場合は,キー格納エリアへの設定は不要です。条件コードが'K'以外の場合,設定値を無視します。

削除

対象となるレコードのエントリに次の値を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

  • 要求コード

    削除要求を示す要求コードを設定します。

    'ERAS':削除します。

  • 指示コード

    CBLEESDH('ACCS ')の検索要求時に設定した値をそのまま設定します。

  • 検索コード

    CBLEESDH('ACCS ')の検索要求時に設定した値をそのまま設定します。

  • 条件コード

    'N':条件を指定しません。検索要求で位置づけたレコードを削除します。

  • ポインタオプション

    '△'を設定します。

  • 一括オプション

    FMBデータベースの最下位レコードを一括削除する場合に設定します。最下位レコードでない場合はエラーとなります。

    FMBで一括削除を行う場合,最下位レコードのどれかのレコードを検索しておいてください。

    DAM/MAM/TAM/SAMの場合は,'S'または'△'を設定します。

    'O':一括削除であることを指示します。

    'S':単一レコードの削除であることを指示します。

    '△':単一レコードの削除であることを指示します。

  • ステータス報告オプション

    ステータスおよびダイレクトアクセス情報,一連番号の取得有無を設定します。

    'N'を設定します。

  • ページ切り替え

    '△'を設定します。

  • PCTFREE有効化

    '△'を設定します。

  • 二次インデクス使用抑止オプション

    '△'を設定します。

  • オプションコード7

    CBLEESDH('ACCS ')の検索要求時に設定した値をそのまま設定します。

  • 条件式格納エリアアドレス

    ZEROを設定します。

  • 構成要素指定エリアアドレス

    ZEROを設定します。

  • データ格納エリアアドレス

    ZEROを設定します。

  • データ格納エリアサイズ

    ZEROを設定します。

  • 事前割り当て要求ページ数

    ZEROを指定します。

  • 一連番号

    ZEROを設定します。

  • ダイレクトアクセス情報

    すべてX'00'を設定します。

  • キー格納エリア

    すべてX'00'を設定します。

複数レコードの検索

ルートレコードのエントリに次の値を設定します。指定可能な値以外を指定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

  • 要求コード

    複数レコードの検索要求を示す要求コードを設定します。

    'FTCA':複数レコードを検索します。

  • 指示コード

    検索の基点を設定します。

    'F':検索範囲の最小キーのルートレコードから検索を開始します。条件式を指定していない場合は,すべてのレコードが検索対象となります。

    'N':前回検索したレコードの次のレコードから検索を開始します。検索範囲は,'F'で指定した内容を引き継ぐため,条件式を指定しても無視します。

    'S':前回の検索したルートレコード下のレコードの検索状態に関係なく,次のルートレコードから検索を開始します。検索範囲は,'F'で指定した内容を引き継ぐため,条件式を指定しても無視します。

    表1‒52 指示コードの指定可否

    項番

    状態

    次要求

    指示コード

    動作

    1

    複数レコードの検索実行中でない

    'F'

    条件式に従って検索を開始します

    2

    'N'

    エラー

    3

    'S'

    エラー

    4

    複数レコードの検索実行中

    'F'

    条件式に従って新たな検索を開始します

    5

    'N'

    次のレコードから検索を継続します

    6

    'S'

    次のルートレコードから検索を継続します

    注※

    「複数レコードの検索実行中」とは,複数レコードの検索の'F'指定で検索を開始してから,NOT FOUNDとなるまでの間です。

    複数レコードの検索開始前,もしくは非ロールバックエラー発生直後は「複数レコードの検索実行中」ではありません。

  • 検索コード

    '△'を設定します。

  • 条件コード

    検索条件の指定方法を設定します。ただし,指示コードに'N'または'S'を指定した場合は,条件コードに'K'を指定している場合でも,条件キーは無視されます。また,条件コードに'C'を指定している場合も,条件式は無視されます。

    'K':条件キーとして,DBKEYを指定します。このコードを指定した場合,条件式は指定できません。

    'C':条件式を指定します。このコードを指定した場合,必ず条件式を指定してください。

    'N':条件を指定しません。

  • ポインタオプション

    '△'を設定します。

  • 一括オプション

    '△'を設定します。

  • ステータス報告オプション

    ステータスおよびダイレクトアクセス情報,一連番号の取得有無を設定します。

    'N'を設定します。

  • ページ切り替え

    '△'を設定します。

  • PCTFREE有効化

    '△'を設定します。

  • 二次インデクス使用抑止オプション

    '△'を設定します。

  • オプションコード7

    '△'を設定します。

  • 条件式格納エリアアドレス

    条件式を設定する(条件コードが'C')場合は,条件式格納エリアを確保し条件を設定後,そのアドレスを設定します。条件式格納エリアの詳細を次の図に示します。条件コードが'C'以外の場合,設定値を無視します。

    設定しない場合は,NULLを設定します。

    図1‒34 条件式格納エリア

    [図データ]

    表1‒53 条件式格納エリア内容

    項番

    分類

    説明

    1

    識別記号

    *FDN:構成要素名称を指定します。

    2

    構成要素名称

    キーの条件を指定する場合は,'DBKEY△△△'を指定します。

    キーの条件は2個まで指定できます。

    キーの条件を2個指定する場合は範囲指定(例:3<=X<=7)となるように指定してください。

    3

    比較記号

    'GT'or'>△':大きい

    'GE'or'>=':大きいか等しい

    'LT'or'<△':小さい

    'LE'or'<=':小さいか等しい

    'EQ'or'△=:等しい

    4

    論理式

    条件式と条件式の間に指定します。条件式が1つの場合は指定できません。

    '*'or'&':論理積

    5

    接続記号

    '-'or'_'

    6

    構成要素の値を格納します。

    値のサイズは,SDBデータベース定義の構成要素定義で指定したサイズです。

    7

    終了記号

    '.'

  • 構成要素指定エリアアドレス

    NULLを設定します。

  • データ格納エリアアドレス

    検索したデータを格納するエリアのアドレスを設定します。データ格納エリアのサイズは,データ格納エリアサイズに設定します。

    複数レコードの検索では,指定されたサイズに入りきる分だけ格納します。

  • データ格納エリアサイズ

    データ格納エリアの長さを設定します(単位:バイト)。検索データサイズより設定値が小さい場合はエラーとなります。

  • 事前割り当て要求ページ数

    ZEROを指定します。

  • 一連番号

    0を設定します。

  • ダイレクトアクセス情報

    すべてX'00'を設定します。

  • キー格納エリア

    条件式を用いないでDBKEYを直接設定する場合(条件コードが'K'の場合),検索要求するキーを設定します。条件コードが'K'以外の場合,設定値を無視します。

TP1/EEから値が返されるデータ領域

一意名2

インタフェースエリアの各項目に値が設定されています。

ステータスコードが'00000'または'04310'の場合だけ参照可能です。

次に記載のない項目についてはTP1/FSPは値を設定しません。

ヘッダ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SDHステータスコード

    SDHステータスコードを設定します。

    1.4 SDHステータスコード一覧」を参照してください。

    複数エントリに対してDBアクセス(検索)要求し,SDHステータスコードが'00000'の場合,レコードが見つかった場合とレコードが見つからなかった場合の2とおりが混在しています。そのため,各エントリのステータスを参照してレコード検索正否を判断してください。

  • 暗黙的ロールバック有無

    HiRDBでの暗黙的ロールバック有無を設定します。HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合は,'N'が設定されます。

    'Y':暗黙的ロールバックが発生している

    'N':暗黙的ロールバックが発生していない

  • 個別開始実行要求結果

    個別開始実行要求オプションに'Y'を指定している場合,個別開始実行結果を設定します。APIの正常リターン時は必ず'Y'となり,APIの異常リターン時はHiRDBの状態によって'Y'または'N'のどちらかとなります。

    'Y':個別開始が成功した,またはすでに個別開始済み

    'N':個別開始が失敗した

    なお,HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合,または個別開始実行要求オプションに'Y'を指定していない場合はX'00'を設定します。

  • SQLCODE

    SQLCODEを設定します。

  • 障害情報

    TP1/FSPがトラブルシュートで使用する情報を設定します。

    表1‒54 検索時のSDHステータスコードとリターンコード情報

    項番

    SDHステータスコード

    内容

    各エントリ部の結果

    キー報告エリア

    一連番号

    ダイレクトアクセス情報

    ステータス

    レコードサイズ

    エントリ部ロケーション

    二次インデクス使用フラグ

    1

    00000

    正常終了

    'N'以外

    ※1

    2

    00100

    レコードが見つからない※2

    'N'以外

    ※1

    3

    ×

    ×

    'N'

    ×

    ×

    ×

    4

    10072

    データの終わりを検出

    ×

    ×

    'N'

    ×

    ×

    ×

    5

    上記以外

    異常

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    (凡例)

    ○:参照可

    ×:参照不可

    注※1

    DB対応エントリだけ参照できます。

    注※2

    上段が検索成功したエントリ,下段が検索失敗した(レコードが見つからない)エントリです。

    表1‒55 変更時のSDHステータスコードとリターンコード情報

    項番

    SDHステータスコード

    内容

    各エントリ部の結果

    キー報告エリア

    一連番号

    ダイレクトアクセス情報

    ステータス

    レコードサイズ

    エントリ部ロケーション

    二次インデクス使用フラグ

    1

    00000

    正常終了

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    2

    上記以外

    異常

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    (凡例)

    ×:参照不可

    表1‒56 格納時のSDHステータスコードとリターンコード情報

    項番

    SDHステータスコード

    内容

    各エントリ部の結果

    キー報告エリア

    一連番号

    ダイレクトアクセス情報

    ステータス

    レコードサイズ

    エントリ部ロケーション

    二次インデクス使用フラグ

    1

    00000

    正常終了

    ×

    2

    上記以外

    異常

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    (凡例)

    ○:参照可

    ×:参照不可

    注※

    DB対応エントリだけ参照できます。

    表1‒57 削除時のSDHステータスコードとリターンコード情報

    項番

    SDHステータスコード

    内容

    各エントリ部の結果

    キー報告エリア

    一連番号

    ダイレクトアクセス情報

    ステータス

    レコードサイズ

    エントリ部ロケーション

    二次インデクス使用フラグ

    1

    00000

    正常終了

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    2

    上記以外

    異常

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    (凡例)

    ×:参照不可

    表1‒58 複数レコードの検索時のSDHステータスコードとリターンコード情報

    項番

    SDHステータスコード

    内容

    各エントリ部の結果

    キー報告エリア

    一連番号

    ダイレクトアクセス情報

    ステータス

    レコードサイズ

    エントリ部ロケーション

    二次インデクス使用フラグ

    1

    00000

    正常終了

    ×

    ×

    ×

    ×

    2

    00100

    レコードが見つからない

    ×

    ×

    'N'

    ×

    ×

    ×

    ×

    3

    10070

    データエリアが満杯になった

    ×

    ×

    ×

    ×

    4

    10072

    データの終わりを検出

    ×

    ×

    'N'

    ×

    ×

    ×

    ×

    5

    上記以外

    異常

    ×

    ×

    ×

    ×

    ×

    ×

    ×

    (凡例)

    ○:参照可

    ×:参照不可

エントリ部−要求部
  • 要求コード

    処理済みを示す要求コードを設定します。

    'NNNN':処理済み

  • データ格納エリアアドレス

    要求コードが'FTCH'/'FTCA'の場合は,インタフェースエリアのエントリ部のデータ格納エリアに検索結果を設定します。設定したサイズは,エントリ部のレコードサイズを参照してください。

エントリ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。SDHステータスコードが'00000','00100','10070'または'10072'の場合に参照できます。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SQLCODE

    SQLCODEを設定します。SDHステータスコードが'00000','00100','10070'または'10072'の場合に参照できます。

  • 障害情報

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • レコードサイズ

    要求コードの値によって設定する内容が異なります。

    ・要求コードが'FTCH'/'FTCA'の場合

     データ格納エリアに格納したデータのサイズを設定します(単位:バイト)。

    ・要求コードが'MODF'/'STOR'/'ERAS'の場合

     設定されている内容を変更しません。

  • エントリ部ロケーション

    要求したエントリによって設定する内容が異なります。

    ・DB対応エントリの場合

     条件コード'K'を設定した場合に,インタフェースエリア先頭からインタフェースエリア内の該当するエントリまでのロケーションを設定します。

    条件コード'N'の場合は設定されている内容を変更しません。

    図1‒35 エントリ部ロケーション

    [図データ]

    ・その他の場合

     設定されている内容を変更しません。

  • 事前割り当て済みページ数

    要求コードの値によって設定する内容が異なります。

    ・要求コードが'FTCH'/'FTCA'の場合

    正常終了した場合,事前割り当て済みのページ数を設定します。異常終了,または検索レコードが事前ページ割り当て数の取得対象でない場合は,ZEROを設定します。

    ・要求コードが'STOR'/'MODF/'ERAS'の場合

    ZEROを設定します。

  • 一連番号

    ステータス報告オプションの値によって設定する内容が異なります。

    ・ステータス報告オプションが'Y'の場合

     一連番号を設定します。

    ・ステータス報告オプションが'N'の場合

     設定されている内容を変更しません。

  • ダイレクトアクセス情報

    ステータス報告オプションの値によって設定する内容が異なります。

    ・ステータス報告オプションが'Y'の場合

     ダイレクトアクセス情報を設定します。

    ・ステータス報告オプションが'N'の場合

     設定されている内容を変更しません。

  • 二次インデクス使用フラグ

    要求コードの値によって設定する内容が異なります。

    ・要求コードが'FTCH'/'STOR'の場合

     '0':二次インデクスを使用していません。

     '1':一連番号用の二次インデクスを使用しました。

     '2':ユーザキー用の二次インデクスを使用しました。

    ・要求コードが'MODF'/'ERAS'/'FTCA'の場合

     設定されている内容を変更しません。

  • ステータス

    ステータス報告オプションの値によって設定する内容が異なります。

    ・ステータス報告オプションが'Y'の場合

     検索したレコードに応じてステータスを設定します。ステータスを次の表に示します。

    ・ステータス報告オプションが'N'の場合

     設定されている内容を変更しません。

    表1‒59 ステータス

    項番

    FMB

    MAM/DAM/SAM/TAM

    1

    '0'

    中間レコード

    &USERポインタなし

    中間レコード

    2

    '1'

    最終レコード

    &USERポインタなし

    最終レコード

    3

    '2'

    先頭レコード

    &USERポインタなし

    先頭レコード

    4

    '3'

    先頭&最終レコード

    &USERポインタなし

    先頭&最終レコード

    5

    '4'

    中間レコード

    &USERポインタあり

    6

    '5'

    最終レコード

    &USERポインタあり

    7

    '6'

    先頭レコード

    &USERポインタあり

    8

    '7'

    先頭&最終レコード

    &USERポインタあり

    9

    N'

    レコードなし

    (見つからない)

    レコードなし

    (見つからない)

    (凡例)

    −:設定しません

キー報告エリア部

要求コードの値によって設定する内容が異なります。

  • 要求コードが'FTCH'/'STOR'の場合

    アクセスしたレコードのキー情報を設定します。複数エントリにアクセス要求した場合は,最後にアクセスしたレコードのキー情報を設定します。ただし,レコードが見つからない場合(ステータスが'N'の場合)のキー情報は,DB種別によって設定内容が異なります。FMBの子レコードの場合は親レコードまでのキー情報を設定し,自レコードのキー情報は設定しません。FMBのルートレコード/DAM/MAM/TAM/SAMの場合はキー情報は設定しません。また,エラーが発生した場合は,キー報告エリアの内容は保障しません。

  • 要求コードが'MODF'/'ERAS'の場合

    設定されている内容を変更しません。

  • コードが'FTCA'の場合

    アクセスしたレコードのキー情報を設定します。ただし,設定するのは,ルートキーだけです。レコードが見つからない場合はキー情報は設定しません。また,'10070'以外のエラーが発生した場合は,キー報告エリアの内容は保障しません。

    図1‒36 キー報告エリア

    [図データ]

データ格納エリア部

要求コードが'FTCA'の場合にデータ格納エリアに設定する内容を次の図に示します。

図1‒37 データ格納エリア

[図データ]

各エントリの設定内容を次の表に示します(項番(1)〜(14)は上記図の(1)〜(14)にそれぞれ対応しています)。(3)以降はレコード数分存在します(レコード長が異なるため,単純な繰り返し構造ではありません)。

表1‒60 データ格納エリアの設定内容

項番

フィールド

長さ

内容

(1)

レコード数

4

データ格納エリアに格納したレコード数

(2)

予備

28

予備(0x00)

(3)

レコード全体長

4

(3)〜(14)の全体の長さ

(4)

レコード名称長

2

レコード名称の長さ

(5)

レコード名称

30

レコード名称を左詰めで格納(末尾は空白)

(6)

予備

16

予備(0x00)

(7)

レコード実現値長

4

(14)のレコード実現値の長さ

(8)

ユーザデータのオフセット

4

ユーザデータの開始位置((14)レコード実現値先頭からのバイト数)

(9)

ファイル通番の長さ

4

TYPE U,Fのユーザデータがある場合に長さを設定。ない場合は0。

(10)

予備

3

予備(0x00)

(11)

フラグ

1

'U':親のユーザポインタで示されているレコードの場合に設定する

'△':上記以外の場合(ルートレコードも含む)

(12)

ユーザデータ長

4

(14)のレコード実現値のうち,ユーザデータ部分の長さ

(13)

一連番号

4

一連番号の値(非オカレンスの場合は1)

(14)

レコード実現値

(7)

レコード実現値(データベースキー,ユーザデータ)

データ名B

ステータスコードを5桁の数字で返します。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

04301

引数に設定した値が間違っています。

  • 要求コード(データ名A)の値が不正です。

  • インタフェースエリア(一意名2)が不正(NULL)です。

04302

発行条件が不正です。

  • TP1/FSPの環境下にありません。

  • SDBハンドラ機能が有効(sdh_use=Y)ではありません。

  • リソースマネジャが定義されていないか,リソースマネジャにHiRDBが定義されていません。

04310

構造型DBのアクセスに失敗しました。

詳細は「1.4 SDHステータスコード一覧」を参照してください。

(4) CBLEESDH('CLAR ')

名称

データベースアクセス(一括削除(一連番号初期化))

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEESDH' USING 一意名1 一意名2
 
DATA DIVISIONの指定
01 一意名1.
    02 データ名A  PIC X(8) VALUE 'CLAR    '.
    02 データ名B  PIC X(5).
    02 FILLER     PIC X(3).
    02 データ名C  PIC S9(9) COMP VALUE ZERO.
  01 一意名2.                          /*インタフェースエリア */
    02 データ名D.                      /*ヘッダ部 */
      /*インタフェースエリア構成情報部*/
      03 データ名D01  PIC X(4).        /*ヘッダ識別子 */
      03 データ名D02  PIC S9(9) COMP.  /*ヘッダ部サイズ */
      03 データ名D03  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名D04  PIC S9(9) COMP.  /*インタフェースエリア全体サイズ */
      03 データ名D05  ADDRESS.         /*自インタフェースエリアのテンプレートアドレス */
      03 データ名D06  PIC S9(9) COMP.  /*エントリ部先頭ロケーション */
      03 データ名D07  PIC S9(9) COMP.  /*エントリ部サイズ */
      03 データ名D08  PIC S9(9) COMP.  /*エントリ部数 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D09  PIC S9(9) COMP.   /*キー報告エリア部ロケーション */
      03 データ名D10  PIC S9(9) COMP.   /*キー報告エリア部サイズ*/
      03 データ名D11  PIC S9(9) COMP.   /*構成要素情報表示部ロケーション */
      03 データ名D12  PIC S9(9) COMP.   /*構成要素情報表示部エントリサイズ */
      03 FILLER       PIC X(40).        /*予備 */
      03 データ名 D13  PIC S9(4) COMP.  /*データベース名称サイズ */
      03 データ名 D14  PIC X(30).       /*データベース名称 */
      /*要求部*/
      03 データ名D15  PIC X(4).         /*機能コード */
      03 データ名D16  PIC X(1).         /*要求コード1 */
      03 データ名D17  PIC X(1).         /*要求コード2 */
      03 データ名D18  PIC X(1).         /*要求コード3 */
      03 データ名D19  PIC X(1).         /*要求コード4 */
      03 データ名D20  PIC X(1).         /*アクセスモード1 */
      03 データ名D21  PIC X(1).         /*アクセスモード2 */
      03 データ名D22  PIC X(1).         /*アクセスモード3 */
      03 データ名D23  PIC X(1).         /*アクセスモード4 */
      03 データ名D24  PIC X(1).         /*排他モード1 */
      03 データ名D25  PIC X(1).         /*排他モード2 */
      03 データ名D26  PIC X(1).         /*排他モード3 */
      03 データ名D27  PIC X(1).         /*排他モード4 */
      03 データ名D28  PIC X(1).         /*データエリア形式 */
      03 データ名D29  PIC X(1).         /*店番限定有無 */
      03 データ名D30  PIC X(1).         /*順アクセス内基点条件オプション */
      03 データ名D31  PIC X(1).        /*複数レコードの検索専用オプション */
      03 データ名D32  PIC X(1).        /*個別開始/終了一括要求オプション */
      03 データ名D33  PIC X(1).        /*個別開始実行要求オプション */
      03 データ名D34  PIC X(1).        /*オプションコード7 */
      03 データ名D35  PIC X(1).        /*オプションコード8 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D36  ADDRESS.          /*データベースアクセス用エントリリストアドレス */
      03 データ名D37  ADDRESS.         /*システム構成表示エリアアドレス */
      03 データ名D38  PIC S9(4) COMP.  /*データベース名称サイズ指定 */
      03 データ名 D39  PIC X(30).       /*データベース名称指定 */
      03 データ名D40  ADDRESS.          /*データベースキー指定エリアアドレス */
      03 データ名D41  ADDRESS.          /* TP1/FSP領域 */
      03 FILLER       PIC X(4).          /*予備 */
      03 FILLER       PIC X(12).         /*予備 */
      03 データ名D42  ADDRESS.           /*RDエリア名称格納エリア */
      03 データ名D43  PIC S9(9) COMP.    /*RDエリア名称格納エリアサイズ */
      03 FILLER       PIC X(4).          /*予備 */
      03 データ名D44  PIC S9(4) COMP.   /*店番サイズ */
      03 データ名D45  PIC X(14).        /*店番 */
      03 FILLER       PIC X(240).        /*予備 */
      /*結果部*/
      03データ名D46  PIC X(1).          /*リターンコード */
      03 データ名D47  PIC X(1).          /*サブコード */
      03 FILLER       PIC X(2).          /*予備 */
      03データ名D48  PIC S9(9) COMP.    /*詳細コード */
      03データ名D49  PIC S9(9) COMP.    /*エラーコード1 */
      03データ名D50  PIC S9(9) COMP.    /*エラーコード2 */
      03 データ名D51  PIC X(5).         /*SDHステータスコード */
      03 FILLER       PIC X(1).          /*予備 */
      03 データ名D52  PIC X(1).       /*暗黙的ロールバック有無 */
      03 データ名D53  PIC X(1).       /*個別開始実行要求結果 */
      03 データ名D54  PIC S9(18) COMP.  /*SQLCODE */
      03 データ名D55  PIC X(32).        /*障害情報 */
      03 データ名D56  ADDRESS.          /*データベース名称リストアドレス */
      03 データ名D57  ADDRESS.          /*アクセス機能用インタフェースエリアアドレス */
      03 データ名D58  PIC S9(9) COMP.   /*エントリ部ロケーション */
      03 FILLER       PIC X(4).          /*予備 */
      03 データ名D59  ADDRESS.          /*レコード分割キー一覧アドレス */
      03 データ名D60  ADDRESS.          /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(152).        /*予備 */
      /*定義情報部*/
      03 データ名D61  PIC S9(9) COMP.   /*データベース番号 */
      03 データ名D62  PIC X(1).         /*種別 */
      03 FILLER       PIC X(3).          /*予備 */
      03 データ名D63  PIC X(1).         /*参照可否 */
      03 データ名D64  PIC X(1).         /*変更可否 */
      03 データ名D65  PIC X(1).         /*格納可否 */
      03 データ名D66  PIC X(1).         /*削除可否 */
      03 データ名D67  PIC X(1).         /*一括削除可否 */
      03 データ名D68  PIC X(1).         /*DB作成UTL追加可否 */
      03 データ名D69  PIC X(1).         /*フォーマットライト可否 */
      03 データ名D70  PIC X(1).         /*店群構成 */
      03 データ名D71  PIC X(1).         /*リクエストモード1 */
      03 データ名D72  PIC X(1).         /*リクエストモード2 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名D73  PIC X(1).         /*階層ランダム/シーケンシャル */
      03 データ名D74  PIC X(1).         /*ユーザファイル通番可否 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名D75  PIC S9(9) COMP.   /*レコード種別数 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D76  PIC S9(9) COMP.   /*レコード分割キー数 */
      03 データ名D77  PIC S9(4) COMP.   /*レコード分割キーのロケーション */
      03 データ名D78  PIC S9(4) COMP.   /*レコード分割キーのサイズ */
      03 データ名D79  PIC S9(9) COMP.   /* RDエリア分割キー数 */
      03 データ名D80  PIC S9(4) COMP.   /*RDエリア分割キーのロケーション */
      03 データ名D81  PIC S9(4) COMP.  /*RDエリア分割キーのサイズ */
      03 データ名D82  PIC S9(9) COMP.  /*最大階層レベル(FMB用) */
      03 データ名D83  PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D84  PIC S9(9) COMP.   /*全キー長(レベル2〜一連番号までの合計サイズ)*/
      03 データ名D85  PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D86  PIC S9(9) COMP.  /*レベル2キー構成要素情報 */
      03 データ名D87  PIC S9(9) COMP.  /*レベル2論理キー長 */
      03 データ名D88  PIC S9(9) COMP.  /*レベル2論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D89  PIC S9(9) COMP.  /*レベル3キー構成要素情報 */
      03 データ名D90  PIC S9(9) COMP.  /*レベル3論理キー長 */
      03 データ名D91  PIC S9(9) COMP.  /*レベル3論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D92  PIC S9(9) COMP.  /*レベル4キー構成要素情報 */
      03 データ名D93  PIC S9(9) COMP.  /*レベル4論理キー長 */
      03 データ名D94  PIC S9(9) COMP.  /*レベル4論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D95  PIC S9(9) COMP.  /*レベル5キー構成要素情報 */
      03 データ名D96  PIC S9(9) COMP.  /*レベル5論理キー長 */
      03 データ名D97  PIC S9(9) COMP.  /*レベル5論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D98  PIC S9(9) COMP.  /*レベル6キー構成要素情報 */
      03 データ名D99  PIC S9(9) COMP.  /*レベル6論理キー長 */
      03 データ名D100  PIC S9(9) COMP. /*レベル6論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D101  PIC S9(9) COMP. /*レベル7キー構成要素情報 */
      03 データ名D102  PIC S9(9) COMP. /*レベル7論理キー長 */
      03 データ名D103  PIC S9(9) COMP. /*レベル7論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D104  PIC S9(9) COMP.  /*一連番号構成要素情報 */
      03 データ名D105  PIC S9(9) COMP.  /*一連番号サイズ */
      03 FILLER       PIC X(8).          /*予備 */
      03 データ名D106  ADDRESS.         /*レコード分割キー一覧アドレス */
      03 データ名D107  ADDRESS.         /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(48).         /*予備 */
      03 FILLER       PIC X(1024).       /*予備 */
 
    02 データ名E       OCCURS n TIMES.  /*エントリ部    */
      /*インタフェースエリア構成情報部*/
      03 データ名E01  PIC X(4).         /*識別子 */
      03 データ名E02  PIC S9(9) COMP.   /*エントリ部サイズ */
      03 データ名E03  PIC X(1).         /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名E04  PIC S9(9) COMP.   /*インタフェースエリア内のエントリ部ロケーション */
      03 データ名E05  PIC S9(9) COMP.  /*構成要素情報部ロケーション */
      03 データ名E06  PIC S9(9) COMP.  /*構成要素情報エントリ数 */
      03 FILLER       PIC X(72).        /*予備 */
      03 データ名E07  PIC S9(4) COMP.  /*レコード名称サイズ */
      03 データ名E08  PIC X(30).       /*レコード名称 */
      /*要求部*/
      03 データ名E09  PIC X(4).        /*要求コード */
      03 データ名E10  PIC X(1).        /*指示コード */
      03 データ名E11  PIC X(1).        /*検索コード */
      03 データ名E12  PIC X(1).        /*条件コード */
      03 FILLER        PIC X(1).        /*予備 */
      03 FILLER        PIC X(8).        /*予備 */
      03 データ名E13  PIC X(1).        /*ポインタオプション */
      03 データ名E14  PIC X(1).        /*一括オプション */
      03 データ名E15  PIC X(1).        /*ステータス報告オプション */
      03 データ名E16  PIC X(1).        /*ページ切り替え */
      03 データ名E17  PIC X(1).        /*PCTFREE有効化 */
      03 データ名E18  PIC X(1).        /*複数レコードの検索専用オプション */
      03 データ名E19  PIC X(1).        /*オプションコード7 */
      03 データ名E20  PIC X(1).        /*TP1/FSP領域 */
      03 FILLER       PIC X(40).        /*予備 */
      03 データ名E21  ADDRESS.         /*条件式格納エリアアドレス */
      03 データ名E22  ADDRESS.         /*構成要素指定エリアアドレス */
      03 データ名E23  ADDRESS.         /*データ格納エリアアドレス */
      03 データ名E24  PIC S9(9) COMP.  /*データ格納エリアサイズ */
      03 データ名E25  PIC S9(9) COMP.  /*事前割り当て要求ページ数 */
      03 FILLER       PIC X(56).        /*予備 */
      03 データ名E26  PIC X(4).         /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E27  PIC S9(9) COMP.  /*一連番号 */
      03 データ名E28  PIC X(16).       /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(80).        /*予備 */
      03 データ名E29  PIC X(256).      /*ユーザキー/論理キー格納エリア */
      /*結果部*/
      03 データ名E30  PIC X(1).        /*リターンコード */
      03 データ名E31  PIC X(1).        /*サブコード */
      03 FILLER       PIC X(2).        /*予備 */
      03 データ名E32  PIC S9(9) COMP.  /*詳細コード */
      03 データ名E33  PIC S9(9) COMP.  /*エラーコード1 */
      03 データ名E34  PIC S9(9) COMP.  /*エラーコード2 */
      03 データ名E35  PIC S9(18) COMP. /*SQLCODE */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名E36  PIC X(32).        /*障害情報 */
      03 データ名E37  PIC S9(9) COMP.  /*レコードサイズ */
      03 データ名E38  PIC S9(9) COMP.  /*エントリ部ロケーション */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名E39  PIC S9(9) COMP.  /*事前割り当て済みページ数 */
      03 データ名E40  PIC X(4).         /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E41  PIC S9(9) COMP.  /*一連番号 */
      03 データ名E42  PIC X(16).       /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(24).        /*予備 */
      03 データ名E43  PIC X(24).       /*BES,RDエリアに関する情報 */
      03 FILLER       PIC X(41).        /*予備 */
      03 データ名E44   PIC X(1).       /*二次インデクス使用フラグ */
      03 データ名E45   PIC X(1).       /*ステータス */
      03 データ名E46   PIC S9(4) COMP.  /* TP1/FSP領域 */
      03 データ名E47   PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(56).         /*予備 */
      /*定義情報部*/
      03 データ名E48  PIC S9(9) COMP.  /*レコード番号 */
      03 データ名E49  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).        /*予備 */
      03 データ名E50  PIC X(1).       /*検索可否 */
      03 データ名E51  PIC X(1).       /*変更可否 */
      03 データ名E52  PIC X(1).       /*格納可否 */
      03 データ名E53  PIC X(1).       /*削除可否 */
      03 データ名E54  PIC X(1).       /*一括削除可否 */
      03 データ名E55  PIC X(1).       /*構成要素指示可否 */
      03 FILLER       PIC X(1).        /*予備 */
      03 データ名E56  PIC X(1).        /*店群構成 */
      03 データ名E57  PIC X(1).        /*オカレンス属性 */
      03 データ名E58  PIC X(1).        /*子レコード有無 */
      03 データ名E59  PIC X(1).        /*ユーザポインタ有無 */
      03 データ名E60  PIC X(1).        /*ユーザキー有無 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名E61  PIC X(1).        /*リクエストモード1 */
      03 データ名E62  PIC X(1).        /*リクエストモード2 */
      03 FILLER       PIC X(2).        /*予備 */
      03 データ名E63  PIC X(1).       /*階層ランダム/シーケンシャル */
      03 データ名E64  PIC X(1).       /*ユーザファイル通番取得可否 */
      03 FILLER       PIC X(2).        /*予備 */
      03 データ名E65  PIC S9(9) COMP.  /*自身のレコード識別コード長 */
      03 データ名E66  PIC X(4).        /*自身のレコード識別コード */
      03 データ名E67  PIC S9(9) COMP.  /*レコード型番号 */
      03 データ名E68  PIC S9(9) COMP.  /*親のレコード型番号 */
      03 データ名E69  PIC S9(9) COMP.  /*レコードレベル番号 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名E70  PIC S9(9) COMP.  /*ユーザデータサイズ */
      03 データ名E71  PIC S9(9) COMP.  /*ユーザファイル通番部サイズ */
      03 データ名E72  PIC S9(9) COMP.  /*公開構成要素数 */
      03 データ名E73  PIC S9(9) COMP.  /*一連番号最小値 */
      03 データ名E74  PIC S9(9) COMP.  /*一連番号最大値 */
      03 FILLER       PIC X(52).        /*予備 */
      03 FILLER       PIC X(1024).      /*予備 */
 
    02 データ名F.                       /*キー報告エリア部 */
      03 データ名F01  PIC S9(4) COMP.   /*K1 */
      03 データ名F02  PIC S9(4) COMP.   /*K2 */
      03 データ名F03  PIC S9(4) COMP.   /*K3 */
      03 データ名F04  PIC S9(4) COMP.   /*K4 */
      03 データ名F05  PIC S9(4) COMP.   /*K5 */
      03 データ名F06  PIC S9(4) COMP.   /*K6 */
      03 データ名F07  PIC S9(4) COMP.   /*K7 */
      03 データ名F08  PIC S9(4) COMP.   /*K8 */
      03 データ名F09  PIC S9(4) COMP.   /*K9 */
      03 データ名F10  PIC S9(4) COMP.   /*K10 */
      03 データ名F11  PIC S9(4) COMP.   /*K11 */
      03 データ名F12  PIC S9(4) COMP.   /*K12 */
      03 データ名F13  PIC S9(4) COMP.   /*K13 */
      03 データ名F14  PIC S9(4) COMP.   /*K14 */
      03 データ名F15  PIC S9(4) COMP.   /*K15 */
      03 FILLER       PIC X(2).          /*予備 */
      03 データ名F16  PIC X(n).         /*キー部 */
 
    02 データ名G       OCCURS n TIMES.  /*構成要素情報部 */
      03 データ名G01  PIC X(4).         /*識別記号 */
      03 データ名G02  PIC S9(9) COMP.   /*構成要素番号 */
      03 データ名G03  PIC S9(4) COMP.   /*構成要素名称サイズ */
      03 データ名G04  PIC X(30).        /*構成要素名称 */
      03 データ名G05  PIC X(1).         /*データ属性 */
      03 データ名G06  PIC X(1).         /*構成要素属性 */
      03 データ名G07  PIC X(1).         /*構成要素属性 */
      03 FILLER        PIC X(1).         /*予備 */
      03 データ名G08  PIC S9(9) COMP.    /*ロケーション */
      03 データ名G09  PIC S9(9) COMP.    /*構成要素サイズ */
      03 データ名G10  PIC X(2).          /*ユーザ情報 */
      03 FILLER        PIC X(10).         /*予備 */
機能

インタフェースエリアに指定されたデータベースに対して,要求されたDBKEYに対応したレコードを削除します。一括削除では,検索しないで削除することが可能です。DBKEYはDB対応エントリに設定します。

UAPは,CBLEESDH('STRT ')発行時にインタフェースエリア(ヘッダ部)のアクセスモード1を'U'に設定したインタフェースエリアを一意名2に設定します。

個別開始実行要求オプションに'Y'を指定する場合は,CBLEESDH('STRT ')の記述を参照し,インタフェースエリアを一意名2に指定してください。すでにCBLEESDH('STRT ')発行済みだった場合,個別開始実行要求オプションは無視します。

表1‒61 一括削除

項番

API

DB種別

FMB

DAM

MAM

TAM

SAM

ルート

1

一括削除

×

×

(凡例)

○:指定可

×:指定不可

UAPで値を設定するデータ領域

データ名A

データベースアクセス(一括削除)を示すコード「VALUE 'CLAR△△△△'」を設定します。

データ名C

0を設定します。

一意名2

インタフェースエリアを設定します。

要求時に次の項目を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

ヘッダ部−要求部
  • 機能コード

    データベースアクセス(一括削除)を示す機能コードを設定します。

    'CLAR':一括削除

  • 要求コード1

    インタフェースエリアの確保方法を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の要求コード1の記載内容を参照し,値を設定してください。

  • 要求コード2,要求コード3,要求コード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の要求コード2,要求コード3,要求コード4の記載内容を参照し,値を設定してください。

  • アクセスモード1

    アクセスモードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のアクセスモード1の記載内容を参照し,値を設定してください。

  • アクセスモード2,アクセスモード3,アクセスモード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のアクセスモード2,アクセスモード3,アクセスモード4の記載内容を参照し,値を設定してください。

  • 排他モード1

    排他モードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード1の記載内容を参照し,値を設定してください。

  • 排他モード2

    排他の解放タイミングを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード2の記載内容を参照し,値を設定してください。

  • 排他モード3

    排他競合時の処置を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード3の記載内容を参照し,値を設定してください。

  • 排他モード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード4の記載内容を参照し,値を設定してください。

  • データエリア形式

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のデータエリア形式の記載内容を参照し,値を設定してください。

  • 店番限定有無

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の店番限定有無の記載内容を参照し,値を設定してください。

  • 順アクセス内基点条件オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の順アクセス内基点条件オプションの記載内容を参照し,値を設定してください。

  • 複数レコードの検索専用オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の複数レコードの検索専用オプションの記載内容を参照し,値を設定してください。

  • 個別開始/終了一括要求オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま指定します。

  • 個別開始実行要求オプション

    一括削除の処理の中で個別開始をするかどうかを指定します。すでに個別開始済みの場合,このオプション指定値は無視します。

    'Y':一括削除の処理の中で個別開始を実行する

    'N':指示なし

    '△':指示なし

  • オプションコード7,オプションコード8

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のオプションコード7,オプションコード8の記載内容を参照し,値を設定してください。

  • データベースアクセス用エントリリスト

    ZEROを設定します。

  • システム構成表示エリアアドレス

    ZEROを設定します。

  • データベース名称サイズ指定

    ZEROを設定します。

  • データベース名称指定

    すべてX'00'を設定します。

  • データベースキー指定エリアアドレス

    ZEROを設定します。

  • 旧キー報告エリアアドレス

    ZEROを設定します。

  • RDエリア名称格納エリア

    ZEROを設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のRDエリア名称格納エリアの記載内容を参照し,値を設定してください。

  • RDエリア名称格納エリアサイズ

    ZEROを設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のRDエリア名称格納エリアサイズの記載内容を参照し,値を設定してください。

  • 店番サイズ

    ZEROを設定します。

  • 店番

    すべてX'00'を設定します。

エントリ部−要求部

対象となるレコードのエントリに次の値を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

  • 要求コード

    データベースアクセス(一括削除)を示す機能コードを設定します。

    'CLAR':一括削除

  • 指示コード

    '△'を設定します。

  • 検索コード

    '△'を設定します。

  • 条件コード

    一括削除要求するDBKEYの設定方法を設定します。

    'K':条件キーとして,DBKEY(一連番号を含まない部分)を指定します。SDBデータベース定義で一連番号だけ定義したデータベースに要求する場合は,キー格納エリアへの格納は不要です。

    'N':条件を指定しません。SDBデータベース定義で一連番号以外のキーが定義されているデータベースには指定できません。

    表1‒62 条件コードの指定可否

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    1

    条件コード

    K

    ×

    ×

    2

    N

    ×

    ×

    (凡例)

    ○:指定可

    ×:指定不可

  • ポインタオプション

    '△'を設定します。

  • 一括オプション

    '△'を設定します。

  • ステータス報告オプション

    ステータスおよびダイレクトアクセス情報,一連番号の取得有無を設定します。

    'N'を設定します。

  • ページ切り替え

    '△'を設定します。

  • PCTFREE有効化

    '△'を設定します。

  • 二次インデクス使用抑止オプション

    '△'を設定します。

  • オプションコード7

    '△'を設定します。

  • 条件式格納エリアアドレス

    ZEROを設定します。

  • 構成要素指定エリアアドレス

    ZEROを設定します。

  • データ格納エリアアドレス

    ZEROを設定します。

  • データ格納エリアサイズ

    ZEROを設定します。

  • 一連番号

    ZEROを設定します。

  • ダイレクトアクセス情報

    すべてX'00'を設定します。

  • キー格納エリア

    一括削除要求するDBKEYを指定する(条件コードが'K')場合,DBKEY(一連番号を含まない部分)を格納します。SDBデータベース定義で一連番号だけを定義したデータベースに要求する場合は,キー格納エリアへの設定は不要です。条件コードが'K'以外の場合,設定値を無視します。

TP1/EEから値が返されるデータ領域

一意名2

インタフェースエリアの各項目に値が設定されています。

ステータスコードが'00000'または'04310'の場合だけ参照可能です。

次に記載のない項目についてはTP1/FSPは値を設定しません。

ヘッダ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SDHステータスコード

    SDHステータスコードを設定します。

    1.4 SDHステータスコード一覧」を参照してください。

  • 暗黙的ロールバック有無

    HiRDBでの暗黙的ロールバック有無を設定します。HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合は,'N'が設定されます。

    'Y':暗黙的ロールバックが発生している

    'N':暗黙的ロールバックが発生していない

  • 個別開始実行要求結果

    個別開始実行要求オプションに'Y'を指定している場合,個別開始実行結果を設定します。APIの正常リターン時は必ず'Y'となり,APIの異常リターン時はHiRDBの状態によって'Y'または'N'のどちらかとなります。

    'Y':個別開始が成功した,またはすでに個別開始済み

    'N':個別開始が失敗した

    なお,HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合,または個別開始実行要求オプションに'Y'を指定していない場合はX'00'を設定します。

  • SQLCODE

    SQLCODEを設定します。

  • 障害情報

    TP1/FSPがトラブルシュートで使用する情報を設定します。

エントリ部−要求部
  • 要求コード

    処理済みを示す要求コードを設定します。

    'NNNN':処理済み

エントリ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。SDHステータスコードが'00000'の場合に参照できます。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SQLCODE

    SQLCODEを設定します。SDHステータスコードが'00000'の場合に参照できます。

  • 障害情報

    TP1/FSPがトラブルシュートで使用する情報を設定します。

データ名B

ステータスコードを5桁の数字で返します。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

04301

引数に設定した値が間違っています。

  • 要求コード(データ名A)の値が不正です。

  • インタフェースエリア(一意名2)が不正(NULL)です。

04302

発行条件が不正です。

  • TP1/FSPの環境下にありません。

  • SDBハンドラ機能が有効(sdh_use=Y)ではありません。

  • リソースマネジャが定義されていないか,リソースマネジャにHiRDBが定義されていません。

04310

構造型DBのアクセスに失敗しました。

詳細は「1.4 SDHステータスコード一覧」を参照してください。

(5) CBLEESDH('REFS ')

名称

システム構成表示(容量)

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEESDH' USING 一意名1 一意名2
 
DATA DIVISIONの指定
01 一意名1.
    02 データ名A  PIC X(8) VALUE 'REFS    '.
    02 データ名B  PIC X(5).
    02 FILLER     PIC X(3).
    02 データ名C  PIC S9(9) COMP VALUE ZERO.
  01 一意名2.                          /*インタフェースエリア */
    02 データ名D.                      /*ヘッダ部 */
    /*インタフェースエリア構成情報部*/
      03 データ名D01  PIC X(4).        /*ヘッダ識別子 */
      03 データ名D02  PIC S9(9) COMP.  /*ヘッダ部サイズ */
      03 データ名D03  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名D04  PIC S9(9) COMP.  /*インタフェースエリア全体サイズ  */
      03 データ名D05  ADDRESS.         /*自インタフェースエリアのテンプレートアドレス */
      03 データ名D06  PIC S9(9) COMP.  /*エントリ部先頭ロケーション */
      03 データ名D07  PIC S9(9) COMP.  /*エントリ部サイズ */
      03 データ名D08  PIC S9(9) COMP.  /*エントリ部数 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D09  PIC S9(9) COMP.  /*キー報告エリア部ロケーション */
      03 データ名D10  PIC S9(9) COMP.  /*キー報告エリア部サイズ */
      03 データ名D11  PIC S9(9) COMP.  /*構成要素情報表示部ロケーション */
      03 データ名D12  PIC S9(9) COMP.  /*構成要素情報表示部エントリサイズ */
      03 FILLER       PIC X(40).        /*予備 */
      03 データ名 D13  PIC S9(4) COMP.  /*データベース名称サイズ */
      03 データ名 D14  PIC X(30).       /*データベース名称 */
      /*要求部*/
      03 データ名D15  PIC X(4).        /*機能コード */
      03 データ名D16  PIC X(1).        /*要求コード1 */
      03 データ名D17  PIC X(1).        /*要求コード2 */
      03 データ名D18  PIC X(1).        /*要求コード3 */
      03 データ名D19  PIC X(1).        /*要求コード4 */
      03 データ名D20  PIC X(1).        /*アクセスモード1 */
      03 データ名D21  PIC X(1).        /*アクセスモード2 */
      03 データ名D22  PIC X(1).        /*アクセスモード3 */
      03 データ名D23  PIC X(1).        /*アクセスモード4 */
      03 データ名D24  PIC X(1).        /*排他モード1 */
      03 データ名D25  PIC X(1).        /*排他モード2 */
      03 データ名D26  PIC X(1).        /*排他モード3 */
      03 データ名D27  PIC X(1).        /*排他モード4 */
      03 データ名D28  PIC X(1).        /*データエリア形式 */
      03 データ名D29  PIC X(1).        /*店番限定有無 */
      03 データ名D30  PIC X(1).        /*順アクセス内基点条件オプション */
      03 データ名D31  PIC X(1).        /*複数レコードの検索専用オプション */
      03 データ名D32  PIC X(1).        /*個別開始/終了一括要求オプション */
      03 データ名D33  PIC X(1).        /*個別開始実行要求オプション */
      03 データ名D34  PIC X(1).        /*オプションコード7 */
      03 データ名D35  PIC X(1).        /*オプションコード8 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D36  ADDRESS.          /*データベースアクセス用エントリリストアドレス */
      03 データ名D37  ADDRESS.         /*システム構成表示エリアアドレス */
      03 データ名D38  PIC S9(4) COMP.  /*データベース名称サイズ指定 */
      03 データ名 D39  PIC X(30).      /*データベース名称指定 */
      03 データ名D40  ADDRESS.         /*データベースキー指定エリアアドレス */
      03 データ名D41  ADDRESS.         /* TP1/FSP領域 */
      03 FILLER       PIC X(4).         /*予備 */
      03 FILLER       PIC X(12).        /*予備 */
      03 データ名D42  ADDRESS.         /*RDエリア名称格納エリア */
      03 データ名D43  PIC S9(9) COMP.   /*RDエリア名称格納エリアサイズ */
      03 FILLER       PIC X(4).        /*予備 */
      03 データ名D44  PIC S9(4) COMP.  /*店番サイズ */
      03 データ名D45  PIC X(14).       /*店番 */
      03 FILLER       PIC X(240).       /*予備 */
      /*結果部*/
      03 データ名D46  PIC X(1).         /*リターンコード */
      03 データ名D47  PIC X(1).         /*サブコード */
      03 FILLER       PIC X(2).          /*予備 */
      03データ名D48  PIC S9(9) COMP.    /*詳細コード */
      03データ名D49  PIC S9(9) COMP.    /*エラーコード1 */
      03データ名D50  PIC S9(9) COMP.    /*エラーコード2 */
      03 データ名D51  PIC X(5).         /*SDHステータスコード */
      03 FILLER       PIC X(1).          /*予備 */
      03 データ名D52  PIC X(1).          /*暗黙的ロールバック有無 */
      03 データ名D53  PIC X(1).          /*個別開始実行要求結果 */
      03 データ名D54  PIC S9(18) COMP.  /*SQLCODE */
      03 データ名D55  PIC X(32).        /*障害情報 */
      03 データ名D56  ADDRESS.          /*データベース名称リストアドレス */
      03 データ名D57  ADDRESS.          /*アクセス機能用インタフェースエリアアドレス */
      03 データ名D58  PIC S9(9) COMP.  /*エントリ部ロケーション */
      03 FILLER       PIC X(4).         /*予備    */
      03 データ名D59  ADDRESS.         /*レコード分割キー一覧アドレス */
      03 データ名D60  ADDRESS.         /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(152).      /*予備 */
      /*定義情報部*/
      03 データ名D61  PIC S9(9) COMP.  /*データベース番号 */
      03 データ名D62  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名D63  PIC X(1).        /*参照可否 */
      03 データ名D64  PIC X(1).        /*変更可否 */
      03 データ名D65  PIC X(1).        /*格納可否 */
      03 データ名D66  PIC X(1).        /*削除可否 */
      03 データ名D67  PIC X(1).        /*一括削除可否 */
      03 データ名D68  PIC X(1).        /*DB作成UTL追加可否 */
      03 データ名D69  PIC X(1).        /*フォーマットライト可否 */
      03 データ名D70  PIC X(1).        /*店群構成 */
      03 データ名D71  PIC X(1).        /*リクエストモード1 */
      03 データ名D72  PIC X(1).        /*リクエストモード2 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名D73  PIC X(1).        /*階層ランダム/シーケンシャル */
      03 データ名D74  PIC X(1).        /*ユーザファイル通番可否 */
      03 FILLER       PIC X(2).        /*予備 */
      03 データ名D75  PIC S9(9) COMP.  /*レコード種別数 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D76  PIC S9(9) COMP.  /*レコード分割キー数 */
      03 データ名D77  PIC S9(4) COMP.  /*レコード分割キーのロケーション */
      03 データ名D78  PIC S9(4) COMP.  /*レコード分割キーのサイズ */
      03 データ名D79  PIC S9(9) COMP.  /* RDエリア分割キー数 */
      03 データ名D80  PIC S9(4) COMP.  /*RDエリア分割キーのロケーション */
      03 データ名D81  PIC S9(4) COMP.  /*RDエリア分割キーのサイズ */
      03 データ名D82  PIC S9(9) COMP.  /*最大階層レベル(FMB用) */
      03 データ名D83  PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D84  PIC S9(9) COMP.  /*全キー長(レベル2〜一連番号までの合計サイズ)*/
      03 データ名D85  PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D86  PIC S9(9) COMP.  /*レベル2キー構成要素情報 */
      03 データ名D87  PIC S9(9) COMP.  /*レベル2論理キー長 */
      03 データ名D88  PIC S9(9) COMP.  /*レベル2論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D89  PIC S9(9) COMP.  /*レベル3キー構成要素情報 */
      03 データ名D90  PIC S9(9) COMP.  /*レベル3論理キー長 */
      03 データ名D91  PIC S9(9) COMP.  /*レベル3論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D92  PIC S9(9) COMP.  /*レベル4キー構成要素情報 */
      03 データ名D93  PIC S9(9) COMP.  /*レベル4論理キー長 */
      03 データ名D94  PIC S9(9) COMP.  /*レベル4論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D95  PIC S9(9) COMP.  /*レベル5キー構成要素情報 */
      03 データ名D96  PIC S9(9) COMP.  /*レベル5論理キー長 */
      03 データ名D97  PIC S9(9) COMP.  /*レベル5論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D98  PIC S9(9) COMP.  /*レベル6キー構成要素情報 */
      03 データ名D99  PIC S9(9) COMP.  /*レベル6論理キー長 */
      03 データ名D100  PIC S9(9) COMP. /*レベル6論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名D101  PIC S9(9) COMP. /*レベル7キー構成要素情報 */
      03 データ名D102  PIC S9(9) COMP. /*レベル7論理キー長 */
      03 データ名D103  PIC S9(9) COMP. /*レベル7論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D104  PIC S9(9) COMP.  /*一連番号構成要素情報 */
      03 データ名D105  PIC S9(9) COMP.  /*一連番号サイズ */
      03 FILLER       PIC X(8).          /*予備 */
      03 データ名D106  ADDRESS.         /*レコード分割キー一覧アドレス */
      03 データ名D107  ADDRESS.         /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(48).        /*予備 */
      03 FILLER       PIC X(1024).      /*予備 */
 
    02 データ名E       OCCURS n TIMES.  /*エントリ部 */
      /*インタフェースエリア構成情報部*/
      03 データ名E01  PIC X(4).         /*識別子 */
      03 データ名E02  PIC S9(9) COMP.   /*エントリ部サイズ */
      03 データ名E03  PIC X(1).         /*種別 */
      03 FILLER       PIC X(3).          /*予備 */
      03 データ名E04  PIC S9(9) COMP.    /*インタフェースエリア内のエントリ部ロケーション */
      03 データ名E05  PIC S9(9) COMP.    /*構成要素情報部ロケーション */
      03 データ名E06  PIC S9(9) COMP.    /*構成要素情報エントリ数 */
      03 FILLER       PIC X(72).         /*予備 */
      03 データ名E07  PIC S9(4) COMP.   /*レコード名称サイズ */
      03 データ名E08  PIC X(30).        /*レコード名称 */
      /*要求部*/
      03 データ名E09  PIC X(4).         /*要求コード */
      03 データ名E10  PIC X(1).         /*指示コード */
      03 データ名E11  PIC X(1).         /*検索コード */
      03 データ名E12  PIC X(1).         /*条件コード */
      03 FILLER       PIC X(1).         /*予備 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名E13  PIC X(1).        /*ポインタオプション */
      03 データ名E14  PIC X(1).        /*一括オプション */
      03 データ名E15  PIC X(1).        /*ステータス報告オプション */
      03 データ名E16  PIC X(1).        /*ページ切り替え */
      03 データ名E17  PIC X(1).        /*PCTFREE有効化 */
      03 データ名E18  PIC X(1).        /*二次インデクス使用抑止オプション */
      03 データ名E19  PIC X(1).        /*オプションコード7 */
      03 データ名E20  PIC X(1).        /*TP1/FSP領域 */
      03 FILLER       PIC X(40).        /*予備 */
      03 データ名E21  ADDRESS.         /*条件式格納エリアアドレス */
      03 データ名E22  ADDRESS.         /*構成要素指定エリアアドレス */
      03 データ名E23  ADDRESS.         /*データ格納エリアアドレス */
      03 データ名E24  PIC S9(9) COMP.  /*データ格納エリアサイズ */
      03 データ名E25  PIC S9(9) COMP.  /*事前割り当て要求ページ数 */
      03 FILLER       PIC X(56).        /*予備 */
      03 データ名E26  PIC X(4).         /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E27  PIC S9(9) COMP.  /*一連番号 */
      03 データ名E28  PIC X(16).       /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(80).        /*予備 */
      03 データ名E29  PIC X(256).      /*ユーザキー/論理キー格納エリア */
      /*結果部*/
      03データ名E30  PIC X(1).         /*リターンコード */
      03 データ名E31  PIC X(1).         /*サブコード */
      03 FILLER       PIC X(2).         /*予備 */
      03データ名E32  PIC S9(9) COMP.   /*詳細コード */
      03データ名E33  PIC S9(9) COMP.   /*エラーコード1 */
      03データ名E34  PIC S9(9) COMP.   /*エラーコード2 */
      03 データ名E35  PIC S9(18) COMP.  /*SQLCODE */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名E36  PIC X(32).        /*障害情報 */
      03 データ名E37  PIC S9(9) COMP.   /*レコードサイズ */
      03 データ名E38  PIC S9(9) COMP.   /*エントリ部ロケーション */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名E39  PIC S9(9) COMP.  /*事前割り当て済みページ数 */
      03 データ名E40  PIC X(4).         /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E41  PIC S9(9) COMP.  /*一連番号 */
      03 データ名E42  PIC X(16).       /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(24).        /*予備 */
      03 データ名E43  PIC X(24).       /*BES,RDエリアに関する情報 */
      03 FILLER       PIC X(40).        /*予備 */
      03 データ名E44   PIC X(1).       /*二次インデクス使用フラグ */
      03 データ名E45   PIC X(1).       /*ステータス */
      03 データ名E46   PIC S9(4) COMP. /* TP1/FSP領域 */
      03 データ名E47   PIC S9(9) COMP. /* TP1/FSP領域 */
      03 FILLER       PIC X(56).        /*予備 */
      /*定義情報部*/
      03 データ名E48  PIC S9(9) COMP.  /*レコード番号 */
      03 データ名E49  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名E50  PIC X(1).        /*検索可否 */
      03 データ名E51  PIC X(1).        /*変更可否 */
      03 データ名E52  PIC X(1).        /*格納可否 */
      03 データ名E53  PIC X(1).        /*削除可否 */
      03 データ名E54  PIC X(1).        /*一括削除可否 */
      03 データ名E55  PIC X(1).        /*構成要素指示可否*/
      03 FILLER       PIC X(1).         /*予備 */
      03 データ名E56  PIC X(1).        /*店群構成 */
      03 データ名E57  PIC X(1).        /*オカレンス属性 */
      03 データ名E58  PIC X(1).        /*子レコード有無 */
      03 データ名E59  PIC X(1).        /*ユーザポインタ有無 */
      03 データ名E60  PIC X(1).        /*ユーザキー有無 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名E61  PIC X(1).        /*リクエストモード1 */
      03 データ名E62  PIC X(1).        /*リクエストモード2 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名E63  PIC X(1).         /*階層ランダム/シーケンシャル */
      03 データ名E64  PIC X(1).        /*ユーザファイル通番取得可否 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名E65  PIC S9(9) COMP.  /*自身のレコード識別コード長 */
      03 データ名E66  PIC X(4).        /*自身のレコード識別コード */
      03 データ名E67  PIC S9(9) COMP.  /*レコード型番号 */
      03 データ名E68  PIC S9(9) COMP.  /*親のレコード型番号 */
      03 データ名E69  PIC S9(9) COMP.  /*レコードレベル番号 */
      03 FILLER       PIC S9(9) COMP.  /*予備 */
      03 データ名E70  PIC S9(9) COMP.  /*ユーザデータサイズ */
      03 データ名E71  PIC S9(9) COMP.  /*ユーザファイル通番部サイズ */
      03 データ名E72  PIC S9(9) COMP.  /*公開構成要素数 */
      03 データ名E73  PIC S9(9) COMP.  /*一連番号最小値 */
      03 データ名E74  PIC S9(9) COMP.  /*一連番号最大値 */
      03 FILLER       PIC X(52).        /*予備 */
      03 FILLER       PIC X(1024).      /*予備 */
 
    02 データ名F.                      /*キー報告エリア部   */
      03 データ名F01  PIC S9(4) COMP.  /*K1 */
      03 データ名F02  PIC S9(4) COMP.  /*K2 */
      03 データ名F03  PIC S9(4) COMP.  /*K3 */
      03 データ名F04  PIC S9(4) COMP.  /*K4 */
      03 データ名F05  PIC S9(4) COMP.  /*K5 */
      03 データ名F06  PIC S9(4) COMP.  /*K6 */
      03 データ名F07  PIC S9(4) COMP.  /*K7 */
      03 データ名F08  PIC S9(4) COMP.  /*K8 */
      03 データ名F09  PIC S9(4) COMP.  /*K9 */
      03 データ名F10  PIC S9(4) COMP.  /*K10 */
      03 データ名F11  PIC S9(4) COMP.  /*K11 */
      03 データ名F12  PIC S9(4) COMP.  /*K12 */
      03 データ名F13  PIC S9(4) COMP.  /*K13 */
      03 データ名F14  PIC S9(4) COMP.  /*K14 */
      03 データ名F15  PIC S9(4) COMP.  /*K15 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名F16  PIC X(n).        /*キー部 */
 
    02 データ名G       OCCURS n TIMES. /*構成要素情報部 */
      03 データ名G01  PIC X(4).        /*識別記号 */
      03 データ名G02  PIC S9(9) COMP.  /*構成要素番号 */
      03 データ名G03  PIC S9(4) COMP.  /*構成要素名称サイズ */
      03 データ名G04  PIC X(30).       /*構成要素名称 */
      03 データ名G05  PIC X(1).        /*データ属性 */
      03 データ名G06  PIC X(1).        /*構成要素属性 */
      03 データ名G07  PIC X(1).        /*構成要素属性 */
      03 FILLER        PIC X(1).        /*予備 */
      03 データ名G08  PIC S9(9) COMP.  /*ロケーション */
      03 データ名G09  PIC S9(9) COMP.  /*構成要素サイズ */
      03 データ名G10  PIC X(2).        /*ユーザ情報 */
      03 FILLER        PIC X(10).      /*予備 */
 
  01 一意名3.                           /*キーの容量表示 */
    02 データ名H01     PIC S9(9) COMP.  /*エントリ数 */
    02 FILLER          PIC X(4).         /*予備 */
    02 データ名H02     OCCURS n TIMES.  /*キーのエントリ */
      03 データ名H03  PIC X(256).       /*キー(一連番号を除く) */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名H04  PIC S9(9) COMP.  /*割り当て済み一連番号 */
機能

インタフェースエリアに指定されたデータベースの各種システム構成を取得します。取得できる項目を次に示します。

  • キーの容量情報(割り当て済み一連番号)

    キーの容量情報を要求した場合は,指定されたDBKEYに対する割り当て済み一連番号を返却します。キーの容量情報はCBLEESDH('STRT ')発行直後に要求してください。CBLEESDH('ACCS ')およびCBLEESDH('CLAR ')後に要求するとエラーになります。

    UAPは,CBLEESDH('STRT ')に指定したインタフェースエリアを一意名2に設定します。

    個別開始実行要求オプションに'Y'を指定する場合は,CBLEESDH('STRT ')の記述を参照し,インタフェースエリアを一意名2に指定してください。すでにCBLEESDH('STRT ')発行済みだった場合,個別開始実行要求オプションは無視します。

    表1‒63 システム構成表示

    項番

    項目

    DB種別

    FMB

    DAM

    MAM

    TAM

    SAM

    ルート

    1

    キーの容量情報

    ×

    ×

    (凡例)

    ○:指定可

    ×:指定不可

    図1‒38 割り当て済み一連番号の例

    [図データ]

UAPで値を設定するデータ領域

データ名A

構成表示を示すコード「VALUE 'REFS△△△△'」を設定します。

データ名C

0を設定します。

一意名2

インタフェースエリアを設定します。

要求時に次の項目を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

ヘッダ部−要求部
  • 機能コード

    構成表示を示す機能コードを設定します。

    'REFS':構成表示

  • 要求コード1

    インタフェースエリアの確保方法を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の要求コード1の記載内容を参照し,値を設定してください。

  • 要求コード2,要求コード3,要求コード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の要求コード2,要求コード3,要求コード4の記載内容を参照し,値を設定してください。

  • アクセスモード1

    アクセスモードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のアクセスモード1の記載内容を参照し,値を設定してください。

  • アクセスモード2,アクセスモード3,アクセスモード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のアクセスモード2,アクセスモード3,アクセスモード4の記載内容を参照し,値を設定してください。

  • 排他モード1

    排他モードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード1の記載内容を参照し,値を設定してください。

  • 排他モード2

    排他の解放タイミングを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード2の記載内容を参照し,値を設定してください。

  • 排他モード3

    排他競合時の処置を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード3の記載内容を参照し,値を設定してください。

  • 排他モード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の排他モード4の記載内容を参照し,値を設定してください。

  • データエリア形式

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のデータエリア形式の記載内容を参照し,値を設定してください。

  • 店番限定有無

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の店番限定有無の記載内容を参照し,値を設定してください。

  • 順アクセス内基点条件オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の順アクセス内基点条件オプションの記載内容を参照し,値を設定してください。

  • 複数レコードの検索専用オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')の複数レコードの検索専用オプションの記載内容を参照し,値を設定してください。

  • 個別開始/終了一括要求オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま指定します。

  • 個別開始実行要求オプション

    システム構成表示の処理の中で個別開始をするかどうかを指定します。すでに個別開始済みの場合,本オプション指定値は無視します。

    'Y':システム構成表示の処理の中で個別開始を実行する

    'N':指示なし

    '△':指示なし

  • オプションコード7,オプションコード8

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のオプションコード7,オプションコード8の記載内容を参照し,値を設定してください。

  • データベースアクセス用エントリリスト

    ZEROを設定します。

  • システム構成表示エリアアドレス

    エントリ部の要求コードに設定する値によって異なります。

    ・'LCAP'(キーの容量情報)を指定する場合

     システム構成表示エリアを確保したあと,アドレスを設定します。

     システム構成表示エリアには,容量を取得したいDBKEY(一連番号を除く)とキーのエントリ数を設定します。エントリ数には1以上の値を設定します。DBKEYが一連番号だけのSDBに対して要求した場合,キー値の設定内容は無視し,割り当て済み一連番号を設定します。

    図1‒39 システム構成表示エリア(キーの容量情報)

    [図データ]

  • データベース名称サイズ指定

    ZEROを設定します。

  • データベース名称指定

    すべてX'00'を設定します。

  • データベースキー指定エリアアドレス

    ZEROを設定します。

  • 旧キー報告エリアアドレス

    ZEROを設定します。

  • RDエリア名称格納エリア

    ZEROを設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のRDエリア名称格納エリアの記載内容を参照し,値を設定してください。

  • RDエリア名称格納エリアサイズ

    ZEROを設定します。ただし,個別開始実行要求オプションに'Y'を指定している場合は,CBLEESDH('STRT ')のRDエリア名称格納エリアサイズの記載内容を参照し,値を設定してください。

  • 店番サイズ

    ZEROを設定します。

  • 店番

    すべてX'00'を設定します。

エントリ部−要求部

エントリ部の先頭エントリ(DB対応エントリ)に次の値を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

  • 要求コード

    システム構成表示を示す要求コードを設定します。

    'LCAP':キーの容量情報

TP1/EEから値が返されるデータ領域

一意名2

インタフェースエリアの各項目に値が設定されています。

ステータスコードが'00000'または'04310'の場合だけ参照可能です。

次に記載のない項目についてはTP1/FSPは値を設定しません。

ヘッダ部−要求部
  • システム構成表示エリアアドレス

    エントリ部の要求コードに設定した値によって異なります。

    ・'LCAP'(キーの容量情報)を指定した場合

     指定された各DBKEYの割り当て済み一連番号を設定します。

ヘッダ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SDHステータスコード

    SDHステータスコードを設定します。

    1.4 SDHステータスコード一覧」を参照してください。

  • 暗黙的ロールバック有無

    HiRDBでの暗黙的ロールバック有無を設定します。HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合は,'N'が設定されます。

    'Y':暗黙的ロールバックが発生している

    'N':暗黙的ロールバックが発生していない

    個別開始実行要求結果

    個別開始実行要求オプションに'Y'を指定している場合,個別開始実行結果を設定します。APIの正常リターン時は必ず'Y'となり,APIの異常リターン時はHiRDBの状態によって'Y'または'N'のどちらかとなります。

    'Y':個別開始が成功した,またはすでに個別開始済み

    'N':個別開始が失敗した

    なお,HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合,または個別開始実行要求オプションに'Y'を指定していない場合はX'00'を設定します。

  • SQLCODE

    SQLCODEを設定します。

  • 障害情報

    TP1/FSPがトラブルシュートで使用する情報を設定します。

エントリ部−要求部
  • 要求コード

    処理済みを示す要求コードを設定します。

    'NNNN':処理済み

データ名B

ステータスコードを5桁の数字で返します。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

04301

引数に設定した値が間違っています。

  • 要求コード(データ名A)の値が不正です。

  • インタフェースエリア(一意名2)が不正(NULL)です。

04302

発行条件が不正です。

  • TP1/FSPの環境下にありません。

  • SDBハンドラ機能が有効(sdh_use=Y)ではありません。

  • リソースマネジャが定義されていないか,リソースマネジャにHiRDBが定義されていません。

04310

構造型DBのアクセスに失敗しました。

詳細は「1.4 SDHステータスコード一覧」を参照してください。

(6) CBLEESDH('FNSH ')

名称

個別終了要求

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEESDH' USING 一意名1 一意名2
 
DATA DIVISIONの指定
01 一意名1.
    02 データ名A  PIC X(8) VALUE 'FNSH    '.
    02 データ名B  PIC X(5).
    02 FILLER     PIC X(3).
    02 データ名C  PIC S9(9) COMP VALUE ZERO.
  01 一意名2.                           /*インタフェースエリア */
    02 データ名D.                       /*ヘッダ部 */
      /*インタフェースエリア構成情報部*/
      03 データ名D01  PIC X(4).         /*ヘッダ識別子 */
      03 データ名D02  PIC S9(9) COMP.   /*ヘッダ部サイズ */
      03 データ名D03  PIC X(1).         /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名D04  PIC S9(9) COMP.  /*インタフェースエリア全体サイズ */
      03 データ名D05  ADDRESS.         /*自インタフェースエリアのテンプレートアドレス */
      03 データ名D06  PIC S9(9) COMP.  /*エントリ部先頭ロケーション */
      03 データ名D07  PIC S9(9) COMP.  /*エントリ部サイズ */
      03 データ名D08  PIC S9(9) COMP.  /*エントリ部数 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D09  PIC S9(9) COMP.  /*キー報告エリア部ロケーション */
      03 データ名D10  PIC S9(9) COMP.  /*キー報告エリア部サイズ */
      03 データ名D11  PIC S9(9) COMP.  /*構成要素情報表示部ロケーション */
      03 データ名D12  PIC S9(9) COMP.  /*構成要素情報表示部エントリサイズ */
      03 FILLER       PIC X(40).        /*予備 */
      03 データ名 D13  PIC S9(4) COMP.  /*データベース名称サイズ */
      03 データ名 D14  PIC X(30).       /*データベース名称 */
      /*要求部*/
      03 データ名D15  PIC X(4).        /*機能コード */
      03 データ名D16  PIC X(1).        /*要求コード1 */
      03 データ名D17  PIC X(1).        /*要求コード2 */
      03 データ名D18  PIC X(1).        /*要求コード3 */
      03 データ名D19  PIC X(1).        /*要求コード4 */
      03 データ名D20  PIC X(1).        /*アクセスモード1 */
      03 データ名D21  PIC X(1).        /*アクセスモード2 */
      03 データ名D22  PIC X(1).        /*アクセスモード3 */
      03 データ名D23  PIC X(1).        /*アクセスモード4 */
      03 データ名D24  PIC X(1).        /*排他モード1 */
      03 データ名D25  PIC X(1).        /*排他モード2 */
      03 データ名D26  PIC X(1).        /*排他モード3 */
      03 データ名D27  PIC X(1).        /*排他モード4 */
      03 データ名D28  PIC X(1).        /*データエリア形式 */
      03 データ名D29  PIC X(1).        /*店番限定有無 */
      03 データ名D30  PIC X(1).        /*順アクセス内基点条件オプション */
      03 データ名D31  PIC X(1).        /*複数レコードの検索専用オプション */
      03 データ名D32  PIC X(1).        /*個別開始/終了一括要求オプション */
      03 データ名D33  PIC X(1).       /*個別開始実行要求オプション */
      03 データ名D34  PIC X(1).       /*オプションコード7 */
      03 データ名D35  PIC X(1).       /*オプションコード8 */
      03 FILLER       PIC X(8).        /*予備 */
      03 データ名D36  ADDRESS.        /*データベースアクセス用エントリリストアドレス */
      03 データ名D37  ADDRESS.        /*システム構成表示エリアアドレス */
      03 データ名D38  PIC S9(4) COMP.  /*データベース名称サイズ指定 */
      03 データ名 D39  PIC X(30).      /*データベース名称指定 */
      03 データ名D40  ADDRESS.         /*データベースキー指定エリアアドレス */
      03 データ名D41  ADDRESS.         /* TP1/FSP領域 */
      03 FILLER       PIC X(4).         /*予備 */
      03 FILLER       PIC X(12).        /*予備 */
      03 データ名D42  ADDRESS.         /*RDエリア名称格納エリア */
      03 データ名D43  PIC S9(9) COMP.    /*RDエリア名称格納エリアサイズ */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D44  PIC S9(4) COMP.  /*店番サイズ */
      03 データ名D45  PIC X(14).       /*店番 */
      03 FILLER       PIC X(240).       /*予備 */
      /*結果部*/
      03データ名D46  PIC X(1).         /*リターンコード */
      03 データ名D47  PIC X(1).         /*サブコード */
      03 FILLER       PIC X(2).         /*予備 */
      03データ名D48  PIC S9(9) COMP.   /*詳細コード */
      03データ名D49  PIC S9(9) COMP.   /*エラーコード1 */
      03データ名D50  PIC S9(9) COMP.   /*エラーコード2 */
      03 データ名D51  PIC X(5).        /*SDHステータスコード */
      03 FILLER       PIC X(1).         /*予備 */
      03 データ名D52  PIC X(1).        /*暗黙的ロールバック有無 */
      03 データ名D53  PIC X(1).        /*個別開始実行要求結果 */
      03 データ名D54  PIC S9(18) COMP.  /*SQLCODE */
      03 データ名D55  PIC X(32).        /*障害情報 */
      03 データ名D56  ADDRESS.          /*データベース名称リストアドレス */
      03 データ名D57  ADDRESS.         /*アクセス機能用インタフェースエリアアドレス */
      03 データ名D58  PIC S9(9) COMP.  /*エントリ部ロケーション */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D59  ADDRESS.         /*レコード分割キー一覧アドレス */
      03 データ名D60  ADDRESS.         /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(152).      /*予備 */
      /*定義情報部*/
      03 データ名D61  PIC S9(9) COMP.  /*データベース番号 */
      03 データ名D62  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名D63  PIC X(1).        /*参照可否 */
      03 データ名D64  PIC X(1).        /*変更可否 */
      03 データ名D65  PIC X(1).        /*格納可否 */
      03 データ名D66  PIC X(1).        /*削除可否 */
      03 データ名D67  PIC X(1).        /*一括削除可否 */
      03 データ名D68  PIC X(1).        /*DB作成UTL追加可否 */
      03 データ名D69  PIC X(1).        /*フォーマットライト可否 */
      03 データ名D70  PIC X(1).        /*店群構成 */
      03 データ名D71  PIC X(1).        /*リクエストモード1 */
      03 データ名D72  PIC X(1).        /*リクエストモード2 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名D73  PIC X(1).         /*階層ランダム/シーケンシャル */
      03 データ名D74  PIC X(1).         /*ユーザファイル通番可否 */
      03 FILLER       PIC X(2).         /*予備 */
      03 データ名D75  PIC S9(9) COMP.  /*レコード種別数 */
      03 FILLER       PIC X(4).         /*予備 */
      03 データ名D76  PIC S9(9) COMP.  /*レコード分割キー数 */
      03 データ名D77  PIC S9(4) COMP.  /*レコード分割キーのロケーション */
      03 データ名D78  PIC S9(4) COMP.  /*レコード分割キーのサイズ */
      03 データ名D79  PIC S9(9) COMP.  /* RDエリア分割キー数 */
      03 データ名D80  PIC S9(4) COMP.  /*RDエリア分割キーのロケーション */
      03 データ名D81  PIC S9(4) COMP.  /*RDエリア分割キーのサイズ */
      03 データ名D82  PIC S9(9) COMP.  /*最大階層レベル(FMB用) */
      03 データ名D83  PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D84  PIC S9(9) COMP.  /*全キー長(レベル2〜一連番号までの合計サイズ)*/
      03 データ名D85  PIC S9(9) COMP.  /* TP1/FSP領域 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D86  PIC S9(9) COMP.  /*レベル2キー構成要素情報 */
      03 データ名D87  PIC S9(9) COMP.  /*レベル2論理キー長 */
      03 データ名D88  PIC S9(9) COMP.  /*レベル2論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D89  PIC S9(9) COMP.  /*レベル3キー構成要素情報 */
      03 データ名D90  PIC S9(9) COMP.  /*レベル3論理キー長 */
      03 データ名D91  PIC S9(9) COMP.  /*レベル3論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D92  PIC S9(9) COMP.  /*レベル4キー構成要素情報 */
      03 データ名D93  PIC S9(9) COMP.  /*レベル4論理キー長 */
      03 データ名D94  PIC S9(9) COMP.  /*レベル4論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D95  PIC S9(9) COMP.  /*レベル5キー構成要素情報 */
      03 データ名D96  PIC S9(9) COMP.  /*レベル5論理キー長 */
      03 データ名D97  PIC S9(9) COMP.  /*レベル5論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D98  PIC S9(9) COMP.  /*レベル6キー構成要素情報 */
      03 データ名D99  PIC S9(9) COMP.  /*レベル6論理キー長 */
      03 データ名D100  PIC S9(9) COMP. /*レベル6論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D101  PIC S9(9) COMP. /*レベル7キー構成要素情報 */
      03 データ名D102  PIC S9(9) COMP. /*レベル7論理キー長 */
      03 データ名D103  PIC S9(9) COMP. /*レベル7論理キー種類数 */
      03 FILLER       PIC S9(9) COMP.   /*予備 */
      03 データ名D104  PIC S9(9) COMP. /*一連番号構成要素情報 */
      03 データ名D105  PIC S9(9) COMP. /*一連番号サイズ */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名D106  ADDRESS.        /*レコード分割キー一覧アドレス */
      03 データ名D107  ADDRESS.        /*RDエリア分割キー一覧アドレス */
      03 FILLER       PIC X(48).       /*予備 */
      03 FILLER       PIC X(1024).     /*予備 */
 
    02 データ名E       OCCURS n TIMES. /*エントリ部 */
      /*インタフェースエリア構成情報部*/
      03 データ名E01  PIC X(4).        /*識別子 */
      03 データ名E02  PIC S9(9) COMP.  /*エントリ部サイズ */
      03 データ名E03  PIC X(1).        /*種別 */
      03 FILLER       PIC X(3).         /*予備 */
      03 データ名E04  PIC S9(9) COMP.  /*インタフェースエリア内のエントリ部ロケーション */
      03 データ名E05  PIC S9(9) COMP.  /*構成要素情報部ロケーション */
      03 データ名E06  PIC S9(9) COMP.  /*構成要素情報エントリ数 */
      03 FILLER       PIC X(72).        /*予備 */
      03 データ名E07  PIC S9(4) COMP.  /*レコード名称サイズ */
      03 データ名E08  PIC X(30).       /*レコード名称 */
      /*要求部*/
      03 データ名E09  PIC X(4).        /*要求コード */
      03 データ名E10  PIC X(1).        /*指示コード */
      03 データ名E11  PIC X(1).        /*検索コード */
      03 データ名E12  PIC X(1).        /*条件コード */
      03 FILLER       PIC X(1).         /*予備 */
      03 FILLER       PIC X(8).         /*予備 */
      03 データ名E13  PIC X(1).         /*ポインタオプション */
      03 データ名E14  PIC X(1).         /*一括オプション */
      03 データ名E15  PIC X(1).         /*ステータス報告オプション */
      03 データ名E16  PIC X(1).         /*ページ切り替え */
      03 データ名E17  PIC X(1).         /*PCTFREE有効化 */
      03 データ名E18  PIC X(1).         /*二次インデクス使用抑止オプション */
      03 データ名E19  PIC X(1).         /*オプションコード7 */
      03 データ名E20  PIC X(1).         /*TP1/FSP領域 */
      03 FILLER       PIC X(40).         /*予備 */
      03 データ名E21  ADDRESS.          /*条件式格納エリアアドレス */
      03 データ名E22  ADDRESS.          /*構成要素指定エリアアドレス */
      03 データ名E23  ADDRESS.          /*データ格納エリアアドレス */
      03 データ名E24  PIC S9(9) COMP.   /*データ格納エリアサイズ */
      03 データ名E25  PIC S9(9) COMP.  /*事前割り当て要求ページ数*/
      03 FILLER       PIC X(56).         /*予備 */
      03 データ名E26  PIC X(4).          /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E27  PIC S9(9) COMP.    /*一連番号 */
      03 データ名E28  PIC X(16).         /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(80).          /*予備 */
      03 データ名E29  PIC X(256).        /*ユーザキー/論理キー格納エリア */
      /*結果部*/
      03 データ名E30  PIC X(1).          /*リターンコード */
      03 データ名E31  PIC X(1).          /*サブコード */
      03 FILLER       PIC X(2).          /*予備 */
      03 データ名E32  PIC S9(9) COMP.    /*詳細コード */
      03 データ名E33  PIC S9(9) COMP.    /*エラーコード1 */
      03 データ名E34  PIC S9(9) COMP.    /*エラーコード2 */
      03 データ名E35  PIC S9(18) COMP.   /*SQLCODE */
      03 FILLER       PIC X(8).           /*予備 */
      03 データ名E36  PIC X(32).          /*障害情報 */
      03 データ名E37  PIC S9(9) COMP.     /*レコードサイズ */
      03 データ名E38  PIC S9(9) COMP.     /*エントリ部ロケーション */
      03 FILLER       PIC X(4).            /*予備 */
      03 データ名E39  PIC S9(9) COMP.      /* 事前割り当て済みページ数 */
      03 データ名E40  PIC X(4).           /*レベル2論理キー(TAM(DAM)用) */
      03 データ名E41  PIC S9(9) COMP.    /*一連番号 */
      03 データ名E42  PIC X(16).         /*ダイレクトアクセス情報 */
      03 FILLER       PIC X(24).          /*予備 */
      03 データ名E43  PIC X(24).         /*BES,RDエリアに関する情報 */
      03 FILLER       PIC X(40).          /*予備 */
      03 データ名E44   PIC X(1).         /*二次インデクス使用フラグ */
      03 データ名E45   PIC X(1).         /*ステータス */
      03 データ名E46   PIC S9(4) COMP.   /* TP1/FSP領域 */
      03 データ名E47   PIC S9(9) COMP.   /* TP1/FSP領域 */
      03 FILLER       PIC X(56).         /*予備 */
      /*定義情報部*/
      03 データ名E48  PIC S9(9) COMP.    /*レコード番号 */
      03 データ名E49  PIC X(1).          /*種別 */
      03 FILLER       PIC X(3).           /*予備 */
      03 データ名E50  PIC X(1).          /*検索可否 */
      03 データ名E51  PIC X(1).          /*変更可否 */
      03 データ名E52  PIC X(1).          /*格納可否 */
      03 データ名E53  PIC X(1).          /*削除可否 */
      03 データ名E54  PIC X(1).          /*一括削除可否 */
      03 データ名E55  PIC X(1).          /*構成要素指示可否 */
      03 FILLER       PIC X(1).           /*予備 */
      03 データ名E56  PIC X(1).          /*店群構成 */
      03 データ名E57  PIC X(1).          /*オカレンス属性 */
      03 データ名E58  PIC X(1).          /*子レコード有無 */
      03 データ名E59  PIC X(1).          /*ユーザポインタ有無 */
      03 データ名E60  PIC X(1).          /*ユーザキー有無 */
      03 FILLER       PIC X(4).           /*予備 */
      03 データ名E61  PIC X(1).          /*リクエストモード1 */
      03 データ名E62  PIC X(1).          /*リクエストモード2 */
      03 FILLER       PIC X(2).           /*予備 */
      03 データ名E63  PIC X(1).          /*階層ランダム/シーケンシャル */
      03 データ名E64  PIC X(1).          /*ユーザファイル通番取得可否 */
      03 FILLER       PIC X(2).          /*予備 */
      03 データ名E65  PIC S9(9) COMP.    /*自身のレコード識別コード長 */
      03 データ名E66  PIC X(4).          /*自身のレコード識別コード */
      03 データ名E67  PIC S9(9) COMP.    /*レコード型番号 */
      03 データ名E68  PIC S9(9) COMP.    /*親のレコード型番号 */
      03 データ名E69  PIC S9(9) COMP.    /*レコードレベル番号 */
      03 FILLER       PIC S9(9) COMP.     /*予備 */
      03 データ名E70  PIC S9(9) COMP.    /*ユーザデータサイズ */
      03 データ名E71  PIC S9(9) COMP.    /*ユーザファイル通番部サイズ */
      03 データ名E72  PIC S9(9) COMP.    /*公開構成要素数 */
      03 データ名E73  PIC S9(9) COMP.    /*一連番号最小値 */
      03 データ名E74  PIC S9(9) COMP.    /*一連番号最大値 */
      03 FILLER       PIC X(52).          /*予備 */
      03 FILLER       PIC X(1024).        /*予備 */
 
    02 データ名F.                        /*キー報告エリア部 */
      03 データ名F01  PIC S9(4) COMP.    /*K1 */
      03 データ名F02  PIC S9(4) COMP.    /*K2 */
      03 データ名F03  PIC S9(4) COMP.    /*K3 */
      03 データ名F04  PIC S9(4) COMP.    /*K4 */
      03 データ名F05  PIC S9(4) COMP.    /*K5 */
      03 データ名F06  PIC S9(4) COMP.    /*K6 */
      03 データ名F07  PIC S9(4) COMP.    /*K7 */
      03 データ名F08  PIC S9(4) COMP.    /*K8 */
      03 データ名F09  PIC S9(4) COMP.    /*K9 */
      03 データ名F10  PIC S9(4) COMP.    /*K10 */
      03 データ名F11  PIC S9(4) COMP.    /*K11 */
      03 データ名F12  PIC S9(4) COMP.    /*K12 */
      03 データ名F13  PIC S9(4) COMP.    /*K13 */
      03 データ名F14  PIC S9(4) COMP.    /*K14 */
      03 データ名F15  PIC S9(4) COMP.    /*K15 */
      03 FILLER       PIC X(2).           /*予備 */
      03 データ名F16  PIC X(n).          /*キー部 */
 
    02 データ名G       OCCURS n TIMES.  /*構成要素情報部 */
      03 データ名G01  PIC X(4).         /*識別記号 */
      03 データ名G02  PIC S9(9) COMP.   /*構成要素番号 */
      03 データ名G03  PIC S9(4) COMP.   /*構成要素名称サイズ */
      03 データ名G04  PIC X(30).        /*構成要素名称 */
      03 データ名G05  PIC X(1).         /*データ属性 */
      03 データ名G06  PIC X(1).         /*構成要素属性 */
      03 データ名G07  PIC X(1).         /*構成要素属性 */
      03 FILLER        PIC X(1).         /*予備 */
      03 データ名G08  PIC S9(9) COMP.   /*ロケーション */
      03 データ名G09  PIC S9(9) COMP.   /*構成要素サイズ */
      03 データ名G10  PIC X(2).         /*ユーザ情報 */
      03 FILLER        PIC X(10).       /*予備 */
機能

インタフェースエリアに指定された構造型データベースへのアクセスを終了します。

UAPは,CBLEESDH('STRT ')に指定したインタフェースエリアを一意名2に設定します。

UAPで値を設定するデータ領域

データ名A

個別終了要求を示すコード「VALUE 'FNSH△△△△'」を設定します。

データ名C

0を設定します。

一意名2

インタフェースエリアを設定します。

要求時に次の項目を設定します。設定可能な値以外を設定した場合はエラーとなります。

次に記載のない項目についてはTP1/FSPは参照しません。

ヘッダ部−要求部
  • 機能コード

    個別終了要求する機能コードを設定します。

    'FNSH':個別終了要求

  • 要求コード1

    インタフェースエリアの確保方法を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 要求コード2

    トランザクション実行中に,当該インタフェースエリアを使用してレコードの格納/変更/削除/一括削除を1回以上要求し,かつ成功している状態で,CBLEESDH('FNSH ')を発行した場合のリターン値を選択します。

    'C':CBLEESDH('FNSH ')をエラーリターン(SDHステータスコード20000)させます。

    '△':指示なし

    表1‒64 関数リターン値選択

    項番

    要求コード2

    当該インタフェースエリアでレコードに対して行った要求

    参照だけ(格納/変更/削除/一括削除を要求していない)

    または何も行っていない

    格納/変更/削除/一括削除を1回以上要求し,かつ成功している

    1

    'C'

    成功

    エラー

    2

    '△'

    成功

    成功

  • 要求コード3,要求コード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • アクセスモード1

    アクセスモードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • アクセスモード2,アクセスモード3,アクセスモード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 排他モード1

    排他モードを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 排他モード2

    排他の解放タイミングを設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 排他モード3

    排他競合時の処置を設定します。

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 排他モード4

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • データエリア形式

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 店番限定有無

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 順アクセス内基点条件オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 複数レコードの検索専用オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • 個別開始/終了一括要求オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま指定します。

  • 個別開始実行要求オプション

    CBLEESDH('STRT ')発行時に設定した値をそのまま指定してください。

  • オプションコード7,オプションコード8

    CBLEESDH('STRT ')発行時に設定した値をそのまま設定します。

  • データベースアクセス用エントリリストアドレス

    ZEROを設定します。

  • システム構成表示エリアアドレス

    ZEROを設定します。

  • データベース名称サイズ指定

    ZEROを設定します。

  • データベース名称指定

    すべてX'00'を設定します。

  • データベースキー指定エリアアドレス

    ZEROを設定します。

  • 旧キー報告エリアアドレス

    ZEROを設定します。

  • RDエリア名称格納エリア

    ZEROを設定します。

  • RDエリア名称格納エリアサイズ

    ZEROを設定します。

  • 店番サイズ

    ZEROを設定します。

  • 店番

    すべてX'00'を設定します。

TP1/EEから値が返されるデータ領域

一意名2

インタフェースエリアの各項目に値が設定されています。

ステータスコードが'00000'または'04310'の場合だけ参照可能です。

次に記載のない項目についてはTP1/FSPは値を設定しません。

ヘッダ部−結果部
  • リターンコード,サブコード

    リターンコードおよびサブコードを設定します。

    詳細は「表1-11 リターンコードとサブコード」を参照してください。

  • 詳細コード

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード1

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • エラーコード2

    TP1/FSPがトラブルシュートで使用する情報を設定します。

  • SDHステータスコード

    SDHステータスコードを設定します。

    1.4 SDHステータスコード一覧」を参照してください。

  • 暗黙的ロールバック有無

    HiRDBでの暗黙的ロールバック有無を設定します。HiRDBへの要求前にエラー(引数エラー,ee_trn_rollback_mark関数発行済みなど)となった場合は,'N'が設定されます。

    'Y':暗黙的ロールバックが発生している

    'N':暗黙的ロールバックが発生していない

  • SQLCODE

    SQLCODEを設定します。

  • 障害情報

    TP1/FSPがトラブルシュートで使用する情報を設定します。

データ名B

ステータスコードを5桁の数字で返します。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

04301

引数に設定した値が間違っています。

  • 要求コード(データ名A)の値が不正です。

  • インタフェースエリア(一意名2)が不正(NULL)です。

04302

発行条件が不正です。

  • TP1/FSPの環境下にありません。

  • SDBハンドラ機能が有効(sdh_use=Y)ではありません。

  • リソースマネジャが定義されていないか,リソースマネジャにHiRDBが定義されていません。

04310

構造型DBのアクセスに失敗しました。

詳細は「1.4 SDHステータスコード一覧」を参照してください。