目次 前 次 PDF


File-to-Fileコンバータ

File-to-Fileコンバータ
この章では、ソース・プラットフォーム(z/OS)のファイルをUNIX/Linux Micro Focus COBOLファイルまたはCOBOL-ITファイルに移行するために使用されるOracle Tuxedo Application Rehosting Workbench (Oracle Tuxedo Application Rehosting Workbench) File-to-Fileコンバータと、生成される移行ツールについて説明します。変換は、他のTuxedo ART Workbenchツールによって変換または生成される他のコンポーネントと関連して行われます。
この章には次のトピックが含まれます:
「File-to-Fileコンバータの概要」
目的
この項の目的は、次のようなTuxedo ART Workbench File-to-Fileコンバータ・ツールのすべての機能を正確に説明することです。
構造
関連項目
データの変換は、COBOLプログラムの変換と密接に関連しています。次の項目を参照してください。
前の章では、共通するすべての使用方法を説明しています。
処理するファイル編成
ターゲット・プラットフォームでのz/OSファイル編成の維持
Tuxedo ART Workbench File-to-Fileコンバータは、ソース・プラットフォームの形式(シーケンシャル、相対または索引付きファイル)をターゲット・プラットフォーム上で保持するファイル向けに使用されます。ターゲット・プラットフォームでは、これらのファイルはソース・プラットフォームのものに相当するMicro Focus COBOLまたはCOBOL-ITのファイル編成を使用します。
次の表は、z/OSで扱われるファイル編成と、ターゲット・プラットフォームで提案される編成を示します。
 
PDSファイル編成
PDSの一部であるファイルは、METAW00.NIV1.ESSAI(FIC)などの物理ファイル名自体で識別されます。
この場合は、PDSに合せて調整されたアンロード用JCLが生成されます。前述の表に示したソースとターゲットのファイル編成が適用されます。
GDGファイル編成
世代別データ・グループ(GDG)ファイルは、その特殊性(アンロードおよび再ロードするGDGアーカイブの数)を維持するために、アンロード・コンポーネントおよび再ロード・コンポーネントによって特別に処理されます。その後、世代ファイルとしてOracle Tuxedo Application Runtime Batchで管理されます(詳細は、『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』を参照してください)。ターゲット・プラットフォームでは、これらのファイルはLINE SEQUENTIAL編成になります。
注意:
enable-buffer-converterがシステム記述ファイルに設定されている場合、ソース・データは呼出し元プログラムから渡されたデータ・バッファに存在し、変換後の出力データが同じデータ・バッファを介して呼出し元プログラムに送り返されます。
enable-reverse-converterがシステム記述ファイルに設定されている場合、ソース・ファイルはUNIX/Linuxプラットフォーム上にあり、ファイル形式はレコード・シーケンシャルのみに対応します。変換後の出力ファイル形式はz/OSシーケンシャルです。
Oracle Tuxedo Application Rehosting Workbenchの構成名
構成名は、変換されるファイルのセットに関連します。それぞれのファイルのセットは自由に組み合せることができます。たとえば、各構成は個々のアプリケーションに関連させることも、テストに必要なファイルのセットに関連させることもできます。ファイルのセットには、ファイルまたはRDBMS表の両方のターゲットを含めることができます。
環境変数
データを移行するプロセスを開始する前に、次の2つの環境変数を設定する必要があります。
プロセスによって生成される一時オブジェクトを格納する場所を指定します。
プロセスで必要な構成ファイルが格納される場所を指定します。
入力コンポーネントの説明
ファイルの場所
file.shの場所
file.shツールは次のディレクトリにあります。
$REFINEDIR/convert-data/
db-param.cfgファイルの場所
db-param.cfg構成ファイルは、次の変数に指定されたディレクトリに配置されます。
$PARAM
構成ファイルの説明
ここでは、z/OSファイルのUNIX\Linuxファイルへの移行を制御するために使用できるファイルとそのパラメータを示します。
db-param.cfg
このファイルは、次の$PARAMディレクトリで指定されるディレクトリに作成されます。
$PARAM/db-param.cfg
リスト6-1 db-param.cfgテンプレート
#
# This configuration file is used by FILE & RDBMS converter
# Lines beginning by "#" are ignored
# write information in lower case
#
# common parameters for FILE and RDBMS
#
# source information is written into system descriptor file (DBMS=, DBMS-VERSION=)
target_rdbms_name:<target_rdbms_name>
target_rdbms_version:<target_rdbms_version>
target_os:<target_os>
# optional parameter
target_cobol:<target_cobol>
hexa-map-file:<hexa-map-file>
#
# specific parameters for FILE to RDBMS conversion
file:char_limit_until_varchar:<char_limit>
 
 
パラメータと構文
 
注意:
生成されるコンポーネントを変更するファイル
生成されたコンポーネントはプロジェクト固有のスクリプトを使用して変更できます。これらのスクリプト(sed、awk、perlなど)は次の場所に配置する必要があります。
$PARAM/file/file-modif-source.sh
このファイルが存在する場合、生成プロセスの最後に自動的に実行されます。これは、引数として<configuration name>を使用して呼び出されます。
file-template.txt
このファイルは、Tuxedo ART Workbenchのインストール時に所定の場所に配置され、様々な移行ツールの生成を実行するテンプレートが含まれます。このファイルの場所は次のとおりです。
$REFINEDIR/convert-data/default/file/file-templates.txt
リスト6-2 file-template.txt
% Unloading all File ********************
% All SAM file were transfered using FTP/Binary
% VSAM unloaded step:
#VAR:TEMPLATES#/unloading/jcl-unload-MVS-REPRO.pgm
%
% To create a specific template, copy this template into :
% -- #VAR:PARAM#/file/specific-templates/unloading/jcl-unload-customer.pgm
%
% Loading **********************************************
#VAR:TEMPLATES#/loading/file-reload-files-txt.pgm
% Loading File to File ***************************
#VAR:TEMPLATES#/loading/unix-file/reload-files-ksh.pgm
#VAR:TEMPLATES#/loading/unix-file/reload-mono-rec.pgm
#VAR:TEMPLATES#/loading/unix-file/reload-reverse-files-ksh.pgm
#VAR:TEMPLATES#/loading/unix-file/reload-mono-rec.pgm
#VAR:TEMPLATES#/loading/unix-file/convert-buffer-zos-to-linux.pgm
#VAR:TEMPLATES#/loading/unix-file/convert-buffer-linux-to-zos.pgm
% Loading File to Oracle *************************
#VAR:TEMPLATES#/loading/unix-oracle/load-tables-ksh.pgm
#VAR:TEMPLATES#/loading/unix-oracle/rel-mono-rec.pgm
#VAR:TEMPLATES#/dml/clean-tables-ksh.pgm
#VAR:TEMPLATES#/dml/drop-tables-ksh.pgm
#VAR:TEMPLATES#/dml/create-tables-ksh.pgm
#VAR:TEMPLATES#/dml/ifempty-tables-ksh.pgm
#VAR:TEMPLATES#/dml/ifexist-tables-ksh.pgm
%
% Generate Logical & Relational Module *****************
#VAR:TEMPLATES#/dml/module/open-multi-assign-free.pgm
#VAR:TEMPLATES#/dml/module/open-mono-rec-idx-perf.pgm
#VAR:TEMPLATES#/dml/module/open-mono-rec-sequential.pgm
#VAR:TEMPLATES#/dml/module/open-mono-rec-relative.pgm
%
% and utilities ****************************************
#VAR:TEMPLATES#/dml/module/decharge-mono-rec.pgm
#VAR:TEMPLATES#/dml/module/recharge-table.pgm
#VAR:TEMPLATES#/dml/module/close-all-files.pgm
#VAR:TEMPLATES#/dml/module/init-all-files.pgm
%
% configuration file for translation and runtime *******
#VAR:TEMPLATES#/dml/generate-config-wb-translator-jcl.pgm
#VAR:TEMPLATES#/dml/generate-rdb-txt.pgm
%
% included file to include into modified-components
#VAR:TEMPLATES#/dml/include-modified-components.pgm
%
% ***************************************
% MANDATORY
% : used just after the generation
#VAR:TEMPLATES#/dml/generate-post-process.pgm
% : used when using -i arguments
#VAR:DEFAULT#/file-move-assignation.pgm
 
