Skip to main content
バージョンタグがご希望のコンテンツと一致しているかご確認ください。 または、最新バージョンをご利用ください。

保存可能なデータページ

保存可能なデータページ

保存可能なデータページを使用してシステムオブレコード(SOR)がPega Platform™であるか、外部データベースなど別のシステムであるかに関わらず、データページで指定したデータページやページリストをSORに保存できます。 保存可能なデータページを使用することで、ケースデータでリアルタイムにSORを更新するアプリケーションを設定できます。 保存可能なデータページを管理することにより、ネットワークの停止などのエラーが発生した場合でも、双方のシステムの同期が維持されます。

たとえば、TGBという企業では、外部データベースをSORとして利用して人事(HR)データを持っており、その中には従業員の席の位置などのデータを保管しているデータベーステーブルも含まれています。 従業員のオンボーディング中に、人事担当者は従業員を無人の個室や座席に割り当てます。 人事担当者が座席の割り当てを行うと、アプリケーションではSORの座席位置の記録が割り当てられた従業員の従業員IDで更新され、他のユーザーが別の従業員の入社手続きを行う際に同じ座席位置が選択されてしまわないようにします。

Savable data page and save data page step

データ保存プラン

保存可能なデータページのためのdata save planでは、保存がどのように実行されるかについて詳しく説明しています。 データ保存プランは、保存可能なデータページのdata save optionsセクションで指定します。 保存オプションはいくつでも指定できます。それぞれの保存オプションはwhenルールに関連付けられており、保存オプションを使用するタイミングが決まります。 データ保存には「Database save」、「Activity」、「Connector」、「Robotic automation」、「Robotic desktop automation」の4つのオプションがあります。

補足: 一度に複数のデータテーブルにコミットする場合は、データ保存計画でWhen条件を使用できます。 When条件がtrueと評価されるたびに、データコミットが実行されます。 すべてのWhen条件がfalseと評価された場合、Otherwise条件が実行されます。

次の画像で「+」アイコンをクリックすると、データ保存オプションの詳細が表示されます。

トランザクション処理

保存可能なデータページでは、Pega Platformの組み込みトランザクション処理を使って、データをSORに書き込むことができす。 

トランザクション処理を使わない例について考えてみましょう。 オンラインで商品を購入し、クレジットカードで支払います。 銀行はクレジットカードによる支払いを処理しましたが、ネットワークの問題により、オンラインストアは支払通知を受け取れませんでした。 トランザクション処理では支払いと支払通知は同じトランザクションで実行されます。 トランザクションの一部が失敗した場合、双方のシステムに対する変更は、いずれかのシステムに対する更新が試行される前の状態にロールバックされます。 クレジットカードへの請求は行われず、注文は処理されません。

以下の3つの方法のいずれかを使って、保存可能なデータページの保存プランのトリガーを行うことができます。

  1. フロールールに「Save data page」オートメーションステップを追加する。
  2. フローアクションルールの後処理を追加する。
  3. アクティビティルールで「Save-DataPage」メソッドを呼び出す。

フローまたはフローアクションから保存をトリガーした場合、Pega Platformが自動的にトランザクションを管理します。 アクティビティルールから保存をトリガーした場合、データを他のトランザクションと一緒に保存するか、独立したトランザクションとして保存するか選択できます。

次の問題に答えて、理解度をチェックしましょう。

データインスタンスの更新とデータインスタンスの作成

自動入力プロパティとは、指定されたデータページから自動的にデータを直接取得するページまたはページリストのプロパティのことをいいます。 こられのプロパティを使うと、開発したアプリケーションの管理やメンテナンスが容易になり、アプリケーション側で重要なパラメーターの変更を常にモニタリングしておく必要はなくなります。このモニタリングは必ずしも必要ではなく、パフォーマンスを低下させるおそれもあります。 データページを参照するか、データページからデータをコピーすることで、ページやページリストのプロパティを自動入力できます。

保存可能なデータページを自動入力されるプロパティのソースとして使用できます。 この状況では、Pega Platformのデータページレコードの「Data save options」セクションでプロパティにデータが入力され、「Data source」セクションのデータソースが更新されます。

注:  自動入力されたプロパティを保存可能なデータページに送信する場合、「Copy data from a data page」オプションではなく、「Refer to a data page」オプションでプロパティを参照します。 「Refer to a data page」オプションを使用した場合、保存をトリガーする前に誤ってデータを上書きしてしまうことがあります。

保存可能なデータページのユースケースとしては、主に「Lookup 」を送信元としてレコードを一意に識別する値を受信することが挙げられます。 この値は通常、手動で設定したキー値や、メールアドレスなどの他のユニークな文字列になります。 レスポンスデータトランスフォームでは、エラーをクリアしてページにデフォルトを適用する(通常はクラスの「pyDefault」データトランスフォームを呼び出す)ことで、「failed to find」エラーが処理されます。 これにより、新規のレコードとしてセットアップされます。 ただし、自動生成されたキーの場合など、値が手動で設定されていない場合、保存可能なデータページではデータトランスフォームをデータソースとして使用できます。

データページタスク キー値は存在しますか? Source
データインスタンスの更新 はい  Lookup
データインスタンスの作成 No データトランスフォーム

データ保存プラン

保存可能なデータページを複数のデータソースとデータ保存プランで設定し、データレコードの作成と更新の両方をサポートできます。 たとえば、自動入力プロパティには、保存可能なデータページを使用して取得されたユーザーのアカウント情報が含まれています。 ユーザーはSORにレコードがあるリピーターかもしれず、登録してアカウントのレコードを作成しようとしている新規顧客かもしれません。 レコードがあるかどうかによって、データの保存プランが変わります。

  • 顧客のレコードがSORに存在する場合、データページではルックアップを使用して自動入力されたプロパティの値を送信元とし、レコードのキー値をパラメーターとして渡すことができます。 データページでは、「Database save」オペレーションを使用して更新情報をSORに書き込み、ここでもレコードのキー値をパラメーターとして渡します。
     
  • SORにレコードが存在しない場合、データページはデータトランスフォームを使用して自動入力プロパティの値を取得しますが、パラメーターは渡されません。 このパラメーターは「Database save」オペレーションでも省略されます。

データページで作成と更新の両方のオペレーションがサポートされている場合、キーの値を指定するパラメーターは必須ではなく任意であることを確認する必要があるかもしれません。 データソースの必須パラメーターで自動生成キーが渡されるようにした場合、レコードを作成するためのデータベース保存操作でキーの値が求められ、データページレコードを保存できないというエラーが発生します。

ヒント: ベストプラクティスとしては、「autopopulate by copy」プロパティを使用するつもりがない場合に限り、保存可能なデータページにIndexパラメーターを追加してレコードの作成に使用します。 これにより、ガードレール違反が回避され、そのデータページを同一画面上で複数回使用できます。

次の問題に答えて、理解度をチェックしましょう。


このトピックは、下記のモジュールにも含まれています。

If you are having problems with your training, please review the Pega Academy Support FAQs.

このコンテンツは役に立ちましたか?

このコンテンツは 25% のユーザーにとって役に立ちました。

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice