リファレンス・ガイド

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

カタロガ

Oracle Tuxedo Application Rehosting Workbench (Tuxedo ART Workbench)カタロガはソース環境から抽出されたすべてのコンポーネントを個別および一緒に分析し、アセットに一貫性があるか、移行できるかどうかを決定します。カタロガはまた別のツールで使用される内部形式を生成します。

この章には次のトピックが含まれます:

 


カタロガの概要

カタロガはTuxedo ART Workbenchを構成する移行ツールの1つです。その目的は次の2つです。

カタロガ・プロセスへの入力

カタロガ・プロセスからの出力

カタロガ・プロセス

カタロガ・プロセスは4つの論理フェーズに分けられます。

  1. 解析: 各コンポーネントが順番に読み出され、解析(構文分析)およびリンクされ(セマンティック分析)、対応するPOBファイルが生成されます。
  2. 分析: 各コンポーネントのPOBファイルが再度読み取られ、コンポーネントで最も重要な構造が、カタロガ記号表(symtab)に格納されたより小さなサマリー情報に変換されます。
  3. 分析後: symtabおよびサマリー情報を使用して、カタロガは、各コンポーネントに対する正常、未使用または欠落のラベル付けを可能にする相互参照リンクを計算します。
  4. レポート生成: 相互参照リンクで修飾されたsymtabが巡回され、各コンポーネントに対して情報が出力されます。

プロジェクトおよび移行プラットフォームの構成の必要に応じて、これらのフェーズは単一の実行または増分的に、順次または同時に実行することができます。詳細は、繰返しおよび増分操作およびOracle Tuxedo Application Runtimeのプロセス・ガイドを参照してください。

 


入力コンポーネントの説明

カタロガはz/OSプラットフォームで実行している、完全な作業ソフトウェア・アプリケーションのソース・ファイルを入力として受け入れます。これは、この後の項で詳細に説明する、次のタイプのファイルで完全に構成されている必要があります。

COBOL

リファレンス

Tuxedo ART Workbench COBOLパーサーはCOBOL言語を、IBM Enterprise COBOL for z/OS Language Reference Version 3 Release 4 (資料番号SC27-1408-04)での仕様のとおり受け入れます。

制限

次の構成または機能は受け入れません。

サブプログラム

パーサーはCOBOLプログラムとそのサブプログラムを処理します。サブプログラムがWorkbenchプロジェクトに存在せず、COBOLプログラム内で呼び出されている場合、Workbenchはサブプログラムがないことを報告します。このサブプログラムがランタイム・システムで提供され、その名前がカタロガ・オプション・ファイル内のオプションのsupplied-batch-moduleおよびsupplied-cics-moduleで指定されたファイルにリストされている場合、Workbenchはこれらのプログラムについてはないと報告しません。

例:

カタロガ・オプション・ファイルの構成をリスト3-1に示します。

リスト3-1 カタロガ・オプション・ファイル
%% Options for cataloguing the system 
call-hints="../param/call-hints.desc". 
supplied-batch-module="../param/supplied-batch-module". 
supplied-cics-module="../param/supplied-cics-module". 
job-card-optional. 

ファイル"../param/supplied-batch-module"での構成は次のとおりです。

#Comment line 
ILBOABN0 
CEE3ABD 

ファイル"param/supplied-cics-module"での構成は次のとおりです。

#Comment line 
CICS001 
CICS002 

ILBOABN0およびCEE3ABDはBatchランタイム・システムで提供されます。CICS001およびCICS002はCICSランタイム・システムで提供されます。Workbenchはこれらのプログラムについてはないと報告しません。

埋込みCICS

リファレンス

COBOLパーサーはサブパーサーを使用して埋込みEXEC CICS文(コマンド)を解析します。パーサーはIBM CICS Application Programming Reference Version 3 Release 1(資料番号SC34-6434-05)で定義された言語を受け入れます。

SQL

リファレンス

同じパーサーがスタンドアロン・モードで使用されてSQL DDLファイルを解析し、サブパーサーとしてCOBOLプログラムに埋め込まれたEXEC SQLコードを解析します。これはIBM DB2 Version 9.1 for z/OS Application Programming and SQL Guide(資料番号SC18-9841-00)およびIBM DB2 Version 9.1 for z/OS SQL Reference(資料番号SC18-9854-00)の言語仕様に基づきます。

JCL

リファレンス

JCLパーサーはIBM z/OS MVS JCL Reference(資料番号SA22-7597-09)の言語仕様に基づきます。

一般情報

サブファイル

システム記述ファイルで指示されているように、パーサーは様々な形式のサブファイルおよびファイル・インクルード・ディレクティブ(EXEC [PROC]、INCLUDE、SYSIN、SYSTSINなど)を処理し、アセットのサブファイルを検索します。カタロガおよびJCLトランスレータのようなその他のツールは、処理するすべてのJCLスクリプトのすべての手順を完全に理解している必要があり、すべての参照されるサブファイルがアセットに存在し、そのファイル・タイプおよび検索パスは、すべての参照でサブファイルが正しく検索されるように設定されることが非常に重要です。カタロガはサブファイルの欠落を、すべての影響を受けるJCLの正しい分析および変換を妨げるという理由で、重要度の高い異常としてレポートします。変換はこのような異常がすべてなくなるまで試行できません。

SYSIN/SYSTSINファイルは次の2つのタイプがあります。

すべての参照されるPROCおよびINCLUDEサブファイルはアセットに存在する必要があります。

パーサーはまたストリーム内PROC (PROCおよびPENDカードで区切られる)およびSYSIN/SYSTSIN (DD *)を処理する(欠落していない場合)ことに注意してください。

JCL構文

JCLジョブは、実行条件を含むまたは含まない、ステップのシーケンスです。カタロガ・オプション・ファイルでjob-card-optionalオプションが指定されている場合を除き、JOBカードで開始する必要があります。

すべてのJCL、JES2およびJES3文が解析されます。JCLはJES2から直接実行できる必要があります。パーサーはJES変数置換を実行します。JCLでローカルに定義されていない変数は、システム記述ファイルのJCL-globalsオプションを使用して設定できます。「特別なオプション」を参照してください。

コメント・カード("//*"で開始)は 同様に認識され、変換用に保持されます。

パーサーはすべての種類のJCLカードを認識します。PROCのオーバーライドおよびrefbackを処理しますがDDカードに限ります。継続カードも処理します。

制限

PROCおよびINCLUDEファイルの両方としてサブファイルを使用

特定の状況では、同じサブファイルをPROCファイルおよびINCLUDEファイルの両方として使用できます。しかしターゲット・ファイルへの変換はそれぞれのケースで異なるので、問題のターゲット・ファイルを複製する必要があり、その1つのコピーを使用してPROCとして変換し、別のコピーをINCLUDEファイルとして変換します。これを達成するには、もちろん2つのコピーが別のディレクトリに配置されていることが必要で、これらのファイルをPROCとして使用するJCLはPROCバージョンを先に見つけ、INCLUDEとして使用するJCLはINCLUDEバージョンを先に見つけるように、検索パスを設定する必要があります(同じJCLが同じファイルをPROCおよびINCLUDEの両方として使用することはできません)。

JCLごとに1つのJOBカードを使用

JCLごとに1つのJOBカードのみを使用できます。複数のJOBカードを含むファイルがある場合、カタロガを実行する前に分割する必要があります。JOBカード内のジョブ名と(単純な)ファイル名が一致することを確認してください。

解析される標準ユーティリティ・コマンド

JCLパーサーは様々な標準ユーティリティ用のコマンドファイル(SYSIN、 SYSTSINなど)の内容をフェッチ(ストリーム内でない場合)し解析します。そのようなユーティリティの現在のリストは次のとおりです。

注: これらのユーティリティのサポート、たとえばコマンド言語を処理するパーサー機能などは、部分的である可能性があります。

BMS画面定義

BMSパーサーは次のドキュメントで定義されているようにBMS言語を処理します。

パーサーはすべての正しいBMS定義を受け入れます。また、これは明らかな構文エラーのほとんどをレポートしますが、そのようなエラーのすべての認識しているという意味ではありません。

CICS構成

CICS構成パーサーはCICSリソース定義言語をバッチ・ユーティリティDFHCSDUP (IBM CICS Transaction Server for z/OS Resource Definition Guide Version 3 Release 2、資料番号SC34-6815-00を参照)による読取りとして処理します。コマンドDELETE ALLADDREMOVEおよびDEFINEが認識されます。すべてのリソース・タイプおよび属性が認識されますが、パーサーおよびエクストラクタで実際に利用されるのはほんのわずかしかありません。

 


構成ファイルの説明

システム記述ファイル

システム記述ファイルには、処理するアセットの全ソース・ファイルの場所、タイプ、可能性のある依存関係が記述されます。このように、このファイルは、カタロガのみでなくすべてのTuxedo ART Workbenchツールがこれらのソース・ファイルや対応するコンポーネントにアクセスするために不可欠です。システム記述ファイルはまた解析に影響を与えるパラメータの数も指定します。

一般構造

リスト3-2 システム記述ファイルの構造
Sys-desc-file ::= “system” system-name “root” system-root-path
				global-options special-options 
				directories
注: ファイルの形式は基本的には自由で、行の長さの制限もありません。コメントはパーセント文字で開始し、行の終わりで終了します。
注: 記号(名)の形式には[A-Z][a-z][0-9][*-_]の文字を含めることができます。記号は数字を先頭にできますが、少なくとも1つの文字が必要です。キーワードおよび記号(名)では大/小文字は区別されません。文字列では大/小文字は区別されます。

system-name

システム記述ファイルの最初の要素は、アセットの名前を指定する記号です。この名前はTuxedo ART Workbenchツールのみが参照用に使用するため、自由に選択できます。Tuxedo ART Workbenchツールにより生成される一部のファイルおよびディレクトリの名前にもこの名前が含まれます。

system-root-path

2番目の要素はLinux移行プラットフォーム上のすべてのコンポーネント・ソース・ファイルを含むディレクトリのパスを指定した文字列です。このディレクトリはファイルシステムのどこにでも配置できます。そのパスは絶対形式(スラッシュ文字で開始)または相対形式のいずれかで指定できます。後者の場合、パスはシステム記述ファイル自体を含むディレクトリ(通常、ソース・ファイルを含むsourceディレクトリのほかにparamディレクトリに配置されますが、Tuxedo ART Workbenchツールはここで記述された構成を受け入れます)への相対パスです。

グローバル・オプション

この句の要素は、解析、カタログ化、一般的に言えば、ソース・ファイルの処理に影響を与える様々な設定を指定します。この句の一般的な構文は次のとおりです。

リスト3-3 システム記述ファイルのグローバル・オプション
( “options” | “global-options” ) opt-name-1 “=” opt-value-1 “,”
opt-name-2 “=” opt-value-2 “,” ... “.”

各オプションの値には、整数、記号、文字列またはブール・インジケータを使用できます。(次のものがブール・インジケータとして認められます。

オプション名およびオプション値は文字列を除き、大文字・小文字は区別されません。一般的に、これらの設定はアセット全体にグローバルに適用することも、特定のディレクトリにローカルに上書きすることもできます(次を参照)。

ここで受け入れられる様々なオプションを次の表に示します。

表3-1 グローバル・オプション
オプション名
種類
ローカル
説明
Catalog, catalog-option
文字列
いいえ
カタロガ・オプション・ファイルのパス(次を参照)。このパスは絶対形式または相対形式のいずれでも指定できます。後者の場合、パスはシステム記述ファイル自体を含むディレクトリへの相対パスです。この句はオプションで、指定しない場合、カタロガはオプション・ファイルを読み取ろうとせず、すべてのオプションにデフォルト値が使用されます。
Cobol-Right-Margin
整数(> 60)
はい
COBOLプログラムの領域Cの開始列。デフォルト値は66で、列1 - 6および72 - 80が削除された固定形式のプログラムに適しています。
Cobol-Left-Margin
整数(< 12)
はい
COBOLプログラムのコメント列。デフォルト値は1で、列1 - 6および72 - 80が削除された固定形式のプログラムに適しています。
Remove-Cobol-Reserved-Word
文字列
はい
このオプションはCOBOLパーサーに、(IBM COBOL LE言語で)予約済とみなされたキーワードが、実際には、このアセットまたはディレクトリで使用される言語では予約されていないことを伝えるために使用されます。このオプションは同じシステムまたはディレクトリで複数回指定できます。各プログラムで、予約されないとみなされるこのようなキーワードのリストは、この名前のすべてのローカル(ディレクトリ)またはグローバル(システム)オプションで指定されたすべての値を累積することで作成されます。デフォルト値はもちろん空のリストです。
No-END-Xxx-Warnings、No-END-Xxx
ブール
はい
trueの場合、構成を含む文が適切なEND-xxxキーワード以外では閉じていないときでも報告しません。デフォルト値はfalse、つまり報告します。"false"値をこのオプションに指定すると、逆の意味になることに注意してください。
Yes-End-Xxx-Warnings、Yes-End-Xxx、END-Xxx-Warnings
ブール
はい
前のオプション、No-END-Xxx-Warningsの逆です。同じディレクトリまたはグローバル・レベルで、両方のオプションを使用することはできませんが、片方のオプションをグローバル・レベルで、もう片方のオプションをいくつかのディレクトリで使用することはできます。"false"値をこのオプションに指定すると、逆の意味になることに注意してください。
SQL-Schema、Default-SQL-Schema
文字列または記号
はい
明示的に指定されない場合のSQLコードで使用されるスキーマの名前。これはスタンドアロンSQLコード(DDL、SQLスクリプト・タイプのファイル)およびCOBOLプログラムに埋め込まれているSQLコードに適用されます。
SQL-Use-Reversed-Delimiters、SQL-Reversed-Delimiters
ブール
はい
trueの場合、このディレクトリまたはシステムのSQLコードは、文字列に二重引用符、区切られた識別子に一重引用符を使用します。デフォルトの動作(falseの場合)はこの逆で、文字列に一重引用符、区切られた識別子に二重引用符が使用されます。
SQL-No-Keyword-Is-Reserved、SQL-Keywords-Not-Reserved
ブール
はい
trueの場合、このディレクトリまたはシステムのSQLコードのキーワードは予約済とみなされません(DB2バージョン8以前で使用)。デフォルトの動作(falseの場合)は、すべてのキーワードが予約済とみなされるので、他の目的で使用されると報告されます(DB2バージョン9と同様)。
SQL-Right-Margin
整数(> 0)
はい
SQLスクリプト・ファイルの"行末"列です(COBOLプログラムに埋め込まれたSQLコードには適用されません)。列1-6および72-80が削除された固定形式のファイルでは66を設定します(COBOL)。デフォルト値は"無限"で、自由形式のファイルに適しています。右マージンは常に1なので、これを無視する場合には、固定形式のファイルの列1 - 6を必ず物理的に削除する必要があります。
jclz-launcher-spec-file、jclz-launcher-specs-file
文字列
はい
このシステムまたはディレクトリで使用するJCLランチャ仕様ファイルのパス。これらのファイルの内容と使用方法の詳細は、「JCLランチャ仕様ファイル」を参照してください。このパスは絶対形式または相対形式のいずれでも指定できます。後者の場合、パスはシステム記述ファイル自体を含むディレクトリへの相対パスです。

特別オプション

特別オプションは、主に構文上の理由で、前述のグローバル・オプション・メカニズムに統合できない句です(値はリストです)。このオプションはグローバル・オプションの前でも後ろでもかまいませんが、間にはできません。すべて次の構文形式をとります。

リスト3-4 システム記述ファイル特別オプション
opt-name “=” opt-value “.”

イコール記号と末尾のピリオドは必須です。値がリストの場合、リスト内の項目はカンマで区切る必要があります。特別オプションを次の表で説明します。

表3-2 特別オプション
オプション名
種類
説明
minimum-free-ram-percent
整数(> 0および< 100)
カタロガおよび様々なTuxedo ART Workbenchツールの実行中に、他のプロセスが使用できる空き物理メモリーの割合。一般に、これらのツールは処理するコンポーネントの数に応じて、より多くのメモリーを消費します。この限界に到達すると、ツールは停止し実行を再開します。増分実行により、すでに処理したコンポーネントは再度処理されないため、結局、必要な作業はすべて行われます。
JCL-globals
ペアのリストvar-name = var-value、カンマ区切り
Var-nameは記号(または記号として解釈される文字列)で、var-valueは文字列です。JCLスクリプトの解析時に、パーサーはJES2により実行されるJCL変数置換プロセスをシミュレートします。ここで指定されるname-valueペアは(パラメータなどとは対照的に)グローバル変数の置換に使用されます。パーサーは変数に適した値が見つからないとエラーをレポートします。
strict-jcl-libraries
なし(ブール・フラグ)
このオプションの存在は、JCLにより参照されるSYSIN/SYSTSINファイルがシステム全体で検索される方法に影響を与えます。後述のサブファイル検索操作の章を参照してください。
Dbms-version
文字列または記号
ソース・プラットフォームで使用されるDB2リレーショナルDBMSのバージョン。これはRDBMSツール(q.v.)で使用されます。
use-file-catalog
なし(ブール・フラグ)
このオプションの存在により、ファイルまたはDDにカタログやボリュームの情報がもたらされます。存在しない場合、カタログとボリュームは提示されません。詳細は、JCLトランスレータおよびファイル・コンバータの説明を参照してください。これはFILE-TO-FILE、FILE-TO-ORACLE、およびFILE-TO Db2/luw (udb)コンバータにも影響します。
enable-buffer-converter
なし(ブール・フラグ)
このオプションが存在する場合は、バッファ・コンバータ機能が有効になり、z/OS形式とUNIX/Linux形式間でデータを変換するための2つのCOBOLプログラムが生成されます。バッファには、ソース・データとターゲット・データの両方が格納されます。
このオプションが設定されていない場合、関連するCOBOLプログラムは生成されません。詳細は、FILE-TO-FILEの説明を参照してください。
enable-reverse-converter
なし(ブール・フラグ)
このオプションが存在する場合は、逆コンバータ機能が有効になり、UNIX/Linuxレコード・シーケンシャル・ファイルからz/OSシーケンシャル・ファイルにファイルを変換するための1つのCOBOLプログラムが生成されます。このCOBOLプログラムを呼び出すための1つのスクリプトも生成されます。
このオプションが設定されていない場合、関連するCOBOLプログラムとスクリプト・ファイルは生成されません。詳細は、FILE-TO-FILEの説明を参照してください。
default-sequential-mode
文字列または記号
このオプションは、シーケンシャル・ファイルの移行のデフォルト動作を示しています。
default-sequential-modeは、recordまたはlineに設定できます。
  • lineは、ライン・シーケンシャル・ファイルへの移行を示しています。これがデフォルト値です。
  • recordは、レコード・シーケンシャル・ファイルのままにすることを示しています。
dont-parse-exec-sql
なし(ブール・フラグ)
このオプションは、EXEC SQL文の解析を無効にします(ただし、EXEC SQL INCLUDE文の解析は無効にできません)。
microfocus-cobol (mf-cobol)
なし(ブール・フラグ)
このオプションは、COMP-6、STOP RUN RETURNING 1文のサポートなど、Micro Focus COBOLの拡張を有効にします
use-fileschema-as-dbschema
なし(ブール・フラグ)
このオプションでは、生成された表およびその他のデータベース・オブジェクトにデータベース・スキーマとして構成されたファイル・スキーマを適用します。
設定されない場合、生成されたデータベース・オブジェクトに対してデータベース・スキーマは指定されません。これは、デフォルト動作です。これは、File-to-Oracleコンバータに対してのみ有効です。

ディレクトリ

システム記述ファイルのメイン・コンポーネントはディレクトリ句のリストで、指定したアセットの様々なソース・ファイルの場所、そのタイプと相互関係を指定します。各句の構文は次のとおりです。

リスト3-5 システム記述ファイルのディレクトリ
“directory” directory-path
       type-clause file-clause logical-name-clause options-clause
       libraries-clause sql-libraries-clause
       subdirectories “.”

(必須)ディレクトリ・パスが最初に来ます。オプションのサブディレクトリがあれば最後である必要があります。他の句はどの順序でもかまいません。これらの句のうち、type句とfile句のみが必須で他はオプションです。

ディレクトリ・パス

これはディレクトリの、システムのルート・ディレクトリに対する相対パス(場所)を指定する文字列です(system-root-pathを参照)。絶対要件ではありませんが、同じシステムのすべてのディレクトリをシステム・ルート・ディレクトリの物理的な子孫にすることを強くお薦めします。(これを実現する単純で理解しやすい方法はディレクトリ・パスに、上に移動する"../"を含めないことです。)異なるディレクトリは異なるパスを持つ必要があります

Type句
“type” directory-type

type句はディレクトリのタイプを指定しますが、これは含まれるソース・ファイル(コンポーネント)のタイプのことです。このタイプは大文字・小文字を区別しない記号として指定されます。次のタイプだけが受け入れられます。

表3-3 有効なディレクトリタイプの句
種類
説明
Cobol-Batch
バッチ操作で使用される主要なCOBOLプログラム(JCLによって参照されます)。EXEC SQLコード(データ操作言語(DML))が含まれる場合があります。
Cobol-TPR
TP操作で使用される主要なCOBOLプログラム(トランザクションおよびCICS XCTLコマンドによって参照されます)。EXEC SQLおよびEXEC CICSコードが含まれる場合があります。
COBOL-Library、COBOL-Copy
COBOLコピー・ファイル(コピー・ブック)。主要プログラム・ファイルに含まれます。
SQL-Script
原則的にDDL(データ定義言語)文を含むスタンドアロンSQLコード。SQL-Scriptファイルのセットは、システム内で使用されるデータベース・スキーマをまとめて定義します。
JCL
メインJCLファイルで、1つまたは複数のJCLジョブを定義します。
JCL-Lib
JCLサブファイルで、EXECにより起動されるプロシージャを定義する、またはINCLUDEにより起動される文を含みます。
JCL-Sysin
JCLスクリプトのユーティリティ・プログラムまたはプログラム・ランチャにより使用されるSYSIN/SYSTSINファイル。すべてのSYSINファイルが、パーサー/カタロガで必須なわけではありません。詳細は、Tuxedo ART Workbench JCL Translatorリファレンス・マニュアル(入力コンポーネントの説明に関する項)を参照してください。
BMS
BMS画面の定義(ソース・フォーム内)
RDO
CICSを構成するためにRDOによって使用される、CICSシステム定義ファイル(CSD)で、IBM社の『CICS Resource Definition Guide』を参照してください。

files句

“files” file-specs “,” ...

file-specsはディレクトリ内の1つまたは複数のファイルを指定する文字列です。この文字列はアセットに含まれるメンバーを特定し、その他を除外します。file-specの最も単純な形式はtoto.cblのような完全なファイル名です。ディレクトリの表示を指定する必要はなく、指定されたファイルは問題のディレクトリに直接配置する必要があります。ディレクトリ内のすべてのコンポーネントを明示的にリストする作業を避けるために、*.cbl[A-F][D-Z]*.jclといったシェルのような正規表現を使用することもできます。

注: システム記述ファイルで指定されたすべてのファイル(アセット内のすべてのソース・ファイル)のファイル名は、拡張子付きであることが重要です。この拡張子は自由に選択できますが、存在している必要があり、COBOLプログラムにはcbl、COBOLコピー・ファイルにはcpy、メインJCLファイルにはjclというように、"標準の"拡張子を使用することをお薦めします。

logical-name句

logical-name lname

この句は、JCL-Sysinタイプのディレクトリで、特別オプションstrict-jcl-libraries(前述を参照)とともに使用されます。ともに使用することで、厳密なJCL-Sysin検索モードが有効になります。lnameは、A.B.C形式の文字列で、ソース・プラットフォームのJCL SYSIN/SYSTSINファイルのライブラリ(PDS)の名前を指定します。この句を有するディレクトリ内のすべてのファイルは、このライブラリに属していると想定されます。

特別オプションstrict-jcl-librariesが設定されていない場合、logical-name句は無視されます。

options句

リスト3-6 options句
“options” opt-name-1 “=” opt-value-1 “,”
opt-name-2 “=” opt-value-2 “,” ...

構文的には、このディレクトリ特有のoptions句は、システム全体のGlobal Options句と似ていますが、末尾のピリオドが違います。意味としては、リストされたオプションと値はグローバル・オプションと同じ効果がありますが、ローカルにディレクトリに含まれるファイルのみに適用されます(同じ名前でグローバル・オプションをオーバーライドします)。グローバル・オプション表のlocal?列にyesとマークされているものと同じオプションは、それが関係するソース・ファイルのタイプを含むディレクトリに適用されます。たとえば、オプションcobol-right-marginはCOBOL-BatchおよびCOBOL-TPRタイプのディレクトリに関係しますが、JCLまたはSQLスクリプト・タイプには関係しません。

さらに、JCLタイプのディレクトリに対するディレクトリ特有のオプション"Right-margin"があります。この値はJCLファイルの"行末"列を指定する整数です。デフォルト値は72で、これはほとんどのIBM JCLソース・ファイルに適しています。

libraries句

“libraries” directory-path “,” ...

libraries句はアセット内の(他の)ディレクトリのパスを検索する順序を指定します。カタロガがソース・ファイルで他のコンポーネントへの参照を見つけるときは常に、参照と一致する名前およびタイプを持つコンポーネント(ソース・ファイル)を見つけるまで、この句で指定したディレクトリのリストを最初から最後まで検索します(後述のサブファイル検索オプションの項を参照)。これはCOBOLプログラムのコピー・ファイルの参照やJCLファイルのPROCの参照などの、コンパイルおよび解析時の参照と、COBOLプログラムのCOBOLサブプログラムの呼出しやJCLジョブのCOBOLプログラムの起動などの実行時の参照の両方で使用されます。この方法で、COBOLコンパイル用のSYSLIBまたはCOPYLIB、JCLの準備および実行用のJOBLIBおよびSTEPLIBなどといった、様々なソース・プラットフォームのライブラリ検索操作の影響をシミュレートできます。

注: このディレクトリパスは参照されるディレクトリの定義で指定されたものと一致する必要がある文字列です。しかし、ディレクトリの定義はその参照の前または後に配置される可能性があります。

sql-libraries句

“sql-libraries” directory-path “,” ...

sql-libraries句はCOBOLプログラムのEXEC SQL INCLUDEディレクティブを解決するためのibraries句と同じ働きをします。省略すると、このような参照の解決は通常のibraries句と同じ検索パスを使用しますが、通常のCOPYディレクティブおよびSQL INCLUDEディレクティブに異なる順序を使用するために必要な場合があります。

システム記述ファイルの例

リスト3-7 システム記述ファイルの例
system BNL root "../source"
options catalog = "./options-catalog.desc",
	no-end-xxx-warnings,
	cobol-left-margin = 7,
	cobol-right-margin = 72,
	SQL-Schema = DB2A1,
	SQL-Server = BNL.
minimum-free-ram-percent = 20.
%
% Copies
%
 directory "COPY"   type Cobol-Library files "*.cpy".
 directory "INCL"   type Cobol-Library files "*.cpy".
 directory "IBMCPY" type Cobol-Library files "*.cpy".
%
% Sysin
%
  directory "SYSIN"      type JCL-SYSIN files "*.sysin".
  directory "SYSINCDB"   type JCL-SYSIN files "*.sysin".
%
% DDL
%
  directory "DDL"  type SQL-SCRIPT
		   files "*.sql"
  	    	   options SQL-Schema = "DB2A0".
%
% Batch
%
 directory "Batch" type COBOL-Batch files "*.batch"
           libraries "COPY", "INCL", "IBMCPY"
	   options cobol-right-margin=73.
%
% TPR
%
 directory "TPR" type COBOL-TPR files "*.tpr"
           libraries "COPY", "INCL", "IBMCPY".
%
% JCL
%
 directory "JCL" type JCL files "*.jcl"
              libraries "SYSINCDB", "SYSIN".
%
% CICS
%
directory "MAPS" type BMS files "*.bms".
directory "CICS" type RDO files "*.rdo".

このシステム記述ファイルはBNLという名前のアセット用で、顧客や大規模システムのスタンドアロン・アプリケーションの名前の例です。このファイルの名前と場所に制約はありませんが、慣例的にはその完全なパスは、/.../BNL/param/system.descのようにします。これを前提として、このファイルに指定されたシステム・ルート・ディレクトリのパスが相対的(../source)なので、ルート・ディレクトリの絶対パスは/.../BNL/sourceです。同様に、カタロガ・オプション・ファイルは./options-catalogと指定されているので、その絶対パスは/.../BNL/param/options-catalogです。グローバル・オプションは次のコメントを呼び出します。

様々なディレクトリの名前と構造は完全に標準で、アセット内のソース・ファイルはそのファイル拡張子によってのみ識別されます。ここで通常とは違う機能は、Batchディレクトリに対する特別なcobol-right-marginの値です。

JCLランチャ仕様ファイル

目的

ほとんどのIBMソース・アセットにはプログラム・ランチャ、つまり適用できるプログラムを起動するユーティリティ・プログラムを起動するJCLステップが含まれます。DB2ランチャIEKJFT01などの多くのランチャは、Tuxedo ART WorkbenchカタロガのJCLパーサーおよびアナライザにより直接認識されます。しかし、多くの場合、このようなランチャはインストールに特有であり、特別な処理を必要とします。幸いにも、これらのほとんどは汎用的なJCL起動メカニズムと構文(EXEC PGMカード)を使用し、関連する起動情報はPARM値に含まれます。

JCLランチャ仕様ファイルの目的は、カタロガおよびJCLトランスレータが、起動する実際のプログラムの名前などの関連情報を抽出できるように、指定したアセットで使用されるランチャを説明することです。仕様はほとんどの場合、PARM値はいくつかの区切り文字(標準のJCLの区切り文字であるカンマであるとは限らない)により個々のパラメータに分割され、プログラム名、PSB名、PLAN名などを指定するパラメータはシーケンス中で適切に定義された位置にあるという事実に基づきます。

構文

JCLランチャ仕様ファイルは、次の構文の自由形式テキスト・ファイルで、ここではすべてのキーワードと記号は大文字・小文字を区別しません。

リスト3-8 JCLランチャ構文
LAUNCHER <Launcher name>
[<option-name> = <option-value> [, 
... ]
]
END
...

オプション・リスト

最後の3つのオプションはデフォルト値がありません。オプションがない場合、対応する情報は単に使用できません。

使用方法とデフォルト値

ディレクトリに添付されたローカルのjclz-launcher-spec-fileオプションは存在する場合、通常はグローバル・オプションをオーバーライドします。指定したディレクトリおよびシステム全体のいずれにもランチャ仕様ファイルが指定されていない場合、デフォルト値は次のファイルを使用したかのようになります。

リスト3-9 デフォルト・ランチャ値
LAUNCHER DFSRRC00
IndexProg : 2,
IndexPSB : 3
END
LAUNCHER DB2BATCH
IndexProg : 2,
IndexPSB : 3
END

 


出力ファイルの説明

カタログ・レポート

形式と場所

これらのレポートはすべてCSV形式で生成され、フィールドは1つのセミコロンで区切られます。

これは$SYSROOT/Reports-${SYSNAME}ディレクトリに生成され、ここで$SYSROOTは現在のアセットのルート・ディレクトリ、$SYSNAMEはアセット名で、いずれもシステム記述ファイルで定義されています。

競合を避けるため、各レポートの名前には$SYSNAMEも含まれています。

フィールド定義

次のフィールド定義は様々なレポートで使用されます。

パス(文字列)

システム記述ファイルに指定された"システム"のルートへの相対パスとして、問題のエンティティを定義する(メイン)ソース・ファイルの識別子。

ステータス(列挙: CORRECT、UNUSEDまたはMISSING)

CORRECT

コンポーネントがアセット内に存在し、少なくとも1つのそこへの参照が1つまたは複数の他のコンポーネントに見つかりました。つまりコンポーネントは使用されています。

UNUSED

コンポーネントがアセット内に存在していますが、そこへの参照が他のコンポーネントに見つかりませんでした。

MISSING

コンポーネントがアセットに存在せず、少なくとも1つのそこへの参照が見つかりました。
注: UNUSEDおよびMISSINGは(コンポーネント間)異常とみなされます。

異常レベル(列挙: FATAL、ERROR、WARNING、NOTICE、OK)

内部分析中に、問題のコンポーネントで検出された異常の最大レベルです。

FATAL

構文エラーなどのリカバリ不能なエラーが検出されました。分析の結果は不完全で、コンポーネントまたはアセットは変換に適していません。

エラー

宣言されていない変数などのリカバリ可能エラーが検出されました。分析の結果は正確でない可能性があり、コンポーネントまたはアセットは変換に適していません。

WARNING

分析中または変換後に、問題(不正確)を引き起こす可能性のある状況が検出されましたが、コンポーネントは変換に適しています。

NOTICE

注目すべき状況が検出されましたが、問題を引き起こすものではありません。

OK

異常は検出されませんでした。
注: コンポーネントがMISSINGの場合、すべてユーザーにより提供された情報に応じて、このフィールドはアセットに存在しないコンポーネントに対する句を記述する識別子で置き換わります(SYSTEM、CORRECTまたはPROBLEM)。

MISSING

コンポーネントがMISSINGの場合、すべてユーザーにより提供された情報に応じて、このフィールドはアセットに存在しないコンポーネントに対する句を記述する識別子で置き換わります(SYSTEM、CORRECTまたはPROBLEM)。

report-${SYSNAME}-COBOL-Programs

このレポートはアセット内で定義または参照されたすべての(COBOL)プログラムをリストします。これは-Cobol-Batchおよび-Cobol-TPRレポートからなります。

次のフィールドがレポートに含まれます。

表3-4 COBOLレポート・フィールド
フィールド
種類
説明
名前
記号
(エンベロープ)ファイル名で定義されたプログラム名。
パス
文字列
フィールド定義を参照してください。これはプログラムを定義する(メイン)ソース・ファイルのパスです。

注: Tuxedo ART Workbenchは現在、同じファイル内で複数のプログラムを処理しません。

Type
列挙: BATCH、TPまたはSUB
システム記述ファイルの分類により定義されたプログラムのタイプ(Cobol-Batch、Cobol-TPR)。
ロケーション
整数
コピー拡張後のプログラムの合計行数。
NPar
整数
Procedure Divisionのパラグラフ数。
ステータス
列挙
フィールド定義を参照してください。
異常レベル
列挙
フィールド定義を参照してください。

次のフィールドは、コンポーネントがMISSINGの場合には空(未定義)です。

また、SUBタイプのコンポーネントの場合、この名前は、サブプログラム自体の名前ではなく、サブプログラムのエントリ・ポイントの名前である可能性があります。これはCALLで参照される名前であり、カタロガではそれが指定しているのがエントリ・ポイントと完全なサブプログラムのどちらなのかを特定できません。

report-${SYSNAME}-COBOL-Copy

このレポートはアセットに含まれるまたは参照されるすべてのCOBOLコピー・ファイル(コピーブック)をリストします。次のフィールドがレポートに含まれます。

表3-5 COBOLコピー・レポート・フィールド
フィールド
種類
説明
名前
文字列
(エンベロープ)ファイル名により、および場合によってはシステム記述ファイル内の構成ディレクトリのlogical-name句により定義された、コピー・ファイルの論理名。
パス
文字列
フィールド定義を参照してください。
ロケーション
整数
コピー・ファイルの行数。
ステータス
列挙
フィールド定義を参照してください。

次のフィールドは、コンポーネントがMISSINGの場合には空(未定義)です。

report-${SYSNAME}-JCL-Files

ファイルごとに複数のジョブを処理するため、JCLについては、(メイン)ソース・ファイルのレポートとジョブのレポートは別になります。(メイン)ソース・ファイルでは、次のフィールドがレポートに含まれます。

表3-6 JCLソース・ファイル・レポート・フィールド
フィールド
種類
説明
パス
文字列
フィールド定義を参照してください。
ロケーション
整数
PROC、 INCLUDEおよびSYSINの拡張後の、JCLファイルの合計行数。
NJob
列挙
このファイルに定義されたジョブの数。
異常レベル
列挙
フィールド定義を参照してください。これは含まれているすべてのジョブの最高異常レベルと少なくとも同じ高さで、構文エラーの場合にはさらに高いこともあります。

JCLソース・ファイルは決してMISSINGにはならず、JCLジョブだけが欠落する可能性があります。

report-${SYSNAME}-JCL-Sub-Files

このレポートはメイン・ファイルの分析に必要なJCLサブファイルである、PROC、INCLUDEおよび一部のSYSINファイルを説明します。次のフィールドがレポートに含まれます。

表3-7 JCLサブファイル・レポート・フィールド
フィールド
種類
説明
名前
文字列
メイン・ファイルから参照されるサブファイルの名前。
パス
文字列
フィールド定義を参照してください。
Type
列挙: PROC、INCLUDEまたはSYSIN
システム記述ファイルおよびメイン・ファイルでの参照に使用される構成の分類により定義されたサブファイルのタイプ。
ロケーション
整数
サブファイルの行数。
ステータス
列挙
フィールド定義を参照してください。

次のフィールドは、コンポーネントがMISSINGの場合には空(未定義)です。

report-${SYSNAME}-JCL-Jobs

このレポートはアセット内で定義または参照されたすべてのJCLジョブをリストします。次のフィールドがレポートに含まれます。

表3-8 JCLジョブ・レポート・フィールド
フィールド
種類
説明
名前
文字列
JOBカードで定義されたジョブの名前。
パス
文字列
フィールド定義を参照してください。これはジョブを定義する(メイン)ファイルのパスです。
ロケーション
整数
サブファイルの拡張後の、ジョブ自体の行数(JOBカードからENDJOBカードまで)。
NStep
整数
このジョブで定義されたステップ数。
ステータス
列挙
フィールド定義を参照してください。
異常レベル
列挙
フィールド定義を参照してください。これはジョブ自体の異常レベルで、通常は構文エラーは考慮しません(後者はジョブの分析を妨げるため)。

report-${SYSNAME}-Screens

このレポートは、アセットで定義または参照されるすべてのBMS画面をリストします。次のフィールドがレポートに含まれます。

表3-9 画面レポート・フィールド
フィールド
種類
説明
名前
文字列
mapset-name.map-nameという形式の画面の名前。
パス
文字列
フィールド定義を参照してください。これは画面を定義するファイルのパスです。
整数
画面定義が開始するソース・ファイル中の行番号(DFHMDIマクロが含まれている行)。
NField
整数
この画面で定義されるフィールド数。
ステータス
列挙
フィールド定義を参照してください。
異常レベル
列挙
フィールド定義を参照してください。実際、これはソース・ファイル全体の異常レベルであり、その異常が実際のこの画面定義に適用されるかどうかは異常レポートを参照してください。

画面がMISSINGの場合、次のフィールドは空です。

report-${SYSNAME}-SQL-Tables

このレポートはアセット内で定義または参照されたすべてのSQL表をリストします。次のフィールドがレポートに含まれます。

表3-10 SQL表レポート・フィールド
フィールド
種類
説明
名前
記号
CREATE TABLE文で定義したSQL表の名前。
スキーマ
記号
表定義を含むスキーマの名前またはその所有者の名前。
パス
文字列

フィールド定義を参照してください。これは表を定義するSQLスクリプト・ファイルのパスです。

整数

このソース・ファイルで表の定義が開始する行番号。

NCol
整数

表に定義された列数。

ステータス
列挙
フィールド定義を参照してください。
コメント
文字列
表に関連するコメント(ある場合)。

表がMISSINGの場合、次のフィールドは空です。

report-${SYSNAME}-SQL-Views

このレポートはアセット内で定義または参照されたすべてのSQLビューをリストします。次のフィールドがレポートに含まれます。

表3-11 SQLビュー・レポート・フィールド
フィールド
種類
説明
名前
記号
CREATE VIEW文で定義したSQLビューの名前。
スキーマ
記号
ビュー定義を含むスキーマの名前またはその所有者の名前。
パス
文字列

フィールド定義を参照してください。これはビューを定義するファイルのパスです。

整数

このソース・ファイルでビューの定義が開始する行番号。

NCol
整数

ビューに定義された列数。

ステータス
列挙
フィールド定義を参照してください。

注: ビューへの参照は表への参照と区別ができないため、ビューがMISSINGになることはありません。そのため、表またはビューへの参照のリンク先に、なんらかの定義がない場合、カタロガは欠落ビューではなく欠落表を作成します。

コメント
文字列
表に関連するコメント(ある場合)。

report-${SYSNAME}-Transactions

このレポートは、アセット内のRDOファイルに定義されたすべてのCICSトランザクションをリストします。次のフィールドがレポートに含まれます。

表3-12 CICSトランザクション・レポート・フィールド
フィールド
種類
説明
名前
記号
DEFINE TRANSACTION文で定義したトランザクションの名前。
グループ
記号
トランザクション定義を含むグループ名。
パス
文字列

フィールド定義を参照してください。これはトランザクションを定義するファイルのパスです。

整数

このソース・ファイルでトランザクションの定義が開始する行番号。

トランザクションがアセットで参照され(RETURN TRANSID文など)、それがRDOファイルで定義されていない場合、パスおよび行番号フィールドは空でこのレポートにリストされます。

report-${SYSNAME}-Anomalies

このレポートは、アセット内のすべてのコンポーネントで検出されたすべての異常をリストします。次のフィールドがレポートに含まれます。

表3-13 異常レポート・フィールド
フィールド
種類
説明
パス
文字列

フィールド定義を参照してください。これは異常が発生したコンポーネントを定義するメイン・ファイルのパスです。

サブパス
文字列

フィールド定義を参照してください。エラーの実際の場所(文またはその他の構成)がサブファイル(COBOLコピー・ファイル、JCL PROCファイルなど)の中にある場合、これはそのサブファイルのパスで、そうでない場合はこのフィールドは空です。

整数

異常が発生した実際のソース・ファイル(前述のフィールドが空でなければサブファイル、そうでなければメイン・ファイル)の行番号。

サブ行
整数

異常がサブファイルで発生した場合、このフィールドにはサブファイルが含まれるメイン・ソース・ファイルの行番号が含まれ、そうでない場合は空です。

重大度
列挙: FATAL、ERROR、WARNING、NOTICE

異常の重大度、最大のFATALから最低のNOTICEまで。

カテゴリ
列挙: SYNTAX、LINKAGE、ANALYSIS、MISC

異常が属するカテゴリを定義します。

  • SYNTAXは解析エラーおよび構文に関連するすべてのエラーです。
  • LINKAGEは宣言されていない変数など、構成への参照と対応する定義の間のリンクに関連するエラーです。
  • ANALYSISは動的呼出しなど、カタロガがコンポーネントの正確な分析を実行できない構成に関連する異常です。
  • MISCはその他のすべてです。
タグ
記号

異常の正確な種類を識別する、統合的で重要な名前。実際に、取り得る値は有限の列挙ですが、ここにすべてをリストするには多すぎます。

説明
文字列

異常の正確で詳細な説明で、原因となるソース構成への参照を含む場合もあります。たとえば、 "SQL-TABLE variable is not defined: LVDSYS00"などです。

その他の出力ファイルの説明

カタロガの結果は、前述した一連のカタロガ・レポートで表示できます。これらのレポートが唯一の出力ではなく、また最も重要な出力でもありません。この項では、その他の結果ファイルについて簡単に説明します。これらは独自形式のバイナリファイルで、Persistent Object Base (POB)と呼ばれます。これらのファイルは、人間による処理や、従来のテキストベースのツールでの処理には適しておらず、カタロガ自体やTuxedo ART Workbenchのその他のツールでの使用に向いています。

AST用POBファイル

解析フェーズ中に(カタロガ・プロセスを参照)、システムの各解析可能コンポーネントのソース・ファイルA/B/C/file.extに対し、カタロガはA/B/C/pob/file.ext.pob (pobディレクトリはカタロガにより要求時に作成)という名前のPOBファイルを生成します。このファイルにはコンポーネントの抽象構文ツリー(AST)という名前の解析結果が含まれます。これはカタロガの分析フェーズで、またCOBOLコンバータやJCLトランスレータなどのその他のTuxedo ART Workbenchツールにより、再度読み取られます。

COBOLプログラムおよびコピー・ファイル用CDMファイル

CDM (Common Data Model)ファイルには、COBOL変数(データ記述エントリと呼ばれる)に関する追加の情報が含まれます。システムの各COBOLプログラムA/B/C/prog.cblごとに、カタロガはA/B/C/pob/prog.cbl.cdmという名前のCDMファイルを生成して、メイン・ソース・ファイルで定義された変数についての情報を格納します。また、変数を定義する各COBOLコピー・ファイル D/E/file.cpyごとに(たとえば、Procedure Divisionコードを含むコピー・ファイルとは対照的に)、カタロガはD/E/pob/file.cpy.cdmという名前のCDMファイルを生成して、これらの変数を格納します。このCDMファイルは、このコピー・ファイルを含むすべてのプログラムで共有されます。

コピー・ファイルで明らかに定義された変数についての情報を、このコピー・ファイルを含むすべてのプログラムで実際には共有できない場合もあります。たとえば、REPLACINGディレクティブに含まれるコピー・ファイル、または完全構成の一部のみを定義するファイル(01レベル・レコード)の場合です。このような場合、CDM情報はコピー・ファイル自体ではなく、プログラムのCDMファイルに格納されます。コピー・ファイルに関連付けられる共有CDM情報がまったくない場合、CDMファイルは生成されません。

カタロガSymtabおよびその他のファイル

 


詳細処理

処理フェーズ

「カタロガ・プロセス」で説明したように、この操作は解析、分析、分析後およびレポート生成(詳細は下記を参照)の4つのフェーズに論理的に分割されます。プロジェクトおよび移行プラットフォームの構成の必要に応じて、これらのフェーズは単一の実行または増分的に、順次または同時に(解析フェーズのみ)実行することができます。

プロジェクトおよび移行プラットフォームの構成の必要に応じて、これらのフェーズは単一の実行または増分的に、順次または同時に(解析フェーズのみ)実行することができます。次の3つの基本的なTuxedo ART Workbenchコマンドがカタロガを起動します。

また、組み合わされたコマンドもあります。

注: これらすべてのコマンドで、すべての構成情報はシステム記述ファイルおよびカタロガ・オプション・ファイルから取得します。preparse-filesを除き、コマンド行引数のみがシステム記述ファイルへのパスおよび標準のTuxedo ART Workbenchツールの引数です。

コマンド行の構文

Tuxedo ART Workbenchランチャ

カタロガはrefineコマンドを使用して実行するようになっています。refineコマンドは汎用的なTuxedo ART Workbenchランチャで、これを使用して主なTuxedo ART Workbenchツールを起動します。ランチャは後述する(繰返しおよび増分操作)実行ログ管理、増分および繰返し操作などの、これらのツールの様々な操作を処理します。Tuxedo ART Workbenchランチャはいくつかの汎用のコマンド行オプションも処理します。

形式

コマンド行で、Tuxedo ART Workbenchツールを起動するのに使用される一般的な形式は次のとおりです。

$REFINEDIR/refine command [ launcher-options… ] \
		( -s | -system-desc-file ) system-desc-path \
		[ command-specific-options-and-arguments… ]

オプション

次のオプションがTuxedo ART Workbenchのcommandと関係があります。

-h, -help, --help

コマンドの短い説明(使用方法)を出力して終了します。

– whoami

コマンドのバージョン番号とビルド履歴を出力して終了します。

-archi64 / -archi32

特定のアーキテクチャ用に作成された実行可能ツールを使用します。デフォルトではホスト・マシンのネイティブ・アーキテクチャ用のツールを使用します。

-quiet

ログにエラー以外出力させません(現在、すべてのツールはこれに従っていません)。

-time

コマンド実行の最後に時間の情報を表示します。

-nolog

ログのリダイレクトを無効にして、ログが端末に表示され、永続ファイルに取得されないようにします。

-n, -N, -verbose, -VERBOSE

コンポーネントで実行する必要があるが、実際には実行できない作業(フェーズ)の説明を出力します。アセットでの変更: 増分操作を参照してください。

次のオプションは技術的にはランチャ・オプションではありませんが、すべてのTuxedo ART Workbenchツールで受け入れます(実際には必須です)。

(-s | -system-desc-file) system-desc-path

システム記述ファイルの場所を指定します。Unix/Linuxコマンドで一般的なように、パスには絶対パスまたは現在の作業ディレクトリに対する相対パスを指定できます。
注: 多くのTuxedo ART Workbenchツールが使用するその他の多くのパスは、このファイルの場所から導出されます。これにより異なる作業ディレクトリから同じコマンドを実行しやすくなります。

さらに、次のオプションが将来の使用のために予約されています(現在、これは受け入れられますがそれ以外は無視されます)。

(-v | -V | -version) version-string

汎用的なランチャ・オプション

最後に、ランチャは次の汎用的なオプションを使用して、コマンドなしで起動することができます。

$REFINEDIR/refine (-h | -help)

ランチャ自体の短い一般的な説明(使用方法)を出力します。

$REFINEDIR/refine -print-info-version

ランチャ自体、より一般的には、Tuxedo ART Workbench全体のバージョン情報を出力します。

システム全体のコマンド

処理フェーズで説明したとおり、システム全体のコマンドは、preparse、analyze、fast-finalおよびcatalogです。これらはアセット全体でグローバルに動作します。これらすべてのコマンドの汎用的なコマンド行構文は次のとおりです。

$REFINEDIR/refine command [ launcher-options… ] \
		-s | -system-desc-file ) system-desc-path

