Hitachi

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


1.6.2 データ抽出ユティリティ用ライブラリ関数

データ抽出ユティリティで使用できるライブラリ関数一覧を次の表に示します。

また,データ抽出ユティリティの実行には,データ抽出ユティリティを実行するための制御情報を規定したファイル(制御情報ファイル)が必要となります。制御情報ファイルについては,「1.6.2(7) 制御情報ファイル」を参照してください。

表1‒67 データ抽出ユティリティで使用できるライブラリ関数一覧

項番

機能

C言語ライブラリ

COBOL-UAP作成用プログラム

1

INIT要求

ee_trn_ioa_init

CBLEETRN('IOAINIT ')

2

GET要求

ee_trn_ioa_get

CBLEETRN('IOAGET ')

3

TERM要求

ee_trn_ioa_term

CBLEETRN('IOATERM ')

APIの発行手順

各要求の発行可否と発行順序を次の表に示します。

最初の要求ではINIT要求だけ行うことができます。最初の要求でGET要求またはTERM要求を行うとエラーリターンします。

INIT要求後では,GET要求またはTERM要求を行うことができます。一度でもINIT要求が正常終了した場合,再度INIT要求を行うとエラーリターンします。

GET要求後では,GET要求またはTERM要求を行うことができます。前回のGET要求でEOFを入力した場合,INIT要求を行うことができます。しかし,前回のGET要求でEOFを入力しなかった場合,INIT要求を行うとエラーリターンします。

TERM要求後では,INIT要求またはTERM要求を行うことができます。GET要求を行うとエラーリターンします。

要求がエラーリターンしたあとは,要求を発行しないでください。エラーの要因を取り除いてUAPを再起動してください。

表1‒68 各要求の発行可否

項番

前回の要求

今回の要求

INIT要求

GET要求

TERM要求

1

最初の要求

×

×

2

INIT要求

×

3

GET要求

(EOF入力時だけ)

4

TERM要求

×

(凡例)

○:可

△:条件つきで可

×:不可

C-UAP作成用プログラムの文法

データ抽出ユティリティのライブラリ関数の説明形式は,マニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引」の「関数の説明形式」を参照してください。ただし,「TP1/EE」は「データ抽出ユティリティ」に読み替えてください。

COBOL-UAP作成用プログラムの文法

データ抽出ユティリティのUAPをCOBOL言語で作成するときの説明形式は,マニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引」の「COBOL-UAP作成用プログラムの説明形式」を参照してください。ただし,「TP1/EE」は「データ抽出ユティリティ」に読み替えてください

〈この項の構成〉

(1) ee_trn_ioa_init(トランザクション制御(ee_trn_〜)(C言語))

名称

INIT要求

形式

ANSI Cの形式

#include <eetrn_ioa.h>
int ee_trn_ioa_init(EETRN_IOA_IPARAM *ioa_iparam_pt, EELONG flags);
 
typedef struct ee_trn_ioa_iparam_t{  /*INITパラメタ構造体   */
   char             return_code;     /*処理結果のメインリターンコード */
   char             sub_code;        /*処理結果のサブリターンコード */
   char             yobi1[6];        /*予備 */
   char             ctrl_file[EETRN_IOA_CTLFILE_SZ];
                                     /*制御情報ファイル名 */
   char             uapfnm[EETRN_IOA_UAPFNM_SZ];
                                     /*UAP履歴情報グループ名 */
   char             yobi2[5];        /*予備 */
   long             sql_code;        /*SQLCODE */
   EELONG           err_inf_len;     /*障害情報長 */
   char             err_inf[EETRN_IOA_ERRINF_SZ];
                                     /*障害情報 */
   char             yobi3[12];       /*予備 */
   EETRN_IOA_FORC   *forc_pt;        /*FORCパラメタ構造体アドレス */
   EETRN_IOA_JSQ    *jsq_pt;         /*JSQパラメタ構造体アドレス */
   EETRN_IOA_KIND   *kind_pt;        /*KINDパラメタ構造体アドレス */
   EETRN_IOA_PJCK   *pjck_pt;        /*PJCKパラメタ構造体アドレス */
   EETRN_IOA_RANG   *rang_pt;        /*RANGパラメタ構造体アドレス */
   char             yobi4[8];        /*予備 */
   EETRN_IOA_UJST   *ujst_pt;        /*UJSTパラメタ構造体アドレス */
   char             yobi5[16];       /*予備 */
   void             *system1;        /*TP1/FSP使用領域1 */
   void             *system2;        /*TP1/FSP使用領域2 */
   void             *system3;        /*TP1/FSP使用領域3 */
   void             *system4;        /*TP1/FSP使用領域4 */
   void             *system5;        /*TP1/FSP使用領域5 */
   void             *system6;        /*TP1/FSP使用領域6 */
   void             *system7;        /*TP1/FSP使用領域7 */
   void             *system8;        /*TP1/FSP使用領域8 */
   void             *system9;        /*TP1/FSP使用領域9 */
   void             *system10;       /*TP1/FSP使用領域10 */
   char             yobi6[256];      /*予備 */
} EETRN_IOA_IPARAM;
 
typedef struct ee_trn_ioa_forc_t{    /*FORCパラメタ構造体 */
   char             req_code;        /*要求コード */
   char             yobi[71];        /*予備 */
} EETRN_IOA_FORC;
 
typedef struct ee_trn_ioa_jsq_t{     /*JSQパラメタ構造体 */
   EELONG           start_jsq;       /*開始世代番号 */
   EELONG           end_jsq;         /*終了世代番号 */
   char             yobi[64];        /*予備 */
} EETRN_IOA_JSQ;
 
typedef struct ee_trn_ioa_kind_t{    /*KINDパラメタ構造体 */
   EELONG           kind_entry_num;  /*履歴情報種別のエントリ数 */
   char             kind[EETRN_IOA_KIND_SZ];
                                     /*履歴情報種別 */
   char             yobi[70];        /*予備 */
} EETRN_IOA_KIND;
 
typedef struct ee_trn_ioa_pjck_t{    /*PJCKパラメタ構造体 */
   char             req_code;        /*要求コード */
   char             yobi[71];        /*予備 */
} EETRN_IOA_PJCK;
 
typedef struct ee_trn_ioa_rang_t{    /*RANGパラメタ構造体 */
   EELONG64         start_block_no;  /*開始累積データ通番 */
   EELONG64         end_block_no;    /*終了累積データ通番 */
   char             yobi[88];        /*予備 */
} EETRN_IOA_RANG;
 
typedef struct ee_trn_ioa_ujst_t{    /*UJSTパラメタ構造体 */
   char             req_code;        /*要求コード */
   char             status_code;     /*状態コード */
   char             yobi[70];        /*予備 */
} EETRN_IOA_UJST;
機能

機能の説明は,「1.6.2(4) CBLEETRN('IOAINIT ')(トランザクション制御(COBOL言語))」を参照してください。

UAPで値を設定する引数

引数の説明は,「1.6.2(4) CBLEETRN('IOAINIT ')(トランザクション制御(COBOL言語))」を参照してください。ここでは差異について示します。

ioa_iparam_pt

CBLEETRN('IOAINIT ')の一意名_IPARAMを参照してください。

  • 制御情報ファイル名

    データ抽出ユティリティを実行するための制御情報を規定したファイルのパス名を,1から1,023バイト以内で設定します。文字列の最後には,ヌル文字を設定してください。このヌル文字は文字列の長さに数えません。制御情報ファイル名は必ず設定します。

    制御情報ファイルに規定した情報を使用して入力を行います。制御情報ファイルの詳細は,「1.6.2(7) 制御情報ファイル」を参照してください。

  • UAP履歴情報グループ名

    空白をヌル文字に読み替えてください。

  • FORCパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・要求コード

     強制実行要求を次のどちらかで設定します。

     EETRN_IOA_YES:強制実行します。

     EETRN_IOA_NO:強制実行しません。

  • JSQパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・開始世代番号

     差異なし。

    ・終了世代番号

     差異なし。

  • KINDパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・履歴情報種別のエントリ数

     差異なし。

    ・履歴情報種別

     履歴情報種別のエントリ数に0を設定した場合,設定値は無視されます。履歴情報種別のエントリ数に1以上を設定した場合,入力対象とする履歴情報種別を次の2文字で設定します。文字列の最後には,ヌル文字を設定する必要はありません。複数の履歴情報種別を設定する場合は図1-42のように先頭から順に設定します。図1-43のように同じ履歴情報種別を設定することはできません。

      EETRN_IOA_KIND_UJ:ユーザデータ(UJ)

      EETRN_IOA_KIND_IJ:入力データ(IJ)

      EETRN_IOA_KIND_OJ:出力データ(OJ)

  • PJCKパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・要求コード

     現用の履歴情報表を入力するかどうかの要求を次のどちらかで設定します。

     EETRN_IOA_YES:現用の履歴情報表を入力しません。

     EETRN_IOA_USE:現用の履歴情報表を入力します。

  • RANGパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・開始累積データ通番

     差異なし。

    ・終了累積データ通番

     差異なし。

  • UJSTパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・要求コード

     現用有無の取得を行う要求を次のどちらかで設定します。

      EETRN_IOA_YES:現用有無の取得を行います。

      EETRN_IOA_NO:現用有無の取得を行いません。

  • TP1/FSP使用領域1〜10

    ZEROをNULLに読み替えてください。

flags

EENOFLAGSを設定します。

データ抽出ユティリティから値が返される引数

引数の説明は,「1.6.2(4) CBLEETRN('IOAINIT ')(トランザクション制御(COBOL言語))」を参照してください。ここでは差異について示します。

ioa_iparam_pt

