ユーザーズ・ガイド

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedo Application Rehosting Workbench JCLコンバータ

 


概要

目的

Oracle Tuxedo Application Rehosting Workbench JCL TranslatorはKornシェル(ksh)構文およびOracle Tuxedo Application Runtime for Batchコンポーネントを使用して、完全なz/OS JCLファイル(メイン・ジョブ、PROC、INCLUDEなど)を完全なUnix/Linuxシェル・スクリプトに変換します。

スキル

このガイドは、Rehosting Workbenchを使用してz/OS JCLからUNIX/ Linux Kornシェル・スクリプトへ変換するユーザーを対象としています。

JCLを変換する場合、JCL、Z/OSユーティリティおよびUNIX/Linux Kornシェルの知識が必要です。

特に、ジョブ制御言語(JCL)がプログラム、ジョブおよびユーティリティを管理し、必要な機能を果たすのに必要なリソースを割り当てる方法についての知識です。

さらに、ターゲット・シェル・スクリプトの構成方法およびBatch Runtimeコンポーネントの使用方法についての知識は、より深くJCL変換を理解する手助けとなるでしょう。

編成

JCLの変換は次の項で説明しています。

 


要件および前提条件

カタログ化の要件

JCLトランスレータを実行する前に、移行するアセットの一貫性をチェックし、構文またはアセットの一貫性(欠落または未使用コンポーネント)に関連するエラーを修正するために、カタログ化は必須です。

データ変換

データ移行プロセスは、JCL変換が開始する前に実行する必要があります。この依存性は、ファイル移行ツールがJCLトランスレータにより読み取られる構成ファイルを生成することが原因です。データ変換からの構成ファイルはOracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドに記載されています。

 


プラットフォーム移行プロセスにおけるJCLトランスレータの概要

Rehosting Workbench JCLトランスレータ・プロセスへの入力は次のとおりです。

 


変換手順

この項では、次に関する情報と手順を説明します。

構成ファイルの作成と設定

変換手順

結果の確認

構成ファイルの作成と設定

Oracle Tuxedo Application Rehosting Workbenchカタロガにより生成された変換するJCLのASTに加え、Rehosting Workbench JCL Translatorは次のような様々な変換の要素を指定するメイン構成ファイルを入力として取得します。

このファイルは容易に標準のテキスト・エディタを使用して作成または他の情報のソースから生成できます。次に、Rehosting Workbenchツールとともに提供されるSimple ApplicationのSTFILEORAで、JCLファイルを変換するために作成されたサンプルの構成ファイルにコメントします。

メイン構成ファイルは次のいずれかの個別のサブファイルも参照します。

Oracle Tuxedo Application Rehosting Workbenchは構成ファイルの例とともに提供されます。

JCL変換用のメイン構成ファイルは、このガイドではconfig-trad-JCL.descと呼ばれ、Simple Applicationアプリケーションとともに使用されます。

次の項では様々な構成パラメータと構成サブファイルについて説明し、この章の最後では完全なサンプルを提供します。

最上位スケルトンおよび最下位スケルトン

2つのオプションtop-skeletonおよびbottom-skeletonにより指定されたサブファイルは、それぞれ生成されたスクリプトのヘッダー・ファイルおよびフッター・ファイルを表します。これらのファイルはカスタマイズできます。

リスト8-1 メイン構成ファイルの最上位スケルトンおよび最下位スケルトン・エントリ

top-skeleton = "../param/top-ksh.txt"

bottom-skeleton = "../param/bottom-ksh.txt"

リスト8-2 top-ksh.txtのプロローグ・コード
#@(#)-------------------------------------------------------------------
#@(#)- SCRIPT NAME    ==  $[JOBNAME].ksh          --- VERSION OF $[DATE]
#@(#)- AUTHOR         ==                                                              
#@(#)- TREATMENT      ==                                                                        
#@(#)- OBSERVATIONS   ==  MAINFRAME MIGRATION                                                   
#@(#)-       …..                                                                               

説明:

JOBNAME

変換後に現在のJOBの名前を取得します。

DATE

KSHスクリプトの生成日です。

Oracle表に変換されるデータ・ファイルのリスト

ファイルがOracle表に変換されるとき、メイン構成ファイルは次のようなサブ構成ファイルを参照する必要があります。

file-list-in-table = "../param/dynamic-config/File-in-table.txt"

このサブファイルはOracle Tuxedo Application Rehosting Workbench File-To-Oracleコンバータにより生成されます。このファイルはJCLトランスレータにOracle表に変換されるファイルを示し、これらのファイルを含む手順を適切に変換できるようにします。例では、PJ01AAA.SS.VSAM.CUSTOMERが変換されるファイルです。

たとえば、JCLソースにOracle表に変換されるファイルが含まれている場合、対応するシェル・スクリプトはBatch Runtime機能m_ProgramExec-bオプションを指定して使用し、COBOLプログラムを実行します。-bオプションはデータベースへの接続がプログラムの実行前に開いている必要があることを示します。例:

        m_ProgramExec -b RSSABB01 

完全な構成例

一般オプションroot-skeleton、target-proc、label-end、FSNの管理などはOracle Tuxedo Application Runtime Workbenchリファレンス・ガイドのJCLトランスレータの項で説明しています。

リスト8-3 Simple Application STFILEORA用のJCLトランスレータの構成ファイル(config-trad-JCL.desc)
% config.desc :
%
root-skeleton =                 "../trf-jcl/"
target-proc   =         "../trf-jcl/Master-Proc"
use-sort=mf-sort
%
var-dataroot = "${DATA}/"
var-tmp = "${TMP}/"
var-spool = "${SPOOL}/"
% Ksh heading  
%
top-skeleton = "../param/top-ksh.txt"
% KSH footer   
%
bottom-skeleton = "../param/bottom-ksh.txt"
% Files passed in tables 
file-list-in-table = "../param/dynamic-config/File-in-table.txt"
% Suffix of translated ksh  du ksh traduit
suffix-skeleton = "ksh"
% Management of FSN to keep
set-no-delete-fsn = SORTIE ( ZIP390 ),
                    ENTREE ( ZIP390 ),
                    * ( DB2CMD,CSQUTIL ),
                    CFTIN ( CFTUTIL ),
                    SYSUT1 ( DUMMY ),
                    * ( ADRDSSU ).
% Management of FSN to delete 
set-delete-fsn = SYSOUT ( IDCAMS ),
                 SYSEXEC ( CSCOLMVS ),
                 SYSTSIN ( * ),
                 SYSPUNCH ( * ),
                 TOOLIN ( * ),
                 SYSUDUMP ( * ),
                 SYSDBOUT ( * ),
                 SYSABOUT ( * ),
                 SYSTSPRT ( * ),
                 SORTLIB ( * ),
                 OPLIB ( * ),
                 STEPLIB ( * ),
                 JOBLIB ( * ).

ランチャの構成

このファイルは、プログラムが起動されるインスタンスを検出するためのソースJCLの解釈方法、およびこの起動操作の変換方法、つまりIKJEFT01、DLIBATCHおよびその他の標準ランチャの事前定義済の構成を記述しています。

リスト8-4 メイン構成ファイルのランチャ・エントリ

global-options jclz-launcher-spec-file = "launchers"

リスト8-5 ランチャ・コードの例
LAUNCHER DFSRRC00
IndexProg : 2,
IndexPSB : 3
END
LAUNCHER DB2BATCH
IndexProg : 2,
IndexPSB : 3
END
LAUNCHER SWCP7110
IndexProg : 2,
IndexParm : 4,
Separator : ";"

END

完全な構成例

一般オプションroot-skeletontarget-proclabel-endなどはOracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドのJCLトランスレータの項で説明しています。

リスト8-6 Simple Application用のJCLコンバータ構成ファイル(config-trad-JCL.desc)
%
% config.desc :
%
%
root-skeleton =                 "../trf-jcl/"
target-proc   =         "../trf-jcl/Master-Proc"
use-sort=mf-sort
%
%
var-dataroot = "${DATA}/"
var-tmp = "${TMP}/"
var-spool = "${SPOOL}/"
%
% Ksh heading
-------------------------------------------------------------------------
%
top-skeleton = "../param/top-ksh.txt"
% Ksh heading -------------------------------------------------------------------------
%
% KSH footer ------------------------------------------------------------------------
%
bottom-skeleton = "../param/bottom-ksh.txt"
%
% KSH footer --------------------------------------------------------------------------
%
% File passed in table
%
file-list-in-table = "../param/dynamic-config/File-in-table.txt"
% Suffix of translated ksh
suffix-skeleton = "ksh"
% Management of FSN to keep
set-no-delete-fsn = SYSIN ( DSNUTILB ),
                    OUTPUT ( ZIP390 ),
                    INPUT ( ZIP390 ),
                    * ( DB2CMD,CSQUTIL ),
                    CFTIN ( CFTUTIL ),
                    SYSUT1 ( DUMMY ),
                    * ( ADRDSSU ).
% Management of FSN to delete
set-delete-fsn = SYSOUT ( IDCAMS ),
                 SYSEXEC ( CSCOLMVS ),
                 SYSTSIN ( * ),
                 SYSIN ( IDCAMS,XMFSORT,ICEMAN,SPOOL,SORT ),
                 SYSPUNCH ( * ),
                 TOOLIN ( * ),
                 SYSUDUMP ( * ),
                 SYSDBOUT ( * ),
                 SYSABOUT ( * ),
                 SYSTSPRT ( * ),
                 SORTLIB ( * ),
                 OPLIB ( * ),
                 STEPLIB ( * ),
                 JOBLIB ( * ).

変換手順

Oracle Tuxedo Application Rehosting Workbench JCL Translatorは移行プラットフォーム(Linux)で実行し、1つのジョブ・ファイル、一連のジョブ・ファイルまたはシステム・コンテンツ全体を自動的に変換できます。

環境変数の設定

変換の実行前に次の変数を設定する必要があります。

変数
使用方法
REFINEDIR
/product/art_wb11gR1/refine
Rehosting Workbench製品のファイル構造。
PROJECT
$(HOME)/ simpleapp
プロジェクトの場所。
PARAM
$PROJECT/param

構成ファイルの場所。

SOURCE
$PROJECT/source
ソース・ファイルの場所。
LOGS
$PROJECT/Logs
ソース・ファイルの場所。

変換コマンド

次のコマンドを使用して変換を実行できます。ログ・ファイルは$LOGS/trad-jclに生成されます。

1つのJCLファイルを変換するコマンドライン

入力ファイルとして同じ名前(.ksh接尾辞を除く)のKornシェル・スクリプトを作成する場合。

リスト8-7 1つのJCL変換スクリプト
cd $LOGS/trans-jcl
$REFINEDIR/refine jclz-unix -v version -s $PARAM/system.desc -c $PARAM/config-trad-JCL.desc JCL/defvcust.jcl
JCLファイルのリストを変換するコマンドライン

次のコマンドを起動するJCLファイルのリストを変換する場合。

リスト8-8 JCLのリストの変換スクリプト
cd $LOGS/trans-jcl 
$REFINEDIR/refine jclz-unix -v version -s $PARAM/system.desc -c $PARAM/config-trad-JCL.desc -f jcl-files-list
すべてのJCLファイルを変換するコマンドライン

次のコマンドを起動するすべてのJCLファイルを変換する場合。

リスト8-9 すべてのJCLの変換スクリプト
cd $LOGS/trans-jcl
$REFINEDIR/refine jclz-unix -v version -s $PARAM/system.desc -c $PARAM/config-trad-JCL.desc 

JCLポストトランスレーション手順

JCLポストトランスレーション手順

JCL変換の制限により、またはサイト固有の変換が必要な場合、反復的なポストトランスレーション・タスクを自動的に実行する場合があります。

ポストトランスレーションのメカニズムにより、別の内容で行の1ブロックを変更できます。

ポストトランスレーションの例

ポストトランスレーションの使用方法を示すために、次の例では、/prtvcust.ksh JCLスクリプト内のm_ProgramExec IEFBR14 ""を含む行の後にコメントを追加しています。

  1. renov-jcl.descに次のルールを書き込みます。
  2. # by user John Doe on YY/MM/DD
    regle add-comment-1
    filtre [
    +JCL/prtvcust.ksh
    ]
    transform [
           m_FileAssign -m R -a R -d SHR VKSDCUST ${DATA}/METAW00.VSAM.CUSTOMER
           m_ProgramExec PGMMB01 ""
    ]
    into [
           m_FileAssign -m R -a R -d SHR VKSDCUST ${DATA}/METAW00.VSAM.CUSTOMER
           m_ProgramExec PGMMB01 ""
    # Added comment
  3. コマンドラインを起動します。
  4. $REFINEDIR/M2_L3_5/scripts/post-trans  -c=\#META-RENOV\# -r=$PROJECT/param/renov-jcl.desc JCL/prtvcust.ksh < JCL/prtvcust.ksh > JCL/prtvcust.ksh.renov
    grep -v "#META-RENOV#" JCL/prtvcust.ksh.renov > JCL/prtvcust.ksh 

結果の確認

変換結果を確認するには、次のことを検証します。

エラー・メッセージを確認します。JCLトランスレータは生成されたスクリプトの実行中に発生したエラー・メッセージを出力します。"UNDEFINED"、"NIL"、"UNTRANSLATED"をキーワードにして検索して、メッセージが存在するかどうかを確認します。エラー・メッセージとその説明の完全なリストは、『Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイド』にあります。

 


Makeファイルの使用

次のことができるようになるため、Rehosting Workbenchを使用する場合はmakefileの使用をお薦めします。

makefileはプロジェクトの初期化時に操作が実装されたソース・ディレクトリに置かれる必要があります。

構成

「Oracle Tuxedo Application Rehosting Workbenchカタロガ」の「Make構成」を参照してください。

JCL変換

$SOURCEファイル・システムのすべてのJCLを変換する場合

$SOURCEディレクトリから次のコマンドを起動します。

make trad_jcl 

JCLは1つずつ順次変換されます。

関連項目


  先頭に戻る       前  次