ルールでのカスタム・オブジェクト・データの使用方法
ルールを使用して、Oracle Fusion Customer Relationship Managementアプリケーション・コンポーザで作成されたカスタム・オブジェクトに格納されているデータにアクセスまたは更新できます。
使用例
カスタム・オブジェクトの次のユース・ケースの例を考えてみます。
会社で、エクスポート管理品目にカタログを使用しているとします。 品目属性と品目以外の属性(取引契約など)の両方を考慮する複雑なルールに基づいて、在庫品目をカタログに割り当てる必要があります。 品目属性は、製品情報管理作業領域で標準運用属性および拡張可能フレックスフィールドとして保守します。 アプリケーション・コンポーザを使用して設計されたカスタム・ビジネス・オブジェクトで取引契約属性を保守します。
品目ルールは、品目属性と非品目属性の両方を参照して、品目をエクスポート管理品目カタログに割り当てるかどうかを決定できます。
アプリケーション・コンポーザで、ターゲット市場別の販売制限のマトリックスを含む販売制限というカスタム・オブジェクトを定義しました。 そのデータを参照して、ターゲット市場に基づいて品目を販売できるかどうかを判断します。 カスタム・オブジェクトの販売制限の例に、次の表のデータが含まれているとします。
ターゲット市場 |
制限 |
---|---|
EU |
No |
北米 |
Yes |
APAC |
Yes |
中東 |
No |
品目ルールでは、複雑なビジネス・ルールを使用して、割当または検証の目的で属性を決定できます。 ターゲット・マーケットの制限の導出や特定の色シェードのカラー・ファミリ名の導出など、ビジネス・ルールのデータによる複雑さの一部をカスタム・ビジネス・オブジェクトにシフトし、ビジネス・ルールでそれらの値を参照できます。 ビジネス・ルールを基礎となるデータから切り離すこの方法では、カラー・シェードの追加や削除などのデータ・セットの変更からビジネス・ルールを保護し、ビジネス・ルールのメンテナンスを簡素化します。
品目ルールでのカスタム・オブジェクトのもう1つの用途は、webサービスが組み込まれていないレガシー・システムで使用可能なデータを使用することです。 このようなシステムからの関連データは、カスタム・オブジェクトで抽出および保守でき、品目ルールで参照できます。 この演習では、ビジネス・ルールで使用されるデータの範囲を大幅に強化します。
カスタム・オブジェクト・データへのアクセス
カスタム・オブジェクトで保持されている属性にアクセスするには、品目ルール関数getCustomObjectValue()
を使用します。
この関数の構文は次のとおりです:
getCustomObjectValue(
custObjName,
custObjReturnAttrName,
custObjQueryAttrName1, Value1,...
custObjQueryAttrNameN, ValueN )
前述のユース・ケースを参照すると、次の例では、属性式[ITEM].[Market Attributes].[Target Market]
(たとえば北米)から値が取得されたターゲット市場列の行の販売制限カスタム・オブジェクトを問い合せてから、行の制限列の値(たとえばはい)をフェッチして返します。
getCustomObjectValue(
"Selling Restrictions",
"Restriction",
"Target Market", [ITEM].[Market Attributes].[Target Market])
カスタム・オブジェクト・データの更新
カスタム・オブジェクトで保持されている属性を更新するには、品目ルール関数updateCustomObjectValues()
を使用します。
この関数の構文は次のとおりです:
Boolean updateCustomObjectValues(
custom_object_name,
field_query_map,
field_update_map)
前述のユース・ケースを参照し、次の例では、属性式[ITEM].[Market Attributes].[Target Market]
(北米など)から値が取得されたターゲット市場列の行の販売制限カスタム・オブジェクトを問い合せてから、行の制限値をNo
に更新し、行が更新された場合はTRUEを返します。
updateCustomObjectValues(
"Selling Restrictions",
ToMap("Target Market", [ITEM].[Market Attributes].[Target Market]),
ToMap("Restriction", "No") )