CBLEETRN('IOAINIT ')の一意名_IPARAMを参照してください。

  • リターンコード,サブリターンコード

    差異なし。

  • SQLCODE

    差異なし。

  • 障害情報長

    差異なし。

  • 障害情報

    差異なし。

  • UJSTパラメタ構造体アドレス

    入力対象が取得用履歴情報表で要求コードにEETRN_IOA_YESを設定している場合は,UJSTパラメタ構造体に次の情報を設定します。情報はリターン値がEE_OKのときだけ設定します。

    ・状態コード

     現用の履歴情報表の有無を示す状態コードを設定します。設定する状態コードを次に示します。

      EETRN_IOA_NONE:現用の履歴情報表が入力対象に含まれません。

      EETRN_IOA_ONLINE:現用の履歴情報表が入力対象に含まれます。

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EETRNER_ARGUMENT

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

EETRNER_CONDITION

発行条件が不正です。

EETRNER_MEMORY_SHORT

メモリが不足しました。

EETRNER_SQL_ERROR

SQL実行時にエラーが発生しました。

EETRNER_INVALID

内部関数でエラーが発生しました。

指定例

RANGパラメタを使用する場合のINIT要求の指定例を次に示します。

/*変数の宣言*/
  EETRN_IOA_IPARAM   iparamt;
  EETRN_IOA_RANG     irangt;
  int                rtncode;
 
  /*初期化*/
  memset(&iparamt, 0, sizeof(EETRN_IOA_IPARAM));
  memset(&irangt, 0, sizeof(EETRN_IOA_RANG));
 
  /*設定*/
  strncpy(iparamt.ctrl_file,
      "/opt/OpenTP1/examples/tp1ee/conf/eetrnioa_smpl.conf",
      EETRN_IOA_CTLFILE_SZ - 1);       /*制御情報ファイル名*/
  strncpy(iparamt.uapfnm, "IOA", EETRN_IOA_UAPFNM_SZ - 1);
                                       /*UAP履歴情報グループ名*/
  iparamt.rang_pt = &irangt;           /*RANGパラメタ構造体アドレス*/
  irangt.start_block_no   = 2;         /*開始累積データ通番*/
  irangt.end_block_no  = 10;           /*終了累積データ通番*/
 
  /*INIT要求*/
  rtncode = ee_trn_ioa_init(&iparamt, EENOFLAGS);
注意事項

注意事項の説明は,「1.6.2(4) CBLEETRN('IOAINIT ')(トランザクション制御(COBOL言語))」を参照してください。

(2) ee_trn_ioa_get(トランザクション制御(ee_trn_〜)(C言語))

名称

GET要求

形式

ANSI Cの形式

#include <eetrn_ioa.h>
int ee_trn_ioa_get(EETRN_IOA_GPARAM *ioa_gparam_pt, EELONG flags);
 
typedef struct ee_trn_ioa_gparam_t{  /*GETパラメタ構造体   */
   char            return_code;      /*処理結果のメインリターンコード */
   char            sub_code;         /*処理結果のサブリターンコード */
   char            yobi1[6];         /*予備 */
   long            sql_code;         /*SQLCODE */
   EELONG          err_inf_len;      /*障害情報長 */
   char            err_inf[EETRN_IOA_ERRINF_SZ];
                                     /*障害情報 */
   char            yobi2[4];         /*予備 */
   EETRN_IOA_RTN   *rtn_pt;          /*RTNパラメタ構造体アドレス */
   EETRN_IOA_SET   *set_pt;          /*SETパラメタ構造体アドレス */
   EETRN_IOA_USER  *user_pt;         /*USERパラメタ構造体アドレス */
   void            *system1;         /*TP1/FSP使用領域1 */
   char            yobi3[248];       /*予備 */
} EETRN_IOA_GPARAM;
 
typedef struct ee_trn_ioa_rtn_t{     /*RTNパラメタ構造体 */
   EELONG64        block_no;         /*累積データ通番 */
   EELONG          jsq;              /*世代番号 */
   EELONG          root_jsq;         /*ルート世代番号 */
   EEULONG         run_id;           /*ランID */
   EEULONG         proc_no;          /*中央処理通番 */
   char            node_id[EETRN_IOA_NODEID_SZ];
                                     /*ノード識別子 */
   EELONG          service_name_len; /*サービス名長 */
   char            service_name[EETRN_IOA_SVNAME_SZ];
                                     /*サービス名 */
   char            date[EETRN_IOA_DATE_SZ];
                                     /*取得年月日 */
   char            time[EETRN_IOA_TIME_SZ];
                                     /*取得時刻 */
   char            yobi1[2];         /*予備 */
   EELONG          order;            /*取得順序 */
   char            yobi2[68];        /*予備 */
} EETRN_IOA_RTN;
 
typedef struct ee_trn_ioa_set_t{     /*SETパラメタ構造体 */
   EELONG          data_area_len;    /*UAP履歴情報格納エリア長 */
   EELONG          data_len;         /*UAP履歴情報長 */
   char            *data_area_pt;    /*UAP履歴情報格納エリアアドレス */
   char            yobi[64];         /*予備 */
} EETRN_IOA_SET;
 
typedef struct ee_trn_ioa_user_t{    /*USERパラメタ構造体 */
   EELONG          data_area_len;    /*ユーザプログラム引き継ぎ情報 */
                                     /*格納エリア長 */
   EELONG          data_len;         /*ユーザプログラム引き継ぎ情報長 */
   char            *data_area_pt;    /*ユーザプログラム引き継ぎ情報 */
                                     /*格納エリアアドレス */
   char            yobi[64];         /*予備 */
} EETRN_IOA_USER;
機能

機能の説明は,「1.6.2(5) CBLEETRN('IOAGET ')(トランザクション制御(COBOL言語))」を参照してください。

UAPで値を設定する引数

引数の説明は,「1.6.2(5) CBLEETRN('IOAGET ')(トランザクション制御(COBOL言語))」を参照してください。ここでは差異について示します。

ioa_gparam_pt

CBLEETRN('IOAGET ')の一意名_GPARAMを参照してください。

  • RTNパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

  • SETパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・UAP履歴情報格納エリアアドレス

     差異なし。

    ・UAP履歴情報格納エリア長

     差異なし。

  • USERパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

    ・ユーザプログラム引き継ぎ情報格納エリアアドレス

     差異なし。

    ・ユーザプログラム引き継ぎ情報格納エリア長

     差異なし。

  • TP1/FSP使用領域1

    ZEROをNULLに読み替えてください。

flags

EENOFLAGSを設定します。

データ抽出ユティリティから値が返される引数

引数の説明は,「1.6.2(5) CBLEETRN('IOAGET ')(トランザクション制御(COBOL言語))」を参照してください。ここでは差異について示します。

ioa_gparam_pt

CBLEETRN('IOAGET ')の一意名_GPARAMを参照してください。

  • リターンコード,サブリターンコード

    差異なし。

  • SQLCODE

    差異なし。

  • 障害情報長

    差異なし。

  • 障害情報

    差異なし。

  • RTNパラメタ構造体アドレス

    RTNパラメタ構造体に次の情報を設定します。情報はリターン値がEE_OK,かつメインリターンコードが'N'のときだけ設定します。

    ・累積データ通番

     差異なし。

    ・世代番号

     差異なし。

    ・ルート世代番号

     差異なし。

    ・ランID

     差異なし。

    ・中央処理通番

     差異なし。

    ・ノード識別子

     差異なし。

    ・サービス名長

     差異なし。

    ・サービス名

     差異なし。

    ・取得年月日

     差異なし。

    ・取得時刻

     差異なし。

    ・取得順序

     差異なし。

  • SETパラメタ構造体アドレス

    情報はリターン値がEE_OK,かつメインリターンコードが'N'のときだけ設定します。

    ・UAP履歴情報長

     差異なし。

    ・UAP履歴情報格納エリアアドレス

     差異なし。

  • USERパラメタ構造体アドレス

    情報はリターン値がEE_OKのときだけ設定します。

    ・ユーザプログラム引き継ぎ情報長

     差異なし。

    ・ユーザプログラム引き継ぎ情報格納エリアアドレス

     差異なし。

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EETRNER_ARGUMENT

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

EETRNER_CONDITION

発行条件が不正です。

EETRNER_MEMORY_SHORT

メモリが不足しました。

EETRNER_SQL_ERROR

SQL実行時にエラーが発生しました。

EETRNER_OVERFLOW

ユーザプログラム引き継ぎ情報またはUAP履歴情報の格納エリアが小さい,またはPJ引き継ぎ情報の引き継ぎ履歴情報数が少ないです。

EETRNER_INVALID

内部関数でエラーが発生しました。

指定例

SETパラメタを使用する場合のGET要求の指定例を次に示します。

/*変数の宣言*/
EETRN_IOA_GPARAM   gparamt;
EETRN_IOA_SET      gsett;
char               sdata[256];
int                rtncode;
 
/*初期化*/
memset(&gparamt, 0, sizeof(EETRN_IOA_GPARAM));
memset(&gsett, 0, sizeof(EETRN_IOA_SET));
memset(sdata, 0, sizeof(sdata));
 
/*設定*/
gparamt.set_pt = &gsett;              /*SETパラメタ構造体アドレス*/
gsett.data_area_len = sizeof(sdata);  /*UAP履歴情報格納エリア長*/
gsett.data_area_pt = sdata;           /*UAP履歴情報格納エリアアドレス*/
 
/*GET要求*/
rtncode = ee_trn_ioa_get(&gparamt, EENOFLAGS);
注意事項

注意事項の説明は,「1.6.2(5) CBLEETRN('IOAGET ')(トランザクション制御(COBOL言語))」を参照してください。

(3) ee_trn_ioa_term(トランザクション制御(ee_trn_〜)(C言語))

名称

TERM要求

形式

ANSI Cの形式

#include <eetrn_ioa.h>
int ee_trn_ioa_term(EETRN_IOA_TPARAM *ioa_tparam_pt, EELONG flags);
 
typedef struct ee_trn_ioa_tparam_t{  /*TERMパラメタ構造体 */
   char             return_code;     /*処理結果のメインリターンコード */
   char             sub_code;        /*処理結果のサブリターンコード */
   char             yobi1[6];        /*予備 */
   long             sql_code;        /*SQLCODE */
   EELONG           err_inf_len;     /*障害情報長 */
   char             err_inf[EETRN_IOA_ERRINF_SZ];
                                     /*障害情報 */
   char             yobi2[4];        /*予備 */
   EETRN_IOA_USER   *user_pt;        /*USERパラメタ構造体アドレス */
   char   yobi3[256];                /*予備 */
} EETRN_IOA_TPARAM;
 
typedef struct ee_trn_ioa_user_t{    /*USERパラメタ構造体   */
   構造体の内容はee_trn_ioa_get()参照
} EETRN_IOA_USER;
機能

機能の説明は,「1.6.2(6) CBLEETRN('IOATERM ')(トランザクション制御(COBOL言語))」を参照してください。

UAPで値を設定する引数

引数の説明は,「1.6.2(6) CBLEETRN('IOATERM ')(トランザクション制御(COBOL言語))」を参照してください。ここでは差異について示します。

ioa_tparam_pt

CBLEETRN('IOATERM ')の一意名_TPARAMを参照してください。

  • USERパラメタ構造体アドレス

    ZEROをNULLに読み替えてください。

  • ユーザプログラム引き継ぎ情報格納エリア長

    差異なし。

  • ユーザプログラム引き継ぎ情報長

    差異なし。

  • ユーザプログラム引き継ぎ情報格納エリア

    差異なし。

flags

EENOFLAGSを設定します。

データ抽出ユティリティから値が返される引数

引数の説明は,「1.6.2(6) CBLEETRN('IOATERM ')(トランザクション制御(COBOL言語))」を参照してください。ここでは差異について示します。

ioa_tparam_pt

CBLEETRN('IOATERM ')の一意名_TPARAMを参照してください。

  • リターンコード,サブリターンコード

    差異なし。

  • SQLCODE

    差異なし。

  • 障害情報長

    差異なし。

  • 障害情報

    差異なし。

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EETRNER_ARGUMENT

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

EETRNER_CONDITION

発行条件が不正です。

EETRNER_MEMORY_SHORT

メモリが不足しました。

EETRNER_SQL_ERROR

SQL実行時にエラーが発生しました。

EETRNER_OVERFLOW

PJ引き継ぎ情報の引き継ぎ履歴情報数が少ないです。

EETRNER_INVALID

内部関数でエラーが発生しました。

指定例

USERパラメタを使用する場合のTERM要求の指定例を次に示します。

/*変数の宣言*/
EETRN_IOA_TPARAM   tparamt;
EETRN_IOA_USER     tusert;
char               udata[256];
int                rtncode;
 
/*初期化*/
memset(&tparamt, 0, sizeof(EETRN_IOA_TPARAM));
memset(&tusert, 0, sizeof(EETRN_IOA_USER));
memset(udata, 0, sizeof(udata));
 
/*設定*/
tparamt.user_pt = &tusert;            /*USERパラメタ構造体アドレス*/
tusert.data_area_len = sizeof(udata); /*引き継ぎ情報格納エリア長*/
tusert.data_len = strlen("ABCDE");    /*引き継ぎ情報長*/
tusert.data_area_pt = udata;           /*引き継ぎ情報格納エリアアドレス*/
memcpy(udata, "ABCDE", strlen("ABCDE")); /*引き継ぎ情報*/
 
/*TERM要求*/
rtncode = ee_trn_ioa_term(&tparamt, EENOFLAGS);
注意事項

注意事項の説明は,「1.6.2(6) CBLEETRN('IOATERM ')(トランザクション制御(COBOL言語))」を参照してください。

(4) CBLEETRN('IOAINIT ')(トランザクション制御(COBOL言語))

名称

INIT要求

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEETRN' USING 一意名1 一意名_IPARAM
 
DATA DIVISIONの指定
01 一意名1.
  02 データ名A   PIC X(8) VALUE 'IOAINIT '.
  02 データ名B   PIC X(5).
  02 FILLER      PIC X(3).
  02 データ名C   PIC S9(9) COMP VALUE ZERO.
 
01 一意名_IPARAM.                            /*INITパラメタ構造体 */
  02 データ名_RETURN_CODE   PIC X(1).        /*メインリターンコード */
  02 データ名_SUB_CODE      PIC X(1).        /*サブリターンコード */
  02 FILLER                 PIC X(6).        /*予備 */
  02 データ名_CNTL_FILE     PIC X(1024).     /*制御情報ファイル名 */
  02 データ名_UAPFNM        PIC X(27).       /*UAP履歴情報グループ名 */
  02 FILLER                 PIC X(5).        /*予備 */
  02 データ名_SQL_CODE      PIC S9(18) COMP. /*SQLCODE */
  02 データ名_ERR_INF_LEN   PIC S9(9) COMP.  /*障害情報長 */
  02 データ名_ERR_INF       PIC X(64).       /*障害情報 */
  02 FILLER                 PIC X(12).       /*予備 */
  02 データ名_FORC_PT   ADDRESS.         /*FORCパラメタ構造体アドレス */
  02 データ名_JSQ_PT    ADDRESS.         /*JSQパラメタ構造体アドレス */
  02 データ名_KIND_PT   ADDRESS.         /*KINDパラメタ構造体アドレス */
  02 データ名_PJCK_PT   ADDRESS.         /*PJCKパラメタ構造体アドレス */
  02 データ名_RANG_PT   ADDRESS.         /*RANGパラメタ構造体アドレス */
  02 FILLER   PIC X(8).                 /*予備 */
  02 データ名_UJST_PT   ADDRESS.        /*UJSTパラメタ構造体アドレス */
  02 FILLER   PIC X(16).                /*予備 */
  02 データ名_SYSTEM1   ADDRESS.        /*TP1/FSP使用領域1 */
  02 データ名_SYSTEM2   ADDRESS.        /*TP1/FSP使用領域2 */
  02 データ名_SYSTEM3   ADDRESS.        /*TP1/FSP使用領域3 */
  02 データ名_SYSTEM4   ADDRESS.        /*TP1/FSP使用領域4 */
  02 データ名_SYSTEM5   ADDRESS.        /*TP1/FSP使用領域5 */
  02 データ名_SYSTEM6   ADDRESS.        /*TP1/FSP使用領域6 */
  02 データ名_SYSTEM7   ADDRESS.        /*TP1/FSP使用領域7 */
  02 データ名_SYSTEM8   ADDRESS.        /*TP1/FSP使用領域8 */
  02 データ名_SYSTEM9   ADDRESS.        /*TP1/FSP使用領域9 */
  02 データ名_SYSTEM10  ADDRESS.        /*TP1/FSP使用領域10 */
  02 FILLER   PIC X(256).               /*予備 */
 
01 一意名_FORC.                         /*FORCパラメタ構造体 */
  02 データ名_REQ_CODE   PIC X(1).      /*要求コード */
  02 FILLER              PIC X(71).     /*予備 */
 
01 一意名_JSQ.                              /*JSQパラメタ構造体 */
  02 データ名_START_JSQ   PIC S9(9) COMP.   /*開始世代番号 */
  02 データ名_END_JSQ     PIC S9(9) COMP.   /*終了世代番号 */
  02 FILLER               PIC X(64).        /*予備 */
 
01 一意名_KIND.                               /*KINDパラメタ構造体 */
  02 データ名_KIND_ENTRY_NUM   PIC S9(9) COMP. /*履歴情報種別のエントリ数 */
  02 データ名_KIND             PIC X(6).      /*履歴情報種別 */
  02 FILLER                    PIC X(70).     /*予備 */
 
01 一意名_PJCK.                               /*PJCKパラメタ構造体 */
  02 データ名_REQ_CODE   PIC X(1).            /*要求コード */
  02 FILLER              PIC X(71).           /*予備 */
 
01 一意名_RANG.                                  /*RANGパラメタ構造体 */
  02 データ名_START_BLOCK_NO   PIC S9(18) COMP.  /*開始累積データ通番 */
  02 データ名_END_BLOCK_NO     PIC S9(18) COMP.  /*終了累積データ通番 */
  02 FILLER                    PIC X(88).        /*予備 */
 
01 一意名_UJST.                          /*UJSTパラメタ構造体 */
  02 データ名_REQ_CODE      PIC X(1).    /*要求コード */
  02 データ名_STATUS_CODE   PIC X(1).    /*状態コード */
  02 FILLER                 PIC X(70).   /*予備 */
機能

INIT要求を行います。

本関数の発行可否は,「1.6.2 データ抽出ユティリティ用ライブラリ関数」の「APIの発行手順」を参照してください。

INIT要求には,次のパラメタを設定できます。各パラメタは省略できます。

  • FORCパラメタ:強制実行指定

  • JSQパラメタ:世代番号による検索範囲の指定

  • KINDパラメタ:履歴情報種別の指定

  • PJCKパラメタ:現用の取得用履歴情報表の入力可否要求指定

  • RANGパラメタ:累積データ通番による検索範囲の指定

  • UJSTパラメタ:現用有無の取得要求指定

    図1‒41 INITパラメタのフォーマット

    [図データ]

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

データ名A

INIT要求を示す要求コードを「VALUE 'IOAINIT△'」と設定します。

データ名C

0を設定します。

一意名_IPARAM

