• 検索結果がありません。

PL/SQL 変換ユーティリティでの変換

ドキュメント内 Oracle Developer Release 6i (ページ 31-35)

PL/SQL変換ユーティリティは、対話的実行とバッチ実行の2通りの方法で実行で

きます。対話的実行は、モジュールを各Builder で開く際に実行され、バッチ実行 はコンパイラを使用したバッチコンパイル時に実行されます。

いずれの方法で実行した場合も、.plg拡張子のついたログ・ファイルが生成されま す。このログ・ファイルには、移行中にモジュールに対して行われたすべての変 更が記述され、また手動で変更が必要な箇所も一覧表示されます。

変換ユーティリティによるモジュールの変換後保存すると、そのモジュールに対 し再度変換ユーティリティを実行することはできません。これにより、変換ユー ティリティでの変換後に手動でおこなった変更を、変換ユーティリティにより上 書きされるのを防止できます。

6.3.1 対話的実行

モジュールを対話的に変換するには、単にR6iのBuiderでモジュールを開くだ けです。Forms、Reports、Graphics、Procedure Builderの各コンポーネントで行 います。

開いたモジュールに、PL/SQL 8に準拠するために変更を要するPL/SQLコード がある場合には、下図のような画面が表示されます。

表 6.3.1 PL/SQL変換ユーティリティ 画面

この画面では、コードを変換するか、無視するかを選択出来ます。ここで無視

してPL/SQLコードを変換しない場合、使用しているモジュールはコンパイル

が通らず、実行モジュールが生成できません。この場合は、変換ユーティリテ ィ終了後、手動でコードを変更する必要があります。

各ボタンは次のように使い分けます。

ボタン 動作

説明 現在表示されているコードで何を変換すべきなのか説 明を表示

変換 現在表示されているコードを変換する場合にクリック すべて変換 すべての変換項目を自動で変換する場合にクリック。以

降の変換項目は確認メッセージが表示されずに変換さ れる

無視 現在表示されているコードを変換せず、次の項目へ進む 場合にクリック

すべて無視 すべての項目を変換せずに変換ユーティリティを終了 する場合にクリック

オプション 次文参照 ヘルプ ヘルプを表示

す。このウィンドウでは、変換すべきコードの変換方法を指定します。

表 6.3.2 変換ユーティリティ オプション設定

これらの項目と、既に説明したPL/SQLの変更点との対応は、次の通りです。

オプション項目 説明箇所

・CHARをVARCHAR2へ 6.2.1 文字変数

・文字列宣言に長さの制約がない 6.2.1 文字変数

・デフォルト値付き OUT 及び IN OUTパラメータ

6.2.2 デフォルト値付きOUTおよびIN OUTパラメータ

・ファンクションに戻り値がない 6.2.3 関数の戻り値

・無効なビルトイン 6.2.4 廃止されたTO_PLS_INTEGER

・文字列長がゼロのため LENGTH ファンクションがNULLを返した

6.2.5 LENGTH関数の戻り値

・オーバロードされたNULLのサブ プログラムが解決できない

6.2.6 サブプログラムのオーバーロー

・ファンクションに RETURN がな い

6.2.7 関数のRETURN

また、チェックボックスは次の意味を持っています。

チェックボックス 意味

変換 変換時に確認のメッセージを表示せずに変換を行う 無視 手動でコードを変更する

確認 変換すべきコードを検出した際に、変換を行うかどう かの確認画面を表示する(デフォルト)

変換方法を指定する場合は、各オプション項目のチェックボックスにチェック し、OKボタンをクリックします。

変換ユーティリティによる変換が終了すると、変換ユーティリティによって行 われた変換を一覧表示する変換サマリーウィンドウが表示されます。

下図のように「変換済み」と記述された項目は、変換ユーティリティによって 自動で変換が行われています。

表 6.3.3 変換サマリー

このウィンドウには、コンパイル・エラーの生じた箇所も同時に一覧表示され ます。エラーに該当するコードを確認する場合は、リスト上で項目をダブル・

クリックするか、または項目を選択し、右クリックから編 集を 選 択し て

PL/SQLエディタを表示し、修正を行って下さい。

6.3.2 バッチ実行

Forms、Reportsそれぞれのコンパイラを使用して、PL/SQLの変換をバッチ実

行します。Graphicsにはコンパイラが存在しないため、この方法は使用できま せん。

バッチ実行を行う場合は、6.2 変換ユーティリティで変換可能なPL/SQL変 更点で説明したすべてが自動的に行われます。

以下のコマンドを実行します。

>ifcmp60 module=<モ ジ ュ ー ル 名> userid=<デ ー タ ベ ー ス 情 報>

upgrade_plsql=yes batch=yes

例:

>ifcmp60 module=old.fmb userid=scott/tiger@orcl upgrade_plsql=yes batch=yes

また、コマンド・ラインからReportsモジュールをバッチ・モードで変換する には、以下のコマンドを実行します。

>rwcon60 source=<モ ジ ュ ー ル 名> userid=<デ ー タ ベ ー ス 情 報>

upgrade_plsql=yes batch=yes

例:

>rwcon60 source=old.rdf userid=scott/tiger@orcl upgrade_plsql=yes batch=yes

ドキュメント内 Oracle Developer Release 6i (ページ 31-35)

関連したドキュメント