この章は、次の項で構成されています。
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) |
レポート出力を受信するデバイスのタイプ。詳細は、Oracle Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイドを参照してください。 |
DESFORMAT(default.desformat) |
DESTYPEがFILEである場合に使用されるプリンタ・ドライバ。詳細は、『Oracle Fusion Middleware Reports Services Publishing Reports to the Web』を参照してください。 |
DESNAME(default.desname) |
レポート出力の送信先であるファイル、プリンタ、電子メールIDまたは配信リストの名前。詳細は、Oracle Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイドを参照してください。 |
Reports Server Host(default.reportshost) |
Reportsサーバーを実行するシステムの名前またはIPアドレス。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
search_replace.propertiesファイルには、Oracle Forms Migration Assistantで検索して置換する文字列が含まれます。また、警告の対象となる廃止されたビルトインのリストも含まれます。
検索と置換を行う独自の文字列を追加するには、次の手順でこのファイルを編集します。
テキスト・エディタでsearch_replace.propertiesファイルを開きます。
検索と置換を行う文字列のリストの末尾に移動します。
次の構文を使用して、検索と置換を行う文字列を追加します。
SearchString|ReplaceString
search_replace.propertiesファイルを保存します。
ビルトインに関する警告には、次の構文が使用されます。
<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
既存のクラスにビルトインの警告を追加する場合、およびクラスと警告を作成する場合は、次の手順を使用します。
テキスト・エディタでsearch_replace.propertiesファイルを開きます。
警告メッセージのリストの末尾に移動します。
既存のクラスに警告を追加するか、または前述の構文を使用してクラスと警告を作成します。
search_replace.propertiesファイルを保存します。
注意: search_replace.propertiesファイルの最後の2つのコマンドは削除しないでください。 |
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変数を、 |
表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を起動する方法を説明します。
Windowsコンピュータでは、次のようにFORMS_PATH
環境変数を設定します。
SET FORMS_PATH=%ORACLE_HOME%\forms
UNIXコンピュータでは、次の例のようにFORMS_PATH変数を設定します。
setenv FORMS_PATH $ORACLE_HOME/forms
Windowsコンピュータでは、「スタート」メニューから「ORACLE_HOME」→「Forms Developer」→「Oracle Forms Migration Assistant(GUI Mode)」を選択するか、コマンドラインでfrmplsqlconv.bat mode=wizard
と入力して変換ユーティリティを起動します。
UNIXでは、frmplsqlconv.sh mode=wizard
と入力します。
変換ウィザードの「ようこそ」ダイアログが表示されます。
注意: コマンドの後に-hを入力すると(例:frmplsqlconv -h )、ヘルプが表示されます。 |
「次へ」をクリックします。
「モジュール」ダイアログで、「モジュールの追加」ボタンをクリックします。
変換するモジュールを選択します。
「次へ」をクリックします。
「Options」ダイアログで、生成するログ・ファイルの場所と名前を入力します。場所の選択には参照ボタンを使用できます。
レポートが埋め込まれているFormsの場合、残りのフィールドを入力します。それ以外の場合、残りのフィールドは無視してかまいません。
レポートの各フィールドの詳細は、Oracle Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイドを参照してください。コンバータの拡張オプションの詳細は、「コンバータの拡張オプションの設定」を参照してください。
「次へ」をクリックします。
「終了」ダイアログに、選択したモジュールのリストが表示されます。「終了」をクリックして、変換を開始します。
「ログ」ウィンドウに進捗状況が表示されます。(ログ出力は、「オプション」ダイアログで指定するログ・ファイル名で保存されます。オプションの設定については、後続の項を参照してください。)
ログ・ファイルをチェックし、ツールで変更されなかった必須の変換手順に関する情報を確認します。それらの変更を手動でアプリケーションに加えます。
ウィザードを実行する前に、次の手順で変換オプションを設定できます。
「Options」ダイアログ(ウィザードの手順2)で、「拡張オプション」をクリックします。
ダイアログの左の列にコンバータ・プロパティが表示されます。表2-3「コンバータ・プロパティ」の説明に従って、プロパティ値を必要に応じて編集します。
表2-3 コンバータ・プロパティ
プロパティ値 | 説明 |
---|---|
バックアップ警告の表示 |
アプリケーションの起動時にファイルをバックアップするための警告ダイアログを表示するかどうかを指定します。 |
ログ・ファイル名 |
単一ログ・モードでのログ・ファイル名を指定します。 |
ログ・ディレクトリ |
複数ログモードでのログ・ファイルの書込み先となるディレクトリ。 |
Reportsサーブレット仮想ディレクトリ |
Reports Servletを定義する仮想パスに対して定義されている名前を指定します。Web上でのレポートの実行に使用されます。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
Reportsサーブレット |
Web上でレポートを実行するときに使用するReportsサーブレットの名前を指定します。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
Reportsサーバー |
Reportsサーバーを実行するシステムの名前またはIPアドレス。この設定は、Run_ProductコールをRun_Report_Objectに変換するときに必要です。 |
Default DESFORMAT |
DESTYPEがPRINTERである場合に使用されるプリンタ・ドライバ(XML、HTML、HTMLCSS、PDF、RTF、デリミタ付き)。 |
Default DESTYPE |
レポート出力を受信するデバイスのタイプ(キャッシュ、プリンタ、ファイル)。 |
Default DESNAME |
レポート出力の送信先であるファイル、プリンタ、電子メールID、または配信リストの名前。 |
Default Browser |
UNIXの場合は、Migration Assistantのヘルプの表示に使用するブラウザ。設定値は、firefox、iexplorer、chromeのいずれかです。Windowsの場合は、システムのデフォルト・ブラウザが使用されます。 |
「OK」をクリックして構成を保存します。データがconverter.propertiesファイルに保存され、指定した設定が現行および今後のユーティリティ・セッションに使用されます。