2 Oracle Forms Migration Assistantの使用について
Oracle Forms Migration Assistantを使用して、Forms 6iアプリケーションを最新のFormsバージョンにアップグレードします。
この節の内容は以下のとおりです。
Oracle Forms Migration Assistantについて
Oracle Forms Migration Assistantは、PL/SQLコードの更新および廃止されたコードの用法のリスト、廃止された機能に直面した場合の警告および他の機能の提供を支援します。
Oracle Forms Migration Assistantは、PL/SQLコードで廃止された使用方法を更新して、Forms 6iアプリケーションを最新のFormsバージョンにアップグレードします。このツールは、必要な変更を自動的に適用できない場合、警告を発行します。このツールには、コマンドラインとウィザード・バージョンがあります。Oracle Forms Migration Assistantでは、すべてのFormsモジュール・タイプ(オブジェクト・ライブラリとPL/SQLライブラリを含む)に次の処理が実行されます。
-
必要に応じて、次のようにPL/SQLコードを更新します。
-
Reportsのコールに使用する場合に、RUN_PRODUCTをRUN_REPORT_OBJECTビルトインに更新します。
-
CHANGE_ALERT_MESSAGEをSET_ALERT_PROPERTYビルトインに更新します。
-
-
廃止されたコードの用法をリストとして表示します。これには、アップグレードできる同等のコードがないためにツールで変更できないコードも含まれます。その場合、次のような処理も行います。
-
ITEM_ENABLEDなどの廃止されたビルトインが実行時に使用されると、警告を発行します。
ノート:
Oracle Forms Migration Assistantはビルトインを置換し、コードのコメント内に存在するビルトインに関する警告を発行します。
-
-
廃止された項目タイプがコードに含まれている場合など、廃止された機能が見つかった場合に警告を発行します。
-
不適切なレベルで定義されているトリガーについての警告を発行します。
-
単純に1対1で対応するコード文字列を置換します。たとえば、OHOSTをHOSTに、MENU_CLEAR_FIELDをCLEAR_ITEMに、MENU_FAILUREをFORM_FAILUREに置換します。
-
より複雑な置換を実行します。たとえば、CHANGE_ALERT_ MESSAGEをSET_ALERT_PROPERTYビルトインに、DISABLE_ITEMをSET_MENU_ITEM_PROPERTYビルトインに、ITEM_ENABLEDをGET_ ITEM_PROPERTYビルトインに、ENABLE_ITEMをSET_MENU_ITEM_ PROPERTYビルトインに置換します。
-
V2スタイルのトリガーが見つかった場合に、Formモジュールのログに警告を記録します。
-
廃止されたオブジェクト・タイプに関連するビルトイン(VBX.FIRE_EVENT、VBX.GET_ PROPERTY、VBX.GET_VALUE_PROPERTYなど)が見つかった場合に、Formモジュールのログに警告を記録します。
Oracle Forms Migration Assistantはバッチ・モードで実行します。必要に応じてユーティリティに再度入ると、アップグレード・プロセスをFormsアプリケーションで複数回実行できます。Migration Assistantのウィザード・バージョンを使用して、複数のモジュールをアップグレードすることもできます。
converter.propertiesファイルを編集すると、バッチ移行を開始する前にオプションを設定できます。search_replace.propertiesファイルを編集すると、Oracle Forms Migration Assistantで検索して置換する文字列を指定すると共に、廃止されたビルトインが見つかった場合に発行する警告を編集できます。
このツールではログ・ファイルが作成されるので、アプリケーション内で問題のある領域に移動して、手動で修正を加えることができます。
複数ログのサポート
Forms Migration Assistantでは、すべてのログ情報を1つのログ・ファイルに書き込むことも、複数のログ・ファイルにわたって書き込むこともできます。Forms Migration Assistantのログ・ファイルが複数にわたる場合、処理されるモジュールごとに個別のログ・ファイルが生成されます。
Forms Migration Assistantでログ・ファイルの書込みに使用されるディレクトリを指定する必要があります。生成されるログ・ファイルの名前はmodulename_moduletype.log
です。
たとえば、test.fmbという名前のモジュールを処理する場合、ログ・ファイルの名前はtest_fmb.logになります。アップグレード対象としてtest.fmbとtest.mmbを選択しても、Formsの移行ウィザードでログ・ファイルが上書きされることはありません。ただし、2つの異なるディレクトリから2つのtest.fmbモジュールを選択して変換した場合、ログ・ファイルは上書きされます。Forms Migration Assistantでは、test_fmb.logとtest_mmb.logの2つのログ・ファイルが生成されます。
converter.propertiesファイルの編集
アップグレード・オプションを変更するには、テキスト・エディタでconverter.properties
ファイルを編集します。
次のアップグレード・オプションを設定できます。
表2-1 Forms Migration Assistantのconverter.properties
ファイルのオプション
オプション | 説明 |
---|---|
Log File Name(default.logfilename) |
ログ情報を格納するファイル名と場所を指定します。 |
Reports Queue Table Installed(default.usequeuetables) |
これらのキュー表は、Webベースのレポートを使用する際に、キューに格納されたレポートおよび処理されたレポートの監視に役立ちます。このキュー表をOracle Forms Migration Assistantで使用すると、アプリケーション・スキーマへのインストール時に詳細なエラー・メッセージが発行されます。(たとえば、PL/SQLがコンパイルされていないためにレポートを実行できない場合、キュー表を使用して、すべてのエラー・メッセージの問合せを行うことができます。)生成されたレポートは自動的に印刷されます。 「パフォーマンス分析ツール」を参照してください |
Reports Servlet Directory(default.servletdir) |
Web上でレポートを実行するときに使用するReportsサーブレットについて、その仮想パスに対して定義されている名前を指定します。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
Reports Servlet Name(default.servletname) |
Web上でレポートを実行するときに使用するReportsサーブレットの名前を指定します。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
Reports Server Host(default.reports_servername) |
Reportsサーバーを実行するシステムの名前またはIPアドレス。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
DESTYPE (default.destype) |
レポート出力を受信するデバイスのタイプ。「配布XMLファイルの要素」を参照してください。 |
DESFORMAT (default.desformat) |
DESTYPEがFILEである場合に使用されるプリンタ・ドライバ。「コマンドライン・キーワード(ACCESSIBLEからDESTYPE)」を参照してください。 |
DESNAME (default.desname) |
レポート出力の送信先であるファイル、プリンタ、電子メールIDまたは配信リストの名前。「コマンドライン・キーワード(ACCESSIBLEからDESTYPE)」を参照してください。 |
Reports Server Host(default.reportshost) |
Reportsサーバーを実行するシステムの名前またはIPアドレス。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
search_replace.propertiesファイルの編集
search_replace.propertiesファイルには、Oracle Forms Migration Assistantで検索して置換する文字列が含まれます。また、警告の対象となる廃止されたビルトインのリストも含まれます。
検索と置換を行う文字列の追加
廃止されたビルトインに関する警告の変更
ビルトインに関する警告には、次の構文が使用されます。
<class>.Message=<WarningMessage> <class>.Warning1=<BuiltIn1> <class>.Warning2=<BuiltIn2> <class>.Warning3=<BuiltIn3> etc.
たとえば、obsoleteMenuParam
クラスの場合、警告は次のようにコーディングされます。
obsoleteMenuParam.Message=Menu Parameters are no longer supported, the parameter and usage of %s should be replaced using a Forms parameter or global variable. obsoleteMenuParam.Warning1=MENU_PARAMETER obsoleteMenuParam.Warning2=QUERY_PARAMETER obsoleteMenuParam.Warning3=TERMINATE
<class>
は、共通の警告を持つビルトインのグループです。<WarningMessage>
には、変数文字列(%s
)を1つ含めることができます。
Oracle Forms Migration Assistantでは、警告の発行が必要なビルトインが見つかった場合、その警告がログに記録され、変数文字列(%s
)がビルトイン名に置換されます。
search_replace.propertiesファイルには次のクラスが含まれます。
-
obsoleteItemTypeBuiltin
-
obsoleteBuiltin
-
obsoleteMenuParam
-
obsoleteItemTypeConstantProp
-
obsoleteConstantProp
-
obsoleteConstant
-
obsoleteHardCodedUserExit
-
obsoleteComplexBuiltin
-
DataParameterWithReports
-
NoErrorOrWarningFromForms
既存のクラスにビルトインの警告を追加する場合、およびクラスと警告を作成する場合は、次の手順を使用します。
Oracle Forms Migration Assistantの起動
Formsの基礎となる共通のモジュールをForms Migration Assistantの実行時にFORMS_PATHに含める必要があります。他のモジュールが依存する可能性があるFormsモジュールを最初にアップグレードする必要があります。
FMAを使用して、次の順序でモジュールをアップグレードする必要があります。
-
.olbモジュール
-
.pllモジュール
-
.mmbモジュール
-
.fmbモジュール
ノート:
UNIXの場合、Oracle Forms Migration Assistantを実行するにはxterm表示が必要となります。
ノート:
RUN_PRODUCTをRUN_REPORT_OBJECTに変換するには、forms\rp2rro.pllファイルおよびforms\EnableDisableItem.pllファイルをFORMS_PATHに含める必要があります。
UNIXでは、FORMS_PATH変数を、setenv FORMS_PATH $ORACLE_HOME/forms
などに設定します。
表2-2 Forms Migration Assistantのコマンドライン・パラメータ
パラメータ | 説明 |
---|---|
module(バッチ・モードでのみ必須) |
アップグレードするモジュールを指定します。モジュール名パラメータに指定できる値は1つだけです。一度に複数のモジュールをアップグレードするには、「Forms Migration Assistantのウィザード・バージョンの実行」を参照してください。 |
log (オプション) |
アップグレード結果を書き込むログ・ファイルを指定します。指定しない場合は、converter.propertiesファイルのデフォルト値が使用されます。 |
mode (オプション) |
このオプションには値が2つあります(batchおよびwizard)。Migration Assistantをバッチ・モードで実行する場合はmode=batchを、ウィザードを実行する場合はmode=wizardを使用します。 |
アップグレード・プロセスの進捗情報が画面に表示されます。これは、converter.propertiesファイルで指定したログ・ファイルにも保存されます。(「converter.propertiesファイルの編集」の説明に従って、アップグレード・オプションを変更します。)
ログ・ファイルをチェックし、ツールで変更されなかった必須のアップグレード・ステップに関する情報を確認します。それらの変更を手動でアプリケーションに加えます。
バッチ・モードのMigration Assistantについて
複数のアプリケーションを変換するには、コマンドラインからバッチ・モードでForms Migration Assistantを実行します。バッチ・モードは、複数のFormsアプリケーションを変換するのに有用です。たとえば、Windowsで次の内容のバッチ・ファイル(upgrade.batなど)を作成します。
for %%f in (%1) do frmplsqlconv module=%%f
userid=<connect_string>
次に、このバッチ・ファイルを次のように実行します。
upgrade *.fmb
または
upgrade foo*.mmb
UNIXでは、次の内容のシェル・スクリプト(upgrade.shなど)を作成します。
for file in $*
do
frmplsqlconv.sh module=$ff
done
次に、このシェル・スクリプトを次のように実行します。
または
upgrade.sh foo*.mmb
バッチ・モードでのMigration Assistantの起動
WindowsおよびUNIXコンピュータでは、バッチ・モードでMigration Assistantを実行できます。
Windowsでのバッチ・モードによるMigration Assistantの起動
コマンド・ウィンドウで、次のコマンドを発行します。
frmplsqlconv mode=batch module=<filename> log=<logname>
ノート:
変換前にファイルをバックアップすることを推奨するダイアログ・ウィンドウが表示されます。この警告を今後も表示するには、「今後もメッセージを表示する」ボックスを選択します。
<filename>
は、変換するファイルの名前です。<logname>
は、生成するログ・ファイルの名前です。
Forms Migration Assistantは、d:\temp
ディレクトリでtest.fmb
ファイルを検索し、生成したログ・ファイルにtest.log
という名前を付けてd:\temp
ディレクトリに配置します。ログ・ファイルには、任意の名前と場所を指定できます。デフォルトでは、ログ・ファイルはORACLE_HOME\bin
に書き込まれます。モジュール・パラメータに指定できる値は1つだけです。
次に例を示します。
frmplsqlconv mode=batch module=d:\temp\test.fmb log=d:\temp\test.log
変換の結果が画面に表示されます。これは、デフォルトのログ・ファイルにも保存されます。バッチ・モードでは、すべてのコンバータ・オプションがconverter.properties
ファイルから取り込まれることに注意してください。コンバータ・オプションを変更する場合は、「converter.propertiesファイルの編集」を参照してください。
UNIXでのバッチ・モードによるMigration Assistantの起動
UNIXシェルで、次のコマンドを発行します。
frmplsqlconv.sh mode=batch module=<filename> log=<logname>
変換の結果が画面に表示されます。これは、デフォルトのログ・ファイルにも保存されます。バッチ・モードでは、すべてのコンバータ・オプションがconverter.propertiesファイルから取り込まれることに注意してください。コンバータ・オプションを変更する場合は、「converter.propertiesファイルの編集」を参照してください。