Hitachi Multi Payment Network communications server for Biller

[目次][用語][索引][前へ][次へ]

5.2.1 作成手順

電文履歴格納用テーブルは,次の手順で作成します。なお,テーブルは,スキーマ定義権限を持ったユーザーが作成してください。

  1. RDエリアの容量を見積もる
    電文の格納に必要となるRDエリアの容量を見積もってください。RDエリアの容量の見積もり方法については,「付録A HiRDBのRDエリアの見積もり方法」を参照してください。
  2. RDエリアを作成する
    手順1で見積もった容量のRDエリアを作成してください。RDエリアの作成手順については,マニュアル「スケーラブルデータベースサーバ HiRDB システム運用ガイド」を参照してください。
  3. サンプルSQLファイル(HMPNH99999000.sql,HMPNH88888000.sql,またはHMPNH00400000.sql)を任意のディレクトリにコピーする
    サンプルSQLファイルは,次のディレクトリに格納されています。
    地方税地公体料金用
    (通信サーバfor Billerセットアップディレクトリ)/examples/sql/public/
    一般料金用
    (通信サーバfor Billerセットアップディレクトリ)/examples/sql/general/
    国庫金用
    (通信サーバfor Billerセットアップディレクトリ)/examples/sql/treasury/
  4. SQLファイルを編集する
    コピーしたSQLファイルを編集して,テーブル作成用SQLファイルを作成してください。
    SQLファイルの内容を次に示します。太字および下線で示している部分を次のとおりに編集してください。これ以外の部分は,編集しないでください。
    • 「MPNAREA」
      手順2で作成したRDエリア名を指定してください。
    • 「HMPNH99999000」,「HMPNH88888000」または「HMPNH00400000」
      収納機関コードを次の形式で指定してください。
      HMPNHyyyyyyyy

      (凡例)
      yyyyyyyy:収納機関コード

    • 「PAY_CLS」
      国庫金で収納機関コードが国税庁(00200000)の場合は,インデクス1に「PAY_CLS」を追加してください。
    SQLファイルの項目は,地方税・地公体料金用,一般料金用,および国庫金用で異なります。各ファイルの内容を次に示します。
    地方税地公体料金用
    /*======================================================================*/
    /* CREATE TABLE                                                         */
    /*======================================================================*/
    CREATE TABLE HMPNH99999000(
      BILLER_RTN_CODE CHAR(8),
      BILLER_MSG_ID   VARCHAR(48),
                :(中略)
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE UNIQUE INDEX                                                  */
    /*======================================================================*/
    CREATE UNIQUE INDEX HMPNH99999000_UIDX1 ON HMPNH99999000(
      BILLER_MSG_ID DESC,
      PROC_RESULT
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE INDEX                                                         */
    /*======================================================================*/
    CREATE INDEX HMPNH99999000_IDX1 ON HMPNH99999000(
      CUST_NO,
      CONF_NO,
      PAY_CLS
    ) IN MPNAREA;
     
    CREATE INDEX HMPNH99999000_IDX2 ON HMPNH99999000(
      SRC_CODE,
      SRC_PROCDATE,
      SRC_PROCNUM
    ) IN MPNAREA;
    一般料金用
    /*======================================================================*/
    /* CREATE TABLE                                                         */
    /*======================================================================*/
    CREATE TABLE HMPNH88888000(
      BILLER_RTN_CODE CHAR(8),
      BILLER_MSG_ID   VARCHAR(48),
                     :(中略)
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE UNIQUE INDEX                                                  */
    /*======================================================================*/
    CREATE UNIQUE INDEX HMPNH88888000_UIDX1 ON HMPNH88888000(
      BILLER_MSG_ID DESC,
      PROC_RESULT
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE INDEX                                                         */
    /*======================================================================*/
    CREATE INDEX HMPNH88888000_IDX1 ON HMPNH88888000(
      CUST_NO,
      CONF_NO
    ) IN MPNAREA;
     
    CREATE INDEX HMPNH88888000_IDX2 ON HMPNH88888000(
      SRC_CODE,
      SRC_PROCDATE,
      SRC_PROCNUM
    ) IN MPNAREA;
    国庫金用(収納機関コードが国税庁(00200000)の場合)
    /*======================================================================*/
    /* CREATE TABLE                                                         */
    /*======================================================================*/
    CREATE TABLE HMPNH00200000(
      BILLER_RTN_CODE CHAR(8),
      BILLER_MSG_ID   VARCHAR(48),
        : (中略)
      PROD_DATE       DATE NOT NULL WITH DEFAULT,
      PROD_TIME       TIME NOT NULL WITH DEFAULT
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE UNIQUE INDEX                                                  */
    /*======================================================================*/
    CREATE UNIQUE INDEX HMPNH00200000_UIDX1 ON HMPNH00200000(
      BILLER_MSG_ID DESC,
      PROC_RESULT
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE INDEX                                                         */
    /*======================================================================*/
    CREATE INDEX HMPNH00200000_IDX1 ON HMPNH00200000(
      CUST_NO,
      CONF_NO,
      PAY_CLS
    ) IN MPNAREA;
     
    CREATE INDEX HMPNH00200000_IDX2 ON HMPNH00200000(
      SRC_CODE,
      SRC_PROCDATE,
      SRC_PROCNUM
    ) IN MPNAREA;
    国庫金用(収納機関コードが国税庁(00200000)以外の場合)
    /*======================================================================*/
    /* CREATE TABLE                                                         */
    /*======================================================================*/
    CREATE TABLE HMPNH00400000(
      BILLER_RTN_CODE CHAR(8),
      BILLER_MSG_ID   VARCHAR(48),
        : (中略)
      PROD_DATE       DATE NOT NULL WITH DEFAULT,
      PROD_TIME       TIME NOT NULL WITH DEFAULT
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE UNIQUE INDEX                                                  */
    /*======================================================================*/
    CREATE UNIQUE INDEX HMPNH00400000_UIDX1 ON HMPNH00400000(
      BILLER_MSG_ID DESC,
      PROC_RESULT
    ) IN MPNAREA;
     
    /*======================================================================*/
    /* CREATE INDEX                                                         */
    /*======================================================================*/
    CREATE INDEX HMPNH00400000_IDX1 ON HMPNH00400000(
      CUST_NO,
      CONF_NO
    ) IN MPNAREA;
     
    CREATE INDEX HMPNH00400000_IDX2 ON HMPNH00400000(
      SRC_CODE,
      SRC_PROCDATE,
      SRC_PROCNUM
    ) IN MPNAREA;
  5. HiRDBのデータベース定義ユティリティ(pddef)を実行する
    次の形式で,データベース定義ユティリティを実行してください。引数には,手順4で作成したSQLファイル名を指定します。
    %pddef < 電文履歴格納用テーブル作成SQLファイル名
    データベース定義ユティリティの詳細については,マニュアル「スケーラブルデータベースサーバ HiRDB コマンドリファレンス」を参照してください。