ルックアップトリガ
最終更新日:2024年02月29日
概要
特定のフィールドに対して、あらかじめ設定した条件により他のDBの値を格納する「Vlookup関数」ができるトリガです。
<例えばこんなとき!>
「経費精算」を申請するフォームにて、「社員番号」を入力するだけで社員DBを参照して名前と部署を同時に新規登録する。
1. ルックアップトリガ設定
【例】「経費精算」を申請するフォームにて、「社員番号」を入力するだけで社員DBを参照して名前と部署を同時に新規登録するルックアップトリガ
トリガはデータベースに対して設定を行います。
「DB」>「トリガ」に進み、DB一覧から設定するデータベースの「トリガ設定」に進みます。
参照DBは社員DBを選択肢、トリガ名を記入し「保存して詳細設定へ」に進みます。
社員番号による抽出条件を以下の手順で設定します
【操作手順】
ア. 抽出条件で、マッチングさせる「社員ID」と「社員番号」をそれぞれ選択する
イ. 「条件を追加」をクリックし、マッチングさせたフィールドの組み合わせを追加する
ウ. 登録フィールドで、トリガDBのフィールドに合わせて「名前」「部署」をそれぞれ選択する
エ. 「保存」をクリックして、設定完了
<例えばこんなとき!>
演算トリガとルックアップトリガを組み合わせれば様々な応用にフィットします。
例えば商品Aの購入フォームから数量を入力すれば、商品マスタからルックアップトリガで単価を参照した上で、
購入の合計金額を演算トリガにて設定できます。
2. ルックアップトリガの仕様
(1)詳細設定
・抽出条件
同一のフィールドタイプのみ対応付けができます。
抽出条件は、必ず完全一致となります。
・登録フィールド
・ 同一のフィールドタイプのみ対応付けができます。
・値がそのまま格納されます。
(2)DBタイプ別対応表
DBタイプ | トリガDBとして対応 | 参照DBとして対応 |
---|---|---|
通常DB [normal] | ○ | ○ |
履歴DB [history] | ○ | ○ |
仮想DB(フィルタ型) [view_1] | × | ○ |
仮想DB(連携型) [view_n] | × | ○ |
仮想DB(集合型) [union] | × | × |
ステップアンケートDB [inquire] | × | × |
ガジェット [gadget] | × | × |
ストップDB [stop] | × | × |
画像型 [attachment] | × | × |
トピックDB [forum.topic] | × | × |
コメントDB [forum.comment] | × | × |
トランザクションDB [transaction] | ○ | ○ |
(3)フィールド別対応表
フィールド名 | 対応 | フィールド名 | 対応 | |
---|---|---|---|---|
メールアドレス | ○ | 登録日時 | ○ | |
メールアドレス(大・小文字を無視) | ○ | 日付(○年○月○日 ○時○分○秒) | ○ | |
性別 | ○ | 日付(○年○月○日 ○時○分) | ○ | |
郵便番号 | ○ | 日付(○年○月○日 ○時) | ○ | |
都道府県 | ○ | 日付(○年○月○日) | ○ | |
電話番号 | ○ | 日付(○年○月) | ○ | |
通貨 | ○ | 月日(○月○日) | ○ | |
セレクト | ○ | 時刻(○時○分) | ○ | |
マルチセレクト | ○ | 曜日(○曜日) | ○ | |
マルチセレクト(128項目) | ○ | 時間(○年○カ月) | ○ | |
テキストフィールド(32 bytes) | ○ | 時間(○日) | ○ | |
テキストフィールド(32 bytes)かな | ○ | 時間(○週間) | ○ | |
テキストフィールド(32 bytes)カナ | ○ | クリックカウント, HTMLメール開封チェック | ○ | |
テキストフィールド(32 bytes)ローマ字 | ○ | 不正アドレスフラグ | ○ | |
テキストフィールド(64 bytes) | ○ | モバイルドメインフラグ | ○ | |
テキストフィールド(64 bytes)かな | ○ | 重複フラグ | ○ | |
テキストフィールド(64 bytes)カナ | ○ | オプトアウト | ○ | |
テキストフィールド(64 bytes)ローマ字 | ○ | 配信エラート | ○ | |
テキストフィールド(128 bytes) | ○ | エラーカウント | ○ | |
テキストエリア(256 bytes) | ○ | パスワード | × | |
テキストエリア(512 bytes) | ○ | 簡易パスワード | ○ | |
テキストエリア(1024 bytes) | ○ | メッセージダイジェスト(MD5) | ○ | |
テキストエリア(2048 bytes) | ○ | メッセージダイジェスト(SHA1) | ○ | |
テキストエリア(4096 bytes) | ○ | メッセージダイジェスト(SHA256) | ○ | |
テキストエリア(8192 bytes) | ○ | ルックアップキー | × | |
数字・記号・アルファベット(6 bytes) | ○ | 緯度経度 | ○ | |
数字・記号・アルファベット(32 bytes) | ○ | 画像(100KiB) | × | |
整数 | ○ | ファイル | ○ | |
実数 | ○ | |||
ブーリアン | ○ |
(4)エラーメッセージ
エラー発生場所/ エラー内容 |
抽出条件のフィールドの 入力値がNULLの場合 |
複数レコード抽出 された場 |
1レコードも抽出 されなかった場合 |
---|---|---|---|
DBオペレーション | 【ルックアップトリガ】 抽出条件のフィールドの値にNULLが使用されています |
【ルックアップトリガ】 参照するレコードが複数抽出されました |
【ルックアップトリガ】 参照するレコードがありませんでした |
データ登録 | 【ルックアップトリガ】 抽出条件のフィールドの値にNULLが使用されています |
【ルックアップトリガ】 参照するレコードが複数抽出されました |
【ルックアップトリガ】 参照するレコードがありませんでした |
登録フォーム (新規作成) |
登録できませんでした (エラーコード:2200) |
登録できませんでした (エラーコード:2201) |
登録できませんでした (エラーコード:2202) |
登録フォーム (更新) |
更新できませんでした (エラーコード:2200) |
更新できませんでした (エラーコード:2201) |
更新できませんでした (エラーコード:2202) |
会員情報ページ (マイエリア) |
更新できませんでした (エラーコード:3355) |
更新できませんでした (エラーコード:3356) |
更新できませんでした (エラーコード:3357) |
一覧表編集 | 更新できませんでした | 更新できませんでした | 更新できませんでした |
【関連リンク】
エラーコード/エラー発生時の対処法(フォーム)
(5)その他
・トリガの発動時の処理は、「BEFORE INSERT/UPDATE」です。また、TRDBの処理は、「AFTER INSERT/UPDATE」です。
従って、トリガで処理されたものがそのままトランザクションDBにインサートされます。
・ルックアップトリガ機能は常時参照しません。トリガDBに対して登録や更新が発生した際に実行されるトリガです。
参照DBのレコードの値を変更した場合はトリガ発動条件ではないため、トリガDBの値は変更されません。
3. 注意事項
(1)抽出ルール設定変更時の注意事項
ルックアップトリガの発動条件で使用している抽出ルールについて、抽出ルールの設定内容を変更した場合、変更内容はルックアップトリガには自動で適用されません。
抽出ルールの設定変更を行った際は、トリガ設定画面にて「保存」ボタンを押下し、変更内容をルックアップトリガに反映ください。
(2)連携による抽出ルールを使用する際の制限事項
DB連携で連携したデータを発動条件とするルックアップトリガを設定した場合、「ルックアップトリガ発動」→「DB連携」という順番で処理が行われ、データが連携される前にルックアップトリガが発動されてしまうため、ルックアップトリガが発動条件にマッチせず、発動しません。
この事象に関する詳細内容は以下のア~オの通りです。
ア. DB連携(間接連携)を設定し、詳細設定のマスタDBにて
「データ登録時に、マスタキーに入力された値を元に参照元DBと自動連携:自動連携する」を選択する。
イ. マスタDBに対して、抽出ルールで「連携DBによる抽出」を作成する。
ウ. 参照元DBに参照するデータを登録する。
エ. マスタDBに対して、ルックアップトリガ(新規登録)を設定する。
ルックアップトリガの発動条件には「イ」で作成した抽出ルールを使用する。
オ. マスタDBに「ウ」で登録したデータと連携するデータを登録する。