INIT要求を規定したINITパラメタ構造体のアドレスを設定します。

  • 制御情報ファイル名

    データ抽出ユティリティを実行するための制御情報を規定したファイルのパス名を,1から1,023バイト以内で設定します。文字列の最後には,空白を設定してください。この空白は文字列の長さに数えません。ファイルのパス名に空白を含むパス名は指定できません。制御情報ファイル名は必ず設定してください。

    制御情報ファイルに規定した情報を使用して入力を行います。制御情報ファイルの詳細は,「1.6.2(7) 制御情報ファイル」を参照してください。

  • UAP履歴情報グループ名

    入力元のUAP履歴情報グループ名を,1から26バイト以内の英大識別子で設定します。文字列の最後には,空白を設定します。この空白は文字列の長さに数えません。UAP履歴情報グループ名は必ず設定してください。

  • FORCパラメタ構造体アドレス

    FORCパラメタを規定したFORCパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,強制実行を行うことができます。

    本パラメタの設定を省略すると,強制実行を行いません。

    ・要求コード

     強制実行要求を次のどちらかで設定します。

      'Y':強制実行します。

      'N':強制実行しません。

  • JSQパラメタ構造体アドレス

    JSQパラメタを規定したJSQパラメタ構造体のアドレスを設定します。本パラメタでは開始世代番号と終了世代番号を設定できます。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,開始世代番号から終了世代番号までのUAP履歴情報を入力します。開始世代番号と終了世代番号の設定有無による検索範囲を次の表に示します。

    本パラメタの設定を省略すると,開始世代番号と終了世代番号の両方を省略した場合と同様の検索範囲でUAP履歴情報を入力します。

    表1‒69 開始世代番号と終了世代番号の設定有無による検索範囲

    項番

    開始世代番号

    設定有無

    終了世代番号

    設定有無

    開始と終了の大小関係

    検索範囲

    1

    G1≦G2

    G1≦G≦G2

    2

    G1>G2

    エラー

    3

    ×

    G1≦G≦0x7FFFFFFF

    4

    ×

    GX≦G2

    GX≦G≦G2

    5

    GX>G2

    エラー

    6

    ×

    ×

    GX≦G≦0x7FFFFFFF

    (凡例)

    ○:設定あり

    ×:設定なし

    −:該当しません

    G1:開始世代番号設定値

    G2:終了世代番号設定値

    G:検索範囲

    GX:制御ファイルのTABLE文のUAPTBLを省略した場合:

     検索対象のルート世代番号と一致する履歴情報表の中で最小の世代番号

    制御ファイルのTABLE文のUAPTBLを指定した場合:

     検索対象のルート世代番号と一致するUAPTBLに指定した履歴情報表の中で最小の世代番号

    注※

     制御ファイルのTABLE文については,「1.6.2(7)(d) TABLE文」を参照してください。

  • 開始世代番号

    検索を開始する世代番号を0x00000001(1)から0x7FFFFFFF(2147483647)までの範囲で設定します。開始世代番号を省略する場合,0xFFFFFFFF(-1)を設定します。

  • 終了世代番号

    検索を終了する世代番号を0x00000001(1)から0x7FFFFFFF(2147483647)までの範囲で設定します。終了世代番号を省略する場合,0xFFFFFFFF(-1)を設定します。

  • KINDパラメタ構造体アドレス

    KINDパラメタを規定したKINDパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,設定した履歴情報種別のUAP履歴情報だけを入力します。

    本パラメタの設定を省略すると,すべての履歴情報種別のUAP履歴情報を入力します。

 
  • 履歴情報種別のエントリ数

    履歴情報種別のエントリ数を0から3までの範囲で設定します。すべての履歴情報種別を入力対象としたい場合,0を設定します。

  • 履歴情報種別

    履歴情報種別のエントリ数に0を設定した場合,設定値は無視されます。履歴情報種別のエントリ数に1以上を設定した場合,入力対象とする履歴情報種別を次の2文字で設定します。文字列の最後には,空白を設定する必要はありません。複数の履歴情報種別を設定する場合は図1-42のように先頭から順に設定します。図1-43のように同じ履歴情報種別を設定することはできません。

    'UJ':ユーザデータ(UJ)

    'IJ':入力データ(IJ)

    'OJ':出力データ(OJ)

    図1‒42 履歴情報種別の設定例

    [図データ]

    図1‒43 履歴情報種別の間違った設定

    [図データ]

  • PJCKパラメタ構造体アドレス

    PJCKパラメタを規定したPJCKパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,現用の履歴情報表を入力対象にするかどうかを指定できます。現用の履歴情報表を入力対象にしない場合,現用の履歴情報表に対してGET要求を実行すると,終端(メインリターンコード'F',サブリターンコード'V')を入力します。

    本パラメタの設定を省略すると,PJCKパラメタの要求コードに'Y'を設定した場合と同様に動作します。

    入力対象がリロード用履歴情報表の場合,本パラメタの指定値に関係なく,指定したすべてのリロード用履歴情報表が入力対象となります。

    ・要求コード

     現用の履歴情報表を入力するかどうかの要求を次のどちらかで設定します。

      'Y':現用の履歴情報表を入力対象にしません。

      'U':現用の履歴情報表を入力対象にします。

  • RANGパラメタ構造体アドレス

    RANGパラメタを規定したRANGパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。本パラメタでは開始累積データ通番と終了累積データ通番を設定できます。

    本パラメタを設定すると,開始累積データ通番から終了累積通番までの範囲に合致するUAP履歴情報を入力します。また,開始累積データ通番と終了累積データ通番の設定有無による検索範囲を次の表に示します。

    本パラメタの設定を省略すると,開始累積データ通番,終了累積データ通番のすべてを省略した場合と同様の検索範囲でUAP履歴情報を入力します。

    表1‒70 開始累積データ通番と終了累積データ通番の設定有無による検索範囲

    項番

    開始累積データ通番

    設定有無

    終了累積データ通番

    設定有無

    開始と終了

    の大小関係

    検索範囲

    1

    S1≦S2

    S1≦S≦S2

    2

    S1>S2

    エラー

    3

    ×

    S1≦S≦0x700000000098967F

    4

    ×

    SX≦S2

    SX≦S≦S2

    5

    SX>S2

    エラー

    6

    ×

    ×

    SX≦S

    (凡例)

    ○:設定あり

    ×:設定なし

    −:該当しません

    S1:開始累積データ通番設定値

    S2:終了累積データ通番設定値

    S :検索範囲

    SX:検索対象のルート世代番号での開始世代番号の履歴情報表の最小累積データ通番

    注※

     開始世代番号の決定については,「表1-69 開始世代番号と終了世代番号の設定有無による検索範囲」を参照してください。

 
  • 開始累積データ通番

    検索を開始する累積データ通番を0x0000000000000001(1)から0x700000000098967F(8070450532257928831)までの範囲で設定します。開始累積データ通番を省略する場合,0xFFFFFFFFFFFFFFFF(-1)を設定します。

  • 終了累積データ通番

    検索を終了する累積データ通番を0x0000000000000001(1)から0x700000000098967F(8070450532257928831)までの範囲で設定します。終了累積データ通番を省略する場合,0xFFFFFFFFFFFFFFFF(-1)を設定します。

  • UJSTパラメタ構造体アドレス

    UJSTパラメタを規定したUJSTパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,最初に入力する履歴情報表が現用であるかどうかを本パラメタの状態コードに取得できます。現用有無の取得は,INIT要求時に行うため,そのあとのGET要求やTERM要求時に現用の有無が変化しても状態コードの値は変わりません。

    本パラメタの設定を省略,または入力対象がリロード用履歴情報表の場合,現用有無の取得を行いません。

    ・要求コード

     現用有無の取得を行う要求を次のどちらかで設定します。

      'Y':現用有無の取得を行います。

      'N':現用有無の取得を行いません。

  • TP1/FSP使用領域1〜10

    ZEROを設定します。

データ抽出ユティリティから値が返されるデータ領域

一意名_IPARAM
  • メインリターンコード,サブリターンコード

    処理結果はメインリターンコードとサブリターンコードに通知します。INIT要求の処理結果コードを次の表に示します。

    ステータスコード00901,リターン値EETRNER_ARGUMENTの場合,エラーの内容によっては,メインリターンコードとサブリターンコードは設定されません。

    表1‒71 INIT要求の処理結果コード

    項番

    リターンコード

    サブリターンコード

    意味

    ステータスコード

    リターン値

    1

    'N'

    '△'

    正常に終了しました。

    00000

    EE_OK

    2

    'B'

    '△'

    処理中に,次の要求が来ました。

    00941

    EETRNER_CONDITION

    3

    'D'

    'E'

    処理対象の履歴情報表を決定できませんでした※1

    00941

    EETRNER_CONDITION

    4

    'J'

    指定された世代番号の履歴情報表が存在しません。または,開始世代番号を決定できませんでした※2

    PJ管理表に退避した世代番号と連続性のある履歴情報表が存在しません。

    00941

    EETRNER_CONDITION

    5

    'E'

    '△'

    予期しないパラメタを指定しました。またはパラメタのフォーマットが不正です。INIT要求の発行順序に誤りがあります。

    00941

    EETRNER_CONDITION

    6

    'E'

    内部関数でエラーが発生しました。

    00957

    EETRNER_INVALID

    7

    'O'

    'G'

    UAP履歴情報のバッファリングに失敗しました。

    00951

    EETRNER_MEMORY_SHORT

    8

    '1'

    UAP履歴情報グループ配下にUAP履歴情報がありません。または,指定された履歴情報表がUAP履歴情報グループ配下にありません。

    最新のルート世代が決定できませんでした※3

    00941

    EETRNER_CONDITION

    9

    '2'

    指定されたルート世代,または最新のルート世代のUAP履歴情報がありません。PJ管理表に退避したルート世代のUAP履歴情報がありません。

    00941

    EETRNER_CONDITION

    10

    'P'

    'A'

    UAP履歴情報グループ名の指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    11

    'E'

    環境変数EETRNIOALOGCMODEの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    12

    'G'

    RANGパラメタの指定に誤りがあります※4

    00901

    EETRNER_ARGUMENT

    13

    'J'

    JSQパラメタの指定に誤りがあります※4

    00901

    EETRNER_ARGUMENT

    14

    'K'

    KINDパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    15

    'L'

    BLKNパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    16

    'M'

    TBLTYPEパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    17

    'N'

    PJIDパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    18

    'P'

    PJCKパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    19

    'Q'

    FORCパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    20

    'S'

    SRVパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    21

    'W'

    UJSTパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    22

    'Z'

    制御情報ファイル名の指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    23

    '2'

    RJSQパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    24

    '6'

    環境変数グループ名に誤りがあります。

    00901

    EETRNER_ARGUMENT

    25

    '7'

    INTVパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    26

    '8'

    環境変数EETRNIOALOGDIRの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    27

    '△'

    システム使用領域に不当な値を設定しました。または,制御情報ファイル解析中に次のエラーが発生しました。

    • 制御情報ファイルのアクセス失敗

    • 制御情報ファイルに構文不正

    • 領域確保失敗

    00901

    EETRNER_ARGUMENT

    28

    'T'

    'G'

    作業領域の確保に失敗しました。

    00951

    EETRNER_MEMORY_SHORT

    29

    'L'

    履歴情報表名の指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    30

    'C'

    '△'

    データベースへのアクセスに失敗しました※5

    00954

    EETRNER_SQL_ERROR

    31

    'L'

    'I'

    TP1/FSPが正しくインストールされていません。

    00941

    EETRNER_CONDITION

    32

    'S'

    拡張SYSLOGライブラリルーチンのローディングに失敗しました。

    00941

    EETRNER_CONDITION

    33

    'U'

    オンライン環境下(TP1/EEのUAP)からは,この機能は使用できません。

    00941

    EETRNER_CONDITION

    34

    'W'

    'E'

    PJ突き合わせ表が存在しません。または,

    PJ突き合わせ表の構造不正を検知しました。

    00954

    EETRNER_SQL_ERROR

    35

    'G'

    PJ突き合わせ表を使用するための作業領域の確保に失敗しました。

    00951

    EETRNER_MEMORY_SHORT

    36

    'I'

    PJ突き合わせ表のアクセスエラーを検知しました。

    00954

    EETRNER_SQL_ERROR

    37

    'L'

    UAP履歴情報グループの最大履歴情報長とPJ引き継ぎ情報の最大履歴情報長が不一致です。

    00941

    EETRNER_CONDITION

    38

    'A'

    'E'

    PJ管理表が存在しません。または,PJ管理表の構造不正を検知しました。

    00954

    EETRNER_SQL_ERROR

    39

    'I'

    PJ管理表のアクセスエラーを検知しました。

    00954

    EETRNER_SQL_ERROR

    (凡例)

    △:1文字の空白

    注※1

    次の原因が考えられます。

    ・RANGパラメタで指定した開始累積データ通番を履歴情報表から検出できません。

    ・PJCKパラメタに'Y'指定時,処理を開始しようとする世代番号の履歴情報表は,オンラインで現用として使用中です。

    ・履歴情報表にUAP履歴情報がないため,開始累積データ通番を決定できませんでした。

    ・PJ管理表に退避した再開情報は,すでに終了世代番号の履歴情報表の最終UAP履歴情報まで読み込み済みであるため,処理を再開できません。

    ・PJ管理表に退避した再開情報は,すでに終了累積データ通番のUAP履歴情報まで読み込み済みであるため,処理を再開できません。

    ・PJ管理表に退避した累積データ通番と連続性のあるUAP履歴情報がありません。

    注※2

    次の原因が考えられます。

    ・ルート世代番号の全履歴情報表の世代番号が,JSQパラメタで指定した終了世代番号を超えています。

    ・ルート世代番号の全履歴情報表の世代番号が0または不正です。

    注※3

    次の原因が考えられます。

    ・割り当てた全履歴情報表のルート世代番号が不正です。

    注※4

    次のようなラップを考慮した検索条件を設定することはできません。

    設定する必要がある場合は,INIT要求の注意事項を参照してください。

    ・JSQパラメタの場合,開始世代番号>終了世代番号と設定しました。

    ・RANGパラメタの場合,開始累積データ通番>終了累積データ通番と設定しました。

    注※5

    次の原因が考えられます。

    ・グループ管理表,または履歴情報表の構造が不正です。

    ・SQLエラーを検知しました。

    ・指定されたグループ管理表,または履歴情報表が存在しません。

SQLCODE

表へのアクセスに失敗した場合,そのときのSQLCODEを設定します。

障害情報長

障害情報の長さを0から63までの範囲で設定します。障害情報がない場合,0を設定します。

障害情報

表へのアクセスに失敗した場合,そのときの障害情報を設定します。

  • 表名

障害情報の最後にはヌル文字(0x00)を設定します。

障害情報長が0のとき,障害情報を設定しないため,参照しないでください。

UJSTパラメタ構造体アドレス

入力対象が取得用履歴情報表で要求コードに'Y'を設定している場合は,UJSTパラメタ構造体に次の情報を設定します。情報はステータスコードが00000のときだけ設定します。

  • 状態コード

    現用の履歴情報表の有無を示す状態コードを設定します。設定する状態コードを次に示します。

    'N' :現用の履歴情報表が入力対象に含まれません。

    'O' :現用の履歴情報表が入力対象に含まれます。

ステータスコード

データ名B

ステータスコードが,5桁の数字で返されます。

リターン値

意味

00000

正常に終了しました。

00901

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

00941

発行条件が不正です。

00951

メモリが不足しました。

00954

SQL実行時にエラーが発生しました。

00957

内部関数でエラーが発生しました。

指定例

RANGパラメタを使用する場合のINIT要求の指定例を次に示します。

      *   サンプルヘッダ取り込み
       COPY EETRNIOA.
 
      *   初期化
       INITIALIZE EETRN-IOAINIT_IPARAM
                  EETRN-IOAINIT_RANG.
 
      *   設定
      **   制御情報ファイル名
       MOVE '/opt/OpenTP1/examples/tp1ee/conf/eetrnioa_smpl.conf' TO
            EETRN-IOAINIT_CNTL_FILE.
      **   UAP履歴情報グループ名
       MOVE 'IOA' TO EETRN-IOAINIT_UAPFNM.
      **    RANGパラメタ構造体アドレス
       COMPUTE EETRN-IOAINIT_RANG_PT = FUNCTION ADDR(EETRN-IOAINIT_RANG).
      **   開始累積データ通番
       MOVE 2 TO EETRN-IOAINIT_START_BLOCK_NO.
      **   終了累積データ通番
       MOVE 10 TO EETRN-IOAINIT_END_BLOCK_NO.
 
      *   INIT要求
       CALL 'CBLEETRN' USING EETRN-IOAINIT-ARG EETRN-IOAINIT_IPARAM.
注意事項
  • 検索範囲が終端(EOF,EOR,EOT)を超えていた場合,検索範囲に関係なく入力は終了します。

  • 検索範囲に指定できる次の値はラップするおそれがあります。

    ・世代番号(最小値0x00000001,最大値0x7FFFFFFF)

    ・累積データ通番(最小値0x0000000000000001,最大値0x700000000098967F)

    しかし,検索開始値と検索終了値が最大値をまたがるようなラップを考慮した検索範囲を指定することはできません。ラップを考慮した検索をしたい場合は,検索開始値〜最大値,最小値〜検索終了値の2回に分けてデータ抽出ユティリティを実行する必要があります。

    例えば,世代番号の0x7FFFFFEFから0x00000010までを検索したい場合は,次のように2回に分けてデータ抽出ユティリティを実行する必要があります。開始世代番号0x7FFFFFEF,終了世代番号0x00000010のように指定することはできません。

     1回目:開始世代番号0x7FFFFFEF,終了世代番号0x7FFFFFFF(最大値)

     2回目:開始世代番号0x00000001(最小値),終了世代番号0x00000010

  • 各パラメタ構造体の予備はゼロクリアしてください。

  • PJ引き継ぎ情報の再開情報を使用する条件と,再開情報を使用するときのINIT要求での各パラメタの変更可否について次の図に示します。PJ引き継ぎ情報の再開情報を使用する条件については表1-72に,再開情報を使用するときのINIT要求での各パラメタの変更可否については表1-73に示します。

    図1‒44 再開情報を使用する条件と再開時のパラメタ変更可否の関係

    [図データ]

    表1‒72 再開情報の使用条件

    項番

    パラメタ

    PJ引き継ぎ情報の再開情報

    再開情報の使用

    PJID

    FORC

    1

    指定なし

    使用しない

    2

    指定あり

    'Y'

    使用しない

    3

    'N'

    なし

    使用しない

    4

    あり

    使用する

    (凡例)

    −:該当しません

    表1‒73 再開情報を使用するときのINIT要求での各パラメタの変更可否

    項番

    パラメタ

    変更可否

    1

    INIT要求

    制御情報ファイル名

    2

    UAP履歴情報グループ名

    ×

    3

    FORCパラメタ

    (現用状態の履歴情報表を読み込むかどうか)

    ×

    4

    JSQパラメタ

    開始世代番号

    ×

    5

    終了世代番号

    ×

    6

    KINDパラメタ

    ×

    7

    PJCKパラメタ

    ×

    8

    RANGパラメタ

    開始累積データ通番

    ×

    9

    終了累積データ通番

    ×

    10

    UJSTパラメタ

    11

    制御情報ファイル

    PJIDパラメタ

    12

    CNCTHDLパラメタ

    13

    BLKNパラメタ

    14

    INTVパラメタ

    15

    RJSQパラメタ

    ×

    16

    TBLTYPEパラメタ

    17

    UAPTBLパラメタ

    (凡例)

    ○:変更可能

    ×:変更不可(INIT要求の指定値は無視する)

(5) CBLEETRN('IOAGET ')(トランザクション制御(COBOL言語))

名称

GET要求

形式
PROCEDURE DIVISIONの指定
CALL 'CBLEETRN' USING 一意名1 一意名_GPARAM
 
DATA DIVISIONの指定
01 一意名1.
  02 データ名A   PIC X(8) VALUE 'IOAGET  '.
  02 データ名B   PIC X(5).
  02 FILLER       PIC X(3).
  02 データ名C   PIC S9(9) COMP VALUE ZERO.
 
