1. hdpcdf01

hdpcdf01は、メインフレームIMS/DBのアンロード・ユーティリティであるDFSURGU0で作成したデータセットの入力を受けて、HiDBのリロード・ツールであるhdloadで使用可能なHiDB標準形式のデータセットを作成するツールです。

DFSURGU0で作成したアンロード・データセットはHiDBデータベースにリロードが不可能なため、メインフレームで作成したアンロード・データセットの内部フォーマットを分析し、ヘッダーとトレーラーを削除して、OpenFrameでリロード可能な形態のデータセットに再作成します。

出力データセットは以下のフォーマットで構成されます。

figure 1 1
OpenFrame標準データ形式
使用方法

以下は、hdpcdf01ツールの実行方法です。

Usage: hdpcdf01 [options] [format] if=input-file of=output-file dbd=dbd-name
  • [options]

    オプション 説明

    [-v]

    ツールのバージョン情報を表示します。

    [-h]

    ツールのヘルプを表示します。

    [-d]

    hdpcdf01を実行中に入力ファイルの現在の処理段階を表示します。

    [-hp number]

    入力ファイルの内部フォーマットを分析する際に、ヘッダーの長さを計算する場合にバイト値を追加します。

    [-dp number]

    入力ファイルの内部フォーマットを分析する際に、セグメント・データの長さを計算する場合にバイト値を追加します。

    [-rdw]

    入力ファイルがRDW(4バイト)が含まれた可変長のデータセットである場合に指定します。

    [-addpk]

    データセットのマイグレーション・プロセスで子セグメントを変換する際に親セグメントのキー領域を参照することがあります。このオプションを指定すると、子セグメント・レコードの先頭に親セグメントのキー領域を追加します。

  • [format]

    オプション 説明

    [-f1]

    入力ファイルがSHISAMデータベースをアンロードしたデータセットの場合に指定します。

    [-dedb]

    入力ファイルがDEDBデータベースをアンロードしたデータセットの場合に指定します。

  • 入力項目

    項目 説明

    if=input-file

    hdpcdf01の入力ファイルを指定します。メインフレームIMS/DBのアンロード・ユーティリティであるDFSURGU0により作成されたデータセットのファイル名を指定します。

    of=output-file

    hdpcdf01の出力ファイルを指定します。出力ファイルはマイグレーション・ツールのdsmiginの入力として使用されます。

    dbd=dbd-name

    入力ファイルのデータベースを定義したDBDの名前を指定します。

    このDBDは、hdpcdf01を実行する前にデフォルトのDBDLIBに登録されている必要があり、最大8文字以内で指定します。DBDLIBの登録については、dbdgenツールを参照してください。

使用例

以下は、hdpcdf01を実行してスキーマ・ファイルを作成する例です。

$ hdpcdf01 if=tmax01uld.dat of=tmax01uld.hdb dbd=TMAX01PD

上記のコマンドが正常に実行されると、以下のようなメッセージが表示されます。

hdpcdf01 version 7.2.0(1) obuild@tplinux32:ofsrc7/ims(#1) 2017-11-09 23:14:22
HiDB Pre-conversion Program

 * Bytes of Header Part    : 243
 * Bytes of Trailer Part   : 245
 * Bytes of Input file     : 23147438
 * Position of Trailer part: 23147193
 * Current Position of Reading:23146727, Segment:TMAX1VAA
 * MESSAGE: input data reading success.

   *** HDPCDF01  DATA CONVERSION  ***

         SEGMENT  LEVEL  STATISTICS
       TOTAL SEGMENTS BY SEGMENT TYPE
===========================================
SEGMENT                     READ
NAME                        COUNT
-------------------------------------------
TMAX1VAA                    9629
TMAX1VAD                    9628
TMAX1VAE                       0
TMAX1VAB                   28243
TMAX1VAF                   28243
TMAX1VAC                   15586
-------------------------------------------
TOTAL SEGMENTS IN DATABASE = 91329
===========================================

デフォルト・スキーマ・ディレクトリから、以下のスキーマ・ファイルが作成されていることが確認できます。

$ ls -al
-rw-r--r--   1 adb adb 13862 Oct  6 10:41 TMAX01PD.conv
環境設定
  • OpenFrame環境設定のdsサブジェクトのDATASET_DIRECTORYセクションのSCHEMA_DIRキーのVALUE項目に作成されたスキーマ・ファイルを保存するディレクトリ・パスを指定します。

    $ ofconfig list -s ds -sec DATASET_DIRECTORY -k SCHEMA_DIR
    
    ===================================================================================
      SUBJECT   |     SECTION       |        KEY         |             VALUE
    ===================================================================================
        ds      | DATASET_DIRECTORY |    SCHEMA_DIR      |    /home/openframe/schema
    ===================================================================================
  • OpenFrame環境設定のimsサブジェクトのIMS_DEFAULTセクションのDBDLIB_NAMEキーのVALUE項目にターゲット・データベースのDBDが登録されているDBDLIBを設定します。

    $ ofconfig list -s ims -sec IMS_DEFAULT -k DBDLIB_NAME
    
    ===================================================================================
      SUBJECT   |     SECTION      |        KEY         |             VALUE
    ===================================================================================
        ims     |   IMS_DEFAULT    |    DBDLIB_NAME     |           IMS.ACBLIB
    ===================================================================================

OpenFrame環境設定の詳細については、OpenFrame HiDB『環境設定ガイド』を参照してください。