複数 IDO フィルタの例

各販売担当者は CloudSuite Business ログインを持ちます。販売担当者は彼ら自身の販売機会を見ることができますが、現在、販売担当者が割り当てられていない機会も表示して、彼らがその機会を自分に割り当てることができるようにします。

新しいマッピングテーブルを作成する代わりに、slsman_mst テーブルの既存マッピングを利用できます。このテーブルには、username カラムと slsman カラムの両方があります。

SLOpportunities のフィルタには、2 つの句が必要です。

第 1 句

フィールド 設定 注記
IDO SLOpportunities フィルタは SLOpportunities IDO にのみ適用されます。(このフィルタ句の後に別のフィルタを OR で接続します)
ユーザ   空白のままにして、フィルタを全てのユーザに適用します。フィルタの適用先のユーザを決定するには、テーブル参加を使用します。
グループ   空白のままにして、フィルタを全てのグループのユーザに適用します。
プロパティ slsman 機会フォームの [販売担当者] フィールドが SLOpportunities.slsman プロパティにバインドされます。
(演算子) =  
この値 現在のユーザの参加先 この設定を使用して、テーブル参加を指定します。
このテーブル slsman_mst これは、username(ログイン ID)と slsman(販売担当者)のマッピングを含む既存の slsma_mstn テーブルです。
テーブルのこのカラムのユーザ名 ユーザ名 テーブルを指定すると、このドロップダウンリストにデータが入力されます。
このカラムの値 slsman これは、SLOpportunities IDO の slsman プロパティと比較される値です。

[この句の追加] をクリックすると、以下のような擬似 SQL 照会が表示されます。


Slsman = ANY (SELECT [slsman] FROM [slsman_mst] WHERE [slsman_mst].[username] = dbo.UserNameSp()))
	

第 2 句

フィールド 設定 注記
IDO SLOpportunities フィルタは SLOpportunities IDO にのみ適用されます。(この句を前のフィルタ句に「OR」で接続します。)
ユーザ   空白のままにして、フィルタを全てのユーザに適用します。
グループ   空白のままにして、フィルタを全てのグループのユーザに適用します。
プロパティ slsman [機会] フォームの [販売担当者] フィールドが SLOpportunities.slsman プロパティにバインドされます。
(演算子) =  
この値 リテラル プロパティを隣接フィールドのリテラル値と比較します。
(リテラル)   このフィールドは空白のままにするか、NULL 値を示す null を指定します。null は、販売担当者が定義されていないどの機会とでも一致します。
前の値とともに、AND 条件の代わりに OR 条件を使用 (選択済) OR 条件を指定するには、このボックスを選択

[この句の追加]をクリックすると、次のような擬似 SQL 照会が表示されます。


Slsman = ANY (SELECT [slsman] FROM [slsman_mst] WHERE [slsman_mst].[username] = dbo.UserNameSp())) OR (Slsman = null)
	

フィルタを有効化して保存したら、販売担当者が CloudSuite Business にログインし、機会 IDO に(フォームからまたは IDO への Web ベースの呼び出しにより)アクセスしようとすると、フィルタにより slsman_mst テーブルからログイン ID が検索され、その顧客番号を持つレコードしか表示されないように制限されます。ただし、OR 条件と上記の第 2 句により、販売担当者は、販売担当者が割り当てられていない機会のレコードも全て見ることができます。

関連トピック