これらのコマンドには特有のオプションはありません。すべての構成情報はシステム記述ファイル、カタロガのオプション・ファイル 、および場合によってはヒント・ファイルにあります。

preparse-filesコマンド

説明

上記で説明した、アセット全体でグローバルに動作し処理するコンポーネントをそれ自身が決定するシステム全体のカタログ化コマンドとは異なり、preparse-filesコマンドでは、解析するコンポーネントを指定することができます。

処理するコンポーネントを指定できるということから、preparse-filesコマンドはmakefileでの使用に適しています。また、特にソース・ファイルをいくつかのリストに区切って各リストを個別のプロセスに与える場合には、これは同時実行の対象になります。

注: COBOLプログラムの解析前に、カタロガはSQLシステムのPOBファイルが存在し、すべてのSQL DDLファイルに対して最新であることを確認します。これはPOBファイルの構築または再構築を伴う可能性があり、それにはある程度の時間がかかる可能性があります。

形式

preparse-filesのコマンド行は次のとおりです。

$REFINEDIR/refine preparse-files [ launcher-options… ] \
	( -s | -system-desc-file ) system-desc-path \
	( source-file-path | ( -f | -file | -file-list-file ) file-of-files )…

オプション

追加のオプションは、処理するコンポーネント・ソース・ファイルを示します。

source-file-path

このパスで指定したコンポーネント・ソース・ファイルを作業リストに追加します。このパスは現在の作業ディレクトリが異なっていても、システムのルート・ディレクトリである$SYSROOTに対する相対パスで指定する必要があります。

(-f | -file | -file-list-file) file-of-files

このパスで指定したファイルにリストされたコンポーネント・ソース・ファイルを作業リストに追加します。file-of-files自体はどこに配置してもよく、そのパスは絶対パスまたは現在の作業ディレクトリに対する相対パスのいずれかです。ただし、このファイルにリストされたコンポーネント・ソース・ファイルはシステムのルート・ディレクトリに対する相対パスで指定する必要があります。
必要な数の個別のコンポーネントまたはファイルのファイルを指定できます。作業リストはコマンド行がカタロガにより分析されるときに作成され、その各要素は順番に調査されます。

 


コンポーネントの検索操作

この項では、カタロガがライブラリおよびシステム記述ファイル内のsql-libraries句を使用して、現在処理されているコンポーネントの特定の構成内で参照されるコンポーネントを検索する方法を説明します。この操作は、参照がどれであるかによって多少異なります。

コンパイル時の参照

コンパイル時のケースは、現在のコンポーネントの重要な部分であるサブファイルへの参照に適用されるため、サブファイルが見つからないと、コンポーネントは分析および正確に"理解"されません。たとえば、COBOLメイン(プログラム)ソース・ファイルから参照されるCOBOLコピーブックです。

PROCファイル、INCLUDEファイルおよびいくつかのSYSINファイルのようなJCLジョブから参照されるJCLサブファイルも含まれますが、これは、MVSプラットフォームでは、これらのサブファイルはJCLジョブが実行されるときに検索される(したがって実行時参照である)のに対し、移行プラットフォームでは、カタロガがこれらの参照を解析時に解決し、JCLトランスレータが使用できるようにする(したがってコンパイル時参照とみなされる)必要があるためです。SYSINファイルも、DB2ランチャにより起動されるプログラムなど、解析時に必要な情報を含んでいるため、この場合にあてはまります。カタロガでは、"コンパイル時"は解析に、"実行時"は分析後に相当します。

検索は、ディレクトリSRCDIRに配置され、特定のタイプTGTTYPのTGTFILという名前のコンポーネントを参照する、特定のタイプSRCTYPのSRCFILとして識別されたコンポーネントから開始されます。次の表に可能性のある様々な組合せを示します。

表3-14 コンパイル時参照
ソース・タイプ(SRCTYP)
構文
ターゲット・タイプ(TGTTYP)
検索パス
COBOLプログラム(Cobol-Batch、Cobol-TPR)
COPY TGTFIL
COPY TGTFIL REPLACING …
COBOLコピーブック(COBOL-Copy、COBOL-Library)
ライブラリ
COBOLプログラム
EXEC SQL INCLUDE TGTFIL END-EXEC.
COBOLコピーブック
sql-librariesまたは指定されない場合libraries
JCLジョブ
EXEC TGTFIL, …
JCL PROC (JCL-Select)
ライブラリ
JCLジョブ
INCLUDE TGTFIL…
JCL INCLUDE (JCL-Select)
ライブラリ
JCLジョブ
SYSIN DD A.B.TGTFIL…
SYSIN DD A.B.C(TGTFIL)…
JCL SYSIN (JCL-Sysin)
ライブラリ

通常のサブファイルの検索

検索アルゴリズム・プロセスは次のとおりです。

  1. システム記述ファイルのSRCDIRの定義に関連するlibraries(または該当する場合はsql-libraries)句にリストされた各ディレクトリSUBDIRに対して、順番に、同じファイルでSUBDIRの定義を探してから次のことを行います。
    • 該当する定義がない場合、報告(これが実行されるのはカタロガが開始してシステム記述ファイルを読み取るときだけです)し、リストの次の要素にスキップします。
    • SUBDIRのタイプがその参照に適しているTGTTYPではない場合、リストの次の要素にスキップします。
    • そうではない(タイプが一致した)場合、(files句と一致した)そのディレクトリのコンポーネント・ファイルのリストを検索します。
      • ベース名TGTFIL(および適切な拡張子)のコンポーネントが存在する場合、それを戻します。
      • そうでなければ、リストの次の要素にスキップします。
  2. すべてのライブラリ・ディレクトリを検査して適切なTGTFILが見つからないと、not foundを戻します。
厳密なJCL-Sysin検索

このアルゴリズムは、strict-jcl-libraries特別オプションが指定されている場合に、JCL-Sysinファイルを検索するために変更されます。このオプションが設定されている場合、SYSINファイルA.B.TGTFILまたはA.B(TGTFIL)の検索が次のように続行されます。

この動作は、JCL-Sysinファイルを検索する場合でも、libraries句がタイプJCLのディレクトリ上で無視されることを意味します(JCL-Selectファイルの検索は依然有効です)。一方、前述したように、strict-jcl-libraries特別オプションが設定されていない場合、JCL=Sysinディレクトリのlogical-name句は無視されます。

