目次 前 次 PDF


JCLトランスレータ

JCLトランスレータ
この章には次のトピックが含まれます:
概要
Oracle Tuxedo Rehostingプラットフォームは、ツール(Oracle Tuxedo Application Rehosting Workbench)とランタイム・コンポーネント(Oracle Tuxedo Application Runtime for CICS and Batch)から構成される、パッケージ化された包括的なソリューションで、これによりユーザーは次のことができます。
ランタイム・コンポーネントが移行されたシステムのライフサイクル全体で使用される一方、Oracle Tuxedo Application Rehosting Workbench (Tuxedo ART Workbench)はプラットフォームの移行プロジェクトの間でのみ使用されます。Tuxedo ART Workbenchはいくつかのツールで構成されますが、そのうちの1つがJCLトランスレータです。
名前が示すとおり、このツールの役割は、他のコンポーネントが他のTuxedo ART Workbenchツールにより変換または生成されるという状況で、ソース・プラットフォーム(z/OS、IBMジョブ制御言語)で実行しているJCLを、ターゲット・プラットフォーム(Oracle Tuxedo Application Runtime for Batch機能の起動を伴うUnixまたはLinux、Kornシェル(KSH)言語)で実行しているKornシェル(KSH)シェル・スクリプトに同じ動作のまま変換することです。この章の目的は、JCLトランスレータのすべての機能を正確に説明することです。
JCLトランスレータの定義
次の用語をJCLトランスレータの説明に使用します。
JCL: ジョブ制御言語
IBMオペレーティング・システム・ファミリ用のコマンド言語。この言語で記述されたコンポーネントはJCLジョブまたは単にJCLと呼ばれます。Oracle Tuxedo Application Runtimeを使用して移行するソース・アセットには、通常、このタイプのコンポーネントが含まれます。
KSHまたはKornシェル
Unixシェル・コマンド言語ファミリの特定のバリアント。シェル・インタプリタ自体の名前でもあります。この言語/インタプリタと互換性のあるシェル・スクリプトはKSHスクリプトです。KSHスクリプトはソースJCLに対応するターゲット・アセットのコンポーネントです。
JES2
ジョブ入力サブシステム2
SYMBOLS
環境に応じてパラメータ化を可能にするJCLの変数。これらの変数はJES2リーダーにより処理(置換)されます。
カードの継続
72文字を超えるJCLカード(コマンド)はいくつかの行に分割する必要があります。最初の行に続く行は継続行(またはカード)と呼ばれます。前の行は列72より前にオプションの区切り文字(通常はカンマ文字)で終了し、継続行は「//」で始まり、十分な空白が続いた後にオプション領域に達します。コメントはオプション領域の後の継続行に埋め込むことができ、少なくとも1つの空白で後の行と区切る必要があります。次に例を示します。
//SYSIN DD DSN=LIB454R.COMMUN.SER, this is a comment
// DISP=SHR
「はじめに」の「概念」も参照してください。
一般的な説明と操作
一般情報
Tuxedo ART Workbench JCLトランスレータはすべての要求された変換を単一パスで処理して、次を行います。
Oracle Tuxedo Application Runtime for Batchコンポーネントを使用して、結果シェル・スクリプトをコンパイルし、ソース・プラットフォームでの動作と同じようにターゲット・プラットフォームで実行できます。ただし、「動作範囲」の項に詳細が記載されている場合を除きます。
JCLトランスレータは入力として次のものをとります。
カタロガにより生成されたPOBファイルに格納された、変換するJCLスクリプトの抽象構文ツリー(1つ以上)。
次の出力が生成されます。
JCL変換プロセスは、各JCLに個別に影響を与えます。しかし、複数のJCLでJCLトランスレータを同時に実行することは適切ではありません。複数のJCLに同じサブファイルが含まれる場合、トランスレータ・インスタンスが同時にこのサブファイルの変換を書き込んで、ファイルが破損する危険性があるためです。実際には、JCL変換は高速で増分的であるため、複数のプロセッサを使用して高速化する必要はありません。
動作範囲
JCLトランスレータおよび基礎となるOracle Tuxedo Application Runtime for Batchコンポーネントによりサポートされる、JCLカード、パラメータ、オプションおよびユーティリティ・プログラムの詳細は、『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』のOracle Tuxedo Application Runtime Batch環境におけるZ/OS JCLに関する項を参照してください。
入力コンポーネントの説明
入力コンポーネントは、カタロガによる解析が終了したアセット内のすべてのJCLスクリプト(メイン・ファイル)です。実際、JCLトランスレータはソース・ファイルではなくスクリプトのPOBファイルをロードします。カタロガによる制限(JCL当たり複数のジョブは不可など。「カタロガ」を参照)に加え、JCL変換を試行する前には次のルールに従う必要があります。
構成ファイルの説明
JCLトランスレータは、システム記述ファイルとJCL変換構成ファイルの2つのパラメータ・ファイルにより動作します。
システム記述ファイル
システム記述ファイルには、処理するアセットの全ソース・ファイルの場所、タイプ、可能性のある依存関係が記述されます。このように、このファイルは、カタロガのみでなくJCLトランスレータも含めたすべてのTuxedo ART Workbenchツールがこれらのソース・ファイルや対応するコンポーネントにアクセスするために不可欠です。
次のコンポーネント・タイプがJCLトランスレータに関連します。
 
