この章の構成は、次のとおりです。
Oracle Forms Migration Assistantは、PL/SQLコードの廃止された用法を更新することによって、Forms 6iアプリケーションをOracle Forms 12cにアップグレードできるようにします。このツールは、必要な変更を自動的に適用できない場合、警告を発行します。このツールには、コマンドラインとウィザード・バージョンがあります。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ファイルを編集します。次のアップグレード・オプションを設定できます。
表2-1 Oracle Forms Migration Assistantのconverter.propertiesファイルのオプション
オプション | 説明 |
---|---|
Log File Name(default.logfilename) |
ログ情報を格納するファイル名と場所を指定します。 |
Reports Queue Table Installed(default.usequeuetables) |
これらのキュー表は、Webベースのレポートを使用する際に、キューに格納されたレポートおよび処理されたレポートの監視に役立ちます。このキュー表をOracle Forms Migration Assistantで使用すると、アプリケーション・スキーマへのインストール時に詳細なエラー・メッセージが発行されます。(たとえば、PL/SQLがコンパイルされていないためにレポートを実行できない場合、キュー表を使用して、すべてのエラー・メッセージの問合せを行うことができます。)生成されたレポートは自動的に印刷されます。Reportsのキュー表の詳細は、Reports Servicesのドキュメントを参照してください。 |
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) |
レポート出力を受信するデバイスのタイプ。詳細は、RSPUBを参照してください。 |
DESFORMAT (default.desformat) |
DESTYPEがFILEである場合に使用されるプリンタ・ドライバ。詳細は、RSPUBを参照してください。 |
DESNAME (default.desname) |
レポート出力の送信先であるファイル、プリンタ、電子メールIDまたは配信リストの名前。詳細は、RSPUBを参照してください。 |
Reports Server Host(default.reportshost) |
Reportsサーバーを実行するシステムの名前またはIPアドレス。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
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
既存のクラスにビルトインの警告を追加する場合、およびクラスと警告を作成する場合は、次の手順を使用します。
Formsの基礎となる共通のモジュールをアップグレードして、Migration Assistantを実行する前にこれらがFORMS_PATHで使用できるようにする必要があります。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 Oracle 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ファイルの編集」を参照してください。)
ログ・ファイルをチェックし、ツールで変更されなかった必須のアップグレード手順に関する情報を確認します。それらの変更を手動でアプリケーションに加えます。
複数のアプリケーションを変換するには、コマンドラインからバッチ・モードで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
WindowsおよびUNIXコンピュータでは、バッチ・モードで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シェルで、次のコマンドを発行します。
frmplsqlconv.sh mode=batch module=<filename> log=<logname>
変換の結果が画面に表示されます。これは、デフォルトのログ・ファイルにも保存されます。バッチ・モードでは、すべてのコンバータ・オプションがconverter.propertiesファイルから取り込まれることに注意してください。コンバータ・オプションを変更する場合は、「converter.propertiesファイルの編集」を参照してください。
Forms Migration Assistantのウィザード・バージョンを実行して、コンバータ・オプションを編集できます。
この項では、WindowsおよびUNIXコンピュータでForms Migration Assistantを起動する方法を説明します。
注意:
converter.propertiesファイルの設定については、「converter.propertiesファイルの編集」を参照してください。
ウィザードを実行する前に、次の手順で変換オプションを設定できます。