HCOSS DSNUTILB LOAD ユーティリティ

注意:このトピックは、初期採用者向けリリース状態の機能に適用されます。機能の最終版は今後のリリースで提供される予定です。詳しくは、Micro Focus SupportLine までお問い合わせください。

HCOSS DSNUTILB LOAD ユーティリティは、DB2 DSNUTILB LOAD と同等です。移行プロセスの際に、メインフレーム DB2 データを SQL Server データベースの指定されたテーブルにロードします。

HCOSS DSNUTIL LOAD は、メインフレームで DSNUTILB UNLOAD を実行するとき、生成される LOAD カードによって機能するように開発されています。例えば、次の UNLOAD 制御セグメントは、HCOSS によって使用可能な LOAD 文を生成します。
UNLOAD DATA FROM TABLE HCOSQL.CUSTOMER
UNLOAD TABLESPACE HCOSQL.HCOTS FROM TABLE HCOSQL.EMPLOYEE
重要: HCOSS DSNUTILB LOAD では、メインフレーム上で作成された LOAD 制御文を変更して REPLACE オプションを含めるようにする必要があります。

既存の DSNUTILB LOAD

DSNUTILB LOAD を使用するには、JCL アプリケーション・プロジェクトを作成するか、またはエンタープライズ・サーバで JES CONTROL 機能を使用して直接 JCL をサブミットします。JCL 構文は DB2 互換であることが必要です。

次に、メインフレーム上で生成される LOAD カードを使用した JCL の例を示します。

//DSNCUSTM JOB
//DSNUPROC EXEC PGM=HCOUTILB,PARM='HCOD,SH      '
//*
//SYSPRINT DD   SYSOUT=*
//UTPRINT  DD   SYSOUT=*
//SYSUDUMP DD   SYSOUT=*
//STPRIN01 DD   SYSOUT=*
//IDIOFF   DD   DUMMY
//*
//SYSUT1   DD   DISP=MOD,DSN=SH.DSNUTILB.SYSUT1
//SORTOUT  DD   DISP=MOD,DSN=SH.DSNUTILB.SYSOUT
//SYSMAP   DD   DISP=MOD,DSN=SH.DSNUTILB.SYSMAP
//SYSERR   DD   DISP=MOD,DSN=SH.DSNUTILB.SYSERR
//SYSREC   DD   DISP=SHR,DSN=SH.HCOSQL.CUSTOMRS
//SYSIN    DD   *
LOAD DATA INDDN SYSREC LOG NO RESUME NO REPLACE 
 EBCDIC  CCSID(00037,00000,00000)
 INTO TABLE
 "HCOSQL".
 "CUSTOMRS"
 WHEN(00001:00002) = X'0028'
 NUMRECS               242100
 ( "C_ID"
  POSITION(  00003:00006) INTEGER
 , "C_D_ID"
  POSITION(  00007:00008) SMALLINT
 , "C_W_ID"
  POSITION(  00009:00010) SMALLINT
 , "C_FIRST"
  POSITION(  00012:00029) VARCHAR
                          NULLIF(00011)=X'FF'
 , "C_MIDDLE"
  POSITION(  00031:00032) CHAR(00002)
                          NULLIF(00030)=X'FF'
 , "C_LAST"
  POSITION(  00034:00051) VARCHAR
                          NULLIF(00033)=X'FF'
 , "C_STREET_1"
  POSITION(  00053:00074) VARCHAR
                          NULLIF(00052)=X'FF'
 , "C_STREET_2"
  POSITION(  00076:00097) VARCHAR
                          NULLIF(00075)=X'FF'
 , "C_CITY"
  POSITION(  00099:00120) VARCHAR
                          NULLIF(00098)=X'FF'
 , "C_STATE"
  POSITION(  00122:00123) CHAR(00002)
                          NULLIF(00121)=X'FF'
 , "C_ZIP"
  POSITION(  00125:00133) CHAR(00009)
                          NULLIF(00124)=X'FF'
 , "C_PHONE"
  POSITION(  00135:00150) CHAR(00016)
                          NULLIF(00134)=X'FF'
 , "C_SINCE"
  POSITION(  00152:00177) TIMESTAMP EXTERNAL
                          NULLIF(00151)=X'FF'
 , "C_CREDIT"
  POSITION(  00179:00180) CHAR(00002)
                          NULLIF(00178)=X'FF'
 , "C_CREDIT_LIM"
  POSITION(  00182:00188) DECIMAL
                          NULLIF(00181)=X'FF'
 , "C_DISCOUNT"
  POSITION(  00190:00192) DECIMAL
                          NULLIF(00189)=X'FF'
 , "C_BALANCE"
  POSITION(  00194:00200) DECIMAL
                          NULLIF(00193)=X'FF'
 , "C_YTD_PAYMENT"
  POSITION(  00202:00208) DECIMAL
                          NULLIF(00201)=X'FF'
 , "C_PAYMENT_CNT"
  POSITION(  00210:00211) SMALLINT
                          NULLIF(00209)=X'FF'
 , "C_DELIVERY_CNT"
  POSITION(  00213:00214) SMALLINT
                          NULLIF(00212)=X'FF'
 , "C_DATA"
  POSITION(  00216:00717) VARCHAR
                          NULLIF(00215)=X'FF'
 )
 
/*
//

ここで、HCOD は SQL Server データベースへの接続、HCOUTILB は DSNUTILB プログラム名、SH.HCOSQL.CUSTOMRS は SYSREC にマッピングされるカタログされたデータ・ファイルです。

LOAD オプション

標準 LOAD オプション
DATA
構文上のオプション。
REPLACE
これを、DBSUTILB UNLOAD によってメインフレーム上で生成されたすべての LOAD 文に追加する必要があります。
LOG NO|YES
このオプションは有効ではありませんが、構文は認識されます。
RESUME NO|YES
REPLACE オプションが必要なので、RESUME は基本的に無効です。REPLACE オプションがない場合は、空のステータスをともなうターゲット・テーブルに基づいてエラーまたは警告が生成されます。
無視されるが、構文上は認識される LOAD オプション
  • CCSID
  • CONTINUE IF
  • COPYDDN
  • DISCARDDN
  • DISCARDS
  • ENFORCE
  • ERRDDN
  • FLOAT (S390/IEEE)
  • FORMAT-SPEC
  • FREQVAL
  • HISTORY
  • INCURSOR
  • INDEX
  • KEEPDICTIONARY
  • KEYCARD
  • MAPDDN
  • NOCOPYPEND
  • NOSUBS
  • PREFORMAT
  • RECOVERYDDN
  • REUSE
  • SHRLEVEL
  • SORTDEVT
  • SORTKEY
  • SORTNUMS
  • STATISTICS
  • WORKDDN
サポートされない LOAD オプション
  • COPYDICTIONARY
  • DECFLOAT ROUNDMODE-SPEC
  • IDENTITYOVERRIDE
  • INDEXDEFER
  • PRESORTED

仕様

INTO TABLE 仕様
INTO TABLE 仕様には複数のオプションがあります。
サポートされるオプション INTO TABLE
  • WHEN
  • NUMRECS
  • FIELD SPECIFICATION
無視されるが、構文上は認識される INTO TABLE オプション
  • IGNOREFIELDS
  • PART
LOAD 仕様
  • INDDN SYSREC (または ddname)
  • EBCDIC/ASCII/UNICODE
注:メインフレームとは異なり、HCOSS DSNUTILB LOAD にはデフォルトで EBCDIC 文字コード・セットが設定されていません。HCOSS DSNUTILB LOAD では、EBCDIC、ASCII、または UNICODE を指定する必要があります。
FIELD Specification
FIELD 仕様でサポートされる SQL データ・タイプ
  • INTEGER、BIGINT、SMALLINT
  • FLOAT、REAL
  • DECIMAL
  • CHAR、VARCHAR (UP TO VARCHAR(20000))
  • GRAPHIC、VARGRAPHIC
  • DATE、TIME、TIMESTAMP
FIELD 仕様でサポートされない SQL データ・タイプ
  • BINARY
  • VARBINARY
  • DECFLOAT
  • ROWID
  • BLOB
  • CLOB
  • DBCLOB
  • XML