01 一意名_GPARAM.   /*GETパラメタ構造体 */
  02 データ名_RETURN_CODE   PIC X(1).          /*メインリターンコード */
  02 データ名_SUB_CODE      PIC X(1).          /*サブリターンコード */
  02 FILLER                 PIC X(6).          /*予備 */
  02 データ名_SQL_CODE      PIC S9(18) COMP.   /*SQLCODE */
  02 データ名_ERR_INF_LEN   PIC S9(9) COMP.    /*障害情報長 */
  02 データ名_ERR_INF       PIC X(64).  /*障害情報 */
  02 FILLER                 PIC X(4).   /*予備 */
  02 データ名_RTN_PT        ADDRESS.    /*RTNパラメタ構造体アドレス */
  02 データ名_SET_PT        ADDRESS.    /*SETパラメタ構造体アドレス */
  02 データ名_USER_PT       ADDRESS.    /*USERパラメタ構造体アドレス */
  02 データ名_SYSTEM1       ADDRESS.    /*TP1/FSP使用領域1   */
  02 FILLER                 PIC X(248). /*予備 */
 
01 一意名_RTN.                                   /*RTNパラメタ構造体 */
  02 データ名_BLOCK_NO           PIC S9(18) COMP.  /*累積データ通番 */
  02 データ名_JSQ                PIC S9(9) COMP.   /*世代番号 */
  02 データ名_ROOT_JSQ           PIC S9(9) COMP.   /*ルート世代番号 */
  02 データ名_RUN_ID             PIC 9(9) COMP-X.  /*ランID */
  02 データ名_PROC_NO            PIC 9(9) COMP-X.  /*中央処理通番 */
  02 データ名_NODE_ID            PIC X(4).         /*ノード識別子 */
  02 データ名_SERVICE_NAME_LEN   PIC S9(9) COMP.   /*サービス名長 */
  02 データ名_SERVICE_NAME       PIC X(32).        /*サービス名 */
  02 データ名_DATE               PIC X(8).         /*取得年月日 */
  02 データ名_TIME               PIC X(6).         /*取得時刻 */
  02 FILLER                      PIC X(2).         /*予備 */
  02 データ名_ORDER              PIC S9(9) COMP.   /*取得順序 */
  02 FILLER                      PIC X(68).        /*予備 */
 
01 一意名_SET.   /*SETパラメタ構造体   */
  02 データ名_DATA_AREA_LEN  PIC S9(9) COMP. /*UAP履歴情報格納エリア長 */
  02 データ名_DATA_LEN       PIC S9(9) COMP. /*UAP履歴情報長 */
  02 データ名_DATA_AREA_PT   ADDRESS.        /*UAP履歴情報格納エリア */
                                             /*アドレス */
  02 FILLER                  PIC X(64).      /*予備 */
 
01 一意名_USER.                            /*USERパラメタ構造体 */
  02 データ名_DATA_AREA_LEN  PIC S9(9) COMP. /*ユーザプログラム引き継ぎ */
                                           /*情報格納エリア長 */
  02 データ名_DATA_LEN       PIC S9(9) COMP. /*ユーザプログラム引き継ぎ */
                                           /*情報長 */
  02 データ名_DATA_AREA_PT  ADDRESS.      /*ユーザプログラム引き継ぎ */
                                          /*情報格納エリアアドレス */
  02 FILLER                 PIC X(64).    /*予備 */
機能

GET要求を行います。

本関数の発行可否は,「1.6.2 データ抽出ユティリティ用ライブラリ関数」の「APIの発行手順」を参照してください。

GET要求には,次のパラメタを設定できます。各パラメタは省略できます。

  • RTNパラメタ:UAP履歴情報の関連情報取得要求指定

  • SETパラメタ:UAP履歴情報の取得要求指定

  • USERパラメタ:ユーザプログラム引き継ぎ情報の取得要求指定

    図1‒45 GETパラメタのフォーマット

    [図データ]

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

データ名A

GET要求を示す要求コードを「VALUE 'IOAGET△△'」と設定します。

データ名C

0を設定します。

一意名_GPARAM

GET要求を規定したGETパラメタ構造体のアドレスを設定します。

  • RTNパラメタ構造体アドレス

    RTNパラメタを規定したRTNパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,次に示すUAP履歴情報の関連情報をRTNパラメタ構造体に取得できます。

    ・累積データ通番

    ・世代番号

    ・ルート世代番号

    ・ランID

    ・中央処理通番

    ・ノード識別子

    ・サービス名

    ・取得年月日

    ・取得時刻

    ・取得順序

    本パラメタの設定を省略すると,UAP履歴情報の関連情報は取得しません。

  • SETパラメタ構造体アドレス

    SETパラメタを規定したSETパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,UAP履歴情報をSETパラメタ構造体に取得できます。ただし,設定したUAP履歴情報格納エリア長よりも大きなUAP履歴情報が現れた場合,設定されたエリア長分のUAP履歴情報を設定し,エラーリターンします。

    本パラメタの設定を省略すると,UAP履歴情報は取得しません。

 
  • UAP履歴情報格納エリアアドレス

    入力したUAP履歴情報を格納するエリアのアドレスを設定します。UAP履歴情報の設定形式を次の図に示します。

  • UAP履歴情報格納エリア長

    UAP履歴情報を格納するエリア長を41以上の値で設定します。

    図1‒46 UAP履歴情報の設定形式

    [図データ]

  • USERパラメタ構造体アドレス

    USERパラメタを規定したUSERパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,TERM要求で退避したユーザプログラム引き継ぎ情報をUSERパラメタ構造体に取得できます。ただし,ユーザプログラム引き継ぎ情報格納エリア長よりも退避したユーザプログラム引き継ぎ情報長が大きい場合,設定したエリア長分だけユーザプログラム引き継ぎ情報を設定し,エラーリターンします。

    本パラメタの設定を省略すると,ユーザプログラム引き継ぎ情報は取得しません。

 
  • ユーザプログラム引き継ぎ情報格納エリアアドレス

    取得するユーザプログラム引き継ぎ情報を格納するエリアのアドレスを設定します。ユーザプログラム引き継ぎ情報の設定形式を次の図に示します。

  • ユーザプログラム引き継ぎ情報格納エリア長

    ユーザプログラム引き継ぎ情報の格納エリア長を1以上の値で設定します。

    図1‒47 ユーザプログラム引き継ぎ情報の設定形式

    [図データ]

  • TP1/FSP使用領域1

    ZEROを設定します。

データ抽出ユティリティから値が返されるデータ領域