次の(グローバルおよびローカル)オプションがJCLトランスレータに関連します。
 
カンマで区切られたペアvar-name = var-valueのリスト
var-nameは記号(または記号として解釈される文字列)で、var-valueは文字列です。JCLスクリプトの解析時に、パーサーはJES2により実行されるJCL変数置換プロセスをシミュレートします。ここで指定されるname-valueペアは(パラメータなどとは対照的に)グローバル変数の置換に使用されます。パーサーは変数に適した値が見つからないとエラーをレポートします。
リスト9-1 JCLトランスレータのグローバルおよびローカル・オプションの例
options jcl-globals = VAR01 = "T23RT", PARM = "USERT".
directory "Sysin/BPRO.PARMIMS" logical-name "BPRO.BXZ.PARMFIX" type JCL-SYSIN files "*.sysin".
directory "JCL/BPRO" type JCL files "*.jcl" libraries "Sysin/BPRO.PARMIMS".
 
JCL変換構成ファイル
JCL変換構成ファイルの内容は、パラメータ名=パラメータ値という形式の割当てのリストです。これらの割当てのうち、パラメータ値が文字列のシーケンスであるものはピリオドで終了する必要があります。文字列はカンマで区切られます。次のパラメータが使用可能です。
 
mf-sortsync-sortまたはcit-sortのいずれかを使用するターゲット・ソート・ユーティリティ。デフォルトはmf-sortです。
これが設定されている場合、ユーティリティDSNUTILBのSYSINは変換されません。
これが設定されている場合、DB2 SYSTEM情報が保持および変換されます。
IKJEFTxxの場合、DB2 SYSTEMSYSTSIN内のDSN SYSTEMによって指定されます。
DSNUTILBの場合、DB2 SYSTEMPARMの最初のパラメータによって指定されます。
set-delete-fsnおよびset-no-delete-fsn
最後の2つのパラメータ名set-delete-fsnおよびset-no-delete-fsnのパラメータ値の構文は次のとおりです。
ddname ( program-name, program-name, … ) , ddname (program-name … ) , … .
注意:
このパラメータ値のセマンティクスは次のとおりです。DD名がプログラム名の明示リストと関連付けられている場合、正確にこれらの論理ファイル(論理ファイルはプログラムのFDまたはSD)を表します。DD名がプログラム名と関連付けられていない場合、アセット中のすべてのプログラムのうちこれらの名前を持つすべての論理ファイル(FDまたはSD)を表します。拡張後、「保持」および「削除」する2つの論理ファイルのリストを取得します。「保持」リストは「削除」リストから引かれ、「削除」論理ファイルに関連するファイル割当て(DDカード)はターゲットKSHスクリプトに変換されません。これにより、ターゲット・スクリプトから、一時ソート・ファイルや物理データベース・ファイルなどの、プログラムの起動に直接役立つわけではないファイル割当てがクリーンアップされます。
データ・クラス定義ファイル
データ・クラス・ファイルは、DD文またはIDCAMSコマンドにより、ファイルの定義または割当てのために、1つ以上のファイル属性の事前定義グループについて説明します。形式は次のとおりです。
NAME;RECFM;LRECL;RECORG;KEYLEN;KEYOFF;
末尾にデリミタ;を追加する必要があります。
表9-4では、データ・クラス・ファイル内の各フィールドについて詳細な説明を示しています。
 