注意:
必要な場合には、別のバージョンのfile-template.txtファイルを$PARAM/fileディレクトリに配置できます。代替ファイルの使用は、file.shの実行中にメッセージによって示されます。
リスト6-3 代替テンプレート・ファイルによる実行ログ
##########################################################################
Control of templates
OK: Use Templates list file from current project:
File name is /home2/wkb9/param/file/file-templates.txt
##########################################################################
 
file-move-assignation.pgm
このファイルはTuxedo ART Workbenchのインストール時に配置され、様々なインストール・ディレクトリに生成されたコンポーネントの転送を制御します。このファイルは、file.sh -iを使用してfile.shが起動されたときに、インストール・フェーズでコピーする各コンポーネントの場所を指定します。
このファイルの場所は次のとおりです。
$REFINEDIR/convert-data/default/file/file-move-assignation.pgm
このファイルは、ファイル先頭にある指示に従って変更できます。
リスト6-4 file-move-assignation.pgmの変更指示
[…]
*@ (c) Metaware:file-move-assignation.pgm. $Revision: 1.2 $
*release_format=2.4
*
* format is:
* <typ>:<source_directory>:<file_name>:<target_directory>
*
* typ:
* O: optional copy: if the <file_name> is missing, it is ignored
* M: Mandatory copy: abort if <file_name> is missing.
* E: Execution: execute the mandatory script <file_name>.
* Parameters for script to be executed are:
* basedir: directory of REFINEDIR/convert-data
* targetoutputdir: value of "-i <targetdir>"
* schema: schema name
* target_dir: value written as 4th parameter in this file.
* d: use this tag to display the word which follows
*
* source_directory:
* T: generated components written in <targetdir>/Templates/<schema>
* O: components written in <targetdir>/outputs/<schema>
* S: SQL requests (DDL) generated into <targetdir>/SQL/<schema> directory
* F: fixed components present in REFINEDIR
* s: used with -s arguments: indicates the target directory for DML utilities
* (in REFINEDIR/modified-components/) which manipulate all schemas.
*
* file_name: (except for typ:d)
* name of the file in <source_directory>
*
* target_directory: (except for typ:d, given at 4th argument for typ:E)
* name of the target directory
* If the 1st character is "/", component is copied using static directory
* and not in <td> directory
* If the 1st character is "!", target directory contains both directory and
* target file name.
*
[…]
 
注意:
データマップ・ファイル
これは、システムの物理ファイルに関する情報を追加または変更するためにTuxedo ART Workbenchファイル・コンバータによって使用される構成ファイルです。
「ファイル・コンバータ: はじめに」「データマップ・ファイル」を参照してください。
マッパー・ファイル
これは、移行する各ファイルを関連付けるためにTuxedo ART Workbench File-to-Fileコンバータによって使用される構成ファイルです。
「ファイル・コンバータ: はじめに」「マッパー・ファイル」を参照してください。
注意:
マッパー・ファイルでは、converted句はRDBMS表ターゲットのみに関連します。この句をFile-to-Fileコンバータで使用しないでください。
 
attributes LOGICAL_MODULE_ONLY句とともに使用して、このファイルがMicro Focus COBOLまたはCOBOL-ITファイルとして保持されることを示します。これには、Oracle Tuxedo Application Runtime CICSによる論理アクセスCOBOL関数でアクセスします。
前述のattributes句がない場合、このファイルがRDBMS表に変換されることを示します。このファイルをファイルに変換するように示すには、この句を無視する必要があります。
converted句とtransferred句を組み合せることができます。
ファイルがロードおよび再ロードされることを示します(converted句と組み合せることができます)。
record name: コピー記述におけるレベル01のフィールド名に対応します。
path/COPY name: 移行するファイルの記述コピーのアクセス・パスと名前に対応します。
注意:
map recordパラメータとsource recordパラメータでは、同じrecord namedescriptive copyを使用する必要があります。これらは前方互換性の確保のために使用されます。
record name: 移行するファイルのコピー記述におけるレベル01のフィールド名に対応します。
path/COPY name: 移行するファイルの記述コピーのアクセス・パスと名前に対応します。
注意:
map recordパラメータとsource recordパラメータでは、同じrecord namedescriptive copyを使用する必要があります。これらは前方互換性の確保のために使用されます。
識別ルール
識別ルールを再定義フィールドに対して設定する必要があります。これにより、REDEFINESの記述のどちらをいつ使用するかを判別するためのコードが指定されます。
[field <field_name>]
[…]
rule if <condition> then Field_Name_x
[elseif <condition> then field_Name_y]
[else Field_Name_z]
識別ルールの構文およびパラメータ
 
注意:
これらの条件はカッコで囲んで指定できます。NUMERICは比較演算子の引数としては使用できません。
識別ルールの例
次の例では、フィールドDPODP-DMDCHQ、DPONO-PRDTIVおよびDP5CP-VALZONNUMが再定義されています。
リスト6-5 識別ルールのCOBOL記述
01 ZART1.
05 DPODP PIC X(20).
05 DPODP-RDCRPHY PIC 9.
05 DPODP-DMDCHQ PIC X(6).
05 DPODP-REMCHQ REDEFINES DPODP-DMDCHQ.
10 DPODP-REMCHQ1 PIC 999.
10 DPODP-REMCHQ2 PIC 999.
05 DPODP-VIREXT REDEFINES DPODP-DMDCHQ.
10 DPODP-VIREXT1 PIC S9(11) COMP-3.
05 DPONO-NPDT PIC X(5).
05 DPONO-PRDTIV PIC 9(8)V99.
05 DPONO-PRDPS REDEFINES DPONO-PRDTIV PIC X(10).
05 DP5CP-VALZONNUM PIC 9(6).
05 DP5CP-VALZON REDEFINES DP5CP-VALZONNUM PIC X(6).
 
次の識別ルールが適用されます。
リスト6-6 識別ルール
field DPODP-DMDCHQ
rule if DPODP-RDCRPHY = 1 then DPODP-DMDCHQ
elseif DPODP-RDCRPHY = 2 then DPODP-REMCHQ
elseif DPODP-RDCRPHY = 3 then DPODP-VIREXT
else DPODP-DMDCHQ,
field DPONO-PRDTIV
rule if DPONO-NPDT (1:2) = "01" then DPONO-PRDTIV
elseif DPONO-NPDT (1:2) = "02" then DPONO-PRDPS,
field DP5CP-VALZONNUM
rule if DPODP-RDCRPHY is numeric then DP5CP-VALZONNUM
else DP5CP-VALZON
 
最初のルールは、数値フィールドDPODP-RDCRPHYの値をテストします。
2番目のルールは、英数字フィールドDPONO-NPDTの最初の2文字をテストします。値01および02のみが許可されます。
3番目のルールは、フィールドDPODP-RDCRPHYが数値かどうかをテストします。
COBOL記述
Tuxedo ART Workbench File-to-Fileコンバータには、各ファイルに関連付けられている記述が必要です。このため、最初の手順でCOBOLコピーの記述を作成します。
COBOL記述ファイルを準備したら、mapper-<configuration name>.reファイルに記述したコピー・ファイルを$PARAM/file/recs-sourceディレクトリに置く必要があります。
ソース・プラットフォームのCOBOLコピーブックを使用してファイルを記述する場合(「COBOL記述」を参照)、コピーブックの場所が直接使用されます。
出力ファイルの説明
ファイルの場所
一時ファイルの場所
Tuxedo ART Workbench File-to-Fileコンバータによって生成される一時オブジェクトは、次の場所に格納されます。
$TMPPROJECT
$TMPPROJECT/Template/<configuration name>
$TMPPROJECT/outputs/<configuration name>
注意:
$$TMPPROJECT変数は$HOME/tmpに設定されます
ログ・ファイルの場所
実行ログ・ファイルは次の場所に格納されます。
$TMPPROJECT/outputs mapper-log-<configuration name>
生成されるファイルの場所
-i $HOME/trfオプションで生成されるアンロード・コンポーネントおよびロード・コンポーネントは、次の場所に配置されます。
 
アンロードする各ファイルで使用されるJCLは、各<configuration name>に対して生成されます。
<file name>.jclunload
enable-buffer-converterがシステム記述ファイルに設定されている場合、追加で2つのプログラムが生成され、次の名前が付けられます。
enable-reverse-converterがシステム記述ファイルに設定されている場合、追加で1つのプログラムと1つのスクリプト・ファイルが生成され、次の名前が付けられます。
マッパー・ファイルでattributes句を使用した場合、アクセス機能が生成されます。
注意:
<target table name>はターゲット・プラットフォームでのファイル名であり、このファイル名はマッパー・ファイルで指定されます。
生成されたオブジェクト
次の項では、z/OSファイルの移行中に生成されるオブジェクトと、それらのオブジェクトが配置されるディレクトリを示します。
アンロード用JCL
ファイルのアンロードに使用されるJCLは、file.shコマンドの-gオプションを使用して生成されます。その後、(-iオプションを使用して)次の場所にインストールされます。
$HOME/trf/unload/file/<configuration name>
各JCLには、2つのステップが含まれ、z/OS IDCAMS REPROユーティリティを使用して1つのファイルをアンロードします。JCLのリターン・コードは正常終了では0または4です。
 