重複する名前が多数存在する場合、つまり、異なるライブラリに同じ名前のファイルが数多く存在する場合(PDS)、パス・ベースの検索ではなく、厳密な検索を使用することをお薦めします。この場合、個別のディレクトリ内の各SYSINライブラリの内容全体を転送し、ライブラリの名前にディレクトリの論理名を指定する方が、適切なファイルが各参照で検出されるようにJCLディレクトリのlibraries句内の様々なJCL-Sysinディレクトリ名を指定するよりも簡単です。

フル・ネームによるJCL-Sysin検索

このアルゴリズムは、Full-Name-Sysin-Search特別オプションが指定されている場合に、JCL-Sysinファイルを検索するために変更されます。このオプションが設定されている場合、SYSIN/SYSTSINファイル

A.B.CまたはA.B(C)の検索が次のように続行されます。

JCL-Sysinディレクトリ内のファイルの検索に、ファイル名A.B.CまたはA.B/Cが使用されます。

注: strict-jcl-librariesfull-name-sysin-searchの両方が設定されている場合、strict-jcl-librariesが優先されます。

実行時参照

実行時のケースは、実際には参照するコンポーネントの一部ではない外部コンポーネントへの参照に適用されます。参照されるコンポーネントが存在しなくても、参照するコンポーネントの分析または変換は可能ですが、不適切な実行が発生します。たとえば、サブプログラムを呼び出すCOBOLプログラムまたはプログラムを実行するJCLジョブなどです。カタロガでは、このような参照は分析後フェーズで処理されます。

タイプTGTTYPの名前TGTFILを参照するディレクトリSRCDIRに配置されたタイプSRCTYPのコンポーネントSRCFILから検索が開始されます。考慮する2つのケースがあります。

無制限の検索

これは、ディレクトリSRCDIRに関連するlibraries句にタイプTGTTYPの要素(ディレクトリ)が含まれていない場合に適用されます。これは"デフォルト・ケース"とみなすことができます。検索アルゴリズムは次のとおりです。

  1. タイプTGTTYPの(順序付けされていない)コンポーネントのセットを、このタイプのディレクトリの検索と、それに含まれるコンポーネントの分析により収集します。
  2. その(ベース)名を記録します。
  3. 名前がTGTFILのコンポーネントのセットを検索します。
    • これらのうちのいずれかが確かに存在する場合、それと参照とリンクします。
    • これらのうち複数が存在する場合、そのすべてと参照をリンクしますが、特定できない参照について報告します。
    • 存在しない場合、コンポーネントの欠落について報告します。

指定検索

指定検索は、コンパイル時参照の通常のサブファイル検索と似ています。これは、ディレクトリSRCDIRに関連するlibraries句にタイプTGTTYPの要素(ディレクトリ)が1つ以上含まれている場合に適用されます。検索アルゴリズムは次のようになります。

  1. システム記述ファイルのSRCDIRの定義に関連するlibraries句にリストされた各ディレクトリSUBDIRに対して、順番に、同じファイルでSUBDIRの定義を探してから次のことを行います。
    • 該当する定義がない場合、報告(これが実行されるのはカタロガが開始してシステム記述ファイルを読み取るときだけです)し、リストの次の要素にスキップします。
    • SUBDIRのタイプがその参照に適しているTGTTYPではない場合、リストの次の要素にスキップします。
    • そうではない(タイプが一致した)場合、(files句と一致した)そのディレクトリのコンポーネント・ファイルのリストを検索します。
      • ベース名TGTFIL(および適切な拡張子)のコンポーネントが存在する場合、それを戻します。
      • そうでなければ、リストの次の要素にスキップします。
  2. すべてのライブラリ・ディレクトリを検査して適切なTGTFILが見つからないと、not foundを戻します。

このアルゴリズムでは、「参照が曖昧です。」という異常が発生することはありません。これは、指定したディレクトリにある指定したベース名のファイルは多くても1つだけであるためです。このため、このアルゴリズムは、異なるディレクトリ(またはライブラリ)に同じ名前を持つコンポーネントが複数含まれるシステムを分析する場合に適しています。ただし、SRCTYPの各ディレクトリに対して、ライブラリ句の適切なTGTTYP要素を適切な順序で定義する必要があるため、追加の設定作業が必要になります。

検索対象のコンポーネントの指定したTGTTYP、および適切なSRCTYPそれぞれについて、一部のSRCTYPディレクトリには指定検索、同じタイプの別のディレクトリには無制限検索を使用できます。実際には、コンポーネント名が重複する場合、それらが実際に参照された場合のみ問題(異常)が発生します。ただし、このような状況は混乱を招くため、次のようにすることをお薦めします。指定したSRCTYP/TGTTYPの組合せに対して、すべてのソース・ディレクトリに無制限検索を使用するか、または指定検索を使用するかのいずれかにしてください。

注: 指定検索は、カタロガの現在のバージョンではまだ使用可能ではありません。libraries句を使用して、実行時参照に含まれるコンポーネントを指定する場合、これらの要素は無視されます。指定検索は、将来のバージョンで、選択したSRCTYP/TGTTYPの組合せに対して徐々に追加されます。リリース・ノートを確認してください。

 


繰返しおよび増分操作

強力なコンピューティング・プラットフォームが容易に使用可能である今日であっても、Tuxedo ART Workbenchを使用した完全なアセットの処理は、依然として計算集中的で長時間の実行、メモリーを消費するタスクのままです。

そのため、Tuxedo ART Workbenchツールは容易に停止および再起動できるように設計されています。このツールはmakeに似たメカニズムを使用して、すでに実行された作業を繰り返さないようにします。これにより、移行プロジェクトのすべてのフェースで効率的な操作が可能です。

最初の処理: 繰返し操作

最初のフェーズでは、完全に新しいアセットから、安定したアセットの最初の変換、生成のサイクルの終わりまで、makeに似たメカニズムが使用されて、次のような繰返し操作が可能になっています。

  1. カタロガのようなツールが開始する場合、最初にアセット(POBファイルまたはSymtabのようなソース・ファイルおよびターゲット・ファイル)の現在の状態を調べ、完全で一貫性のある結果のセットを得るためにはどの作業の実行が残っているかを特定します。
  2. 次にこの作業を実行し、さらに多くの結果ファイルを生成(または新しい結果でSymtabを更新)します。
  3. 処理するファイルの量が多くなるに従い、Refineプロセスはより多くのメモリーを消費します。

  4. ツールは、使用可能な物理メモリーがシステム記述ファイルのminimum-free-ram-percentオプションで指定したしきい値を下回っているかどうかを定期的にチェックします。
    • メモリー不足になる前に実行すべき作業が完了すると、プロセスは終了します。
    • そうでない場合、プロセスは停止しますが、メモリーの解放後、すぐに再起動します。前述のステップ1に戻りますが、実行する作業が少なくなっているためプロセスは終了します。

このモードは、カタロガの分析またはカタログ化コマンドのような、アセット全体でグローバルに動作するツールまたはコマンドに特に適しています。これはTuxedo ART Workbenchツールの通常モードでの動作であり、これを選択するのに何かをする必要はありません。

アセットでの変更: 増分操作

カタロガは様々なコンポーネントと関連する結果ファイルの間の依存関係を認識しています。たとえば、どのCOBOLプログラムでどのコピー・ファイルが使用されたかを記録します。この情報を使用して、アセットで変更が発生したときに増分的に対処することができます。たとえば、コンポーネント・ソース・ファイルが追加、変更または削除されたとき、カタロガはこの変更で影響を受ける結果ファイルを特定し、そのファイルのみを再計算します。これもTuxedo ART Workbenchツールの通常モードでの動作であり、これを選択するのに何かをする必要はありません。

注: 重要: 増分操作はアセットの最初の処理が完了した後でのみ有効です。最初のサイクルが終わる前にアセットで変更を実行すると、記録されない依存関係がある可能性があり、その場合、再実行する作業の評価は正しくなくなり、最終結果に一貫性がなくなります。そのため、最初のアセットでカタロガの実行を完了させてから、そのアセットでの変更を行うことが非常に重要です。

  先頭に戻る       前  次