Magic xpaでは、Magic V9Plus以前のバージョンのリポジトリ出力ファイルの構造をサポートしていません。以前のバージョンから移行する場合は、リポジトリ出力ファイルを一旦Magic uniPaaS V1Plusの構造に変換する必要があります。ここでは、Magic V9Plus以前から Magic uniPaaS V1Plus用のアプリケーションに移行する方法について説明しています。
アプリケーションをMagic V1Plus用から Magic xpa用に移行する方法については、「Magic V10 または Magic uniPaaS から移行する場合」を参照してください。
Magic xpaには、アプリケーションを移行するために以下のユーティリティも提供しています。これらは、Magic xpaのプログラムメニュー内のマイグレーションのサブフォルダ内にショートカットがあります。このため、Magic uniPaaS V1Plusをインストールする必要はありません。
ビルダデータ変換ユーティリティ …… V9Plusの各インタフェースビルダ(uniPaaS、COM、WSDL、EJB)によって作成されたデータをMagic xpaのプロジェクトファイルに変換します。
MAGIC.INI変換ユーティリティ …… V9PlusのMAGIC.INI ファイルをMagic xpa用に変換します。
Magic uniPaaSへの移行パス
過去のバージョン(V4 ~ V9Plus) から Magic uniPaaS V1Plusに移行する手順については、以下の通りとなります。
Magic uniPaaS V1Plus用のプロジェクトに変換後、このプロジェクトをMagic xpa でオープンすると、Magic xpa用のアプリケーションへの移行ウィザードが実行され、変換が完了します。
Magic uniPaaS V1Plusへの移行は、V9Plus Ver9.4SP6a (およびそれ以降)のバージョンのリポジトリ出力形式ファイルを、Magic uniPaaS V1Plus添付の V9Plus コンバータにより、Magic uniPaaS V1Plusのプロジェクト形式に変換することにより行います。このため、MCFのバージョンにより、移行手順が異なります。
V9Plus V9.4SP6a およびそれ以降のバージョンの場合(上図 ① のケース):
アプリケーションのリポジトリ出力を行います。
変換ユーティリティ を使用して、Magic V9Plus(SP6以上)のアプリケーションをMagic uniPaaS V1Plusのプロジェクトファイルに変換します。
V8.2 から V 9.40J SP3c までのMCFの場合 (上図 ② および ③ のケース): いったん V9Plus Ver 9.4J SP6a 以降に移行した上で、上記手順を行ってください。
V4 ~ V7 製品のMCFの場合 (上図 ④ のケース): まず V8.2 に移行し、更に V9Plus Ver 9.4J SP6a 以降に移行した上で、上記手順を行ってください。
移行のための旧バージョン
上記のように、V9Plus Ver9.4SP6a より以前のバージョンからMagic uniPaaS V1Plusにアプリケーションを移行するには、V9Plus Ver9.4SP6a (あるいは、V8.2) が必要となります。Magic xpaの製品DVD-ROMには、開発者の移行の便のために、V9Plus Ver9.4SP6a および V8.2K4SP2 の簡易版が同梱されています。
これらのバージョンは、移行目的のためだけに提供されますので、次のような制限があります。
基本的に、リポジトリ入力と出力を行うためにだけ利用します。
開発・実行機能も利用できますが、移行の確認と最小限必要な修正のためにだけ利用してください。アプリケーション単純移行の目的を超える、新しいアプリケーション開発や新しい機能の追加のために利用することは認められていません。
Web機能実行のためのモジュール類(MRB、リクエスタ、ブラウザクライアントモジュール等)およびSQL系のゲートウェイのインストール・設定は行われません。SQL系のDBMSを利用したアプリケーションを移行する場合は、別途インストールファイルとライセンスが必要です。ライセンスは、MSJの担当営業にお問い合わせください。
実運用環境で利用することは認められません。
使用権は、ご購入になった uniPaaS Studio製品に準ずるものとし、特定のPC1台にのみインストール可能です。
V9Plusからのコンバート
リポジトリ出力を行うV9Plusの開発版は、mgconstw.jp2を設定して起動してください。
リポジトリ出力を行うV9Plusの開発版の MAGIC.INI に[dbMAGIC_ENV]NativeTranslation = Yが設定されていると、正しくコンバートできないことがあります。
ファントムタスクのハンドリングについて
Ver 9.40J SP3 では、ファントムタスクのハンドリングに関する拡張が行われ、[レコードメイン]だけでなく、他のハンドラレベル([コントロール前]/[コントロール後]、イベントハンドラなど)に[コール]処理コマンドが定義されている場合でも、ファントムタスク呼び出しのために使用されるようになりました。この機能の詳細については、V9Plus (Ver 9.40J SP3c以降) のREADME.CHM の「9.40J SP3 での新機能」のページに記述されています。この機能拡張は、Magic uniPaaS V1Plusにおいても有効です。
これはイベントベースのアプリケーション開発スタイルをより使いやすくするための拡張ですが、Ver 9.40J SP1a および、V8.2、V7.x などを含む旧バージョンから移行を行うと、プログラムの構造によっては、この機能拡張によって、ファントムタスクにカーソルが移動してほしくないときに移動してしまう、という現象が起こる可能性があります。
このような場合には、次のようにファントムタスクを呼び出す[コール]処理コマンドに条件付けを行い、不要なときに[コール]処理コマンドが実行されないように、プログラムを修正してください。
[コントロール後]でファントムタスクを呼び出している場合、[コール]処理コマンドに Level(0) ='CS_コントロール名' というような条件を付ける。
プッシュボタンに割り当てられた[イベント]ロジックユニットでファントムタスクを呼び出している場合には、LastClicked ()='ボタンのコントロール名' という条件を付ける。
関連トピック: