プロセス・フローの理解

プロセス・フローは、特定のタスクを完了するための一連の処理をユーザーにガイドするユーザー・インタフェースです。タスクは、ビジネス・データを更新するための情報収集という簡単なものである場合や、バッチ・プロセスを発行して追跡したり、外部システムとのメッセージを交換するなどの、より複雑なロジックが関与する場合があります。

この項では、プロセス・フローの設計と使用に関連するトピックについて説明します。

パネルで構成されるプロセス・フロー

各プロセス・フローは、特定のタスクを完了するために必要ないくつかの連続したステップで構成されます。各ステップは、プログレス・バーおよび関連するパネルでの停止によって表されます。

進行は直線的で、各ステップには次の単一のステップのみが続きます。プロセス・フローは常に単一の初期ステップで開始しますが、プロセスを完了するためにユーザーが選択できる最終ステップは1つ以上にできます。

すべてのステップで、ユーザーは次の処理を実行できます。
  • ステップのパネルで求められるように、データを入力するか、処理を実行します。

  • 次のステップに進みます(ある場合)。

  • 前にアクセスしたステップに戻ります。

  • プロセス・フローを完了します(現在のステップが最終ステップの場合)。

  • プロセス・フローでの作業を保存し、作業を続行するかプロセス・フローから離れます。後で、ユーザーは、プロセス・フローを離れたときの場所から作業を再開できます。

  • プロセス・フローを取り消します。

プロセス・フロー・タイプで、特定のタイプのプロセス・フローの動作を管理するために必要なメタデータ全体が定義されます。これには、一連のステップ、パネルおよび各ステップに関連するルールなどが含まれます。

パネルの表示

プロセス・フローの各ステップで表示されるパネルは、ステップの構成で選択されたパネル・タイプに基づいてレンダリングされます。

データ領域タイプのパネルの場合、指定したデータ領域のスキーマに作成されたUIヒントを使用してパネルがレンダリングされます。

UIマップ・タイプのパネルの場合、指定したUIマップ・フラグメントを使用してパネルがレンダリングされます。

パネル・セット・タイプのパネルの場合、パネルが一連のタブとしてレンダリングされ、各パネルのタブは、その親パネルとして現在のパネルを参照します。各タブをクリックすると、選択したパネルのタイプに基づいてUIがレンダリングされます。パネル・セットの動作は、単一のパネル内にネストされたプロセス・フローに似ているか、そのようにみなされます。パネル・セットに別のパネル・セットを含めることはできません。

単一のUIマップ

ユーザーは一度に1パネルずつデータを入力しますが、データはプロセス・フロー全体のレベルで収集および取得されます。プロセス・フローの様々なパネルで編集および表示されるすべての要素は、全体的なプロセス・スキーマに含まれ、そのスキーマの適切なXPathの場所で参照される必要があります。プロセス・フローの各タイプによって、指定されたUIマップにその固有のスキーマが定義されます。

UIマップのHTMLには、単にプロセス・フロー・コントローラ(F1-ProcessController)のUIマップ・フラグメントのみが含まれる必要があります。後者は、そのプロセス・フロー・タイプで定義されたメタデータに基づいて、プロセス・フローのユーザー・インタフェースをレンダリングするために設計されています。

パネル・スクリプト

単一の前処理サービス・スクリプトは、パネルがユーザーに表示される前にデータを準備する目的で、パネルに関連付けることができます。ユーザーが最終処理されていないプロセス・フローのこのパネルにナビゲートするたびに、スクリプトがコールされます。

単一の後処理サービス・スクリプトは、そのパネルでユーザーが入力したデータを検証する目的で、パネルに関連付けることができます。ユーザーが最終処理されていないプロセス・フローのパネルを終了するたびに、スクリプトがコールされます。

プロセス・フロー・スクリプト

単一のプロセス開始サービス・スクリプトは、新しく開始されたプロセス・フローがユーザーに表示される前にデータを準備する目的で、プロセス・フローに関連付けることができます。

単一のプロセス終了サービス・スクリプトは、ユーザーがプロセス・フローを完了するために「終了」または「プロセスの取消」ボタンをクリックすると実行されます。プロセス・フローのUIマップ・スキーマで収集されたデータのセット全体が、最終処理のためにこのサービス・スクリプトに提供されます。

注意: これらのスクリプトのスキーマは、プロセス・フローのUIマップ・スキーマと同じである必要があります。これにより、ユーザーが取得したデータ全体にビジネス・ルールがアクセスできるようになります。

要約パネル

デフォルトでは、ユーザーがプロセス・フローを終了したとき、およびすでにクローズしたプロセスを表示したとき、プロセス・フロー・ポータルにはユーザーが作業していた最後のパネルが表示されます。複雑なプロセス・フローの場合、プロセス全体の情報を要約するパネルを提供できます。プロセス・フロー・タイプで指定すると、クローズ済プロセスのデフォルト・ビューのかわりに要約パネルが表示されます。ユーザーは、要約ビューと詳細ビューをいつでも切り替えられます。

要約パネルは、他のパネルのようにUIマップ・フラグメントまたはデータ領域として実装できますが、パネル・スクリプトに関連付けることはできません。

新しいプロセス・フローの起動

各プロセス・フローは、次の単純なステップを持つ指定されたBPAスクリプトによって開始および実行される必要があります。
  • BPA領域の高さをゼロに設定します。

  • 一時変数$processCodeに、プロセス・フロー・タイプのコードを移入します。

  • プロセス・フロー・ナビゲーション(F1-PROCEXEC)の共通BPAスクリプトに管理を転送します。

特定のタイプのプロセス・フローは、指定されたメニュー・オプションまたはそのタイプの作業に適用可能な特定のコンテキストで起動されると想定されます。したがって、この項目は、プロセス・フローのタイプごとに特別に構成する必要があります。その起動オプションに関連するナビゲーション・オプションは、対応するタイプのプロセス・フローに関連するBPAスクリプトを参照する必要があります。

作業の保存

ユーザーは、いつでもプロセス・フローでの作業を保存できます。プロセス・フロー・タイプで有効になっている場合は、ユーザーが別のパネルにナビゲートするか、プロセス・フロー・ポータルから離れたときにも、データが自動的に保存されます。

手動または自動の保存操作では、プロセス・フロー・タイプで定義されたプロセス・マネージャ・スクリプトがコールされて、データベースの指定されたレコードにプロセス・フロー全体のデータが保存されます。

基本製品には、すべてのタイプのプロセス・フローの格納と、対応するプロセス・マネージャ・スクリプトをサポートするように設計された汎用のプロセス・フロー・メンテナンス・オブジェクトが用意されています。特定のタイプのプロセス・フローが他の場所に格納されている場合は、かわりに専用のプロセス・マネージャ・スクリプトを実装して使用する必要があります。

プロセス・フロー・レコードの確認

プロセス・フロー・レコードは、ユーザーが作業を保存したとき、またはプロセス・フロー・タイプで自動保存が有効化されているときに作成されます。ユーザーがプロセス・フローを終了すると、レコードは、プロセス・フロー・タイプの構成に応じて削除されるか、監査目的で保持されます。

特定のタイプのプロセス・フロー・レコードは、指定されたメニュー・オプションまたはそのタイプの作業に適用可能な特定のコンテキストで確認されると想定されます。したがって、この項目は、プロセス・フローのタイプごとに特別に構成する必要があります。その項目に関連するナビゲーション・オプションは、特定のタイプのプロセス・フロー・レコードを問い合せて管理するために設計された問合せポータルを参照する必要があります。

標準の問合せ機能に加えて、問合せポータルでは、ユーザーが最終処理されていないプロセス・フローでの作業を再開でき、完了したレコードで取得されたデータを確認できます。そのような問合せポータルを実装する場合は、主要な機能について、サンプルのプロセス・フロー問合せ(F1PRSTRQ)ポータルを参照してください。特定の製品では、サポートするプロセス・フロー・タイプのそのような問合せポータルがすでに含まれている場合があります。詳細は、使用している製品のドキュメントを参照してください。