GXflow アプリケーションを移行するには、次のことを確認する必要があります:
移行するには、GXflow 9.0 Upgrade 1 が必要です。
手順
最初に、GeneXus X ナレッジベースの変換プロセスで説明している手順に従って、ナレッジベースを変換する必要があります。
GXflow 9.0 Upgrade 1 テーブルに関連付けられているデータ ビュー オブジェクトを使用して、エンジンからデータにアクセスする場合、変換プロセスを開始する前に、必ずすべての参照を削除します。これを行なわないと、次のようなエラーが発生します:
オブジェクトプロパティの処理が失敗しました
'GXflowTableName' は 'DVAssocTable' プロパティでは無効です:ユーザープロンプトが参照しているテーブルが見つかりませんでした。
存在しないあるいはインポートされていない可能性があります(原因はエラーが発生したあるいはエクスポートされていない)。
IDE から変換プロセスを実行している場合、ナレッジベースのソース分析後に次のダイアログが表示されます:
このダイアログによって、変換する GXPM プロジェクトを選択するか、この手順を省略し、後でプロジェクトをインポートすることができます。プロジェクトのインポートについて詳しくは、「ワークフロー XEv2 ツール」を参照してください。
これを行うと、変換ダイアログに次のタスクが表示されます:
[ ワークフローオブジェクトの変換 ] プロセスで GXflow API または GXPM プロジェクト (選択した場合) のインポートが開始され、ナレッジベース内で古いワークフロー API を使用する各オブジェクトについて、変数とソースコードが新しい API を使用するように変換されます。下記の「検討事項」セクションを参照し、移行されない項目を確認してください。
[ ワークフロー ランタイム オブジェクトを削除 ] このプロセスでは、ユーザーオブジェクトによって参照されていないワークフロー ランタイム オブジェクトが削除されます。このような状況のオブジェクトがある場合、出力に警告が表示されます。
GeneXus の標準変換プロセスが実行されます。GXflow 固有の警告について詳しくは、こちらを参照してください。
注:重要!
ワークフロー ランタイム オブジェクトを直接呼び出すことはお勧めできません。
検討事項
ナレッジベース
次のような場合、変換プロセスでコメントが表示され、警告メッセージが出現することがあります。
-
ワークフロー ランタイム オブジェクトを指定している呼び出しコマンドを持つオブジェクトがある場合は、呼び出しは移行されず、これらのオブジェクトの仕様検証時にエラーが示されます。
-
ワークフロー ランタイム テーブルをまたがる "For each" コマンドは移行されないので、このようなオブジェクトを指定しているとエラーが発生します。
-
ワークフローの通常の Parm ルールを持つ、Web パネルとトランザクションについて、コメントが表示されます。この Parm ルールには、3 つのパラメーターがあり、タイプはそれぞれ WApiProcessDefinition、WApiProcessInstance、および WApiWorkitem です。これは、GXflow の旧バージョンにおいて、アクティビティに関連付けられたすべてのオブジェクトで必要だったものです。現在は使用されなくなっており、指定エラーの原因になるためコメントが表示されます。ワークフロー データ タイプは、トランザクションおよび Web パネルではパラメーターとして使用できません。トランザクションまたは Web パネルで、ワークフロー データ タイプをパラメーターとして受け取る具体的な状況がある場合は、修正する必要があります。代替の方法は、ワークフローエンティティーの ID のみをパラメーターとして受け取り、対応するワークフロー変数を Start イベントで読み込むことです。たとえば、作業項目をパラメーターとして受け取るトランザクションがあるとします。この場合、作業項目の ID (N(10)) をパラメーターとして受け取り、次の行を Start イベントに追加する必要があります:
&Workitem.Load (&WorkItemId)
ここで、&Workitem は WorkflowWorkitem タイプの変数で、&WorkItemID はパラメーターとして受け取った作業項目の ID です。
-
廃止予定のプロパティとメソッド:
-
workflowCollection データタイプの Find メソッドは現在サポートされていないため、コメントが表示され、出力に警告が表示されます。
-
WorkflowWebApplication データタイプ自体はすでにサポートされていませんが、関連するほとんどのプロパティとメソッドは自動的に移行されます。たとえば次のものがあります:
-
[ Active Session ] プロパティ: 次の記述によって WebSession 変数が定義され、ワークフローセッションが取得されます:&Activesession = &WebSession.Get(WorkflowSession.SessionHandle)
-
[ Language ] プロパティ: 次の記述によって WebSession 変数が定義され、ワークフローセッションが取得されます:&Activesession = &WebSession.Get(WorkflowSession.Language)
-
[ ConnectedUser ] プロパティ: 次のように記述することによって、WebSession 変数 とWorkflowServer 変数が定義され、接続ユーザーが取得されます:&WFServer.Load(&WebSession.Get(WorkflowSession.SessionHandle)
&ConnectedUser = &WFServer.ConnectedUser
-
Close メソッドが Return に変更されます。
-
CloseAndComplete が、Return の後に &Workitem.Complete() に変更されています。
その他のメソッドはサポートされていません。
-
WFCleanHistory プロシージャーは、Web パネルに変わっています。このプロシージャーを呼び出すには、
PWFCleanHistory.Call(&Date) の代わりに、Link('wfcleanhistory.aspx') と記述します。
GXPM プロジェクト
-
接続されていないエッジはインポートされません。
-
Task Dimension が [ Loop Type ] プロパティに変換されます。
互換性
-
実行期限に 0 を割り当てていた場合は、それより大きな値を割り当てる必要があります。
注:
以前の GeneXus バージョンを使用してエクスポートされた xpz ファイルをインポートすると、ワークフロー API を使用しているオブジェクトが変換されます。
通常、ナレッジベースのワークフロー変換プロセスを無効にするには、ナレッジベースのルートに wfignore.conversion ファイルを作成する必要があります。
GXflow を使用する iSeries のネイティブモデル
iSeries GXflow アプリケーションを変換するには、必ず GeneXus X Evolution 1 Upgrade 3 以上をインストールする必要があります。GeneXus X Evolution 1 Upgrade 3 以上がインストールされていないと、次のエラー (SAC#27320) が発生します。
9.0 ワークフローテーブルは切り捨てられた場合 (省略名)、テーブルを Xev1 標準形式に変換する変換プロセスを実行する必要があります。 ワークフローテーブルを再編成するには、次の手順に従います (ワークフローテーブルが切り捨てられた場合のみ)。
-
GXFlow テーブルだけで、9.0 ナレッジベースを作成し、設計およびプロトタイププロパティを production\test environment として設定します。
-
次のプロパティを変更します:
-
Significant attribute name length: 10
-
Significant table name length: 8
-
Significant object name length: 30
-
モデルをコピーを実行し、プロトタイプモデルを同期します。
-
次のプロパティを変更し、再編成すると、データベースの GXflow テーブルが GeneXus により拡大されます。
-
Significant attribute name length: 30
-
Significant table name length: 30
-
Significant object name length: 30
-
再編成により、テーブルが GeneXus Xev1で使用される標準形式に変換されます。
-
ナレッジベースを Xev1に変換し、標準プロセスに従って、関連付けられた GXflow クライアントをプラットフォームにダウンロードします。
-
変換プロセスを継続します。オブジェクトの最初の実行により GXflow プロセスがトリガーされ、内部テーブルが9.0.1から Xev1 の形式定義に変換されます。
修正された既知の問題
-
SAC #28561: GXflow 9.0 形式から変換されたタスクの送信中に「無効な作業項目」エラーが発生します。
-
SAC # 28559:ワークフロー ナレッジベースの変換時に、 [ History ] ダイアログで条件値を使用することができません。
-
SAC # 27983:ワークフロー ナレッジベースの変換後、 [ HTML Appplication ] アクティビティのプロパティが変換されません。
-
SAC # 27829:タスクのプロパティ [ Take Deadline from Relevant Data ] が変換されません。
-
SAC # 27640:エラー:GUID には長音記号 4 つを含む 32 桁の数字 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) が含まれる必要があります。
-
SAC # 27389:ワークフロー ナレッジベースを Evolution に変換すると、コンテキスト が移行されません。
|