データ・クラスの名前。DD文のDATACLASパラメータや、IDCAMSのDEFINEまたはALLOCATEコマンドで使用できます
レコード・フォーマット。NAMEフィールドで指定されたデータ・クラスを使用して作成されるファイルのレコード・フォーマットを指定するもので、指定できる値はDD文のRECFMパラメータと類似しています。RECFMは、RECORGとの組合せでは使用できません。
レコード編成。VSAMファイルにのみ使用され、指定できる値はES (VSAM ESDS)、RR (VSAM RRDS)またはKS (VSAM KSDS)です。VSAM以外のファイルでは、このフィールドは空白のままにします。このフィールドは、RECFMフィールドとの組合せでは使用できません。
キー長。キーの長さをバイト単位で指定します。この属性を使用するには、Recorg属性にKSまたは空白のいずれかを指定する必要があります。Recorg値がKSの場合、Keylen属性はKSDSキー・フィールドの長さを表し、範囲は1-255ですが、空白のままにすることもできます。
Recorg値が空白の場合、KEYLEN値は0-255の範囲ですが、空白のままにすることもできます。Recorgのどちらの値の場合も、Keylen属性にはLRECL値以下の値を指定する必要があります。
キー・オフセット。レコードの初めからKSDSキー・フィールドまでの変位を指定します。RECORG値がKSの場合のみ有効です。
KEYOFF値には、0から(LRECL - KEYLEN)の値までの範囲を指定できます。KEYLEN値が指定されている場合、KEYOFF属性も指定する必要があり、指定しないと0値が使用されます。この値は、JCLでKEYLEN値が指定されていない場合のみ無視されます。
出力ファイルの説明
変換されたKSHスクリプトおよびサブファイル
KSHバージョン
生成されたスクリプトはksh88またはpdksh (パブリック・ドメインKSH)とのみ互換性があることが保証されます。このスクリプトにより起動されるOracle Tuxedo Application Runtime for Batchコンポーネントには、基礎となるKSHエンジンに関連してより厳しい要件がある可能性があります。
ファイル構造、ネーミング方式およびサブファイルの処理
各(メイン) JCLファイル(ジョブ)に対し、JCLトランスレータは同じベース名とsuffix-skeleton構成パラメータで指定した拡張子を持つ1つの(メイン) KSHファイル(スクリプト)を生成します(「JCL変換構成ファイルの内容」を参照)。このファイルはroot-skeleton構成パラメータで指定したディレクトリをルートとする階層の下で、システム・ルートの下のソース・ファイルと同じ相対サブディレクトリに配置されます。ターゲット・ファイルが変換前に存在する場合、上書きされます。
メイン・ファイルがカタロガにより処理されるときに、いくつかのメイン・ファイルから参照されるサブファイルがソース・アセットにない場合、後者はロギングされ(「*Warning*: ZZZ file XXXXXX not found in JCL file YYYYYY」という形式のメッセージが表示されます。ZZZは、PROC、INCL、SYSIN、SYSTSINのいずれか)、例外が報告されます。この場合、JCLトランスレータは(不完全な)メイン・ファイルの処理を拒否するか、または動作しない不完全なKSHスクリプトを生成します。
プロシージャはm_ProcInclude Oracle Tuxedo Application Runtime for Batch機能を使用して起動されます。ターゲット・サブファイルはこの機能以外、さらに一般的な場合としては、Oracle Tuxedo Application Runtime for Batchで生成されたKSHスクリプト以外では、実行可能ではありません。プロシージャの内容はジョブ処理の"変換"フェーズのスクリプト構成に挿入されます。『Oracle Tuxedo Application Runtime for Batchユーザー・ガイド』を参照してください。
同様に、インクルード・ファイルはm_ShellInclude Oracle Tuxedo Application Runtime for Batch機能を使用して起動され、このコンテキスト以外では使用できません。ほとんどのインクルード・ファイルは個別のサブファイルに変換されます。ただし、インクルード・ファイルにEXECカードが含まれ、完全な手順(の順序)が定義されていない場合は、抽出を実行できず、元のサブファイルの内容がメイン・ファイルの内容であるかのように変換されることがあります。
SYSIN/SYSTSINファイルおよびその内容は、直接KSH文(関数の起動)に変換されるか、または標準のファイル割当て(詳細は後述を参照)として処理されます。
ストリーム内プロシージャおよびSYSIN/SYSTSINファイルは、変換が関係しているかぎり、ストリーム外の姉妹として処理されます(当然メイン・ターゲット・ファイル内には存在する)。ストリーム内プロシージャはメイン・ファイルの最後に移動し、ストリーム内SYSIN/SYSTSINは対応する手順内に残ります。
JCLおよびKSH変数の処理
元のJCLで使用されるz/OS変数は、$[PARM]の形式の特別な記号に変換され、実行フェーズの直前の変換フェーズで、JES2の方式に静的に置換されます。詳細は、Oracle Tuxedo Application Runtime for Batchのユーザー・ガイドを参照してください。
さらに、生成されたKSHスクリプトおよびOracle Tuxedo Application Runtime for Batchのコンポーネントは、次のような少数のKSHおよび環境変数を使用します。
オプションuse-file-catalogがシステム記述ファイルに設定されている場合、生成されたファイル名から接頭辞${DATA}が削除されます。ただし、これはユーティリティ・プログラムのSYSINとSYSTSINには適用されず、use-file-catalogが設定されているかどうかにかかわらず、変換後のファイル名は同じです。
これらの変数は実行フェーズで、実行時に置換されます。
スクリプト構造
ターゲットKSHスクリプトは、「逆方向への」ジャンプを含む、あらゆる種類のコントロール・フローを実装できる実行ループを中心に構成され、あらゆる手順でのスクリプトの(再)起動も可能にします。元のJCLの様々な手順は、ループ本体で同じ順序で実装され、そのラベル(ソースJCLと同じ)とcase要素の終了記号により区切られます。テクニカル・サポートおよびブックキーピング操作は、スクリプト全体の最初と最後だけでなく、各手順の最初と最後に挿入されます。これにより、インスタンスがコントロール・フロー(条件コード、ジャンプなど)を処理できます。
スクリプト・レイアウト
次のJCLカードまたは構成は、適切なOracle Tuxedo Application Runtime for Batch関数の起動に変換されます: JOBJCLLIBSETDD、procオーバーライドDDEXEC (プログラム)、EXEC (プロシージャ)、INCLUDE、元のJCLからのIF/THEN/ ELSE/ENDIF、IDCAMSコマンド・ファイルからのIFおよびCONDオプション。
ソースJCLのコメントはKSHコメントに変換され、トランスレータは「正しい場所」の可能なかぎり近くに配置しようとします。しかし継続領域のコメント(パラメータの後の最初の空白の後など)は無視され、結果スクリプトに再生成されません。
ジョブを終了する//カードはスクリプトの最後へのジャンプとして変換されます。
前述のとおり、EXECプロシージャ・カードはm_ProcInclude Oracle Tuxedo Application Runtime for Batch関数の起動に変換され、INCLUDEカードはm_ShellInclude関数の起動に変換されます。SYSIN/SYSTSINファイルおよびリファレンス(DDカード)は2つの方法で処理されます。
ストリーム内データ・ファイル(DD * カードおよび関連する内容)は通常、テキストのようなファイルで、ターゲット・スクリプト内で実装されます。その内容のEBCDICからASCIIへの変換は、ソースJCLファイルの変換と同時に、移行プラットフォームへの転送中に実行されます。
実行ログ
実行ログは変換プロセスの進捗をレポートします。この構造は次のとおりです。
リスト9-2 ログ・ファイルの例
CMD : /refine/launch.bash jclz-unix -archi64 -s ../param/sys.desc -c ../param/config.desc
MetaWorld starter
(funcall MAKE-TRANSLATE)
*interactive-mode-string* *UNDEFINED*
Parsing system file : ../param/system.desc
MY_DIR = /refine
Current OS is IBM-MF
Parsing config file : ../param/config-trad-JCL.desc
File list in table : /workspace/FTJCL01/source/../param/file-list-in-table.txt
Creating target file /workspace/FTJCL01/trf-jcl/JCL/BBSAJ001.ksh ...
At 12:02:08, Loading /workspace/FTJCL01/source/JCL/pob/BBSAJ001.jcl.pob...
Printing /workspace/FTJCL01/trf-jcl/JCL/BBSAJ001.ksh
done
Creating target file /workspace/FTJCL01/trf-jcl/JCL/BDBAJ001.ksh ...
At 12:02:08, Loading /workspace/FTJCL01/source/JCL/pob/BDBAJ001.jcl.pob...
Patching because current version ("9.9.1") and POB version ("0.8.6") are not the same
Printing /workspace/FTJCL01/trf-jcl/JCL/BDBAJ001.ksh
done
Rest in peace, ART...
 
詳細な操作
一般情報
JCLトランスレータの開始時に、メイン構成ファイルを始めとして様々な構成ファイルを読み取ってチェックします。この段階で不整合が検出された場合、1つ以上のエラー・メッセージが出力されてトランスレータは終了します。そうでない場合、トランスレータはコマンド行オプションと構成ファイル・オプションの両方を使用して、処理する(ソース) JCLのリストを含む、内部パラメータを設定します。次に順番に各JCLの処理に進み、各JCLに対して次のことを行います。
1.
2.
3.
4.
5.
トランスレータは複数の同時実行プロセスにより同時に実行されることはできません。2つの異なるプロセスが同時に同じサブファイルに書き込む必要がある危険性があるからです。
コマンド行構文
調整ランチャ・インタフェース
JCLトランスレータは、汎用的なTuxedo ART Workbenchランチャである、調整コマンドを使用して実行するように設計されています。実行ログ管理および増分/繰返し操作といった、これらのツールの操作の様々な状況を処理します。「カタロガ」の章の「コマンド行構文」を参照してください。
jclz-unixコマンド
構文
$REFINEDIR/refine jclz-unix [ launcher-options… ] \
( -s | -system-desc-file ) system-desc-path \
( -c | -config ) main-config-file-path \
( source-file-path | ( -f | -file | -file-list-file ) file-of-files )…
ランチャ・オプションは「カタロガ」の章の「コマンド行構文」で説明しています。必須オプションは次のとおりです。
(-s | -system-desc-file ) system-desc-path
システム記述ファイルの場所を指定します。Unix/Linuxコマンドで一般的なように、パスとしては絶対パスまたは現在の作業ディレクトリに対する相対パスを指定できます。メイン構成ファイルのパスを含め、多くのTuxedo ART Workbenchツールで使用される他の多くのパスは、このファイルの場所から導出されることに注意してください(次の項目を参照)。これにより、同じコマンドを様々な作業ディレクトリから実行しやすくなります。
( -c | -config ) main-config-file-path
メイン変換構成ファイルの場所を指定します。絶対パスまたは相対パスのどちらも可能です。後者の場合は、システム記述ファイルを含むディレクトリに関して相対的に指定します(Tuxedo ART Workbenchツールでの共通の方法)。
処理するソースJCLを定義する一般的なオプションは次のとおりです。
source-file-path
このパスで指定したJCLソース・ファイルを作業リストに追加します。パスは、現在の作業ディレクトリにかかわらず、システムのルート・ディレクトリ$SYSROOTに対する相対パスとして指定する必要があります。
( -f | -file | -file-list-file ) file-of-files
このパスで指定したファイルにリストされたJCLソース・ファイルを作業リストに追加します。file-of-files自体はどこに配置してもよく、そのパスは絶対パスまたは現在の作業ディレクトリに対する相対パスのいずれかです。このファイルにリストされたJCLソース・ファイルはシステムのルート・ディレクトリへの相対パスとして指定する必要があります。
個々のJCLおよびfiles-of-filesを必要なだけ指定できます。作業リストは、コマンド行がJCLトランスレータで分析されるときに作成されます。詳細は、前述の説明を参照してください。
繰返しおよび増分操作
強力なコンピューティング・プラットフォームが容易に使用可能である今日であっても、Tuxedo ART Workbenchを使用した完全なアセットの処理は、依然として計算集中的で長時間の実行、メモリーを消費するタスクのままです。このため、Tuxedo ART Workbenchツールは、停止と再起動を容易に行えるように設計されており、makeに似たメカニズムのおかげで、すでに完了した作業を繰り返す必要はありません。これにより、移行プロジェクトのすべてのフェースで効率的な操作が可能です。
最初の処理: 繰返し操作
最初のフェーズでは、完全に新しいアセットから、安定したアセットの最初の変換/生成の終わりまで、makeに似たメカニズムが使用されて、次のような繰返し操作を可能にしています。
1.
2.
Tuxedo ART Workbenchプロセスで消費されるメモリーは増加し続けます。定期的に、使用可能な物理メモリーがシステム記述ファイルのminimum-free-ram-percentオプションで指定したしきい値を下回っているかどうかをチェックします。
3.
4.
このモードは特に、カタロガのようにアセット全体にグローバルな処理を行うツールまたはコマンドの場合に適しています。JCLトランスレータのようなコンポーネント固有のツールでも役立ちます。これはTuxedo ART Workbenchツールの通常モードでの動作であり、アクティブ化するために特別なアクションは必要ありません。
アセットでの変更: 増分操作
JCLトランスレータは、様々なコンポーネント(メインJCLファイルおよびサブファイル)と対応する結果ファイル(POBファイル、ターゲットKSHファイル)の間の依存関係を認識しています。この情報を使用して、なんらかの変更、たとえば、JCLソース・ファイルの追加、変更または削除などがアセットで発生したときに、増分的に対応できます。カタロガは影響を受けるJCLを再解析して、JCLトランスレータは再解析されたJCLのみを再変換します。繰り返しますが、これはTuxedo ART Workbenchツールの通常モードでの動作であり、アクティブ化するために特別なアクションは必要ありません。
同時実行操作
前述のとおり、複数のプロセスでJCLトランスレータを同時に実行することはお薦めしません。異なるプロセスが同じターゲット・サブファイルに同時に書き込む可能性があるためです。ただし、JCL変換は高速であるため、通常は同時処理を使用して処理を高速化する必要はありません。
makeを介した使用
記載予定
制限
重複するステップ名はサポートされない
JCLから変換されたKSHスクリプトでは、実行フローを制御するための重要な識別子としてステップ名が使用されます。ソースJCL内の各ステップ名は一意にする必要があります。そうでない場合、ART Batch Runtime内の変換されたKSHスクリプトの実行が予期しないものになり、無限にループする可能性があります。ソースJCLを分析するときに、カタロガは重複するステップ名を検出できません。
IDCAMS ALTER NEWNAMEコマンド
IDCAMS ALTER NEWNAMEコマンドはm_FileRenameに正しく変換できますが、ワークベンチによってRDBファイルに変換されたファイルの名前をファイル・トランスレータによって変更すると、次の2つの問題が発生する可能性があります。
最初に考えられる問題は、後続のJCLで新しいファイル名に対して実行されるプログラムでは、JCLトランスレータによって-bオプションが追加されないことです。JCLトランスレータは、ソース・ファイルがRDBMSへのアクセスを必要している場合でも、新しいファイルが必要としているかどうかを判断できないからです。
よくある質問
新たにJCLを変換するのはどのような場合ですか。
JCLの(再)変換を強制するにはどうしますか。
次のいずれかを行います。
前者の方法をお薦めします。後者よりもソース・アセットへの"侵入"の度合いが低いからです。
JCLを削除しました。対応するKSHがまだ存在するのはなぜですか。
後者は、プロシージャおよびインクルード・ファイルなどのサブファイルとともに、手動で削除する必要があります(他のKSHで使用しない場合)。
トランスレータを実行しましたが変換が生成されません
プロシージャがJCLに含まれておらず、そのためKSHに含まれていません。
システム記述ファイルで次のことを確認してください。
変換済プロシージャはどこにありますか。
トランスレータ構成ファイルのtarget-proc (またはroot-skeletonの場合もあり)オプションで定義されたディレクトリにあります。このパスは(システム記述ファイルで定義されているように)ソース・アセットのルート・ディレクトリの下のプロシージャの相対パスに追加されます。たとえば次のディレクティブを使用します。
target-proc=/Workspace/Master-Proc
directory "PROC" type JCL-LIB files "*.proc".
directory "INCLUDE" type JCL-LIB files "*.incl".
directory "JCL" type JCL files "*.jcl" libraries "SYSIN", "INCLUDE", "PROC".
プロシージャは/Workspace/Master-Proc/PROCディレクトリに配置されます。
変換中に一部のFSNが欠落するのはなぜですか。
保持する必要があるFSNが、削除するFSNのリストにないことを確認します(トランスレータ構成ファイルのset-delete-fsnオプション)。ある場合は、このリストから削除するか、または全部(set-delete-fsnリストの「ワイルドカード」)ではないが一部を削除する場合は、set-keep-fsnリストに保持する必要があるものを追加します。
 

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