一意名_GPARAM
  • メインリターンコード,サブリターンコード

    処理結果はメインリターンコードとサブリターンコードに通知します。GET要求の処理結果コードを次の表に示します。

    ステータスコード00901,リターン値EETRNER_ARGUMENTの場合,エラーの内容によっては,メインリターンコードとサブリターンコードは設定されません。

    表1‒74 GET要求の処理結果コード

    項番

    メインリターンコード

    サブリターンコード

    意味

    ステータスコード

    リターン値

    1

    'N'

    'D'

    PJなしのUAP履歴情報で,該当するトランザクション(中央処理通番)に後続するUAP履歴情報があります。

    00000

    EE_OK

    2

    'E'

    PJなしのUAP履歴情報で,該当するトランザクション(中央処理通番)に後続するUAP履歴情報がありません。

    00000

    EE_OK

    3

    'J'

    PJありのUAP履歴情報で,該当するトランザクション(中央処理通番)に後続するUAP履歴情報がありません。

    00000

    EE_OK

    4

    'P'

    PJありのUAP履歴情報で,該当するトランザクション(中央処理通番)に後続するUAP履歴情報があります。

    00000

    EE_OK

    5

    'B'

    '△'

    処理中に,次の要求が来ました。

    00941

    EETRNER_CONDITION

    6

    'E'

    '△'

    予期しないパラメタを指定しました。またはパラメタのフォーマットが不正です。GET要求の発行順序に誤りがあります。

    00941

    EETRNER_CONDITION

    7

    'E'

    内部関数でエラーが発生しました。

    00957

    EETRNER_INVALID

    8

    'F'

    '△'

    EOFを入力しました。

    00000

    EE_OK

    9

    'E'

    検索範囲指定で,最終のUAP履歴情報の処理を終了しました(EOR)。

    00000

    EE_OK

    10

    'V'

    最終の世代番号に対する処理を終了しました(EOT)。

    PJCKパラメタの要求コードに'U'設定時,GET要求したときの入力対象が現用の履歴情報表でした。

    00000

    EE_OK

    11

    'G'

    '△'

    作業領域の確保に失敗しました。

    00951

    EETRNER_MEMORY_SHORT

    12

    'P'

    'I'

    SETパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    13

    'W'

    USERパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    14

    '△'

    システム使用領域に不当な値を設定しました。

    00901

    EETRNER_ARGUMENT

    15

    'I'

    'P'

    UAP履歴情報の格納エリアがUAP履歴情報より小さいです。

    00956

    EETRNER_OVERFLOW

    16

    'C'

    '△'

    データベースへのアクセスに失敗しました

    00954

    EETRNER_SQL_ERROR

    17

    'W'

    'E'

    PJ突き合わせ表が存在しません。または,

    PJ突き合わせ表の構造不正を検知しました。

    00954

    EETRNER_SQL_ERROR

    18

    'G'

    PJ突き合わせ表を使用するための作業領域の確保に失敗しました。

    00951

    EETRNER_MEMORY_SHORT

    19

    'I'

    PJ突き合わせ表のアクセスエラーを検知しました。

    00954

    EETRNER_SQL_ERROR

    20

    'P'

    ユーザプログラム引き継ぎ情報の格納エリアが退避したユーザプログラム引き継ぎ情報より小さいです。

    00956

    EETRNER_OVERFLOW

    21

    'X'

    PJ引き継ぎ情報の引き継ぎ履歴情報数が少ないです。

    00956

    EETRNER_OVERFLOW

    22

    'A'

    'E'

    PJ管理表が存在しません。または,PJ管理表の構造不正を検知しました。

    00954

    EETRNER_SQL_ERROR

    23

    'I'

    PJ管理表のアクセスエラーを検知しました。

    00954

    EETRNER_SQL_ERROR

    (凡例)

    △:1文字の空白

    注※

    次の原因が考えられます。

    ・グループ管理表,または履歴情報表の構造が不正です。

    ・SQLエラーを検知しました。

    ・指定されたグループ管理表,または履歴情報表が存在しません。

  • SQLCODE

    表へのアクセスに失敗した場合,そのときのSQLCODEを設定します。

  • 障害情報長

    障害情報の長さを0から63までの範囲で設定します。障害情報がない場合,0を設定します。

  • 障害情報

    表へのアクセスに失敗した場合,そのときの障害情報を設定します。

    ・表名

    障害情報の最後にはヌル文字(0x00)を設定します。

    障害情報長が0のとき,障害情報を設定しないため,参照しないでください。

  • RTNパラメタ構造体アドレス

    RTNパラメタ構造体に次の情報を設定します。情報はステータスコードが00000,かつメインリターンコードが'N'のときだけ設定します。

    UAP履歴情報が複数の行に分割されていた場合,先頭の行の情報を設定します。例えば,累積データ通番が1の行と2の行にUAP履歴情報が分割されていた場合,累積データ通番には,1を設定します。

 
  • 累積データ通番

    入力したUAP履歴情報の累積データ通番を設定します。

  • 世代番号

    入力したUAP履歴情報を格納していた履歴情報表の世代番号を設定します。

  • ルート世代番号

    入力したUAP履歴情報を取得したときのルート世代番号を設定します。

  • ランID

    入力したUAP履歴情報を取得したTP1/EEのランIDを設定します。

  • 中央処理通番

    入力したUAP履歴情報を取得したトランザクションの中央処理通番を設定します。

  • ノード識別子

    入力したUAP履歴情報を取得したTP1/EEのノード識別子を4バイトのアスキー文字列で設定します。文字列の最後にヌル文字(0x00)を設定しません。

  • サービス名長

    サービス名の長さを0から31までの範囲で設定します。サービス名がない(TP1/EEのエラートランザクションから取得したUAP履歴情報など)場合,0を設定します。

  • サービス名

    入力したUAP履歴情報を取得したTP1/EEのサービス名を1から31バイト以内のアスキー文字列で設定します。文字列の最後にはヌル文字(0x00)を設定します。

    サービス名長が0のとき,サービス名を設定しないため,参照しないでください。

  • 取得年月日

    入力したUAP履歴情報の取得年月日をYYYYMMDDの8バイトのアスキー文字列で設定します。

    YYYY:年(西暦)(0001≦YYYY≦9999)

    MM:月(01≦MM≦12)

    DD:日(01≦DD≦該当年月の最終日)

  • 取得時刻

    入力したUAP履歴情報の取得時刻をhhmmssの6バイトのアスキー文字列で設定します。

    hh:時(00≦hh≦23)

    mm:分(00≦mm≦59)

    ss:秒(00≦ss≦59)

    注※

    HiRDBのシステム共通定義pd_leap_secondオペランドでうるう秒を指定できるようにした場合,ssの範囲は(00≦ss≦61)です。

  • 取得順序

    UAP履歴情報の取得順序を1から32,767までの範囲で設定します。

  • SETパラメタ構造体アドレス

    SETパラメタ構造体に次の情報を設定します。情報はステータスコードが00000,かつメインリターンコードが'N'のときだけ設定します。

 
  • UAP履歴情報長

    入力したUAP履歴情報のサイズを41から9,437,184の範囲で設定します。

  • UAP履歴情報格納エリアアドレス

    設定されたアドレスにUAP履歴情報を設定します。UAP履歴情報の格納形式を次の図に示します。

    図1‒48 UAP履歴情報の格納形式

    [図データ]

  • USERパラメタ構造体アドレス

    USERパラメタ構造体に次の情報を設定します。情報はステータスコードが00000のときだけ設定します。

 
  • ユーザプログラム引き継ぎ情報長

    取得するユーザプログラム引き継ぎ情報長を0から4,000までの範囲で設定します。制御情報ファイルのPJIDパラメタを省略,またはユーザプログラム引き継ぎ情報が退避されていない場合,0を設定します。

  • ユーザプログラム引き継ぎ情報格納エリアアドレス

    設定されたアドレスにユーザプログラム引き継ぎ情報を設定します。ユーザプログラム引き継ぎ情報の格納形式を次の図に示します。

    図1‒49 ユーザプログラム引き継ぎ情報の格納形式

    [図データ]

ステータスコード

データ名B

ステータスコードが,5桁の数字で返されます。

リターン値

意味

00000

正常に終了しました。

00901

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

00941

発行条件が不正です。

00951

メモリが不足しました。

00954

SQL実行時にエラーが発生しました。

00956

ユーザプログラム引き継ぎ情報またはUAP履歴情報の格納エリアが小さい,またはPJ引き継ぎ情報の引き継ぎ履歴情報数が少ないです。

00957

内部関数でエラーが発生しました。

指定例

SETパラメタを使用する場合のGET要求の指定例を次に示します。

      *   ヘッダ取り込み
       COPY EETRNIOA.
 
      *   初期化
       INITIALIZE EETRN-IOAGET_GPARAM
                  EETRN-IOAGET_SET.
 
      *   設定
      **   SETパラメタ構造体アドレス
       COMPUTE EETRN-IOAGET_SET_PT = FUNCTION ADDR(EETRN-IOAGET_SET).
      **   UAP履歴情報格納エリア長
       MOVE 256 TO EETRN-IOAGET-S_DATA_AREA_LEN.
      **   UAP履歴情報格納エリアアドレス
       COMPUTE EETRN-IOAGET-S_DATA_AREA_PT = FUNCTION ADDR(SET-DATA).
 
     *   GET要求
       CALL 'CBLEETRN' USING EETRN-IOAGET-ARG EETRN-IOAGET_GPARAM.
注意事項
  • 各パラメタ構造体の予備はゼロクリアしてください。

  • 複数行に分割されたUAP履歴情報の一部が入力対象外に存在する場合,分割されたUAP履歴情報をGET要求で入力することはできません。例えば,累積データ通番が1の行と2の行にUAP履歴情報が分割されているとき,RANGパラメタの開始累積データ通番と終了累積データ通番に1を設定すると,分割されたUAP履歴情報を入力することはできません。

(6) CBLEETRN('IOATERM ')(トランザクション制御(COBOL言語))

名称

TERM要求

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEETRN' USING 一意名1 一意名_TPARAM
 
DATA DIVISIONの指定
01 一意名1.
  02 データ名A              PIC X(8) VALUE 'IOATERM '.
  02 データ名B              PIC X(5).
  02 FILLER                  PIC X(3).
  02 データ名C              PIC S9(9) COMP VALUE ZERO.
 
01 一意名_TPARAM.                              /*TERMパラメタ構造体 */
  02 データ名_RETURN_CODE    PIC X(1).         /*メインリターンコード */
  02 データ名_SUB_CODE       PIC X(1).         /*サブリターンコード */
  02 FILLER                  PIC X(6).         /*予備 */
  02 データ名_SQL_CODE       PIC S9(18) COMP.  /*SQLCODE */
  02 データ名_ERR_INF_LEN    PIC S9(9) COMP.   /*障害情報長 */
  02 データ名_ERR_INF        PIC X(64).        /*障害情報 */
  02 FILLER                  PIC X(4).         /*予備 */
  02 データ名_USER_PT        ADDRESS.   /*USERパラメタ構造体アドレス */
  02 FILLER                  PIC X(256).       /*予備 */
 
01 一意名_USER   /*USERパラメタ構造体 */
構造体の内容はCBLEETRN('IOAGET  ')参照
機能

TERM要求を行います。

本関数の発行可否は,「1.6.2 データ抽出ユティリティ用ライブラリ関数」の「APIの発行手順」を参照してください。

TERM要求には,次のパラメタを設定できます。

  • USERパラメタ:ユーザプログラム引き継ぎ情報の退避要求指定

    図1‒50 TERMパラメタのフォーマット

    [図データ]

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

データ名A

TERM要求を示す要求コードを「VALUE 'IOATERM△'」と設定します。

データ名C

0を設定します。

一意名_TPARAM

TERM要求を規定したTERMパラメタ構造体のアドレスを設定します。

  • USERパラメタ構造体アドレス

    USERパラメタを規定したUSERパラメタ構造体のアドレスを設定します。本パラメタを省略する場合は,ZEROを設定します。

    本パラメタを設定すると,設定したユーザプログラム引き継ぎ情報をPJ管理表に退避できます。ただし,次のどれかの場合は退避しません。

 
  • GET要求でEOFを入力後

  • 制御情報ファイルのPJIDパラメタを省略

    本パラメタの設定を省略すると,ユーザプログラム引き継ぎ情報をPJ管理表に退避しません。

    UAP履歴情報の入力を中断したい場合は,本パラメタを必ず設定してください。本パラメタを省略すると中断にはなりません。

    直前のGET要求でメインリターンコード'N',かつサブリターンコード'D','E',または'P'のときは,USERパラメタを設定しないでください。

  • ユーザプログラム引き継ぎ情報格納エリア長

    ユーザプログラム引き継ぎ情報の格納エリア長を1から4,000までの範囲で設定します。

  • ユーザプログラム引き継ぎ情報長

    退避するユーザプログラム引き継ぎ情報長を1から4,000までの範囲で設定します。先頭からユーザプログラム引き継ぎ情報長分退避します。ただし,ユーザプログラム引き継ぎ情報格納エリア長≧退避するユーザプログラム引き継ぎ情報長となるように設定してください。

  • ユーザプログラム引き継ぎ情報格納エリア

    ユーザプログラム引き継ぎ情報を格納したエリアアドレスを設定します。退避するユーザプログラム引き継ぎ情報の格納形式を次の図に示します。

    図1‒51 退避するユーザプログラム引き継ぎ情報の格納形式

    [図データ]

データ抽出ユティリティから値が返されるデータ領域

一意名_TPARAM
  • メインリターンコード,サブリターンコード

    処理結果はメインリターンコードとサブリターンコードに通知します。TERM要求の処理結果コードを次の表に示します。

    ステータスコード00901,リターン値EETRNER_ARGUMENTの場合,エラーの内容によっては,メインリターンコードとサブリターンコードは設定されません。

    表1‒75 TERM要求の処理結果コード

    項番

    メインリターンコード

    サブリターンコード

    意味

    ステータスコード

    リターン値

    1

    'N'

    '△'

    正常に終了しました。

    00000

    EE_OK

    2

    'B'

    '△'

    処理中に,次の要求が来ました。

    00941

    EETRNER_CONDITION

    3

    'E'

    '△'

    予期しないパラメタを指定しました。またはパラメタのフォーマットが不正です。TERM要求の発行順序に誤りがあります。

    00941

    EETRNER_CONDITION

    4

    'E'

    内部関数でエラーが発生しました。

    00957

    EETRNER_INVALID

    5

    'P'

    'W'

    USERパラメタの指定に誤りがあります。

    00901

    EETRNER_ARGUMENT

    6

    'C'

    '△'

    データベースへのアクセスに失敗しました

    00954

    EETRNER_SQL_ERROR

    7

    'W'

    'E'

    PJ突き合わせ表が存在しません。または,

    PJ突き合わせ表の構造不正を検知しました。

    00954

    EETRNER_SQL_ERROR

    8

    'G'

    PJ突き合わせ表を使用するための作業領域の確保に失敗しました。

    00951

    EETRNER_MEMORY_SHORT

    9

    'I'

    PJ突き合わせ表のアクセスエラーを検知しました。

    00954

    EETRNER_SQL_ERROR

    10

    'X'

    PJ引き継ぎ情報の引き継ぎ履歴情報数が少ないです。

    00956

    EETRNER_OVERFLOW

    11

    'A'

    'E'

    PJ管理表が存在しません。または,PJ管理表の構造不正を検知しました。

    00954

    EETRNER_SQL_ERROR

    12

    'I'

    PJ管理表のアクセスエラーを検知しました。

    00954

    EETRNER_SQL_ERROR

    (凡例)

    △:1文字の空白

    注※

    次の原因が考えられます。

    ・グループ管理表,または履歴情報表の構造が不正です。

    ・SQLエラーを検知しました。

    ・指定されたグループ管理表,または履歴情報表が存在しません。

SQLCODE

表へのアクセスに失敗した場合,そのときのSQLCODEを設定します。

障害情報長

障害情報の長さを0から63までの範囲で設定します。障害情報がない場合,0を設定します。

障害情報

表へのアクセスに失敗した場合,そのときの障害情報を設定します。

  • 表名

障害情報の最後にはヌル文字(0x00)を設定します。

障害情報長が0のとき,障害情報を設定しないため,参照しないでください。

ステータスコード

データ名B

ステータスコードが,5桁の数字で返されます。

リターン値

意味

00000

正常に終了しました。

00901

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

00941

発行条件が不正です。

00951

メモリが不足しました。

00954

SQL実行時にエラーが発生しました。

00956

PJ引き継ぎ情報の引き継ぎ履歴情報数が少ないです。

00957

内部関数でエラーが発生しました。

指定例

USERパラメタを使用する場合のTERM要求の指定例を次に示します。

      *   ヘッダ取り込み
       COPY EETRNIOA.
 
      *   初期化
       INITIALIZE EETRN-IOATERM_TPARAM
                  EETRN-IOATERM_USER USER-DATA.
 
      *   設定
      **   USERパラメタ構造体アドレス
       COMPUTE EETRN-IOATERM_USER_PT = FUNCTION ADDR(EETRN-IOATERM_USER).
      **   引き継ぎ情報格納エリア長
       MOVE 256 TO EETRN-IOATERM-U_DATA_AREA_LEN.
      **   引き継ぎ情報長
       MOVE 5 TO EETRN-IOATERM-U_DATA_LEN.
      **   引き継ぎ情報格納エリアアドレス
       COMPUTE EETRN-IOATERM-U_DATA_AREA_PT = FUNCTION ADDR(USER-DATA).
      **   引き継ぎ情報
       MOVE 'ABCDE' TO USER-DATA.
 
      *   TERM要求
       CALL 'CBLEETRN' USING EETRN-IOATERM-ARG EETRN-IOATERM_TPARAM.
注意事項
  • 各パラメタ構造体の予備はゼロクリアしてください。

(7) 制御情報ファイル

データ抽出ユティリティを実行するための制御情報を規定します。

(a) ファイルの記述形式

ファイルの記述形式については,マニュアル「TP1/Financial Service Platform 使用の手引」を参照してください。

(b) 制御文の文法

制御情報ファイルから,コメントや継続行を評価したあとの,制御文の文法を次に示します。

制御情報ファイル ::= 行  行*
 
行 ::= 制御文 | 空行
 
制御文 ::= 空白文字*  制御文識別子  スペース  パラメタ群
 
空白文字 ::= ' ' | '\t'
 
制御文識別子 ::= "CONTROL" | "TABLE"
 
スペース ::= 空白文字  空白文字*
 
パラメタ群 ::= パラメタ  区切り文字つきパラメタ*
 
パラメタ ::= 空白文字*  パラメタ識別子  空白文字*  '='  空白文字*  パラメタ値
 
パラメタ識別子 ::= "PJID" | "CNCTHDL" | "BLKN" | "INTV" 
| "RJSQ" | "TBLTYPE" | "UAPTBL"
 
区切り文字つきパラメタ ::= 空白文字*  ','  空白文字*  パラメタ
 
空行 ::= 空白文字*
注※

パラメタ値は,各パラメタ識別子ごとにフォーマットが異なります。各パラメタの説明で,「指定する文字列をシングルクォートやダブルクォートで囲むことができる」と記述しているものだけ,シングルクォートやダブルクォートを使うことができます。

(c) CONTROL文

データ抽出ユティリティの実行環境と入力するUAP履歴情報の検索条件を指定します。この制御文は省略不可です。この制御文は2つ以上指定できません。各パラメタは複数指定できません。

CONTROL [PJID=PJ引き継ぎ情報名]
        [,CNCTHDL=環境変数グループ名]
        [,BLKN=一括読み込みブロック数]
        [,INTV=読み込み実行間隔]
        [,RJSQ=ルート世代番号]
        [,TBLTYPE={ONLINE|RELOAD}]
PJID=PJ引き継ぎ情報名 〜〈1〜26文字の英大識別子〉

eeaphpjtblhコマンドの-pオプションで指定したPJ引き継ぎ情報名を指定します。

本パラメタを指定すると,次の機能を使用できます。

本パラメタの指定を省略すると,次の機能を使用できません。

テストやトラブルシュートを目的とする場合以外は,本パラメタを指定します。

  • 再開情報の引き継ぎ

  • UAP履歴情報の引き継ぎ

  • UAP履歴情報入力の中断

  • データ抽出ユティリティの強制実行

  • ユーザプログラム情報の引き継ぎ

CNCTHDL=環境変数グループ名 〜〈シングルクォートで囲んだ255文字以内のパス名〉

接続するHiRDBの環境変数(クライアント環境定義)を記述したファイル名を絶対パス名で指定します。HiRDBの環境変数を記述したファイルについては,マニュアル「HiRDB Version 9 UAP開発ガイド」の環境変数のグループ登録を参照してください。

環境変数グループ名を指定すると,ファイルに記述された環境変数を使用しHiRDBへの接続を行います。

環境変数グループ名の指定を省略すると,設定されているHiRDBの環境変数を使用してHiRDBに接続します。

BLKN=一括読み込みブロック数 〈符号なし整数〉((1〜256))《32》

履歴情報表から一括して読み込む行数を指定します。

INTV=読み込み実行間隔 〈符号なし整数〉((0〜100))《0》(単位:ミリ秒)

GET要求での履歴情報表からの読み込みの実行間隔を指定します。

オンライン性能に対する影響を軽減したいときには読み込み実行間隔に大きな値を指定します。

RJSQ=ルート世代番号 〈8桁の16進数〉((00000001〜7FFFFFFF))《最新のルート世代番号》

入力したい履歴情報表のルート世代番号を指定します。

本パラメタの指定を省略すると,入力対象が取得用履歴情報表の場合,最新のルート世代のUAP履歴情報を入力します。入力対象がリロード用の履歴情報表の場合,いちばん大きいルート世代のUAP履歴情報を入力します。

注※

TABLE文のUAPTBLを指定した場合,UAPTBL内に最新のルート世代と一致する履歴情報表がない場合は,メインリターンコード'O',サブリターンコード'2'でエラーリターンします。

TBLTYPE={ONLINE|RELOAD}

入力対象とする履歴情報表のタイプを次のどちらかで指定します。

また,本パラメタの指定値は,データ抽出ユティリティの実行ごとにパラメタ値が有効となります。

ONLINE:取得用履歴情報表を入力します。

RELOAD:リロード用履歴情報表を入力します。

(d) TABLE文

データ抽出ユティリティで使用する表について指定します。

この制御文は省略不可であり,2つ以上指定できません。

TABLE [UAPTBL=履歴情報表名]
      [,UAPTBL=履歴情報表名]
              :
UAPTBL=履歴情報表名 〈1〜26文字の英大識別子〉

入力対象となる履歴情報表名(取得用履歴情報表作成コマンド(eeaphtblh)の-tオプションに指定した履歴情報表名,またはリロード用履歴情報表作成コマンド(eeaphrtblh)で作成した履歴情報表の表名)を指定します。

入力対象がリロード用履歴情報表の場合,必ず指定します。

入力対象が取得用履歴情報表の場合,省略可能です。指定を省略するとINIT要求で指定したUAP履歴情報グループに存在する全履歴情報表の中で検索条件が一致する履歴情報表を入力対象とします。

1,000個まで指定できます。