JCLの名前は<file name>.jclunloadです
注意:
.jclunload拡張子は、z/OSで実行する場合には削除する必要があります。
生成されるJCLは、特定のサイトの制約に合せるために次のような調整が必要になることがあります。
JOBカード: <cardjob_parameter_id>
QSAMおよびVSAMファイルのアンロード用JCL
リスト6-7 アンロード用JCLの例
//<crdjob> <cardjob_parameter_1>,'FIL QSAM',
// <cardjob_parameter_2>
// <cardjob_parameter_3>
// <cardjob_parameter_4>
//*@ (C) Metaware:jcl-unload-MVS-REPRO.pgm. $Revision: 1.6 $
//********************************************************
//* UNLOAD THE FILE:
//* <datain>.QSAM.CUSTOMER
//* INTO <data>.AV.QSAM
//* LENGTH=266
//******************************************************
//*------------------------------------------*
//* DELETE DATA AND LOG FILES
//*------------------------------------------*
//DEL EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
DELETE <data>.AV.QSAM.LOG
DELETE <data>.AV.QSAM
SET MAXCC=0
//*------------------------------------------*
//* LAUNCH REPRO UTILITY
//*------------------------------------------*
//COPYFILE EXEC PGM=IDCAMS
//SYSPRINT DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DSN=<data>.AV.QSAM.LOG
//SYSOUT DD SYSOUT=*
//INDD DD DISP=SHR,
DSN=METAW00.QSAM.CUSTOMER
//OUTD DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DCB=(LRECL=266,RECFM=FB),
// DSN=<data>.AV.QSAM
//SYSIN DD *
REPRO INFILE(INDD) OUTFILE(OUTD)
/*
 
世代別データ・グループのアンロード用JCL
世代別データ・グループ編成の世代別データ・セットのアンロードに使用されるJCLは、file.shコマンドの-gオプションを使用しても生成されます。
このJCLでは、各VERSIONの2つのファイルが作成されます(バージョンの数は、LIMIT句で指定されます)。
作成されるファイルの名前は次のとおりです。
この場合の<id>は、すべてのバージョンを識別する数値です(0: 現在のバージョン、1: 1つ前のバージョン、2: ...)
リスト6-8 GDGのアンロード用JCLの例
//<crdjob> <cardjob_parameter_1>,'GDG GDG',
// <cardjob_parameter_2>
// <cardjob_parameter_3>
// <cardjob_parameter_4>
//*@ (C) Metaware:jcl-unload-GDG-MVS-REPRO.pgm. $Revision: 1.5 $
//******************************************************
//* UNLOAD GDS FILES
//* <datain>.PJ01DDD.TEST.GDG
//* INTO <data>.M2L3.GDG.DAT<ID>
//* CURRENT FILE HAS <ID>=0
//* OLDEST FILE HAS GREATEST <ID>.
//* LENGTH=266
//* LIMIT=5
//* NOEMPTY
//* SCRATCH
//******************************************************
//*------------------------------------------*
//* DELETE DATA AND LOG FILES
//*------------------------------------------*
//DEL EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
DELETE <data>.M2L3.GDG.LOG0
DELETE <data>.M2L3.GDG.DAT0
DELETE <data>.M2L3.GDG.LOG1
DELETE <data>.M2L3.GDG.DAT1
DELETE <data>.M2L3.GDG.LOG2
DELETE <data>.M2L3.GDG.DAT2
DELETE <data>.M2L3.GDG.LOG3
DELETE <data>.M2L3.GDG.DAT3
DELETE <data>.M2L3.GDG.LOG4
DELETE <data>.M2L3.GDG.DAT4
SET MAXCC=0
//*------------------------------------------*
//* LAUNCH REPRO UTILITY
//*------------------------------------------*
//*** 0 ***
//COPYFI0 EXEC PGM=IDCAMS
//SYSPRINT DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DSN=<data>.M2L3.GDG.LOG0
//SYSOUT DD SYSOUT=*
//INDD DD DISP=SHR,
// DSN=PJ01DDD.TEST.GDG(0)
//OUTD DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DCB=(LRECL=266,RECFM=FB),
// DSN=<data>.M2L3.GDG.DAT0
//SYSIN DD *
REPRO INFILE(INDD) OUTFILE(OUTD)
/*
//*** 1 ***
//COPYFI1 EXEC PGM=IDCAMS
//SYSPRINT DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DSN=<data>.M2L3.GDG.LOG1
//SYSOUT DD SYSOUT=*
//INDD DD DISP=SHR,
// DSN=PJ01DDD.TEST.GDG(-1)
//OUTD DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DCB=(LRECL=266,RECFM=FB),
// DSN=<data>.M2L3.GDG.DAT1
//SYSIN DD *
REPRO INFILE(INDD) OUTFILE(OUTD)
/*
//*** 2 ***
[...]
/*
//*** 3 ***
[...]
/*
//*** 4 ***
//COPYFI4 EXEC PGM=IDCAMS
//SYSPRINT DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DSN=<data>.M2L3.GDG.LOG4
//SYSOUT DD SYSOUT=*
//INDD DD DISP=SHR,
// DSN=PJ01DDD.TEST.GDG(-4)
//OUTD DD SPACE=(CYL,(150,150),RLSE),
// DISP=(NEW,CATLG),
// UNIT=SYSDA,
// DCB=(LRECL=266,RECFM=FB),
// DSN=<data>.M2L3.GDG.DAT4
//SYSIN DD *
REPRO INFILE(INDD) OUTFILE(OUTD)
/*
 
COBOLトランスコード・プログラム
z/OSファイルのUNIX/Linuxファイルへの移行
COBOLトランスコード・プログラムは、file.shコマンドの-gオプションを使用して生成されます。その後、(-iオプションを使用して)次の場所にインストールされます。
$HOME/trf/reload/file/<configuration name>/src
プログラムの名前はRELFILE-<logical file name>.cblです
プログラムは、「コンパイラ・オプション」で説明するターゲットのCOBOLコンパイル・オプションを使用してコンパイルする必要があります。
これらのプログラムのコンパイルには、「コードセットの変換」の章に記載されている、プロジェクトのために調整されたCONVERTMW.cpyコピー・ファイルの存在が必要です。
これらのファイルは、入力されるファイルを読み取り、z/OSと同じ編成の出力ファイル(シーケンシャル、相対、索引付き)を書き込みます。シーケンシャル・ファイルの場合、UNIX/Linux Micro Focus COBOL/COBOL-IT環境での編成はライン・シーケンシャルです。
リスト6-9 FILE CONTROLセクション - トランスコード・プログラム用
SELECT MW-ENTREE
ASSIGN TO "ENTREE"
ORGANIZATION IS SEQUENTIAL
ACCESS IS SEQUENTIAL
FILE STATUS IS IO-STATUS.
SELECT MW-SORTIE
ASSIGN TO "SORTIE"
ORGANIZATION IS LINE SEQUENTIAL
FILE STATUS IS IO-STATUS.
 
レコード・カウントが出力ファイルに書き込まれ、処理の終了時に次のように表示されます。
DISPLAY "RELOADING TERMINATED OK".
DISPLAY "Nb rows reloaded: " D-NB-RECS.
DISPLAY " ".
DISPLAY "NUMERIC MOVED WHEN USING CHAR FORMAT: "
DISPLAY " NUMERIC-BCD : " MW-COUNT-NUMERIC-BCD-USE-X.
DISPLAY " NUMERIC-DISP: " MW-COUNT-NUMERIC-DISP-USE-X.
表示される最後の2行は、COBOL記述が入力ファイルの内容と一致していないフィールドへのデータの移動を示します(非数値データを含むパック数値フィールドと非数値データを含む数値DISPLAYフィールド)。このような状況が生じると、各フィールドの名前と値が表示されます。
注意:
リスト6-10 FILE CONTROLセクション - トランスコード・プログラム用
SELECT MW-ENTREE
ASSIGN TO "ENTREE"
ORGANIZATION IS RECORD SEQUENTIAL
ACCESS IS SEQUENTIAL
FILE STATUS IS IO-STATUS.
 
z/OS形式とUNIX/Linux形式間のデータ変換
「z/OSファイルのUNIX/Linuxファイルへの移行」の前述の構成に基づき、enable-buffer-converterがシステム記述ファイルに構成されている場合は、別の2つのCOBOLプログラムが同じディレクトリ内に生成されます。
UNIX/Linux形式からz/OS形式へのデータ変換に使用されます。
z/OS形式からUNIX/Linux形式へのデータ変換に使用されます。
これらの2つのCOBOLプログラムは、別のプログラム/アプリケーション(IMSアプリケーションなど)によって起動でき、これらを起動するためにスクリプト・ファイルが生成されることはありません。
これらを呼び出すためのインタフェースは同じです。
1.
変換する必要があるデータを含んでおり、変換後のデータを含む出力パラメータとしても機能します。バッファ内のデータは常に、関連するコピーブックの最初からマップされます。
2.
変換されるデータの長さを示します。このパラメータのロジックは次のとおりです。
If Length = 0 then
出力値としてLengthをコピー・ブックの長さに設定し、変換を行いません。
Else If Length > コピー・ブックの長さ
警告を表示し、出力値としてLengthをコピー・ブックの長さに設定して、変換を行いません。
Else
バッファ内のデータを変換し、Lengthパラメータは変更しません。
これらのプログラムのコンパイルには、「コードセットの変換」の章に記載されている、プロジェクトのために調整されたCONVERTMW.cpyコピー・ファイルの存在が必要です。このCONVERTMW.cpyは、「z/OSファイルのUNIX/Linuxファイルへの移行」で使用するものとは異なるので注意してください。
プログラムは、「コンパイラ・オプション」で説明するターゲットのCOBOLコンパイル・オプションを使用してコンパイルする必要があります。さらに、<logical file name>1.cblおよび<logical file name>2.cblを正しくコンパイルするためには、次のコンパイル・オプションを追加する必要があります。
Micro Focus COBOLの場合、コンパイル・オプションIBMCOMPおよびNOTRUNCを追加する必要があります。COBOL-ITの場合、コンパイル・オプションvariable-rec-pad-mf:yesを追加する必要があります。
再ロード用Kornシェル・スクリプト
再ロード用Kornシェル・スクリプトは、file.shコマンドの-gオプションを使用して生成されます。その後、(-iオプションを使用して)次の場所にインストールされます。
$HOME/trf/reload/file/<configuration name>
z/OS QSAM/VSAMファイルをUNIX/Linuxファイルに移行するための再ロード用Kornシェル・スクリプト
スクリプトの名前はloadfile-<logical file name>.kshです
これらには、トランスコード(またはロード)フェーズとチェック・フェーズが含まれます。これらの異なるフェーズは別に開始できます。
スクリプトを実行すると、実行ログが$MT_LOG/<logical file name>.logに生成されます
次の変数が各スクリプトで最初に設定されます。
リスト6-11 ファイル再ロード用スクリプトの変数
f="@ (c) Metaware:reload-files-ksh.pgm. $Revision: 1.9 $null"
echo "Reloading file ODCSFU ODCSFU"
export DD_ENTREE=${DD_ENTREE:-${DATA_SOURCE}/ODCSFU}
export DD_SORTIE=${DD_SORTIE:-${DATA}/ODCSFU}
logfile=${MT_LOG}/ODCSFU.log
reportfile=${MT_LOG}/ODCSFU.rpt
[…]
 
注意:
ファイル名を変更するには、スクリプトを呼び出す前にDD_ENTREEおよびDD_SORTIE変数を設定します。
use-file-catalogがシステム記述ファイルに設定されている場合、生成されたスクリプト・ファイルのDD_SORTIEから${DATA}が削除されます。DD_SORTIEの名前を変更する場合は、スクリプトを呼び出す前に、${DATA}を含まないファイル名を使用してDD_SORTIE変数を設定します。
スクリプトの実行フェーズでは様々なメッセージが生成されますが、これらのメッセージについては、「Oracle Tuxedo Application Rehosting Workbenchメッセージ」で説明します。
正常終了すると、リターン・コード0が返されます。
UNIX/Linuxファイルをz/OSファイルに移行するための再ロード用Kornシェル・スクリプト
enable-reverse-converterがシステム記述ファイルに設定されている場合、スクリプト・ファイルが生成され、loadfile-R-<logical file name>.kshという名前が付けられます。これらには、トランスコード(またはロード)フェーズとチェック・フェーズが含まれます。これらの異なるフェーズは別に開始することができます。
スクリプトを実行すると、実行ログが$MT_LOG/<logical file name>.logに生成されます。
各スクリプトの最初に変数が設定され、この形式は、「z/OS QSAM/VSAMファイルをUNIX/Linuxファイルに移行するための再ロード用Kornシェル・スクリプト」の章に記載されているものとほとんど同じです。
注意:
ファイル名を変更するには、スクリプトを呼び出す前にDD_ENTREEおよびDD_SORTIE変数を設定します。
use-file-catalogがシステム記述ファイルに設定されている場合でも、生成されたスクリプト・ファイルのDD_SORTIEから${DATA}は削除されません。DD_SORTIEの名前を変更する場合は、スクリプト・ファイルを呼び出す前に、常に${DATA}を含むファイル名を使用してDD_SORTIE変数を設定します。
z/OS世代別データ・セットをUNIX/Linuxファイルに移行するための再ロード用Kornシェル・スクリプト
マスター・スクリプトの名前はloadgdg-<logical file name>.kshです。
バージョン、つまり世代別データ・セットごとに、これらはスクリプトloadgds-<logical file name>.kshを呼び出し、チェック・フェーズを実行します。loadgdg-*kshスクリプトには、トランスコード(またはロード)フェーズが含まれます。これらの異なるフェーズは別に開始することができます。
マスター・スクリプトを実行すると、実行ログが$MT_LOG/<logical file name>.logに生成されます
リスト6-12に、各スクリプトの最初に設定される変数を示します。
リスト6-12 ファイル再ロード用スクリプトの変数
f="@ (c) Metaware:reload-GDG-files-ksh.pgm. $Revision: 1.6 $null"
echo "Reloading GDG file GDG GDG"
# Remarks:
# DD_ENTREE* contains only filename prefix! This script add .DAT<ID> prefix
# DD_SORTIE* contains GDG file name
# Per default, file name transferred from MVS should be :
# $DATA_SOURCE/GDG.DAT<ID>
export DD_ENTREE_ORIGDG=${DD_ENTREE:-${DATA_SOURCE}/GDG}
export DD_SORTIE_ORIGDG=${DD_SORTIE:-${DATA}/PJ01DDD.TEST.GDG}
logfile=${MT_LOG}/GDG.log
tmpfile=${TMPPROJECT}/GDG.tmp
ksh4ejr=${DATA_TRANSCODE}/GDG.ksh
[…]
 
注意:
use-file-catalogがシステム記述ファイルに設定されている場合、生成されたスクリプト・ファイルのDD_SORTIEから${DATA}が削除されます。DD_SORTIEの名前を変更する場合は、スクリプトを呼び出す前に、${DATA}を含まないファイル名を使用してDD_SORTIE変数を設定します。
スクリプトの実行フェーズでは様々なメッセージが生成されますが、これらのメッセージについては、「Oracle Tuxedo Application Rehosting Workbenchメッセージ」で説明します。
正常終了すると、リターン・コード0が返されます。
トランスコード・フェーズおよびロード・フェーズ
これらの手順では、処理されるファイルに関連付けられたCOBOLトランスコード・プログラムの実行を開始します。
EJR -v ${ksh4ejr} >> $logfile 2>&1
EJRはOracle Tuxedo Application Runtime Batchの一部です。詳細は、『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』を参照してください。削除手順および再ロード手順が記載されています。
正常終了では次のメッセージが表示されます。
ファイル${DD_ENTREE}が正常にトランスコードされ、${DD_SORTIE}に再ロードされました
チェック・フェーズ
この手順では、再ロードの後、z/OSソース・プラットフォームから転送されたものと同じ数のレコードがターゲット・ファイルに含まれていることを確認します。レコード数が異なる場合は、次のエラー・メッセージが生成されます。
FILELD-0106: ファイル<f>に書き込まれた行数が
ログ・ファイルを使用して計算された数と等しくありません(作成レポート<rf>を参照)。
ファイル: <recsreloaded>
レポート: <recstransferred>
レコード数が等しい場合は、次のメッセージが生成されます。
echo "出力ファイルに書き込まれた行数がログ・ファイルを使用して計算された数と同じです: OK"
注意:
アクセス機能およびユーティリティ・プログラム
アクセス機能
これらのアクセス機能は、file.sh-gオプションを使用して生成され、-iおよび-sオプションを使用して$HOME/trf/DMLにインストールされます。
 
複数の割当てがある場合に生成されるオプションのモジュール。File-to-Fileコンバータ・ツールを使用する際に、attributes句がマッパー構成ファイルに存在すると、このモジュールが生成されます。
すべてのinit_all_files_<configuration name>.cblを呼び出します(Oracle Tuxedo Application Runtime Batchで使用される機能)。
トランザクションを初期化します。リストされた構成名についてリレーショナル・モジュールおよびASG_<logical file name>モジュールで使用されるすべての変数が初期化されます(Oracle Tuxedo Application Runtime Batchで使用される機能)。
トランザクションを閉じます。このプログラムは、リストされた構成の表で開かれたすべてのカーソルを閉じ、論理アクセサASG_<logical file name>で開かれたすべてのファイルのロックを解除します(Oracle Tuxedo Application Runtime Batchで使用される機能)。
すべてのclose_all_files_<configuration name>.cblを呼び出します(Oracle Tuxedo Application Runtime Batchで使用される機能)。
アクセス機能の呼出し引数
ASG_<logical file name>.cblアクセス機能では、次の変数が使用されます
 
二次キーの名前はMWFITECHコピー・ファイルのFILE-ALT-KEY-NAME変数を使用して渡されます。
リスト6-13 LINKAGE SECTIONの構造
LINKAGE SECTION.
01 IO-STATUS PIC XX.
COPY MWFITECH.
* *COBOL Record Description
01 VS-ODCSF0-RECORD.
06 X-VS-CUSTIDENT.
07 VS-CUSTIDENT PIC 9(006).
06 VS-CUSTLNAME PIC X(030).
06 VS-CUSTFNAME PIC X(020).
06 VS-CUSTADDRS PIC X(030).
06 VS-CUSTCITY PIC X(020).
06 VS-CUSTSTATE PIC X(002).
06 X-VS-CUSTBDATE.
07 VS-CUSTBDATE PIC 9(008).
06 VS-CUSTBDATE-G REDEFINES VS-CUSTBDATE.
11 X-VS-CUSTBDATE-CC.
12 VS-CUSTBDATE-CC PIC 9(002).
11 X-VS-CUSTBDATE-YY.
12 VS-CUSTBDATE-YY PIC 9(002).
11 X-VS-CUSTBDATE-MM.
12 VS-CUSTBDATE-MM PIC 9(002).
11 X-VS-CUSTBDATE-DD.
12 VS-CUSTBDATE-DD PIC 9(002).
06 VS-CUSTEMAIL PIC X(040).
06 X-VS-CUSTPHONE.
07 VS-CUSTPHONE PIC 9(010).
06 VS-FILLER PIC X(100).
PROCEDURE DIVISION USING IO-STATUS
MW-FILE-TECH
VS-ODCSF0-RECORD.
 
使用される呼出し引数
OPEN
すべてのOPEN操作で、FILE-CODE-F変数はキーワードOPENを含む必要があります。
FILE-OPEN-MODE変数は、次のように実行するOPENのタイプを含む必要があります。
 
CLOSE
CLOSE操作では、FILE-CODE-F変数はキーワードCLOSEを含む必要があります。
CLOSE-LOCK
CLOSE LOCK操作では、FILE-CODE-F変数はキーワードCLOSE-LOCKを含む必要があります。
DELETE
ファイル・アクセス・モードに応じて、DELETE操作の対象は、現在のレコードか、ファイル・キーまたはRBA値によって指定されるレコードになります(Micro Focus COBOLコンパイラのみ)
対応する機能コードは次のように指定されます。
 
READ
機能コードは、ファイル・アクセス・モードと必要な読取りタイプ(順次読取り、主キーの読取り、二次キーの読取りまたはRBA値の読取り)によって異なります(Micro Focus COBOLコンパイラのみ)
 
DataName1がkeyAltKey1に対応する変数の場合
注意:
INTO句が検出されると、指定されたフィールドの値を設定するために、呼出しの後でMOVE操作が追加されます。
REWRITE
機能コードは、ファイル・アクセス・モードと必要な読取りタイプ(順次読取り、主キーの読取り、二次キーの読取りまたはRBA値の読取り)によって異なります(Micro Focus COBOLコンパイラのみ)。
 
注意:
FROM句が検出されると、指定されたフィールドの値を設定するために、呼出しの前にMOVE操作が追加されます。
START
相対ファイル、索引付きファイル、またはファイルの二次キーの有無にかかわらず、機能コードはSTARTの厳密なタイプによって異なります。
 
WRITE
機能コードは、ファイル・アクセス・モードと必要な読取りタイプ(順次読取り、主キーの読取りまたは二次キーの読取り)によって異なります。
 
注意:
実装されるコピー・ファイル
特定のアクセス機能によって次のコピー・ファイルが使用されます。これらは、Tuxedo ART Workbenchをインストールするときに< installation platform>/fixed-copy/ディレクトリに配置する必要があります。
次のコンパイラ内部コピー・ファイルはアクセス機能によって使用されるため、アクセス機能をコンパイルする前に、コンパイラのCOBCPY環境に配置する必要があります。
このコピー・ファイルのディレクトリはコンパイラ固有です。次に例を示します。
export COBCPY=$COBCPY:$COBDIR/cpylib
export COBCPY=$COBCPY:$COBDIR/share/cobol-it/copy
実行レポート
file.shでは、選択したオプションに応じて様々な実行レポートが作成されます。次の例では次のコマンドが使用されます。
file.sh -gmi $HOME/trf STFILEFILE
リスト6-14 file.shでオプション-gを使用したとき(ステップ1)に生成されるメッセージ
##########################################################################
Control of configuration STFILEFILE
##############################
Control of templates
OK: Use Default Templates list file
File name is /Qarefine/release/M3_L3_5/convert-data/default/file/file-templates.txt
##############################
Control of Mapper
##############################
COMPONENTS GENERATION
CMD : /Qarefine/release/M3_L3_5/scripts/launch file-converter -s /home2/wkb4/param/system.desc -mf /home2/wkb4/tmp/mapper-STFILEFILE.re.tmp -dmf /home2/wkb4/param/file/Datamap-STFILEFILE.re -td /home2/wkb4/tmp -tmps /home2/wkb4/tmp/file-templates-STFILEFILE.tmp -target-sgbd oracle11 -target-os unix -varchar2 29 -print-ddl -print-dml -abort
MetaWorld starter
Loading lib: /Qarefine/release/M3_L3_5/Linux64/lib64/localext.so
(funcall LOAD-THE-SYS-AND-APPLY-DMAP-AND-MAPPER)
FILE-0092: *File-Converter*: We are in BATCH mode
FILE-0087: * Comand line arguments: begining of analyze
FILE-0088: * recognized argument -s value: /home2/wkb4/param/system.desc
FILE-0088: * recognized argument -mf value: /home2/wkb4/tmp/mapper-STFILEFILE.re.tmp
FILE-0088: * recognized argument -dmf value: /home2/wkb4/param/file/Datamap-STFILEFILE.re
FILE-0088: * recognized argument -td value: /home2/wkb4/tmp
FILE-0088: * recognized argument -tmps value: /home2/wkb4/tmp/file-templates-STFILEFILE.tmp
FILE-0088: * recognized argument -target-sgbd value: oracle11
FILE-0088: * recognized argument -target-os value: unix
FILE-0088: * recognized argument -varchar2 value: 29
FILE-0089: * recognized argument -print-ddl
FILE-0089: * recognized argument -print-dml
FILE-0089: * recognized argument -abort
FILE-0091: * End of Analyze
FILE-0094: * Parsing mapper file /home2/wkb4/tmp/mapper-STFILEFILE.re.tmp
FILE-0095: * Parsing data-map file /home2/wkb4/param/file/Datamap-STFILEFILE.re
FILE-0096: * Parsing system description file /home2/wkb4/param/system.desc
Warning! OS clause is absent, assuming OS is IBM
Current OS is IBM-MF
Loading /home2/wkb4/source/symtab-STFILEFILE.pob at 12:10:27... done at 12:10:27
Build-Symtab-DL1 #1<a SYMTAB-DL1>
... Postanalyze-System-RPL...
sym=#2<a SYMTAB>
PostAnalyze-Common #2<a SYMTAB>
0 classes
0 classes
0 classes
0 classes
1 classes
13 classes
Loading /home2/wkb4/source/BATCH/pob/RSSABB01.cbl.shrec...
Loading /home2/wkb4/source/COPY/pob/ODCSF0.cpy.cdm...
Loading /home2/wkb4/source/COPY/pob/ODCSF0B.cpy.cdm...
Loading /home2/wkb4/source/COPY/pob/ODCSFU.cpy.cdm...
FILE-0001: * Point 1 !!
FILE-0002: * Point 2 !!
FILE-0010: * Parsing file /home2/wkb4/source/COPY/ODCSF0.cpy ...
*Parsed 22 lines*
FILE-0010: * Parsing file /home2/wkb4/source/../param/file/rec-source/ODCSFR.cpy ...
*Parsed 8 lines*
FILE-0010: * Parsing file /home2/wkb4/source/COPY/ODCSFU.cpy ...
*Parsed 24 lines*
FILE-0010: * Parsing file /home2/wkb4/source/COPY/ODCSF0B.cpy ...
*Parsed 22 lines*
FILE-0003: * Point 3 !!
FILE-0004: * Point 4 !!
FILE-0005: * Point 5 !!
FILE-0052: * loading pob file /Qarefine/release/M3_L3_5/convert-data/templates/file/unloading/jcl-unload-MVS-REPRO.pgm.pob
FILE-0085: * Expanding /Qarefine/release/M3_L3_5/convert-data/templates/file/unloading/jcl-unload-MVS-REPRO.pgm ...
FILE-0054: * Writing ODCSFR.jclunload
FILE-0054: * Writing ODCSFU.jclunload
FILE-0054: * Writing ODCSF0Q.jclunload
[...]
FILE-0052: * loading pob file /Qarefine/release/M3_L3_5/convert-data/templates/file/dml/generate-post-process.pgm.pob
FILE-0085: * Expanding /Qarefine/release/M3_L3_5/convert-data/templates/file/dml/generate-post-process.pgm ...
FILE-0054: * Writing post-process-file.sh
FILE-0053: * Parsing template file /Qarefine/release/M3_L3_5/convert-data/default/file/file-move-assignation.pgm
FILE-0085: * Expanding /Qarefine/release/M3_L3_5/convert-data/default/file/file-move-assignation.pgm ...
FILE-0054: * Writing file-move-assignation.lst
Rest in peace, Refine...
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-
Generated components are in /home2/wkb4/tmp/Template/STFILEFILE
(Optionaly in /home2/wkb4/tmp/SQL/STFILEFILE)
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-
 
リスト6-15 file.shでオプション-mを使用したとき(ステップ2)に生成されるメッセージ
##########################################################################
FORMATTING COBOL LINES
##########################################################################
CHANGE ATTRIBUTE TO KSH or SH scripts
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-
Components are modified into /home2/wkb4/tmp directory
*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-
##########################################################################
INSTALL COMPONENTS INTO SPECIFIC DIRECTORY USING file-move-assignation.lst
===================================================
==_PJ01AAA.SS.VSAM.CUSTOMER_==
Copied <Templates>:ASG_ODCSF0.cbl to <td>/DML/ASG_ODCSF0.cbl
===================================================
==_PJ01AAA.SS.QSAM.CUSTOMER.REPORT_==
Copied <Templates>:ODCSFR.jclunload to <td>/unload/file/STFILEFILE/ODCSFR.jclunload
Copied <Templates>:loadfile-ODCSFR.ksh to <td>/reload/file/STFILEFILE/loadfile-ODCSFR.ksh
Copied <Templates>:RELFILE-ODCSFR.cbl to <td>/reload/file/STFILEFILE/RELFILE-ODCSFR.cbl
===================================================
==_PJ01AAA.SS.QSAM.CUSTOMER.UPDATE_==
Copied <Templates>:ODCSFU.jclunload to <td>/unload/file/STFILEFILE/ODCSFU.jclunload
Copied <Templates>:loadfile-ODCSFU.ksh to <td>/reload/file/STFILEFILE/loadfile-ODCSFU.ksh
Copied <Templates>:RELFILE-ODCSFU.cbl to <td>/reload/file/STFILEFILE/RELFILE-ODCSFU.cbl
===================================================
==_PJ01AAA.SS.QSAM.CUSTOMER_==
Copied <Templates>:ODCSF0Q.jclunload to <td>/unload/file/STFILEFILE/ODCSF0Q.jclunload
Copied <Templates>:loadfile-ODCSF0Q.ksh to <td>/reload/file/STFILEFILE/loadfile-ODCSF0Q.ksh
Copied <Templates>:RELFILE-ODCSF0Q.cbl to <td>/reload/file/STFILEFILE/RELFILE-ODCSF0Q.cbl
===================================================
Copied <Templates>:close_all_files_STFILEFILE.cbl to <td>/DML/close_all_files_STFILEFILE.cbl
Copied <Templates>:init_all_files_STFILEFILE.cbl to <td>/DML/init_all_files_STFILEFILE.cbl
Copied <Templates>:reload-files.txt to <td>/reload/file/STFILEFILE/reload-files.txt
Copied <fixed-components>:getfileinfo.cbl to <td>/DML/getfileinfo.cbl
Copied <fixed-components>:RunSqlLoader.sh to <td>/reload/bin/RunSqlLoader.sh
Copied <fixed-components>:CreateReportFromMVS.sh to <td>/reload/bin/CreateReportFromMVS.sh
===================================================
Dynamic_configuration
Copied_! <Templates>:File-in-table-STFILEFILE to /home2/wkb4/param/dynamic-config/File-in-table-STFILEFILE (is empty)
Copied <Templates>:../../Conv-ctrl-STFILEFILE to /home2/wkb4/param/dynamic-config/Conv-ctrl-STFILEFILE
===================================================
post-process
executed <Templates>:post-process-file.sh
/home2/wkb4/param/dynamic-config/Conv-ctrl-STFILEFILE treated
=====
Number of copied files: 18
Number of executed scripts: 1
Number of ignored files: 0
##########################################################################
 
詳細処理
この項では、File-to-Fileコンバータで使用されるコマンド行構文、および処理手順のサマリーについて説明します。
ソース・プラットフォームとターゲット・プラットフォームで次の処理に関するプロセスが必要です。
注意:
enable-buffer-converterがシステム記述ファイルに設定されている場合、z/OS形式とUNIX/Linux形式の間のバッファ内のデータ変換について「アンロード・データ」、「データの再ロード」および「転送のチェック」の手順は含まれません。
enable-reverse-converterがシステム記述ファイルに設定されている場合、UNIX/Linuxレコード・シーケンシャル・ファイルからz/OSシーケンシャル・データセットへの移行について「アンロード・データ」の手順は含まれません。ターゲット・ファイルはUNIX/Linuxプラットフォームに配置され、ファイル形式はz/OSシーケンシャル・データセットの形式に適合しています。ターゲット・ファイルのz/OSへのアップロードは実行されません。
コマンド行構文
file.sh
名前
file.sh - ファイル移行コンポーネントを生成します。
形式
file.sh [ [-g] [-m] [-i <installation directory>] <configuration name> | -s <installation directory> (<configuration name1>,<configuration name2>,...) ]
説明
file.shは、z/OSファイルをUNIX Micro Focus COBOL/COBOL-ITファイルに移行するために使用されるTuxedo ART Workbenchのコンポーネントを生成します。
オプション
生成オプション
-g <configuration name>
指定された構成に関して$TMPPROJECTでのアンロード用およびロード用コンポーネントの生成をトリガーします。生成内容は、構成ファイルで検出される情報によって異なります。
変更オプション
-m <configuration name>
生成されたSHELLスクリプトを実行可能にします。COBOLプログラムは、ターゲットCOBOLの固定形式に合うように調整されます。「生成されるコンポーネントを変更するファイル」で説明されているシェル・スクリプトが存在している場合は実行されます。
インストール・オプション
-i <installation directory> <configuration name>
インストール・ディレクトリにコンポーネントを配置します。この操作では、file-move-assignation.pgmファイルに格納されている情報が使用されます。
最後のオプション
-s <installation directory> (<configuration name 1>, <configuration name 2>, …)
COBOLコンバータとJCLコンバータの構成ファイルを生成できます。生成されたこれらのファイルは、プロジェクトのすべての単一ファイルを扱います。
これらすべてのファイルは$PARAM/dynamic-configに作成されます
file.sh -gmi $HOME/trf FTFIL001
単一使用順序
file.shのオプションを一度に1つ使用する場合は、次の順序で使用する必要があります。
3.
4.
5.
6.
処理手順
環境の構成とコンポーネントのインストール
この項では、ソース・プラットフォームとターゲット・プラットフォームでの準備作業について説明します。
z/OSでのアンロード・コンポーネントのインストール
アンロードで使用されるコンポーネント($HOME/trf/unload/fileに生成される)は、ソースのz/OSプラットフォームにインストールする必要があります(生成されたJCLは、JOBカード、ライブラリ・アクセス・パス、入力ファイルおよび出力ファイルのアクセス・パスなど、特定のサイトの制約に合せた調整が必要な場合があります)。
ターゲット・プラットフォームへの再ロード・コンポーネントのインストール
再ロードで使用されるコンポーネント($HOME/trf/reload/fileに生成される)は、ターゲット・プラットフォームにインストールする必要があります。
表6-14は、ターゲット・プラットフォームで設定する必要がある環境変数のリストです。
 
このUNIX/Linux変数は、Oracle Tuxedo Application Runtime for Batchユーティリティのディレクトリを含む必要があります。
ターゲットのCOBOLコンパイラとしてCOBOL-ITを選択し、オープン・システムでISAMファイルとしてBDBを使用する場合は、BatchRTがBDB形式のファイルを生成できるように、これらの2つの環境変数を設定する必要があります。そうしないと、Micro Focus COBOL互換ファイルが生成されます。
export COB_EXTFH_LIB=/path_to_Cobol-IT/lib/libbdbextfh.so
COBOLトランスコード・プログラムのコンパイル
COBOLトランスコード・プログラムは、「コンパイラ・オプション」で指定されるオプションを使用してコンパイルする必要があります。
これらのプログラムのコンパイルには、プロジェクトのために調整されたCONVERTMW.cpyのコピーの存在が必要です。
アンロード・データ
各ファイルをアンロードするために、IBM IDCAMS REPROユーティリティを使用するJCLが実行されます。IDCAMS REPROユーティリティによって各ファイルに対して次の2つのファイルが作成されます。
このようなアンロード用JCLの名前は<logical filename>.jclunloadです
ジョブが正常に終了するとリターン・コード0が送られます。
データの転送
アンロードされたデータ・ファイルは、サイトで使用可能なファイル転送ツール(CFT、FTP、…)を使用して、ソースのz/OSプラットフォームからターゲットのUNIX/Linuxプラットフォームにバイナリ形式で転送する必要があります。
ターゲットのUNIX/Linuxプラットフォームに転送されたファイルは、$DATA_SOURCEディレクトリに格納する必要があります。
enable-buffer-converterがシステム記述ファイルに設定されている場合、変換されるデータは呼出し元プログラムから渡されたバッファ内に存在しています。たとえば、データ・バッファがIMSアプリケーションから渡された場合、変換後の出力データは同じデータ・バッファに存在し、呼出し元プログラムに戻されます。
データの再ロード
データのトランスコードおよび再ロードを可能にするスクリプトが次のディレクトリに生成されます。
$HOME/trf/reload/file/<configuration name>/
スクリプト名の形式は次のとおりです。
loadfile-<logical file name>.ksh
loadfile-R-<logical file name>.ksh
loadgdg-<logical file name>.kshおよびloadgds-<logical file name>.ksh
注意:
loadgdg-<logical file name>.kshスクリプトによって、様々なloadgds-<logical file name>.kshスクリプトの実行が可能になります。各loadgdsスクリプトは、1つの単一世代のファイルを再ロードするために使用されます(GDG内の各データセットは、世代またはGeneration Data Set (GDS)と呼ばれます)。
ファイルのトランスコードおよび再ロード・コマンド
名前
loadfileによって、データがトランスコードされ、ファイルに再ロードされます。
形式
loadfile-<logical file name>.ksh [-t] [-l] [-c: <method>]
loadfile-R-<logical file name>.ksh [-t] [-l] [-c: <method>]
オプション
-t
ファイルをトランスコードおよび再ロードします。
-l
ファイルをトランスコードして再ロードします(-tパラメータと同じアクション)。
-c ftp:<…>:<…>
転送の検証を実装します(「転送のチェック」を参照)。
世代別データ・グループ・ファイルのトランスコードおよび再ロードのコマンド
名前
loadgdgおよびloadgdsによって、データがトランスコードされ、ファイルに再ロードされます。
形式
loadgdg-<logical file name>.ksh [-t] [-l] [-c: <method>]
loadgds-<logical file name>.ksh [-t] [-l] [-c: <method>]
オプション
-t
GDGのメンバー・ファイルをトランスコードします。
-l
Oracle Tuxedo Application Runtime for Batchユーティリティを使用してGDGのメンバー・ファイルを再ロードします。
-c ftp:<…>:<…>
転送の検証を実装します(「転送のチェック」を参照)。
注意:
loadgdg-<logical file name>.kshスクリプトは、各世代別データ・セットのloadgds-<logical file name>.kshスクリプトを呼び出します。
転送のチェック
このチェックでは、loadfile-<logical file name>.kshまたはloadfile-<logical file name>.kshの次のオプションを使用します
-c ftp:<name of transferred physical file>:<name of FTP log under UNIX>
このオプションでは、再ロードの後、z/OSから転送された物理ファイルとターゲット・プラットフォームで再ロードされたファイルに同じ数のレコードが含まれていることを確認します。このチェックは、FTPログと再ロード・プログラムの実行レポートを使用して実行されます。レコード数が異なる場合は、エラー・メッセージが生成されます。
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved