DBトリガのレコードアクション
機能概要
DBトリガのレコードアクションは、トリガをきっかけに、同期処理としてアクションを実行します。
同期処理のため、アクションの実行処理がエラーになった場合などに、きっかけとなったトリガのレコード操作処理を
ロールバックすることが可能です。
アクションは、自DBのレコードを更新または他DBへレコードの登録/更新/削除を実行することができます。
例えば、以下のようなことが実現できます。
・資料請求フォーム登録時に希望者のみメール会員DBへ同時登録させる。
・問合せ管理フローにて、問合せマスタDB(問合せ情報を登録するDB)と対応履歴DB(問合せへの対応内容を登録するDB)がある場合、
対応履歴DBで更新した対応ステータス(対応中/完了等)を問合せマスタDBへ反映(更新)させる。
・顧客DBからレコードを削除する際、別DBへ削除履歴を記録する。
機能仕様
アクション
・DBのレコードに対して同期的に処理されるアクション(レコードの登録/更新/削除)です。
・アクションは単一レコード操作に対してのみ発動し、レコード一括登録、一括編集、一括削除の操作時には発動しません。
・ステータスが「有効」になっているアクションは上から順に全て実行されます。
アクションの順番はあとから並び替えることができます。
・1DB当たりの作成可能なアクション数は各種上限値をご参照ください。
アクション先 |
自DBもしくは他DBを選択できます。 |
---|---|
アクション先への操作 |
アクション先が自DBの場合は更新、アクション先が他DBの場合は登録、更新、削除を選択できます。 |
1.識別キー/認証キー
アクション先が他DBの場合かつアクション先への操作で更新または削除を選択した場合に設定します。
識別キー |
アクション対象のレコードを特定するためのキー |
|
---|---|---|
認証キー |
更新または削除を行うレコードを識別キーと合わせて2重でチェックするためのキー。 認証キーを設定している場合、識別キーと認証キー両方一致したレコードに対して処理を実行します。 |
|
指定可能な フィールドタイプ |
自DBフィールド |
テキスト、メールアドレス、参照フィールド、レコードID ※参照フィールドは、参照先DBが対象DBの場合のみ指定できます。 |
対象DBフィールド |
テキスト、メールアドレス、レコードID ※入力必須かつユニークのみ。 ※レコードIDを選択できるのは自DBフィールドで参照フィールドを選択し、選択された参照フィールドの参照先DBが対象DBの場合のみです。 |
|
更新対象が存在しない場合
|
エラー終了 |
実行されたアクションを全てロールバックしエラー終了にします。 |
アクション先DBに更新せずに、正常終了/アクション先DBに削除せずに、正常終了 |
正常に実行された前のアクション結果を保持して、以降のアクションをスキップしてアクションを終了します。 |
|
アクション先DBに更新せずに、次のアクションへ/アクション先DBに削除せずに、次のアクションへ |
正常に実行された前のアクション結果を保持して、現在のアクションをスキップし次のアクションに移動します。 |
2.DB、フィールド削除時の挙動
・アクションの発動条件に指定したフィールドが削除された場合、アクション実行時にエラーとなります。
・認証キー、識別キー、処理マッピングに使用しているフィールドは削除することができません。
アクション処理
・各アクションにおける具体的な処理内容を設定します。
・1アクション当たり最大10処理まで設定できます。
・1レコードアクションにつき、順序と条件に応じて1つの処理が実行されます。
設定された処理は一覧の上から順に実行され、発動条件に合致した場合、それより下の処理は実行されません。
1.発動条件
各処理の発動条件を設定します。
発動条件 | 経路条件 |
アクション発動のきっかけとなるレコード操作について、操作経路をアクション発動の条件に設定できます。 すべての経路または一部の経路を選択できます。 操作画面、API、フォームを使用してアクション元DBにレコードを登録/更新/削除する場合に発動されます。 ※レコードアクションによるレコード登録/更新/削除では発動しません。 ※レコード一括登録/一括編集/一括削除時には発動しません。 |
---|---|---|
簡易条件 |
アクション元DBのフィールドの値を条件として設定できます。 |
|
関数条件 |
アクション元DBのフィールドの値を元に、演算子や関数を使用して、条件を設定できます。 関数の記法については、こちらをご覧ください。 |
2.処理タイプ
処理のタイプを設定します。
「アクション先への操作」で選択した操作または「エラー」から選択します。
例えば、「アクション先への操作:登録」の場合、処理タイプ「登録」または「エラー」から選択します。
処理タイプ | 登録 |
アクション先DBにレコードを登録します。 |
---|---|---|
更新 |
アクション先DBのレコードを更新します。 |
|
削除 |
アクション先DBのレコードを削除します。 |
|
エラー |
アクション元DB、アクション先DBの操作をエラー終了させます。 |
3.処理マッピング
アクション先フィールドへ登録または更新する値を設定します。
アクション先DBフィールド |
・各フィールドは1処理につき1マッピングまで設定可能です。 ・使用できるフィールドタイプ:テキスト、テキストエリア、メールアドレス、電話番号、整数、数値、日付、月日、時刻、日時、セレクト、マルチセレクト、ユーザフィールド、参照フィールド ・2フィールド間ユニーク制約が設定されているフィールドには「*」が表示されます。 ・登録トリガのレコードアクションにおいて、アクション先が自DB更新の場合、フィールドのデフォルト値の設定状態を確認できる項目が表示されます。 |
---|---|
格納値 |
・アクション元DBのフィールド値またはフィールド値を元に演算子や関数を使用して自動生成した値をマッピングすることが可能です。
フィールド値をマッピングする場合 ・アクション先DBフィールドと同一のフィールドタイプのみ設定可能です。 ・1アクションの1処理内に設定できるアクション元DBの参照フィールドは3件までです。※1
関数設定をマッピングする場合 ・関数の記法についてはこちらをご覧ください。 |
※1 処理マッピングに設定可能なアクション元DBの参照フィールドのカウント方法について
・格納値に設定したフィールドに直接紐づく参照フィールドのみをカウントします。
・同一の参照フィールドは1件としてカウントします。
下記に「セミナー申込DB」「セミナー申込履歴DB」「セミナーマスタDB」「講師DB」「会場DB」が存在し、
「セミナー申込DB」は「セミナーマスタDB」を、「セミナーマスタDB」は「講師DB」と「会場DB」を参照し
「セミナー申込DB」をアクション元、「セミナー申込履歴DB」をアクション先として新規登録する場合の例を記載します。
・各DBの関係図
・処理マッピング設定画面
・カウント例
格納値 | 使用する参照フィールド数 |
---|---|
「セミナー申込DBの申込者 氏名」または「セミナー申込DBの申込者 メールアドレス」を設定 | 0件 (参照フィールドは使用しない) |
「セミナーマスタDBのセミナー名」と「セミナーマスタDBのセミナー内容」のどちらか一方、もしくは両方を設定 | 1件 (参照フィールド「セミナーマスタID」を使用) |
「講師DBの講師名」と「講師DBの講師プロフィール」のどちらか一方、もしくは両方を設定 |
1件 (参照フィールド「講師ID」を使用) |
「セミナーマスタDBのセミナー名」と「講師DBの講師名」を設定 | 2件 (参照フィールド「セミナーマスタID」、「講師ID」を使用) |
「セミナーマスタDBのセミナー名」と「講師DBの講師名」と「会場DBの会場名」を設定 | 3件 (参照フィールド「セミナーマスタID」、「講師ID」、「会場ID」を使用) |
参照フィールド数が上限に達しているままアクションを保存しようとした場合、エラーが表示されます。
エラーメッセージ
「処理マッピングに設定可能なアクション元DBの参照フィールド数の上限に達しているため、設定ができません。
1つのアクション処理内に設定できるアクション元DBの参照フィールドは3件までです。」
4.エラー処理
・アクション先DBへレコードを登録、更新するにあたり、アクション先DBのフィールドへのフォーマットチェック、入力必須チェック、重複不可チェックが行われます。
各チェックによって処理が失敗した場合のエラー処理の内容を設定します。
フォーマットチェック |
エラー終了 |
実行されたアクションおよびアクション元DBへのレコード操作を全てロールバックしエラー終了にします。 |
---|---|---|
アクション先DBに登録/更新せずに、正常終了 |
以下のすべてのアクションをスキップし、トリガを終了します。 |
|
アクション先DBに登録/更新せずに、次のアクションへ |
次のアクションにスキップします。 次のアクションがない場合は正常終了します。 |
|
NULLに変換し、次のチェックへ |
エラーの値をnullに設定します。 アクション先DBフィールドが入力必須の場合、「入力必須チェック」の設定内容に従って処理を実行します。 |
|
入力必須チェック |
エラー終了 |
実行されたアクションおよびアクション元DBへのレコード操作を全てロールバックしエラー終了にします。 |
アクション先DBに登録/更新せずに、正常終了 |
以降のすべてのアクションをスキップし、トリガを終了します。 |
|
アクション先DBに登録/更新せずに、次のアクションへ |
次のアクションにスキップします。 次のアクションがない場合は正常終了します。 |
|
NULLを維持し、次のチェックへ |
処理タイプがエラーの場合、エラーの値をnullに設定します。 アクション先DBフィールドにデフォルト値が設定されている場合、デフォルト値が使用されます。 フィールドにデフォルト値の設定がない場合、エラーが発生し、すべての処理がロールバックされます。 |
|
重複不可チェック |
エラー終了 |
実行されたアクションおよびアクション元DBへのレコード操作を全てロールバックしエラー終了にします。 |
アクション先DBに登録/更新せずに、正常終了 |
以下のすべてのアクションをスキップし、トリガを終了します。 |
|
アクション先DBに登録/更新せずに、次のアクションへ |
次のアクションにスキップします。 次のアクションがない場合は正常終了します。 |
レコードアクションの操作方法
1.レコードアクションの一覧
アプリ管理画面からDBトリガのレコードアクションを作成します。
アプリ管理の左メニューから「DB」をクリックし、トリガを設定するDBを選択します。
「トリガ」タブをクリックし、DBトリガの種類を選択し、レコードアクションの「+」ボタンをクリックします。
2.アクションの作成モーダル
アクションの追加モーダルが表示されますので、実行したいアクション内容を必要事項を入力し、「次へ」をクリックします。
アクションを使用する場合は、ステータスを「有効」に設定します。
3.アクション処理の作成モーダル
1.新規作成
アクション処理の追加モーダルが表示されますので、「+」ボタンをクリックします。
実行したいアクションの処理内容について、必要事項を入力し、「作成」をクリックします。
2.処理マッピングの設定
アクション先DBに格納する値を、アクション元DBのフィールドから選択します。
格納値に関数を使って自動生成した値を格納する場合、切り替えボタンをクリックし、関数設定アイコンをクリックします。
3.処理マッピングフィールドの追加/削除
処理マッピングに使用するフィールドを追加する場合、処理マッピングの「+」ボタンをクリックし、追加したいフィールドを選択します。
フィールドを一括で追加/削除する場合、「フィールド一括追加」を選択します。
処理マッピングに使用するフィールドを選択し、「次へ」をクリックします。
3.保存
各アクション処理を作成したら、「保存」をクリックします。