ブラウザ・バージョンのスクリプトヘッダーをスキップ

Oracle® Fusion Applications拡張性ガイド
11g リリース1 (11.1.3)
B69967-01
目次ページへ
目次
前のページへ
次へ
前のページへ
次へ

1 Oracle Fusion CRM Applicationsの拡張性

この章の内容は次のとおりです。

CRMアプリケーションの拡張: 準備

CRMアプリケーションの拡張: 操作

Oracle Fusion CRM アプリケーション・コンポーザを使用したOracle Fusion CRMアプリケーションのカスタマイズ: 説明

オブジェクトの定義: 説明

オブジェクト関連: 説明

フィールドの定義: 説明

フィールド・タイプ

ページの定義: 説明

作業領域の作成: 説明

サブタブ: 説明

ツリー・ノード: 説明

ボタンおよびリンク: 説明

CRMオブジェクトに関する保存済検索: 説明

カスタム・オブジェクトの保護: 説明

Groovyスクリプト: 説明

Groovyスクリプト: 例

Groovyスクリプトでサポートされているクラスとメソッド: 説明

カスタム・オブジェクトのインポートとエクスポート: 説明

Oracle Fusion CRMアプリケーションの拡張に関するFAQ

CRMアプリケーションの拡張: 準備

Oracle Fusion CRM アプリケーション・コンポーザは、Oracle Fusion CRMのアプリケーションのカスタマイズや拡張ができる唯一のツールです。Oracle Fusion CRMのどのアプリケーションを拡張・カスタマイズするときも、事前にOracle Fusion Applications拡張性ガイドを読み、どのような拡張ができ、どのようなツールが使用できるかを確認してください。

Oracle Fusion Applications拡張性ガイドでは、Oracle Fusion CRMに限らず、あらゆるOracle Fusionのアプリケーションについて順を追ってカスタマイズの方法を紹介しています。そのガイドをご覧になったら、次にOracle Fusion CRM拡張ガイドにも目を通し、アプリケーション・コンポーザを使用したOracle Fusion CRMのアプリケーションの拡張とカスタマイズの方法をよく理解してください。

はじめに: Oracle Fusion Applications拡張性ガイドを読む

CRMアプリケーションの拡張: 操作

Oracle Fusion CRM アプリケーション・コンポーザは、アプリケーション開発者だけでなくビジネス・アナリストや管理者にもOracle Fusion CRMのアプリケーションのカスタマイズや拡張を可能にするブラウザ・ベースの設定ツールです。CRMアプリケーション以外ではアプリケーション開発者しかできないようなデータ・モデルの変更を行います。たとえば、新しいオブジェクトと関連フィールドを作成し、そのオブジェクトとフィールドをユーザーに表示する「企業ページ」を作成することができます。アプリケーション・コンポーザは、design time at runtime tool、つまり、CRMアプリケーションから直接アプリケーション・コンポーザにナビゲートし、変更を行い、アプリケーションにサイン・バックしなくてもリアルタイムでほとんどの変更がすぐに反映されていることを確認することができます。カスタム・フィールドの作成などのデータ・モデルの変更を行ったときは、再認証しないとそれらの変更を見ることはできません。

パターン・ベースのアプリケーション設計

アプリケーション・コンポーザは、標準的な設計パターンやウィザードを利用してビジネス・アナリストがカスタマイズの複雑さを感じなくてすむようにします。事業が求める(オブジェクト・モデルの拡張、レイアウトの変更などの)アプリケーションの変更に集中することができ、アプリケーション・コンポーザがunderlyingオブジェクトのアーティファクトを作成します。

ランタイム時に、「ナビゲータ・メニュー」を使用し、ツールカテゴリで「アプリケーション・コンポーザ」を選択し、任意のCRMアプリケーションからアプリケーション・コンポーザにアクセスします。アプリケーション・コンポーザで最初に表示されるのは、すべてのカスタマイズ・オプションへのエントリ・ポイントである主要「概要」ページです。

Oracle Fusion アプリケーション・コンポーザの
主要概要ページ

アプリケーション・コンポーザの「概要」ページからは、次のようなアプリケーションの変更を行うことができます。

はじめに: アプリケーション・コンポーザの概要ページ

アプリケーション・コンポーザにアクセスするには、CRM管理者の職務ロールでログインします。 その上で、「ナビゲータ・メニュー」のツールカテゴリで「アプリケーション・コンポーザ」を選択し、主要「概要」ページにナビゲートします。

主要「概要」ページから「アプリケーション」選択リストでカスタマイズしたいアプリケーションを選択します。 その後は、

CRMの別のアプリケーションをカスタマイズするときは、「アプリケーション」選択リストで目的のアプリケーションに変更します。

Oracle Fusionアプリケーションの拡張性

アプリケーション・コンポーザは、Oracle Fusion CRMのアプリケーションのカスタマイズと拡張ができる唯一のツールです。 Oracle Fusionアプリケーション全体で実行できる拡張オプションの詳細については、Oracle Fusion Applications拡張性ガイドをご覧ください。

Oracle Fusion CRM アプリケーション・コンポーザを使用したOracle Fusion CRMアプリケーションのカスタマイズ: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、一連のタスク・フローでOracle Fusion CRMアプリケーションをユーザーのニーズに従ってカスタマイズ・拡張することができます。たとえば、既存の標準オブジェクトの新規フィールドの作成、その新規フィールドのオブジェクト作業領域への表示を行うことができます。また、新しいカスタム・オブジェクトと関連フィールドを作成した上で、そのオブジェクトとフィールドをユーザーに表示する作業領域を作成することもできます。利用できるタスク・フローは、カスタマイズしようとしているCRMアプリケーションによって異なります。この項では、各CRMアプリケーションで使用可能なCRM アプリケーション・コンポーザのタスク・フローを一覧表で紹介します。

この項では、次のCRMアプリケーションの拡張性を紹介します。

個々のアプリケーションのアプリケーション・コンポーザでの操作方法は、個々の製品の実装ガイドにも紹介しています。

Oracle Fusion Common CRM

Oracle Fusion Common CRMアプリケーションには、カスタム・オブジェクトを作成することはできません。

Oracle Fusion Common CRMの標準オブジェクトについては、アプリケーション・コンポーザで次のことができます。


カスタマイズのタスク・フロー

取引先コミュニティ組織担当者

取引先コミュニティ・リソース・プロファイル

取引先コミュニティ組織プロファイル

取引先コミュニティ所在地

アクティビティ・タスク

顧客対応

注意

拡張可能な既存ページのカスタム・フィールドの作成・表示

標準フィールドの表示ラベルとヘルプ・テキストの編集

カスタム通貨フィールドの作成

不可

不可

不可

不可

不可

不可

不可

カスタム・フィールドの索引付け

不可

選択したページへのカスタム・ボタン(GroovyスクリプトまたはURL)の追加

不可

不可

不可

不可

選択したページへのリンク(URL)の追加

不可

不可

不可

不可

オブジェクトの詳細ページのカスタム子オブジェクトの作成・表示

不可

不可

不可

不可

対象外

対象外

対象外

フィールド・レベル、オブジェクト・レベルのカスタム検証ロジック(Groovyスクリプト)の作成

不可

各種オブジェクト・トリガー・ポイントでのカスタム・ロジック(Groovyスクリプト)の作成

不可

サイト・レベルでのカスタム保存済検索の作成

不可

モバイル・ページのサポート

不可

不可

不可

不可

不可

不可

カスタム関連の作成

不可

不可

不可

オブジェクト・ワークフローの管理

不可

不可

不可

不可

不可

不可

Webサービス

対象外

ファイルベース・インポートによるデータのインポート

一括エクスポートによるデータのエクスポート

カスタム・サブジェクト領域の作成

不可

不可

不可

不可

不可

不可

Oracle Fusion Customer Center

Oracle Fusion Customer Centerアプリケーションには、カスタム・オブジェクトを作成することができます。

Oracle Fusion Customer Centerの標準オブジェクトについては、アプリケーション・コンポーザで次のことができます。


カスタマイズのタスク・フロー

販売アカウント・プロファイル

拡張可能な既存ページのカスタム・フィールドの作成・表示

標準フィールドの表示ラベルとヘルプ・テキストの編集

カスタム通貨フィールドの作成

不可

カスタム・フィールドの索引付け

選択したページへのカスタム・ボタン(GroovyスクリプトまたはURL)の追加

不可

選択したページへのリンク(URL)の追加

不可

オブジェクトの詳細ページのカスタム子オブジェクトの作成・表示

フィールド・レベル、オブジェクト・レベルのカスタム検証ロジック(Groovyスクリプト)の作成

各種オブジェクト・トリガー・ポイントでのカスタム・ロジック(Groovyスクリプト)の作成

サイト・レベルでのカスタム保存済検索の作成

不可

モバイル・ページのサポート

不可

カスタム関連の作成

オブジェクト・ワークフローの管理

Webサービス

ファイルベース・インポートによるデータのインポート

一括エクスポートによるデータのエクスポート

カスタム・サブジェクト領域の作成

Oracle Fusion Marketing

Oracle Fusion Marketingアプリケーションには、カスタム・オブジェクトを作成することができます。

Oracle Fusion Marketingの標準オブジェクトについては、アプリケーション・コンポーザで次のことができます。


カスタマイズのタスク・フロー

営業引合

マーケティング・キャンペーン

マーケティング予算

マーケティング応答

マーケティング・リスト

マーケティング取扱い

マーケティング・イベント・アクティビティ

マーケティング広告活動

マーケティング請求

マーケティング請求決済(子)

マーケティング予算エントリ

マーケティング予算資金要求

拡張可能な既存ページのカスタム・フィールドの作成・表示

標準フィールドの表示ラベルとヘルプ・テキストの編集

カスタム通貨フィールドの作成

不可

不可

不可

不可

不可

不可

不可

不可

不可

不可

不可

不可

カスタム・フィールドの索引付け

選択したページへのカスタム・ボタン(GroovyスクリプトまたはURL)の追加

不可

不可

不可

不可

不可

不可

選択したページへのリンク(URL)の追加

オブジェクトの詳細ページのカスタム子オブジェクトの作成・表示

不可

不可

不可

不可

不可

対象外

不可

フィールド・レベル、オブジェクト・レベルのカスタム検証ロジック(Groovyスクリプト)の作成

各種オブジェクト・トリガー・ポイントでのカスタム・ロジック(Groovyスクリプト)の作成

サイト・レベルでのカスタム保存済検索の作成

不可

不可

不可

モバイル・ページのサポート

不可

不可

不可

不可

不可

不可

不可

不可

不可

不可

不可

不可

カスタム関連の作成

不可

オブジェクト・ワークフローの管理

不可

不可

不可

不可

不可

不可

Webサービス

ファイルベース・インポートによるデータのインポート

不可

不可

不可

不可

不可

一括エクスポートによるデータのエクスポート

不可

不可

不可

不可

不可

不可

不可

不可

不可

不可

カスタム・サブジェクト領域の作成

Oracle Fusion Sales

Oracle Fusion Salesアプリケーションには、カスタム・オブジェクトを作成することができます。

Oracle Fusion Salesの標準オブジェクトについては、アプリケーション・コンポーザで次のことができます。


カスタマイズのタスク・フロー

商談

販売競合相手

パートナ

商談リソース(子)

商談収益(子)

拡張可能な既存ページのカスタム・フィールドの作成・表示

標準フィールドの表示ラベルとヘルプ・テキストの編集

カスタム通貨フィールドの作成

不可

不可

不可

カスタム・フィールドの索引付け

選択したページへのカスタム・ボタン(GroovyスクリプトまたはURL)の追加

選択したページへのリンク(URL)の追加

オブジェクトの詳細ページのカスタム子オブジェクトの作成・表示

対象外

対象外

フィールド・レベル、オブジェクト・レベルのカスタム検証ロジック(Groovyスクリプト)の作成

各種オブジェクト・トリガー・ポイントでのカスタム・ロジック(Groovyスクリプト)の作成

サイト・レベルでのカスタム保存済検索の作成

不可

不可

モバイル・ページのサポート

カスタム関連の作成

不可

不可

オブジェクト・ワークフローの管理

不可

不可

Webサービス

対象外

対象外

ファイルベース・インポートによるデータのインポート

一括エクスポートによるデータのエクスポート

カスタム・サブジェクト領域の作成

Oracle Fusion Sales Catalog

Oracle Fusion Sales Catalogアプリケーションには、カスタム・オブジェクトを作成することはできません。

Oracle Fusion Sales Catalogの標準オブジェクトについては、アプリケーション・コンポーザで次のことができます。


カスタマイズのタスク・フロー

製品グループ

拡張可能な既存ページのカスタム・フィールドの作成・表示

標準フィールドの表示ラベルとヘルプ・テキストの編集

カスタム通貨フィールドの作成

不可

カスタム・フィールドの索引付け

選択したページへのカスタム・ボタン(GroovyスクリプトまたはURL)の追加

不可

選択したページへのリンク(URL)の追加

不可

オブジェクトの詳細ページのカスタム子オブジェクトの作成・表示

不可

フィールド・レベル、オブジェクト・レベルのカスタム検証ロジック(Groovyスクリプト)の作成

不可

各種オブジェクト・トリガー・ポイントでのカスタム・ロジック(Groovyスクリプト)の作成

不可

サイト・レベルでのカスタム保存済検索の作成

不可

モバイル・ページのサポート

不可

カスタム関連の作成

不可

オブジェクト・ワークフローの管理

不可

Webサービス

不可

ファイルベース・インポートによるデータのインポート

一括エクスポートによるデータのエクスポート

カスタム・サブジェクト領域の作成

不可

オブジェクトの定義: 説明

Oracle Fusion CRM アプリケーション・コンポーザで使用可能なカスタマイズのオプションの中で代表的なものにCRMアプリケーションのオブジェクト・モデルの拡張があります。既存のオブジェクト(標準オブジェクト)に新しいフィールドを追加してCRMオブジェクトをカスタマイズしたり、まったく新しいオブジェクト(カスタム・オブジェクト)を作成します。標準オブジェクトはCRMアプリケーションに事前に設定されているオブジェクトで、アプリケーション・コンポーザでカスタマイズすることができます。カスタム・オブジェクトはアプリケーション・コンポーザで新規に作成するオブジェクトです。トップ・レベル・オブジェクト(親のないオブジェクト)でも子オブジェクト(親のコンテキスト内で作成されるオブジェクト)でも作成することができます。

CRMアプリケーションのオブジェクト・モデルのカスタマイズ、拡張を行うときは、事前に次のアプリケーション・コンポーザにおけるオブジェクト・モデル拡張時の操作をよく理解してください。

CRM アプリケーション・コンポーザのオブジェクト・ツリー

CRMアプリケーション実行時に「ナビゲータ・メニュー」で「アプリケーション・コンポーザ」を開きます。アプリケーション・コンポーザで最初に表示されるのは、すべてのカスタマイズ・オプションへのエントリ・ポイントである主要「概要」ページです。

Oracle Fusion CRM アプリケーション・コンポーザの
主要概要ページ

主要「概要」ページでは、左のペインにオブジェクト・ツリーが表示され、アプリケーションの既存のオブジェクトの構成をツリー形式で参照することができます。 このオブジェクト・ツリーは、標準オブジェクトもカスタム・オブジェクトも、最新のアプリケーションの構成を反映しています。

オブジェクト・ツリーの使用方法:

  1. 「ナビゲータ・メニュー」でツールカテゴリから「アプリケーション・コンポーザ」を選択します。

  2. 主要「概要」ページでアプリケーション選択リストから「アプリケーション」を選択します。

    拡張したいアプリケーションを選択することができる
アプリケーション選択リスト

  3. 標準、カスタムにかかわらず、個々のオブジェクト・ノードについて、オブジェクトのフィールドや、オブジェクトを表示する企業ページなどのオブジェクト詳細を表示、編集して拡張を行います。

    Oracle Fusion CRM アプリケーション・コンポーザの
オブジェクト・ツリー

    ヒント

    オブジェクト・ツリー最上部の「新規」アイコンをクリックすると、新しいカスタム・オブジェクトを作成することができます。

    標準、カスタムのどちらのオブジェクトについても、次の詳細を表示、編集することができます。

    カスタム・オブジェクトの場合は、次の詳細も表示、編集することができます。

カスタム・オブジェクトの作成

新しいカスタム・オブジェクトを作成するときは、まずアプリケーション・コンポーザの主要「概要」ページでアプリケーションを選択します。新しいカスタム・オブジェクトは選択したアプリケーションに属します。アプリケーション選択後は、次のように操作します。

  1. 主要「概要」ページのオブジェクト・ツリーまたはローカル領域で「カスタム・オブジェクト」のノードまたはリンクを選択します。

    それによって表示される要約表で「新規」アイコンをクリックします。

  2. あるいは、オブジェクト・ツリー最上部の「新規」アイコンをクリックします。

  3. カスタム・オブジェクトのプライマリ識別属性を記入します。

    1. 表示ラベル

      オブジェクトのユーザー・フレンドリなラベルであり、オブジェクトの作業領域のデフォルト・ページのタイトルにもなります。

    2. 複数ラベル

      オブジェクトをサブタブなどのマスター・ディテール・ページのディテール・セクションに表示するときに使用するラベルです。

    3. レコード名

      オブジェクトのレコード名フィールドの表示ラベルを指定します。レコード名フィールドには、レコードの「名前」が保存されます。たとえば、商談オブジェクトでは、商談の名前がこのフィールドに保存されます。したがって、カスタム・オブジェクトを作成しているときは、レコード名フィールドを「商談名」に設定します。

      通常、このフィールドでは、プライマリ・ユーザーが認識可能なオブジェクトの識別子、つまり、ランタイム・ユーザーが概要ページから詳細ページまでドリルダウンするときの識別子を設定します。

    4. オブジェクト名

      オブジェクトの内部名です。

    5. 摘要

ヒント

カスタム子オブジェクトを作成するときは、標準またはカスタム・オブジェクトの要約表、あるいはオブジェクトのオブジェクト概要ページで「子オブジェクトの作成」ボタンをクリックします。

作成した子オブジェクトは、親オブジェクトに変更することができます。 同様に、親オブジェクトも子オブジェクトに変更することができます。

次では、子オブジェクトについて説明します。

オブジェクト概要ページの使用

オブジェクト概要ページは、標準またはカスタム・オブジェクトの高レベルの概要を表示します。 オブジェクトのプライマリ属性のほか、(ある場合は)子オブジェクトや関連オブジェクトのリストも表示します。

Oracle Fusion CRM Application
Composer
のオブジェクト概要ページ

オブジェクト概要ページの開き方:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーで標準またはカスタム・オブジェクトを選択します。

  3. あるいは、主要「概要」ページのオブジェクト・ツリーまたはローカル領域で「標準オブジェクト」もしくは「カスタム・オブジェクト」のノードまたはリンクを選択し、表示される要約表でオブジェクトを選択し、「編集」アイコンをクリックします。

オブジェクト概要ページでできること:

オブジェクトの属性の編集

作成したオブジェクトの属性をオブジェクト概要ページで編集することができます。

オブジェクトの属性の編集方法:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. 主要「概要」ページのオブジェクト・ツリーまたはローカル領域で「標準オブジェクト」もしくは「カスタム・オブジェクト」のノードまたはリンクを選択します。

  3. 表示される要約表でオブジェクトを選択し、「編集」アイコンをクリックして、オブジェクト概要ページにナビゲートします。

  4. オブジェクト概要ページで「編集」をクリックします。

子・関連オブジェクトの表示

オブジェクト概要ページは、(ある場合は)オブジェクトについて作成されている子オブジェクトや関連オブジェクトのリストも表示します。 このページでは、新しい子オブジェクトを作成することもできます。

標準またはカスタム・オブジェクトの子オブジェクトの作成:

  1. オブジェクトのオブジェクト概要ページにナビゲートします。

  2. 「子オブジェクトの作成」ボタンをクリックします。子オブジェクトの作成方法はカスタム・オブジェクトの作成方法と同じです。ただし、

カスタム・オブジェクトの削除

アプリケーション・コンポーザは標準オブジェクトの削除もカスタム・オブジェクトの削除もサポートしません。不必要なオブジェクトがあるときは、オプションで摘要にそのオブジェクトは使用しない旨のノートを入力することができます。

オブジェクト関連: 説明

関連は、2つのオブジェクトが外部キーによって関連付けられた状態をさし、2つのオブジェクトのデータの間に関係があることを意味します。この関係は子または関連オブジェクト・サブタブ、あるいはツリー・ノードを利用して「企業ページ」に表示することができます。Oracle Fusion CRM アプリケーション・コンポーザを使用すると、同じアプリケーション内の2つのオブジェクト間に1対多の関連を作成し、一方のオブジェクトのプライマリ識別子が他方のオブジェクトの表に保存されるようにすることができます。関連が存在していなければ、「1」のオブジェクトの詳細ページまたはツリーに表示されるサブタブまたはツリー・ノードに「多」のオブジェクトを表示することはできません。たとえば、1つのアカウントに関連付けられるサービス要求が複数存在することがあります。特定のアカウントに関連付けられたサービス要求のリストをそのアカウントの詳細ページのサブタブとして表示するには、まずそのアカウントとサービス要求のオブジェクトの間に1対多の関連を作成しなければなりません。これらの関連は、子オブジェクトまたは動的選択リストを作成することにより、暗黙的に作成することができます。あるいは、「関連の作成」ページで明示的に作成します。

オブジェクト間の関連を作成するときは、事前にアプリケーション・コンポーザにおける関連作成プロセスについて次の点を確認してください。

関連タイプ

1対多の関連には4つのタイプが存在:

参照関連の作成

「関連の作成」ページを利用して、2つのトップ・レベル・オブジェクトの間の外部キー・ベースの1対多の関連を作成します。明示的に作成する関連は、参照関連ともいいます。

子オブジェクトや動的選択リストを作成しても外部キー・ベースの1対多の関連を作成することができます。これらの暗黙的関連については、関連トピックで説明します。

同じアプリケーション内の2つのトップ・レベル・オブジェクトの関連の明示的作成:

  1. 「共通設定」ペインで「関連」を選択します。

  2. 「関連」ページで「新規」アイコンをクリックします。

    Oracle Fusion CRM アプリケーション・コンポーザの
関連ページ

  3. ソース・オブジェクトとターゲット・オブジェクトを選択します。

    Oracle Fusion CRM アプリケーション・コンポーザの
関連の作成ページ

    子オブジェクトは、ソース・オブジェクトにもターゲット・オブジェクトにもなります。

    ノート、顧客対応、タスクなどの共通コンポーネントは、ソース・オブジェクトとしてもターゲット・オブジェクトとしても選択することはできません。

    通常、関連は同じアプリケーション内の2つのオブジェクトの間で作成します。ただし、次のような共通オブジェクトはターゲット・オブジェクトとして選択することができます。

    一度関連を作成したら、ソース・オブジェクトもターゲット・オブジェクトも編集することはできません。

    この関連はターゲット・オブジェクトに外部キー詳細を保存するフィールドを追加します。ソース・オブジェクトが削除されても、ターゲット・オブジェクトのレコードはシステムに残ります。

  4. 関連名と摘要を入力します。

    関連名は、関連を作成したら編集することはできません。

  5. 必要に応じて、ソース・オブジェクトの詳細ページのサブタブで、あるいはツリー・ノードとしてターゲット・オブジェクトを追加します。

注意

同じソース・オブジェクトとターゲット・オブジェクトの間に複数の関連を作成することもできます。たとえば、担当者オブジェクトと商談オブジェクトの間にプライマリ連絡先とセカンダリ連絡先の関連を作成することができます。

サブタブまたはツリー・ノードの追加

オブジェクト間の関連を作成したら、「1」のオブジェクトの詳細ページまたはツリーに表示されるサブタブまたはツリー・ノードに「多」のオブジェクトを表示させることができます。

オブジェクトの詳細ページまたはオブジェクトにサブタブまたはツリー・ノードを追加するときは、オブジェクトのページ概要ページから「子オブジェクト」または「関連オブジェクト」サブタブを追加することを選択します。アプリケーション・コンポーザが現在のオブジェクトとソース・オブジェクトとして関連を持つ任意のターゲット・オブジェクトに基づいてサブタブまたはツリー・ノードを追加します。サブタブ、ツリー・ノードについては、関連トピックを参照してください。

多対多の関連

オブジェクトは多対多の関連も持つことができます。たとえば、複数の従業員が1つのサービス要求に取り組んでいる場合が考えられます。また、1人の従業員が複数のサービス要求に取り組む場合も考えられます。このシナリオでは、サービス要求と従業員のオブジェクトの間に多対多の関連を作成し、両方のオブジェクトからの関連レコードが交差表にプライマリ識別子を保存するようにします。

アプリケーション・コンポーザを利用した多対多の関連の作成:

  1. 一方のオブジェクトの子オブジェクトを作成し、その子オブジェクトを両方のオブジェクトのレコード識別子を保存する交差表として利用します。

    たとえば、あるサービス要求オブジェクトの子として、そのサービス要求のメンバー・オブジェクトを作成します。そのメンバー・オブジェクトの表は、サービス要求識別子を外部キーとして記録します。

  2. 作成した子オブジェクトに、多対多の関連における他方のオブジェクトを関連オブジェクトとする動的選択リストを追加します。

    たとえば、そのメンバー・オブジェクトに従業員を関連オブジェクトとする動的選択リストサポート担当者を作成します。アプリケーション・コンポーザは自動的に、従業員をソース・オブジェクトとし、サービス要求メンバーをターゲット・オブジェクトとする基礎関連を作成します。このサービス要求メンバー・オブジェクトの表は、従業員識別子を外部キーとして記録します。

このサービス要求メンバー・オブジェクトの表は2つの外部キーを記録します。1つはサービス要求オブジェクトのもので、もう1つは従業員オブジェクトのものです。これで多対多の関連が可能になります。次のようなこともできます。

フィールドの定義: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準オブジェクトには標準フィールドがあります。標準フィールドはCRMアプリケーションの標準オブジェクトに割り当てられたフィールドです。オブジェクトに追加するフィールドはカスタム・フィールドといいます。カスタム・フィールド作成時には、アプリケーション・コンポーザが選択可能なフィールド・タイプを提示します。たとえば、チェック・ボックス・タイプや長いテキスト・タイプのフィールドを作成できます。オブジェクトのカスタム・フィールドを作成して「企業ページ」に表示するときは、アプリケーション・コンポーザが自動的に基礎オブジェクトのアーティファクトを作成し、それらの新規フィールドについても完全にWebサービスをサポートします。アプリケーション・コンポーザはオブジェクト・モデルの拡張のインポート、エクスポートもしやすくします。

CRMアプリケーションのオブジェクト・モデルのカスタマイズ、拡張を行うときは、事前にアプリケーション・コンポーザにおけるフィールド編集の次の操作を確認してください。

オブジェクトへのフィールドの追加

「フィールド」ページを使用してオブジェクトの標準およびカスタム・フィールドのリストを確認し、カスタム・フィールドを作成します。CRMオブジェクトは最大625までフィールドを持つことができます。

オブジェクトの「フィールド」ページの表示:

  1. 主要「概要」ページの「アプリケーション」選択リストでアプリケーションを選択します。

  2. オブジェクト・ツリーの「標準オブジェクト」または「カスタム・オブジェクト」ノードを選択し、オブジェクトのリストを展開します。

  3. オブジェクトを選択し、ツリー階層をさらに展開します。

  4. 「フィールド」ノードを選択し、「フィールド」ページへナビゲートします。

「フィールド」ページでの操作:

フィールドの削除

アプリケーション・コンポーザはオブジェクトからの標準またはカスタム・フィールドの削除をサポートしません。 不必要なフィールドがあるときは、オプションでフィールドの摘要にそのフィールドは使用しない旨のノートを入力することができます。

フィールド・タイプ

フィールドのタイプとプロパティ: 説明

カスタム・フィールドを作成するときは、標準的なフィールド・タイプの中からタイプを選択します。どのタイプにも標準的なプロパティがあります。特定のタイプに固有のプロパティもあれば、複数のタイプに共通したプロパティもあります。たとえば、どのフィールド・タイプを選択しても、そのフィールドを「企業ページ」に表示するときの表示ラベルは指定しなければなりません。

オブジェクトに新規フィールドを作成するときは、次の点を理解してください。

フィールド・タイプ

オブジェクトに新規フィールドを作成するときは、Oracle Fusion CRMアプリケーション・コンポーザが選択可能な標準フィールド・タイプを表示します。

作成可能なフィールドのタイプは次のとおりです。

共通フィールド・プロパティ

カスタム・フィールドを作成するときは、まずフィールド・タイプを選択します。作成するのはチェック・ボックス・フィールドですか、算式フィールドですか、長いテキストフィールドですか?フィールドを作成したら、フィールド・タイプを変更することはできません。指定するフィールド・タイプによって、フィールド作成時に定義しなければならないフィールド・プロパティが変わります。他のフィールド・タイプと共通のプロパティもありますが、それ以外のプロパティは個々のフィールド・タイプ固有のものです。

カスタム・フィールドについて定義することができる共通のフィールド・プロパティを、フィールド構成ページのそれらが表示されるリージョンや、それらのプロパティの設定が必須のフィールド・タイプとともに下表に示します。新規フィールドを作成するときは、この表で定義しなければならない共通プロパティを確認してください。


フィールド・プロパティ

フィールド・プロパティ・リージョン

関連フィールド・タイプ

ラベル

フィールドの表示ラベルを指定します。

長さに制限はありませんが、80文字以内にすることをお勧めします。

表示

フィールドがランタイム・アプリケーションでどう表示されるかは、これらのプロパティによって変わってきます。

全フィールド・タイプ共通です。

ヘルプ・テキスト

ランタイム・アプリケーションでユーザーがフィールドの上にポインタを重ねたときに表示されるテキストです。

長さに制限はありませんが、80文字以内にすることをお勧めします。

表示

全フィールド・タイプ共通です。

表示幅

ランタイム時の通常のフィールド・タイプの表示幅を指定します。「企業ページ」のフィールドの表示幅は文字数で指定します。

ヒント

表示幅を設定するときは、フィールドを「企業ページ」に表示するときの解像度を考慮します。表示幅が広すぎると、画面の解像度以上に広がり、スクロール・バーを使用しなければならなくなります。

通常は20〜25文字以内に設定します。

表示

チェック・ボックス、日付、日時フィールド以外の全フィールド・タイプ共通です。

名前

内部使用専用の一意のフィールド名を入力します。

フィールド名は入力したフィールド・ラベルに基づいて自動的に移入されますが、スペースは省略されます。

フィールド名には、英数字とアンダースコアしか使用できません。必ず最初は文字にして、スペースを含まず、アンダースコアの末尾への使用、連続も避けてください。フィールド名は28文字以内に制限されます。

このプロパティは、フィールド作成後には変更できません。

ヒント

名前が異なり、表示ラベルが共通するカスタム・フィールドを作成することが可能です。ただし、「企業ページ」構成時に同じ表示ラベルを持つフィールドが2つできてしまわないように、このシナリオは避けてください。

注意

フィールドには、論理名に_cを付加してAPI名も自動的に生成されます。API名はGroovyスクリプトで使用されます。

名前

全フィールド・タイプ共通です。

摘要

内部使用専用の一意のフィールド摘要を入力します。

名前

全フィールド・タイプ共通です。

必須

必須フィールドであることを示します。オプションで式エディタを使用し、このフィールドに求められる条件が必須であることを記述する式を書込むこともできます。

注意

フィールドが必須かどうかを制御する式を書込む場合は、依存選択リストも構成しなければなりません。この選択リストは、現在のオブジェクトからのフィールドを含み、ランタイム時の式の評価に使用します。

制約

フィールドのランタイム動作を制御する制約を指定します。

算式フィールド以外の全フィールド・タイプ共通です。

更新可能

更新可能なフィールドであることを示します。オプションで式エディタを使用し、このフィールドに求められる条件が更新可能であることを記述する式を書込むこともできます。更新には、「企業ページ」上でのもの、Webサービスを介したもの、インポート、エクスポート機能を通したもの、サーバー・スクリプトによるものを含みます。

注意

フィールドが必須かどうかを制御する式を書込む場合は、依存選択リストも構成しなければなりません。この選択リストは、現在のオブジェクトからのフィールドを含み、ランタイム時の式の評価に使用します。

制約

算式フィールド以外の全フィールド・タイプ共通です。

検索可能

このフィールドを拡張検索モードでのフィールドの追加選択リストからの追加検索基準として選択可能にしたいかどうかを示します。

制約

長いテキストおよび算式フィールド以外の全フィールド・タイプ共通です。

索引付け

列に索引付けをすることによって検索速度を上げます。

索引付けされる列の数は限られています。したがって、このプロパティは最も頻繁に検索するフィールドにのみ使用してください。

このプロパティは、フィールド作成後には変更できません。

制約

テキスト、数値、日付、日時、通貨、比率のフィールド・タイプに設定します。

長いテキスト、算式、チェック・ボックス、固定選択リスト、動的選択リストに索引付けすることはできません。

注意

長いテキスト・フィールドは索引付けすることができません。ただし、ユーザーはOracle Fusion Applicationsの検索機能を利用してこのフィールドを検索することができます。

固定値

フィールドにリテラル・デフォルト値を指定します。

警告

ランタイム・エラーが発生する可能性があるので、必須で、しかも一意であることを目的とするフィールドにはリテラル・デフォルト値を割り当てないでください。

デフォルト値

算式フィールドと動的選択リスト以外の全フィールド・タイプ共通です。

式エディタを使用し、ランタイム時にフィールドに動的にデフォルト値をセットする式を書込みます。

デフォルト値

チェック・ボックス、算式、固定選択リスト、動的選択リスト以外の全フィールド・タイプ共通です。除外されるフィールド・タイプでデフォルト値をセットするときは、サーバー・スクリプトを書きます。

フィールド・タイプと他のコンポーネントの関係

オブジェクトに新規フィールドを作成するときは、アプリケーション・コンポーザが標準フィールド・タイプだけに制限します。選択可能なフィールド・タイプはすでにCRM Extensibility Frameworkの他のコンポーネントと統合されていて、CRM実装のカスタマイズ、拡張を行うときに最大限可能な柔軟性を提供します。

テキスト・フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つにテキスト・フィールドがあります。テキスト・フィールドはランタイム・アプリケーションのユーザーが文字、数字、記号の組合せを入力できるフィールドです。

テキスト・フィールドのプロパティ

テキスト・フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、テキスト・フィールドに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

索引付け

制約

固定値

デフォルト値

デフォルト値

次のプロパティはテキスト・フィールドなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

表示タイプ

ランタイム・アプリケーションでこのテキスト・フィールドを単純なテキスト・ボックスとしてレンダリングするかどうかを指示します。また、折返し、または改行で複数行を表示するかどうかも指示します。

表示

最大長

フィールドに入力できる文字列の最大長を指定します。最大254文字まで設定可能です。複数行表示のフィールドの場合は、改行を許可し、1文字としてカウントします。

制約

最小長

フィールドに入力できる文字列の最小長を指定します。

制約

その他のテキスト・フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

長いテキスト・フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに長いテキスト・フィールドがあります。長いテキスト・フィールドはランタイム・アプリケーションのユーザーが文字、数字、記号の組合せを入力できるフィールドです。このフィールド・タイプは32,000文字まで入力可能です。

長いテキスト・フィールドのプロパティ

長いテキスト・フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、長いテキスト・フィールドに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

固定値

デフォルト値

デフォルト値

次のプロパティは長いテキスト・フィールドなど一部のフィールド・タイプに特有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

表示タイプ

ランタイム・アプリケーションでこのテキスト・フィールドを単純なテキスト・ボックスとしてレンダリングするかどうかを指示します。また、折返し、または改行で複数行を表示するかどうかも指示します。

表示

その他の長いテキスト・フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

数値フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに数値フィールドがあります。数値フィールドはランタイム・アプリケーションのユーザーが数値を入力できるフィールドです。

数値フィールドのプロパティ

数値フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、数値フィールドに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

索引付け

制約

固定値

デフォルト値

デフォルト値

次のプロパティは数値フィールドなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

小数点以下桁数

小数点以下に入力して表示することができる桁数を指定します。 ランタイム時には、指定の桁数を超える数値が入力されてもアプリケーション・コンポーザが(round half upの端数処理規則を適用して)丸めてフィールドの値を導出します。

たとえば、小数点以下桁数が2と指定されているのにランタイム時に4.986という値が入力されたときは4.99と表示されます。

制約

最大長

フィールドに入力できる文字列の最大長を指定します。

フィールド作成時には、このプロパティと次のフィールド・プロパティとの関係を考慮してください。

  • 表示幅

    最大長を表示幅より長く設定すると、ランタイム時にこのフィールドの数値を見るためにフィールド内でスクロールしなければならなくなります。

  • 小数点以下桁数

    最大長 - 小数点以下桁数 = 小数点以上の桁数。

    最大長は小数点以下桁数より小さな値に設定しないでください。

制約

最小値

このフィールドに入力できる最小値を指定します。

制約

最大値

このフィールドに入力できる最大値を指定します。

制約

その他の数値フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

日付フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに日付フィールドがあります。日付フィールドはランタイム・アプリケーションのユーザーが日付を入力するかカレンダーから選択することができるフィールドです。このフィールドのタイプには、時間成分がありません。

日付フィールドのプロパティ

日付フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

索引付け

制約

固定値

デフォルト値

デフォルト値

その他の日付フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

日時フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに日時フィールドがあります。 日時フィールドはランタイム・アプリケーションのユーザーが日付を入力するかカレンダーから選択し、時刻を入力することができるフィールドです。日付と時刻、またはそのどちらか一方だけを表示することができます。

日時フィールドのプロパティ

日時フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、日時フィールドに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

索引付け

制約

固定値

デフォルト値

デフォルト値

次のプロパティは日時フィールドなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

表示タイプ

日時フィールドに、日付、時刻、その両方のいずれを表示するかを指定します。

表示

その他の日時フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

チェック・ボックス・フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つにチェック・ボックス・フィールドがあります。チェック・ボックス・フィールドはランタイム・アプリケーションのユーザーがレコードのtrue、falseの属性を示すチェック・ボックスを選択することができるフィールドです。

チェック・ボックス・フィールドのプロパティ

チェック・ボックス・フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

固定値

デフォルト値

その他のチェック・ボックス・フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

比率フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに比率フィールドがあります。比率フィールドはランタイム・アプリケーションのユーザーが比率を入力できるフィールドです。入力した数値にはアプリケーション・コンポーザが自動的に比率の記号を付加します。

比率フィールドのプロパティ

比率フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、比率フィールドに特有のプロパティの値も指定します。

次のプロパティは複数の比率タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

索引付け

制約

固定値

デフォルト値

デフォルト値

次のプロパティは比率フィールドなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

小数点以下桁数

小数点以下に入力して表示することができる桁数を指定します。ランタイム時には、指定の桁数を超える数値が入力されてもアプリケーション・コンポーザが(round half upの端数処理規則を適用して)丸めてフィールドの値を導出します。

たとえば、小数点以下桁数が2と指定されているのにランタイム時に4.986という値が入力されたときは4.99と表示されます。

制約

最大長

フィールドに入力できる文字列の最大長を指定します。

フィールド作成時には、このプロパティと次のフィールド・プロパティとの関係を考慮してください。

  • 表示幅

    最大長を表示幅より長く設定すると、ランタイム時にこのフィールドの値を見るためにフィールド内でスクロールしなければならなくなります。

  • 小数点以下桁数

    最大長 - 小数点以下桁数 = 小数点以上の桁数。

    最大長は小数点以下桁数より小さな値に設定しないでください。

制約

その他の比率フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

通貨フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに通貨フィールドがあります。通貨フィールドはランタイム・アプリケーションのユーザーが通貨金額を入力できるフィールドです。

通貨フィールドのプロパティ

通貨フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、通貨フィールドに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

索引付け

制約

固定値

デフォルト値

デフォルト値

次のプロパティは通貨フィールドなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

最小値

このフィールドに入力できる最小値を指定します。

制約

最大値

このフィールドに入力できる最大値を指定します。

制約

換算日

オプションで通貨換算レートの計算に使用する換算日を指定します。

ヒント

レコード作成時のシステム日付を換算日とするときは、フィールドの作成日を換算日として指定します。

換算日

その他の通貨フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

固定選択リスト: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。 標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに固定選択リストがあります。 固定選択リストはFND参照タイプから移入される静的値のリストを含むフィールドです。 ランタイム時に、ユーザーはフィールドの定義に応じて、このフィールドから1つまたは複数の値を選択することができます。

固定選択リストのプロパティ

固定選択リストを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。 また、固定選択リストに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

固定値

ヒント

この選択リストが複数の値を許可する場合は、さらにデフォルトで複数の値を事前に選択する式を書込むことができます。たとえば、フィールドが3つの参照コードで構成され、(コード,ラベル)が(S,Small)、(M,Medium)、(L,Large)、(XL,Extra Large)となっている場合は、デフォルトでSmallとExtra Largeの選択が事前選択されるように、デフォルト値を(引用符なしで)そのリテラル文字列S,XLに設定します。

デフォルト値

次のプロパティは固定選択リストなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

表示タイプ

ランタイム時にユーザーが選択リストから1つの値のみを選択できるか、複数の値を選択できるかを指定します。 表示タイプの選択はフィールド作成時にしかできません。

表示

参照タイプ

値リスト

親フィールド値の選択肢ごとの制約リスト

値リスト

値リスト・リージョンの使用

固定選択リストの値はFND参照タイプから移入されます。この選択リストに値を表示させたい参照タイプを選択します。参照タイプの選択はフィールド作成時にしかできません。

あるいは、新しい参照タイプを作成し、それに新しい値を追加します。参照タイプを入力し、「編集」アイコンを選択して既存の値を修正することもできます。

選択に使用可能なFND参照タイプのセットは、この固定選択リストのオブジェクトに(製品コードを介して)関連付けられた参照タイプと、CRM実装用に作成されたすべてのカスタム参照タイプに制約されます。

固定選択
リスト定義時に構成できる値
リスト・リージョン

ランタイム時にこの固定選択リストに表示される実際の値は、この固定選択リストを親固定選択リストに関連付けることによって制約することができます。親固定選択リストで選択された値は、この固定選択リストに表示される値を導出します。たとえば、ユーザーがトラブル・チケットを作成できる「企業ページ」上でトラブル・チケット・タイプ指定用と、トラブル・チケット領域指定用の2つの選択リストが見えるようにしたいとします。ユーザーが「タイプ」選択リストから「ハードウェア」を選択した場合、「エリア」選択リストはトラブル・チケットをログすることができるハードウェア・オプションのみのリストを含んでいるはずです。

このため、親フィールド値の選択肢ごとの制約リストチェック・ボックスを選択し、親フィールドを選択した上で、親参照タイプとこのフィールドの参照タイプの間で値をマップします。

親参照
タイプとこのフィールドの参照タイプ
の間の値をマップすることができる「マップ」ウィンドウ

注意

親フィールド値の選択肢ごとの制約リストチェック・ボックスは、フィールド作成時のみ、しかも単一選択リストの固定選択リストがほかに少なくとも1つ定義されている場合にのみ選択に使用可能です。

ただし、フィールド作成後も、参照値間のマッピングを更新することはできます。

上記の操作は次の手順で行います。

  1. 「タイプ」固定選択リストを定義します。

  2. 「エリア」固定選択リストを定義します。

  3. 親フィールド値の選択肢ごとの制約リストチェック・ボックスを選択し、親フィールド「タイプ」を選択します。

  4. 最後に、「タイプ」と「エリア」参照タイプの間で値をマップします。

    たとえば、「エリア」参照タイプの値セットの中の、デスクトップ、ラップトップといった関連ハードトップの値をすべて「タイプ」参照タイプの「ハードウェア」の値にマップします。

その他の固定選択リストの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

動的選択リスト: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに動的選択リストがあります。 動的選択リストは他のオブジェクトの実データから移入される値リストを含むフィールドです。たとえば、「企業ページ」に、ユーザーに自分たちがトラブル・チケットをログしているアカウントを指定させる動的選択リストを表示させたい場合、「アカウント名」選択リストのフィールドをトラブル・チケット・オブジェクトに追加することになりますが、値リストはアカウント・オブジェクトから実際の名前で移入されます。

動的選択リストを作成するときは次の点を確認してください。

注意

ページに動的選択リストを追加するときは、カスタム作業領域のローカル検索リージョンには動的選択リストを追加できないことに注意してください。

動的選択リストのプロパティ

動的選択リストを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、動的選択リストに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

必須

制約

更新可能

制約

検索可能

制約

次のプロパティは動的選択リストなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

関連オブジェクト

リスト・データ・ソース

リスト選択表示値

リスト・データ・ソース

データ・フィルタ

リスト・データ・ソース

追加リスト表示値

追加リスト表示値

追加リスト検索フィールド

追加リスト検索フィールド

リスト・データ・ソース、追加リスト表示値、追加リスト検索フィールドリージョンの使用

動的選択リストを定義するときは、次のリージョンを利用してランタイム時に値リストに表示されるデータを決定します。

暗黙的関連の作成

あるオブジェクトについて、関連オブジェクトに基づく動的選択リストを作成するときは、暗黙的に、現在のオブジェクトを「多」、関連オブジェクトを「1」とする1対多の外部キー関連を作成することになります。この暗黙的な関連の作成により、「1」のオブジェクトの詳細ページに「多」のオブジェクトの関連オブジェクト・サブタブを追加することができます。これらの暗黙的に作成される選択リストの関連は「関連」ページで見ることができます。

トラブル・チケットに関する選択に使用可能なアカウントのリストを作成する先の例では、1つのアカウントを複数のトラブル・チケットに結びつけることができます。作成される関連はアカウントとトラブル・チケットの間の1対多の関連であり、これにより、ユーザーがトラブル・チケットの表にアカウントの識別子を保存することが可能になります。この関連では、アカウント・オブジェクトがソース・オブジェクト、トラブル・チケット・オブジェクトがターゲット・オブジェクトになります。そこで、ランタイム時にソース・オブジェクトがシステムから削除されることがあれば、この動的選択リストは内部に値を持たないことになります。

後で、そのアカウントの詳細ページに、1つのアカウントについて、それに関連するトラブル・チケットをすべて表示する関連オブジェクト・サブタブを表示させたいときは、この関連オブジェクト・サブタブは、動的選択リストを作成したときにすでに関連が作成されているので、作成することができます。

注意

一般に、動的選択リストを作成すると、暗黙的に1つの選択リスト関連を作成することになります。例外は、CRMオブジェクトと共通オブジェクト、つまりリソース、組織担当者、組織プロファイル、所在地との間で動的選択リストを作成した場合です。この場合は、関連が暗黙的に作成されることはありません。

その他の動的選択リストの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

算式フィールド: 説明

Oracle Fusion CRM アプリケーション・コンポーザでは、標準、カスタム・オブジェクトに新規フィールドを追加してCRMアプリケーションのオブジェクト・モデルを拡張することができます。標準、カスタム両オブジェクトに追加できるフィールド・タイプの1つに算式フィールドがあります。算式フィールドは、ランタイムCRMアプリケーションにおいて、算式フィールドの定義に含まれるGroovyベースの式を使用して計算されるフィールドです。たとえば、従業員の年間のボーナス金額を計算する式などを書込みます。

算式フィールドのプロパティ

算式フィールドを作成するときは、表示ラベル、フィールド名など、ほかのフィールド・タイプと共通のプロパティの値を指定します。また、算式フィールドに特有のプロパティの値も指定します。

次のプロパティは複数のフィールド・タイプに共通のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

ラベル

表示

ヘルプ・テキスト

表示

表示幅

表示

名前

名前

摘要

名前

次のプロパティは算式フィールドなど一部のフィールド・タイプ固有のものです。


フィールド・プロパティ

フィールド・プロパティ・リージョン

算式タイプ

テキスト、数値、日付など、フィールドのデータ型を指定します。タイプの指定はフィールド作成時にしかできません。

フィールド値タイプ

表示タイプ

算式タイプを「テキスト」とした場合は、ランタイム・アプリケーションでこの算式フィールドを単純なテキスト・ボックスとしてレンダリングするかどうかを指示します。 あるいは、テキストを折返して複数行表示するかどうかを指示します。

表示

依存

制約

式エディタと依存選択リストの使用

依存選択リストを使用して、他のフィールドの値が変更されたときに(書込んだ式を使用して)フィールドを自動的に再計算するかどうかを指定します。

算式フィールド定義時に設定する制約
リージョン

注意

依存選択リストは、同じオブジェクトに属するフィールドのリストを含みます。別のオブジェクトに関する他のフィールドの値が変更されたときにこの算式フィールドを自動的に再計算させたいときは、サーバー・スクリプトを書かなければなりません。

ランタイム時にフィールドの値を計算する式を書込む式エディタを使用します。



たとえば、従業員の年間ボーナス金額の値を計算している式は、従業員の給与が変化したときに、その金額を自動的に再計算するように設定することができます。そうすることで、ボーナスのフィールドは、給与が変化すると、ユーザーが従業員のレコードをリフレッシュしなくても、すぐに新しいボーナス金額を反映するようになります。

また、商談用の正しい顧客電話番号を決定している式は、商談の顧客アカウントが変化したときに、自動的に電話番号をリセットするように設定することができます。そうすることで、電話番号のフィールドは、顧客アカウントが変化すると、ユーザーが商談レコードをリフレッシュしなくても、すぐに新しい電話番号を反映するようになります。

その他の算式フィールドの仕様

このフィールド・タイプには、ほかに次のような仕様が定められています。

ページの定義: 説明

CRMアプリケーションのオブジェクト・モデルを拡張したら、次にその新しいオブジェクトとフィールドを「企業ページ」に表示させます。CRMにおける「企業ページ」のカスタマイズと作成は、オブジェクトの表示に使用可能なページを標準ページ・タイプだけに限定し、単純化されています。トップ・レベルのCRMオブジェクトには、それぞれ概要ページ、作成ページ、詳細ページがあり、それらを総称して作業領域と呼んでいます。新規フィールド作成時には、Oracle Fusion CRMアプリケーション・コンポーザが作業領域構成ページを表示し、そこでそのフィールドを表示用に追加することができます。また、作業領域ウィザードでカスタム・オブジェクトとそのフィールド用に新しい作業領域を作成することもできます。この標準ページ・タイプと構成ページとウィザードを利用したページ作成プロセスの組合せにより、オブジェクト・モデルの拡張を迅速かつ容易にユーザーに表示することができるようになっています。

CRMアプリケーションのページのカスタマイズ、新規作成を行うときは、事前にこのアプリケーション・コンポーザにおける「企業ページ」作成プロセスについて次の点を確認してください。

ページ概要ページの使用

ページ概要ページは、1つのオブジェクトに関する標準的な「企業ページ」のセットの概要を提示します。

商談標準オブジェクトのページ概要
ページ

ページ概要ページの開き方:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーで標準またはカスタム・オブジェクトを選択します。

  3. 「ページ」ノードを選択します。

    Oracle Fusion CRMアプリケーション・コンポーザのオブジェクト・
ツリーでオブジェクトの「ページ」
ノードを選択したところ

    注意

    構成可能なページを持つのはトップ・レベル・オブジェクトだけです。子オブジェクトは親オブジェクトのコンテキスト外には存在せず、独自の作業領域も持ちません。

ページ概要ページでできること:

ページ・タイプの違い

標準ページ・タイプのセット(概要ページ、作成ページ、詳細ページ)には、トップ・レベルのCRMオブジェクトをすべて表示することができます。

注意

一部のCRMオブジェクト(共通オブジェクト)は標準作業領域を持ちません。これらは共通のコンポーネント(ノート、顧客対応、タスク)と共通のオブジェクト(リソース、組織担当者、組織プロファイル、所在地)を含みます。

ページの定義

トップ・レベルCRMオブジェクトはすべて標準ページ・タイプに表示することができるので、どのページ・タイプにもフィールドの表示、非表示を切り換える独自の構成ページがあります。新しいオブジェクトとフィールドを作成したら、ページ概要ページにナビゲートしてください。ページ概要ページには、オブジェクトの既存の作業領域に関する構成ページへのハイパーリンクがあります。たとえば作成ページへの新規フィールドの追加など、オブジェクトの作業領域のページのカスタマイズを行うときは、この構成ページを利用します。

注意

ページ概要ページに構成ページへのハイパーリンクがない場合は、まだオブジェクトに作業領域がありません。ランタイム時にユーザーにオブジェクトが見えるようにするには、作業領域を作成する必要があります。

ページ概要ページから開ける構成ページの使用:

注意

既述のとおり、一部のCRMオブジェクト(共通コンポーネント、共通オブジェクト)は標準作業領域を持ちません。つまり、ページ概要ページから使用可能な構成ページは、上の説明と異なります。たとえば、取引先コミュニティ所在地オブジェクトは、概要ページ、作成ページ、所在地詳細フォームをカスタマイズする構成ページを持っています。取引先コミュニティ組織プロファイルは、詳細フォームと作成フォームだけをカスタマイズする構成ページを持っています。

共通オブジェクトのページをカスタマイズする場合は、アプリケーションが同じメタデータ・リポジトリを共有していれば、加えた変更がそのオブジェクトを使用する複数のアプリケーションにまたがって反映されます。

作業領域の作成

トップ・レベル・カスタム・オブジェクトは、ただ作成しただけなら、まだそれをユーザーに表示するランタイムCRMアプリケーションにページを持ちません。 このようなカスタム・オブジェクトを作成したら、そのオブジェクトに属するレコードをユーザーに表示するページのセットを作成しなければなりません。

アプリケーション・コンポーザでは、ウィザードを利用してこれらのページ(作業領域)を作成するプロセスを段階的に案内します。作業領域の作成については、関連トピックで説明します。

子オブジェクトには、作業領域を作成しないでください。

ページのオブジェクトの保護

カスタム・オブジェクトとフィールドを作成したら、次にそれをユーザーが見る「企業ページ」に表示させます。そこで必要になるのが、ランタイム時にオブジェクトのデータにアクセスする権限の管理です。デフォルトでは、オブジェクトとそのレコードはアプリケーションで指定されたデフォルト職務ロールしか見ることも編集することもできません。追加のアクセス権は、アプリケーション・コンポーザのセキュリティ・ポリシー構成ページで個々のオブジェクト、ロールについて手動で設定します。

子オブジェクトなどのカスタム・オブジェクトへのアクセスの制限に使用可能なセキュリティ・オプションについては、関連トピックで説明します。

Oracleコンポーザによるページのカスタマイズ

新しいページのセットを作成し、CRMアプリケーションに付属の既成のページを編集したら、Oracleコンポーザを使用してもう一度これらのページを編集することはできません。

注意

ただし、Oracle Fusion Customer Centerの顧客プロファイルは例外です。顧客プロファイルの「販売アカウント」リージョンでは、Oracleコンポーザを使用して新規フィールドの作成、追加を行うことができます。

作業領域の作成: 説明

カスタム・オブジェクトは、ただ作成しただけでは、まだそれをユーザーに表示するランタイムCRMアプリケーションにページを持ちません。トップ・レベル・カスタム・オブジェクトを作成したら、それをユーザーに表示する「企業ページ」のセット(作業領域)を作成しなければなりません。CRMオブジェクトはすべて、概要ページ、作成ページ、詳細ページで構成される作業領域に表示することができます。Oracle Fusion CRMアプリケーション・コンポーザでは、ウィザードを利用してこのオブジェクト作業領域作成のプロセスを段階的に案内します。作業領域を作成したら、あとはいつでもオブジェクトのページ概要ページにナビゲートし、作業領域構成ページを使用してその「企業ページ」のカスタマイズを続けることができます。 子オブジェクトには、作業領域を作成しないでください。モバイル・デバイス用の表示ページを作成、修正するときは、同じオブジェクトのページ概要ページから起動できる専用の「モバイル・ページ」ウィザードを使用します。

カスタム・オブジェクトに新規作業領域を作成するときは、事前にアプリケーション・コンポーザにおける作業領域作成プロセスについて次の点を確認してください。

作業領域ウィザードの使用

ページ概要ページで既存の作業領域のページを構成するときと同じナビゲーション・パスを使用してウィザードを起動します。ただし、まだオブジェクトについて作業領域が作成されていないときは、作業領域構成ページへのハイパーリンクは表示されません。ページ概要ページには、作業領域ウィザードを起動するハイパーリンクだけが表示されます。

初めてカスタム・
オブジェクトの作業領域を作成するときの
作業領域ウィザード

作業領域ウィザードの起動:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーで標準またはカスタム・オブジェクトを選択します。

  3. 「ページ」ノードを選択します。

    注意

    構成可能なページを持つのはトップ・レベル・オブジェクトだけです。子オブジェクトは親オブジェクトのコンテキスト外には存在せず、独自の作業領域も持ちません。

  4. 作業領域ウィザードを起動するハイパーリンクを選択します。

注意

作業領域の作成には作業領域ウィザードを使用します。

既存の作業領域ページのカスタマイズには作業領域構成ページを使用します。

「ナビゲータ・メニュー」の構成

カスタム・オブジェクトの作業領域を作成するときは、ランタイム時に「ナビゲータ・メニュー」に表示されるオブジェクト・ラベルを指定しなければなりません。指定するラベルはユーザーがこの作業領域へナビゲートするときに選択するものになります。

カスタム・オブジェクトの作業領域を表示する「ナビゲータ・メニュー」
の構成

このページでは、次のようなこともできます。

カスタム・オブジェクトの作業領域を作成したら、再認証しなくても「ナビゲータ・メニュー」に作業領域ラベルが自動的に表示されます。

注意

アプリケーション・コンポーザでは、カスタム・オブジェクトに限って「ナビゲータ・メニュー」のオブジェクト・ラベルの変更ができます。標準オブジェクトのメニュー・ラベルの変更については、Fusion Setup Managerのドキュメンテーションを参照してください。

ローカル検索リージョンの構成

ローカル検索リージョンに検索基準として表示したいフィールドを選択します。ローカル検索リージョンはオブジェクトの概要ページの要約表の上に表示されます。このリージョンへのフィールドの追加はオプションです。

カスタム・オブジェクトのローカル検索領域
の構成

  1. ローカル検索リージョンに検索基準フィールドとして表示したいフィールドを選択します。

    ローカル検索リージョンは2列のリージョンとしててフォーマットされていますが、選択に使用可能なフィールドのリストは1列で表示されます。まず1列目に表示されるフィールドを最初のフィールドとして選択し、次に2列目に表示されるフィールドを2番目のフィールドとして選択し、3番目のフィールドはまた1列目で選択するというようになります。

注意

フィールド作成時には、カスタム・オブジェクトについて検索基準として表示するフィールドに索引付けすることを検討してください。

概要ページと作成ページの構成

作業領域の概要ページとオブジェクトの作成ページに表示したいフィールドを選択します。

カスタム・オブジェクトの
作業領域で表示される概要ページと作成ページ
の構成

  1. オブジェクトの概要ページの要約表に列として表示したいフィールドを選択します。

  2. 要約表のドリルダウン列を選択します。

    ドリルダウン列は、ユーザーがクリックしてオブジェクト・レコードの詳細ページまでドリルダウンすることができる要約表の列です。要約表のドリルダウン列は、作業領域作成後には変更することができません。

  3. ランタイム時にユーザーに別のユーザーに要約表のレコードにアクセスすることを認める権限を持たせたい場合は、「アクセス権限の許可」チェック・ボックスを選択します。

  4. 事前に要約表を作成していた場合は、それにカスタム・ボタンを追加します。

  5. オブジェクトの作成ページに表示したいフィールドを選択します。

    選択するフィールドには、オブジェクトの必須フィールドが含まれている必要があります。

    作成ページは3列のページとしてフォーマットされていますが、選択に使用可能なフィールドのリストは1列で表示されます。まず1列目に表示されるフィールドを最初のフィールドとして選択し、次に2列目に表示されるフィールドを2番目のフィールドとして選択し、3列目に表示されるフィールドを3番目のフィールドとして選択し、4番目のフィールドはまた1列目で選択するというようになります。

詳細ページの構成

オブジェクトの詳細ページに表示したいフィールドを選択します。

カスタム・オブジェクトの作業領域
に表示される詳細ページの構成

注意

詳細ページには、オブジェクト・レコードに関連する情報を含むサブタブを設けることができます。たとえば、商談の詳細ページには、顧客担当者や過去の注文のリストを表示するサブタブを含めることができます。詳細ページにサブタブを追加するときは、まず作業領域を作成し、ページ概要ページに戻ります。詳細ページへのサブタブの追加については、関連トピックで説明します。

  1. デフォルト要約と詳細要約の両リージョンなど、オブジェクトの詳細ページに表示したいフィールドを選択します。

    ヒント

    詳細要約はユーザーがこのページまでナビゲートするときに折畳まれている可能性があるので、デフォルト要約にプライマリ・オブジェクト・フィールドを含めます。

    詳細ページは3列のページとしてフォーマットされていますが、選択に使用可能なフィールドのリストは1列で表示されます。まず1列目に表示されるフィールドを最初のフィールドとして選択し、次に2列目に表示されるフィールドを2番目のフィールドとして選択し、3列目に表示されるフィールドを3番目のフィールドとして選択し、4番目のフィールドはまた1列目で選択するというようになります。

  2. 事前に詳細ページを作成していた場合は、それにカスタム・ボタンを追加します。

  3. 折畳まれる可能性のある詳細要約では、「添付の許可」チェック・ボックスを選択し、ランタイム詳細ページで添付機能を有効にします。

サブタブ: 説明

トップ・レベルCRMオブジェクトには、作業領域の一部として必ず詳細ページがあります。詳細ページを構成するときは、オプションで、現在のオブジェクトに関連するが、他のオブジェクト、またはまったく現在のOracle Fusion CRMアプリケーション以外の別のソースから導出された詳細を表示することができます。これは詳細ページにサブタブを追加し、サブタブ・データのソースを指定することによって行います。Oracle Fusion CRMアプリケーション・コンポーザのオブジェクトのページ概要ページから標準またはカスタム・オブジェクトの詳細ページにサブタブを追加します。

オブジェクトの詳細ページにサブタブを追加するときは、事前にアプリケーション・コンポーザにおけるサブタブ作成プロセスについて次の点を確認してください。

注意

サブタブとツリー・ノードが、Oracle Fusion CRMアプリケーションがサポートする2つのマスター/詳細UIパターンです。

カスタム・オブジェクトの場合は、サブタブのみがサポートされます。

「販売アカウント・プロファイル」「パートナ」など、すでにツリー・ノードを使用している標準オブジェクトの場合は、追加の詳細も同じツリー・ノードのパターンを採用します。つまり、標準オブジェクトが関連ページの表示にツリーを使用すると、たとえば子オブジェクトや関連オブジェクトも、詳細ページのサブタブではなく、ツリー・ノードとして表示します。 ツリー・ノードの追加については、関連トピックで説明します。

詳細ページの使用

詳細ページは、ユーザーがオブジェクトに関する詳細を見ることができる企業ページです。ユーザーは、セキュリティの設定に応じて、「編集」アイコンのクリック、または要約表のツールバーの「処理」メニューの「編集」の選択によって、詳細ページにアクセスします。また、ユーザーは要約表のオブジェクト・レコード名をクリックしても詳細ページにアクセスすることができます。

詳細ページはデフォルト要約と詳細要約の両方を含むことができます。デフォルト要約はプライマリ・オブジェクト・フィールドを含み、常にユーザーに表示されます。詳細要約はオブジェクトの追加フィールドを含みます。デフォルト要約と詳細要約の両方に同じフィールドを追加することはできません。

詳細ページはオブジェクト・レコードに関連する情報も含むことができ、これはサブタブに表示されます。たとえば、商談の詳細ページには、顧客担当者や過去の注文のリストを表示するサブタブを含めることができます。

サブタブの追加

オブジェクトのページ概要ページからオブジェクトの詳細ページにサブタブを追加します。詳細ページは事前に存在していなければなりません。初めて作業領域を作成するときにサブタブを追加することはできません。

既存の詳細ページへのサブタブの追加:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーで標準またはカスタム・オブジェクトを選択します。

  3. 「ページ」ノードを選択します。

    注意

    構成可能なページを持つのはトップ・レベル・オブジェクトだけです。 子オブジェクトは独自の作業領域を持ちません。

  4. ページ概要ページで「詳細ページ」リージョンの「サブタブの作成」アイコンをクリックし、オブジェクトの詳細ページに表示する1つまたは複数のサブタブを作成します。

  5. 追加したいサブタブのタイプを選択します。

    オブジェクトの詳細ページに
追加したいサブタブのタイプを選択するサブタブの作成
ページ

子または関連オブジェクト・サブタブ

関連は2つのオブジェクトの間の外部キーによる結び付きをさします。アプリケーション・コンポーザを使用すると、同じアプリケーション内の2つのオブジェクトの間に1対多の関連を作成することができます。関連が作成されたら、「1」のオブジェクトの詳細ページに表示されるサブタブに「多」のオブジェクトを表示することができます。たとえば、1つのアカウントに関連付けられるサービス要求が複数存在することがあります。特定のアカウントに関連付けられたサービス要求のリストをそのアカウントの詳細ページのサブタブとして表示するには、まずそのアカウントとサービス要求のオブジェクトの間に1対多の関連を作成しなければなりません。この場合、アカウントがソース・オブジェクト、サービス要求がターゲット・オブジェクトになります。この関連は、サービス要求オブジェクトの表にアカウントの識別子を追加します。

アプリケーション・コンポーザでは、1つの子オブジェクトまたは3種類の関連オブジェクトの詳細ページにサブタブを追加することができます。これにより、次の4種類の1対多の関連を作成することができます。

既存の詳細ページへの子または関連オブジェクト・サブタブの追加:

  1. ページ概要ページで「サブタブの作成」アイコンをクリックします。

  2. 「子または関連オブジェクト」を選択します。

    子または関連
オブジェクトについて新しいサブタブを構成するサブタブの作成
ページ

  3. 子または関連オブジェクトサブタブ構成ページでの操作:

    1. すべての関連オブジェクトのリストからサブタブに表示する関連オブジェクトを選択し、サブタブの表示ラベルを選択します。

    2. ランタイム時にサブタブに表示される「新規」および「削除」ボタンを非表示にすることができます。

      子オブジェクトのサブタブでは、「編集」ボタンも非表示にすることができます。

    3. 子オブジェクト・サブタブの場合は、ランタイム時にサブタブに権限管理ボタンを表示するかどうかを指定します。

      ランタイム時にユーザーがオブジェクト・レコードを選択してこのボタンをクリックすると、選択したレコードに対して別のユーザーが持つアクセス・レベルを指定することができます。

    4. ランタイム時にサブタブの要約表に表示したいフィールドとリンクを選択します。

      子オブジェクト・レコードまたは関連オブジェクト・レコードをリスト表示するメイン要約表についてフィールドとリンクを構成することができます。

    5. ランタイム時にサブタブに表示させたいボタンを選択します。

      注意

      このリージョンは、事前にこのオブジェクト用のボタンを作成していた場合にのみ表示されます。

    6. ランタイム時にサブタブの詳細フォームに表示させたいフィールドを選択します。

      要約表の下に表示される詳細フォームのフィールドを構成することができます。サブタブのオブジェクトが子オブジェクトなら、ユーザーはランタイム時にこの詳細フォームに子オブジェクト・データを入力することができます。必須フィールドは必ずこのセクションに含めてください。

      サブタブのオブジェクトが関連オブジェクトなら、ユーザーはサブタブ・オブジェクトの既存のレコードをページのマスター・オブジェクトに関連付けることができます。ただし、新しい関連オブジェクトのレコードを作成するときは、ユーザーはそのオブジェクト自体の作成ページでそれを行わなければなりません。

コンテキスト・リンク・サブタブ

コンテキスト・リンク・サブタブは任意のトップ・レベル・オブジェクトからのフィルタ処理されたレコードのリストを表示し、このフィルタは通常、現在のオブジェクトからのランタイム値に基づいています。オブジェクトは現在のオブジェクトに関連している必要はありません。コンテキスト・リンク・サブタブは読取り専用です。

既存の詳細ページへのコンテキスト・リンク・サブタブの追加:

  1. ページ概要ページで「サブタブの作成」アイコンをクリックします。

  2. 「コンテキスト・リンク」を選択します。

    新しいコンテキスト・リンク・サブタブを構成するサブタブの作成
ページ

  3. 「コンテキスト・リンク」サブタブ構成ページでの操作:

    1. サブタブに表示するオブジェクトを選択し、サブタブの表示ラベルを選択します。

    2. 選択したオブジェクトの検索基準のセットを使用して、ランタイム時に表示されるレコードのリストを、ランタイム値が現在のオブジェクトのレコードのランタイム値と一致するものに制約することができます。

      ヒント

      値はリテラル値、または現在のオブジェクトのレコードのランタイム値あるいは現在のオブジェクトの親レコードのランタイム値から導出された値になります。

      検索基準に固定選択リスト・フィールドが含まれていれば、参照コード内容ではなく、参照コードを使用して固定選択リストのランタイム値を指定しなければなりません。

    3. ランタイム時にサブタブの読取り専用要約表に表示したいフィールドを選択します。

      子オブジェクト・レコードまたは関連オブジェクト・レコードをリスト表示するメイン要約表のフィールドを構成することができます。

    4. ランタイム時にサブタブの読取り専用詳細フォームに表示したいフィールドを選択します。

      要約表の下に表示される詳細フォームのフィールドを構成することができます。

共通コンポーネント・サブタブ

共通コンポーネント・サブタブは、カスタム、トップ・レベル・オブジェクトに関連する選択されたコンポーネントのリストを表示する「ノート」、「タスク」、「顧客対応」、または「約束」サブタブを追加します。個々のコンポーネントは、あらゆるOracle Fusion CRMアプリケーションで共有される標準ユーザー・インタフェース(UI)を持っています。すべての(「約束」以外の)共通コンポーネントに合わせてそのようなUIをカスタマイズするには、共通アプリケーションのもとで適切なオブジェクトを選択した上で、オブジェクトのナビゲーション・ツリーで「ページ」ノードを選択し、作業領域構成ページにアクセスします。

ランタイム時には、ユーザーはこれらのサブタブにアクセスして、オブジェクト・レコードに結び付いた共通コンポーネント・レコードを作成することができます。たとえば、あるユーザーは1つのサービス要求レコードに関する顧客対応を記録することができます。

既存の詳細ページへの共通コンポーネント・サブタブの追加:

  1. ページ概要ページで「サブタブの作成」アイコンをクリックします。

  2. 「共通コンポーネント」を選択します。

    新しい共通コンポーネント・サブタブを構成するサブタブの作成
ページ

  3. 共通コンポーネントサブタブ構成ページで、詳細ページにサブタブとして追加したい共通コンポーネントのタイプを選択します。

Webコンテンツ・サブタブ

Webコンテンツ・サブタブはオブジェクトの詳細ページの上に外部Webサイトを表示します。 Webコンテンツは、対象のURLを構築するように定義した式の結果です。

たとえば、担当者、詳細ページでは、担当者の所在地を表示するGoogleマップを追加したい場合があるかもしれません。Google Maps APIはURLが一定の方式でフォーマットされていると想定します。この場合には、「担当者所在地」、担当者郡市区、担当者都道府県といったフィールドを使用して式を書きます。その上で、そのURLをGoogle Maps APIに渡します。

既存の詳細ページへのWebコンテンツ・サブタブの追加:

  1. オブジェクトの詳細ページに表示する1つまたは複数のサブタブを作成するために、ページ概要ページで「サブタブの作成」アイコンをクリックします。

  2. 「Webコンテンツ」を選択します。

    新しいWebコンテンツ・サブタブを構成するサブタブの作成
ページ

  3. Webコンテンツサブタブ構成ページでサブタブの表示ラベルを入力した上で、サブタブのWebコンテンツを取得するURLを定義します。

    必要に応じて、式エディタを使用して必要なURL式を構築します。

構築する式は、次の条件を満たしていなければなりません。

次に例を示します。

def myURL1 = adf.util.GlobalEncodeField(ContactAddress_c)
def myURL2 = adf.util.GlobalEncodeField(ContactCity_c)
def myURL3 = adf.util.GlobalEncodeField(ContactState_c)
def myfinalURL = "http://maps.google.com/maps?hl=en&q=" + myURL1 + "+" + myURL2 + "+" + myURL3
return(myfinalURL)

 

ツリー・ノード: 説明

「販売アカウント・プロファイル」「パートナ」オブジェクトなど、一部のCRM標準オブジェクトは、ツリーを使用してその関連ページを表示します。オブジェクトの作業領域を構成するときは、オプションでそのオブジェクトのツリーにツリー・ノードを追加し、ツリー・ノード・データのソースを指定することによって、現在のオブジェクトに関連する詳細を表示することができます。ツリー・ノード・データは、他のオブジェクト、あるいは現在のOracle Fusion CRMアプリケーション以外のまったく別のソースから導出することができます。Oracle Fusion CRMアプリケーション・コンポーザのオブジェクトのページ概要ページから標準オブジェクトのツリーにツリー・ノードを追加します。

オブジェクトのツリーにツリー・ノードを追加するときは、事前にアプリケーション・コンポーザにおけるツリー・ノード作成プロセスについて次の点を確認してください。

注意

サブタブとツリー・ノードが、Oracle Fusion CRMアプリケーションがサポートする2つのマスター/詳細UIパターンです。

カスタム・オブジェクトの場合は、サブタブのみがサポートされます。

「販売アカウント・プロファイル」「パートナ」など、すでにツリー・ノードを使用している標準オブジェクトの場合は、追加の詳細も同じツリー・ノードのパターンを採用します。つまり、標準オブジェクトが関連ページの表示にツリーを使用すると、たとえば子オブジェクトや関連オブジェクトも、詳細ページのサブタブではなく、ツリー・ノードとして表示します。 サブタブの追加については、関連トピックで説明します。

ツリー・ノードの追加

オブジェクトのページ概要ページからオブジェクトのツリーにツリー・ノードを追加します。

オブジェクトのツリーへのツリー・ノードの追加:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーで「販売アカウント・プロファイル」または「パートナ」の標準オブジェクトを選択します。

  3. 「ページ」ノードを選択します。

    注意

    ツリー・ノードを追加できるのはトップ・レベル・オブジェクト「販売アカウント・プロファイル」と「パートナ」だけです。

  4. オブジェクトのツリーに1つまたは複数のツリー・ノードを作成するためにページ概要ページで「ツリー・ノードの作成」アイコンをクリックします。

  5. 追加したいツリー・ノードのタイプを選択します。

    オブジェクトのツリーに追加
したいツリー・ノードのタイプを選択するツリー・ノードの作成
ページ

子または関連オブジェクト・ツリー・ノード

関連は2つのオブジェクトの間の外部キーによる結び付きをさします。アプリケーション・コンポーザを使用すると、同じアプリケーション内の2つのオブジェクトの間に1対多の関連を作成することができます。関連が作成されたら、「1」のオブジェクトのツリーに表示されるツリー・ノードに「多」のオブジェクトを表示することができます。たとえば、1つのパートナに関連付けられる担当者が複数存在することがあります。特定のパートナに関連付けられた担当者のリストをそのパートナのツリーにツリー・ノードとして表示するには、まずそのパートナと担当者のオブジェクトの間に1対多の関連を作成しなければなりません。この場合、パートナがソース・オブジェクト、担当者がターゲット・オブジェクトになります。この関連では、担当者オブジェクトの表にパートナの識別子が追加されます。

アプリケーション・コンポーザでは、1つの子オブジェクトまたは3種類の関連オブジェクトのツリーにツリー・ノードを追加することができます。これにより、次の4種類の1対多の関連を作成することができます。 詳しくは、オブジェクト関連の関連トピックで説明しています。

既存のツリーへの子または関連オブジェクト・ツリー・ノードの追加:

  1. ページ概要ページで「ツリー・ノードの作成」アイコンをクリックします。

  2. 「子または関連オブジェクト」を選択します。

    子または
関連オブジェクト用に新しいツリー・ノードを構成するツリー・ノードの作成
ページ

  3. 「子または関連オブジェクト」ツリー・ノード構成ページでの操作:

    1. ツリー・ノード・カテゴリを選択し、ツリー・ノード・ラベルを入力します。

    2. ツリー・ノード・ページに表示されるすべての関連オブジェクトのリストから関連オブジェクトを選択します。

    3. 新しいツリー・ノードの位置を設定します。

    4. 必要に応じて、ランタイム時にツリー・ノードに表示される「新規」および「削除」ボタンを非表示にすることができます。

      子オブジェクトのツリー・ノードでは、必要に応じて「編集」ボタンも非表示にすることができます。

    5. 子オブジェクト・ツリー・ノードの場合は、ランタイム時にツリー・ノード・ページの要約表に権限管理ボタンを表示するかどうかを指定します。

      ランタイム時にユーザーがオブジェクト・レコードを選択してこのボタンをクリックすると、選択したレコードに対して別のユーザーが持つアクセス・レベルを指定することができます。

    6. ランタイム時にツリー・ノード・ページの要約表に表示したいフィールドとリンクを選択します。

      子オブジェクト・レコードまたは関連オブジェクト・レコードをリスト表示するメイン要約表についてフィールドとリンクを構成することができます。

    7. ランタイム時にツリー・ノード・ページに表示させたいボタンを選択します。

      注意

      このリージョンは、事前にこのオブジェクト用のボタンを作成していた場合にのみ表示されます。

      「販売アカウント・プロファイル」オブジェクトの場合は、ツリー・ノード・ページにボタンを追加することはできません。

    8. ランタイム時にツリー・ノード・ページの詳細フォームに表示させたいフィールドを選択します。

      要約表の下に表示される詳細フォームのフィールドを構成することができます。ツリー・ノードのオブジェクトが子オブジェクトなら、ユーザーはランタイム時にこの詳細フォームに子オブジェクト・データを入力することができます。 必須フィールドは必ずこのセクションに含めてください。

      ツリー・ノードのオブジェクトが関連オブジェクトなら、ユーザーはツリー・ノード・オブジェクトの既存のレコードをページのマスター・オブジェクトに関連付けることができます。ただし、新しい関連オブジェクトのレコードを作成するときは、ユーザーはそのオブジェクト自体の作成ページでそれを行わなければなりません。

コンテキスト・リンク・ツリー・ノード

コンテキスト・リンク・ツリー・ノードは任意のトップ・レベル・オブジェクトからのフィルタ処理されたレコードのリストを表示し、このフィルタは通常、現在のオブジェクトからのランタイム値に基づいています。オブジェクトは現在のオブジェクトに関連している必要はありません。コンテキスト・リンク・ツリー・ノード・ページは読取り専用です。

オブジェクトのツリーへのコンテキスト・リンク・ツリー・ノードの追加:

  1. ページ概要ページで「ツリー・ノードの作成」アイコンをクリックします。

  2. 「コンテキスト・リンク」を選択します。

    新しいコンテキスト・リンク・ツリー・ノードを構成するツリー・ノードの作成
ページ

  3. 「コンテキスト・リンク」ツリー・ノード構成ページでの操作:

    1. ツリー・ノード・カテゴリを選択し、ツリー・ノード・ラベルを入力します。

    2. ツリー・ノード・フィルタの名前を入力します。

    3. ツリー・ノード・ページに表示するオブジェクトを選択します。

    4. 新しいツリー・ノードの位置を設定します。

    5. 必要に応じて、選択したオブジェクトの検索基準のセットを使用して、ランタイム時に表示されるレコードのリストを、ランタイム値が現在のオブジェクトのレコードのランタイム値と一致するものに制約することができます。

      ヒント

      値はリテラル値、または現在のオブジェクトのレコードのランタイム値あるいは現在のオブジェクトの親レコードのランタイム値から導出された値になります。

      検索基準に固定選択リスト・フィールドが含まれていれば、参照コード内容ではなく、参照コードを使用して固定選択リストのランタイム値を指定しなければなりません。

    6. ランタイム時にツリー・ノード・ページの読取り専用の要約表に表示したいフィールドを選択します。

      子オブジェクト・レコードまたは関連オブジェクト・レコードをリスト表示するメイン要約表のフィールドを構成することができます。

    7. ランタイム時にツリー・ノード・ページの読取り専用の詳細フォームに表示させたいフィールドを選択します。

      要約表の下に表示される詳細フォームのフィールドを構成することができます。

Webコンテンツ・ツリー・ノード

Webコンテンツ・ツリー・ノード・ページは企業ページの上に外部Webサイトを表示します。Webコンテンツは、対象のURLを構築するように定義した式の結果です。

たとえば、担当者ツリー・ノード・ページでは、担当者の所在地を表示するGoogleマップを追加したい場合があるかもしれません。Google Maps APIはURLが一定の方式でフォーマットされていると想定します。この場合には、「担当者所在地」、担当者郡市区、担当者都道府県といったフィールドを使用して式を書きます。その上で、そのURLをGoogle Maps APIに渡します。

オブジェクトのツリーへのWebコンテンツ・ツリー・ノードの追加:

  1. オブジェクトのツリーに1つまたは複数のツリー・ノードを作成するためにページ概要ページで「ツリー・ノードの作成」アイコンをクリックします。

  2. 「Webコンテンツ」を選択します。

    新しいWebコンテンツ・ツリー・ノードを構成するツリー・ノードの作成
ページ

  3. Webコンテンツツリー・ノード構成ページでの操作:

    1. ツリー・ノード・カテゴリを選択し、ツリー・ノード・ラベルを入力します。

    2. 新しいツリー・ノードの位置を設定します。

    3. ツリー・ノード・ページのWebコンテンツを取得するURLを定義します。

      必要に応じて、式エディタを使用して必要なURL式を構築することができます。

構築する式は、次の条件を満たしていなければなりません。

次に例を示します。

def myURL1 = adf.util.GlobalEncodeField(ContactAddress_c)
def myURL2 = adf.util.GlobalEncodeField(ContactCity_c)
def myURL3 = adf.util.GlobalEncodeField(ContactState_c)
def myfinalURL = "http://maps.google.com/maps?hl=en&q=" + myURL1 + "+" + myURL2 + "+" + myURL3
return(myfinalURL)

 

ボタンおよびリンク: 説明

標準またはカスタム・オブジェクトの作業領域を構成するときは、作業領域の一定の場所にカスタム・ボタンまたはリンクを追加することができます。ボタンは、所定の動作の実行、またはユーザーのランタイム・アプリケーション内の別のページ、あるいはまったく別のWebサイトへのナビゲートを行うことができます。リンクは別のWebサイトへの切り換えを行います。Webサイトは、ユーザーのファイアウォールの内側にある場合もあれば、外側にある場合もあります。たとえば、概要ページから企業のWebサイトへ静的リンクを設けたい場合や、既存の「トラブル・チケット」が個別に管理したほうがよい、より深刻な「事件」にエスカレートしたときのように、要約表にボタンを設け、ユーザーがランタイム時にそれをクリックして、選択した行から新しいタイプのレコードを作成できるようにしたい場合に、ボタンやリンクを設けるときは、まずオブジェクトについてボタンまたはリンクを定義します。次に、Oracle Fusion CRMアプリケーション・コンポーザの作業領域構成ページを使用して、概要ページまたは詳細ページにボタンやリンクを追加します。

ボタンまたはリンクの追加

ボタンまたはリンクの作成ページからボタンまたはリンクを追加します。

ボタンまたはリンクの追加:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーで標準またはカスタム・オブジェクトを選択します。

  3. 「ボタンおよびリンク」ノードを選択します。

    ボタンまたはリンクを作成することができるボタンまたはリンクの作成
ページ

ボタン

ボタンを定義するときは、そのボタンがランタイム時にクリックされたら何をするかを指定します。そのために、ボタンのソースがURLかスクリプトかを示します。

ソースがURLであれば、静的URLをダブル・クォーテーション・マークで囲んで入力することができます。また、式エディタを使用してURLを定義すると、式エディタがこのオブジェクトのフィールドへのアクセスを提供し、URLの構築を支援します。このオブジェクトが親またはソース・オブジェクトとの関連を持つ場合は、オプションでコンテキストを変更し、別のオブジェクトのフィールドへアクセスしてURLを定義します。

ソースがスクリプトなら、「メソッド名」選択リストから事前定義されたオブジェクト関数を選択するか、式エディタを使用して新しいオブジェクト関数を作成することができます。

新しいボタンのソースがスクリプトの場合のボタンまたはリンクの作成
ページ

注意

ボタンに関連付けられるオブジェクト関数は、パラメータなしで、戻り値データ型がvoidでなければなりません。

オブジェクトについてボタンを定義したら、そのボタンをそのオブジェクトの作業領域の様々な場所へ追加することができます。

リンク

リンクを定義するときは、静的URLを入力するか、式エディタを使用してURLを構築することができます。

静的URLはダブル・クォーテーション・マークで囲んでください。また、式エディタを使用してURLを定義すると、式エディタがこのオブジェクトのフィールドへのアクセスを提供し、URLの構築を支援します。このオブジェクトが親またはソース・オブジェクトとの関連を持つ場合は、オプションでコンテキストを変更し、別のオブジェクトのフィールドへアクセスしてURLを定義します。

オブジェクトについてリンクを定義したら、そのリンクをそのオブジェクトの作業領域の様々な場所へ追加することができます。リンクは、フィールドを追加できるときはいつでも追加することができます。追加できる場所には、次のようなところがあります。

CRMオブジェクトに関する保存済検索: 説明

保存済検索は、ランタイム時にユーザーが標準またはカスタム・オブジェクトの概要ページに適用することができる事前定義された検索基準のセットです。概要ページは要約表で1つのオブジェクトに関する記録のリストを提示し、これがCRMアプリケーションでユーザーがデータを見て管理する出発点となります。ユーザーが特定のデータ・セット(たとえば、トップ10の商談)に特に強い関心を持つよう、そのオブジェクトについて保存済検索を定義することができます。ランタイム時に、ユーザーは「保存済検索」選択リストから1つの「保存済検索」を選択し、要約表に表示されるレコードのリストを絞り込むことができます。また、新しい保存済検索を作成し、保存済検索のリストをパーソナライズすることもできます。

CRMオブジェクトの保存済検索を定義するときは、事前にOracle Fusion CRMアプリケーション・コンポーザにおける保存済検索定義のプロセスについて次の点を確認してください。

ランタイム時の保存済検索

保存済検索のリストは、概要ページの要約表の上の「保存済検索」選択リストで見ることができます。

保存済検索のリストには、管理者が定義した保存済検索のほかに、ユーザーがパーソナライズを使用して自分で定義した個人的な保存済検索も含まれています。保存済検索はアルファベット順に表示され、パーソナライズしたものはあとに表示されます。

管理者があるオブジェクトについて定義した保存済検索は、そのオブジェクトの概要ページへの機能的セキュリティ・アクセスを持つユーザーおよびロールなら、誰でも使用可能です。

保存済検索の定義

あるオブジェクトに関する保存済検索は、そのオブジェクトの保存済検索の作成ページで定義します。ランタイムCRMアプリケーションでは、トップ・レベル・オブジェクトだけが概要ページを持つので、保存済検索はトップ・レベル・オブジェクトについてのみ定義されます。

オブジェクトの保存済検索の定義:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーで標準またはカスタム・オブジェクトを選択します。

  3. 「保存済検索」ノードを選択します。

  4. オブジェクトの保存済検索の作成ページで、保存済検索の表示ラベルを入力します。

    表示ラベルは「保存済検索」選択リストに表示されるラベルです。

  5. 保存済検索の内部名と摘要を入力します。

    名前は、指定した表示ラベルに基づき、スペースをアンダースコアに置き換えて、自動的に生成されます。たとえば、「Top Ten Opportunities」と指定すると、自動的に「Top_Ten_Opportunities」として移入されます。

  6. 含めたい検索基準を指定します。

    検索条件は、次の基準を使用して、最大4つまで入力することができます。

カスタム・オブジェクトの保護: 説明

カスタム・オブジェクトとフィールドを作成したら、次にそれをユーザーが見る企業ページに表示させます。そこで必要になるのが、ランタイム時にオブジェクトのデータにアクセスする権限の管理です。デフォルトでは、オブジェクトとそのレコードはアプリケーションで指定されたデフォルト職務ロールしか見ることも編集することもできません。追加のアクセス権は、Oracle Fusion CRMアプリケーション・コンポーザのセキュリティ・ポリシー構成ページを使用して手動で設定します。セキュリティ・ポリシーは、オブジェクトのデータにアクセスする権限を持つユーザー、および彼らに認められたアクセスのタイプを指定します。たとえば、あるユーザーは表示専用のアクセスを認められているのか、それとも、オブジェクトのレコードを作成、更新することも認められているのか、ということです。オブジェクトのセキュリティ・ポリシーは、ユーザーが属するロールにそのオブジェクトのデータにアクセスできる権限を与えることによって定義します。あるいは、複数のカスタム・オブジェクトにわたってアクセス・レベルを指定することによって、ロールについてのセキュリティ・ポリシーを定義します。

セキュリティ・ポリシーを定義するときは、事前にアプリケーション・コンポーザにおけるカスタム・オブジェクト・セキュリティ・プロセスについて次の点を確認してください。

オブジェクトの保護

オブジェクト中心のポリシーの定義ページは、特定のCRM職務ロールにマップする企業レベルの職務ロールのリストを表示します。このページを使用して、1つまたは複数の職務ロールについてセキュリティ・ポリシーを指定することにより、トップ・レベルまたは子カスタム・オブジェクトへのアクセスを管理します。これを行うと、対応するロールを持つユーザーは、定義したセキュリティ・ポリシーに応じてカスタム・オブジェクトとそのデータにアクセスすることができます。

オブジェクト中心のポリシーの定義ページへのアクセス:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. オブジェクト・ツリーでカスタム・オブジェクトを選択します。

  3. 「セキュリティ」ノードを選択します。

    あるいは、ロール中心のポリシーの定義ページから、カスタム・オブジェクトを選択します。

    特定のCRM職務ロールにマップする企業レベルの
職務ロールのリストを表示するオブジェクト中心の
ポリシーの定義ページ

オブジェクト中心のポリシーの定義ページからは、次のことができます。

ロールの保護

ロール・セキュリティページは、特定のCRM職務ロールにマップする企業レベルの職務ロールのリストを表示します。ロールを選択して「ポリシーの定義」ボタンをクリックし、CRM実装用のカスタム・オブジェクトのリストを表示するロール中心のポリシーの定義ページにナビゲートします。 このページを使用して、1つまたは複数のトップ・レベルまたは子カスタム・オブジェクトについてセキュリティ・ポリシーを指定することにより、対応するロールを持つユーザーのアクセスを管理します。これを行うと、対応するロールを持つユーザーは、定義したセキュリティ・ポリシーに応じてカスタム・オブジェクトと関連データにアクセスすることができます。

ロール中心のポリシーの定義ページへのアクセス:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. 「共通設定」ペインで「ロール・セキュリティ」ノードを選択します。

    あるいは、主要「概要」ページのローカル領域でロール・セキュリティハイパーリンクを選択します。

    あるいは、オブジェクト中心のポリシーの定義ページからロールを選択します。

    特定のCRM職務ロールにマップする
企業レベルの職務ロールのリストを表示するロール・セキュリティ
ページ

  3. 「ポリシーの定義」ボタンをクリックします。

    CRM実装用の
カスタム・オブジェクトのリストを表示するロール中心の
ポリシーの定義ページ

ロール中心のポリシーの定義ページからは、次のことができます。

機能セキュリティとデータ・セキュリティの有効化

セキュリティ・ポリシーは、対応するロールを持つユーザーがあるオブジェクトとそのレコードに対して持つアクセスのタイプを指定します。アクセスには、機能セキュリティのほかにデータ・セキュリティも含まれます。セキュリティ設定は、セキュリティ・ポリシーをオブジェクトについて定義しても、ロールについて定義しても、同じです。

ポリシーの定義ページでは、表の最初の4列が機能セキュリティを管理し、全体としてオブジェクトに適用されます。

表の次の4列はデータ・セキュリティを管理します。

ヒント

「すべて表示」またはすべて更新をクリックすると、それに対応する「表示」「更新」の機能セキュリティ・チェック・ボックスが自動的に選択されます。

ページがリフレッシュするのを待ち、すべての選択を確認します。

最後の列には「アクセス権の付与」チェック・ボックスがあります。 ランタイム時には、このチェック・ボックスの選択でオブジェクトの集約表の権限管理ボタンの表示を制御します。 ランタイム時に、対応するロール(または管理ロール)を持つユーザーがオブジェクト・レコードを選択してこのボタンをクリックすると、選択したレコードに対して別のユーザーが持つアクセス・レベルを指定することができます。

注意

ランタイム時にユーザーにレコードを表示または更新させるためには、オブジェクトについて機能セキュリティとともにデータ・セキュリティも有効にしなければなりません。ユーザーにレコードを作成させるためには、機能セキュリティを有効にするだけで十分です。ユーザーにレコードを削除させるためには、「アクセス権の付与」チェック・ボックスとランタイム権限管理ボタンを利用してユーザーにインスタンス・レベルの削除特権を付与しなければなりません。

CRMアプリケーション・コンポーザとOracle Authorization Policy Manager(APM)

Oracle Authorization Policy Manager(APM)は、Oracle Fusionのアプリケーション全般にわたり、ロールに基づいてアクセスを制御するセキュリティ・ポリシーを管理します。しかし、アプリケーション・コンポーザのオブジェクト中心およびロール中心ポリシーの定義ページでは、カスタム・オブジェクトについてセキュリティ・ポリシーを定義します。 これはAPMの対象外です。

APMの対象外のセキュリティ・ポリシーを定義するため、このセキュリティ・ポリシーは後でAPM内で修正することはできません。このため、カスタム・オブジェクトに関するセキュリティ・ポリシーはすべてアプリケーション・コンポーザだけを使用して修正します。

デフォルト・セキュリティ設定

デフォルトでは、トップ・レベル・カスタム・オブジェクトは、いずれかのCRMアプリケーションでデフォルト職務ロールを指定されたユーザーにしか、表示、編集することはできません。その他の職務ロールには、必要に応じて、手動で追加のアクセス権を付与しなければなりません。たとえば、Oracle Fusion Salesでカスタム・オブジェクトを作成した場合は、自動的にそのオブジェクトへのアクセスを認められるのはSalesでデフォルト職務ロールを指定されたユーザーだけになります。このため、ユーザーに生産環境の中で正式にカスタマイゼーションへのアクセスを認める前に、まず自分でオブジェクトとそのページにアクセスし、テストを行ってください。

この表は、CRMアプリケーションによって提供されるデフォルト職務ロールを示しています。


アプリケーション

デフォルト職務ロール

Oracle Fusion Customer Center

営業管理者職務

マーケティング運用マネージャ職務

Oracle Fusion Marketing

マーケティング運用マネージャ職務

Oracle Fusion Sales

営業管理者職務

子オブジェクトは親オブジェクトからセキュリティ設定を継承しません。カスタム子オブジェクトを作成した場合には、デフォルトの職務ロールのセットにその子オブジェクトへのアクセス権が認められます。つまり、子オブジェクトは次のようなデフォルトの職務ロールを持つユーザーにしか、表示、編集することはできません。


アプリケーション

子オブジェクトが属する親オブジェクト

アクセス権を付与される職務ロール

Oracle Fusion Customer Center

販売アカウント・プロファイル

営業管理者職務

マーケティング運用マネージャ職務

Oracle Fusion Marketing

営業引合

マーケティング運用マネージャ職務

営業管理者職務

チャネル運用マネージャ職務

Oracle Fusion Marketing

マーケティング・キャンペーン

マーケティング応答

マーケティング・リスト

マーケティング取扱い

マーケティング・イベント・アクティビティ

マーケティング広告活動

マーケティング運用マネージャ職務

Oracle Fusion Marketing

マーケティング予算

マーケティング請求

マーケティング予算エントリ

マーケティング予算資金要求

マーケティング運用マネージャ職務

チャネル運用マネージャ職務

Oracle Fusion Sales

商談

販売競合相手

営業管理者職務

Oracle Fusion Sales

パートナ

チャネル運用マネージャ職務

Oracle Fusion Common CRM

取引先コミュニティ組織担当者

取引先コミュニティ・リソース・プロファイル

取引先コミュニティ組織プロファイル

取引先コミュニティ所在地

顧客データ・スチュワード職務

Groovyスクリプト: 説明

Groovyは、Oracle Fusion CRMアプリケーション・コンポーザが深くサポートしているJavaプラットフォーム用の標準的な動的スクリプト言語です。この項では、アプリケーション・コンポーザを通してアプリケーションのカスタマイゼーションの質の向上にお役立ていただけるように、Groovyスクリプトの概略を説明します。

Groovyスクリプトをアプリケーションのカスタマイゼーションでご使用になる前に、次のトピックに目を通してください。

関連トピック「Groovyスクリプト: 例」も参照し、書ける各種のGroovyスクリプトの例を確認してください。

詳しくは、My Oracle Support(https://support.oracle.com)の「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」をご覧ください。

用語の説明

このドキュメントでは、全般にターム・スクリプトを使用してランタイム時にOracle ADFフレームワークが実行する1行または複数行のGroovyコードを記述しています。ひたすら短いスクリプトが求められることもよくあります。

たとえば、CommissionPercentageフィールドの値が40%を超えないことを検証するときは、次のような1行スクリプトを使用することがあります。

return CommissionPercentage < 0.40

 

実際には、returnキーワードは常にスクリプトの最終行に暗示されるので、この1行スクリプトは、returnキーワードを省略してうまく短縮することができます。

CommissionPercentage < 0.40

 

これよりやや複雑なロジックでは、スクリプトが条件付き処理を求めることがあります。たとえば、手数料比率の上限を営業担当の職務等級が3以下のときは40%とするが、それ以上のときは60%とするとします。スクリプトは次のように少し長くなります。

if (JobGrade <= 3) {
  return CommissionPercentage < 0.40
}
else {
  return CommissionPercentage < 0.60
}

 

複雑な検証ルールや再利用可能な関数のような他の目的のために書くスクリプトは、ニーズによっては複数ページにまたがることがあります。

Groovyスクリプトを必要とするコンテキストが通常は短い(多くの場合1行の)スクリプトを使用するときは、それを式と呼んで、そのことを強調しますが、基本的にターム・スクリプトと式は置き換え可能なものです。1行式が使用できるところは、常に必要が生じたときに複数行のスクリプトを使用するコンテキストとしても有効です。短い式、複数行のスクリプトに限らず、自由に使用できるシンタックスや機能は変わりません。自分のコードがそれを使用するコンテキストに対して適切なタイプの値を返すことだけに注意を払っていればよいのです。次の各セクションでは、問題のスクリプトに対する期待戻り値データ型を中心に見ていきます。

アプリケーションでGroovyを使用する場合

既存のオブジェクトをカスタマイズしたり、新しいカスタム・オブジェクトを作成したりしていると、様々なコンテキストでGroovyスクリプトを使用する場面があります。

次のようなことを行う式を与えるときは、より短いスクリプトを書きます。

次のようなものを定義するときは、一般にやや長めのスクリプトを書きます。

複数の異なるコンテキストから同じコードを呼び出すことが予想されれば、グローバル関数またはオブジェクト関数の中に再利用可能なコードを書き、それをいずれかのスクリプトで呼び出すことができます。「グローバル」という名前からわかるように、この関数はいかなるオブジェクトのスクリプトからも、また、他のグローバル関数からも呼び出すことができます。オブジェクト関数は、同じオブジェクトの中のスクリプトによって呼び出すことができ、ユーザー・インタフェースのボタンでもトリガーすることができます。

これらの用法の具体的な例については、関連トピック「Groovyスクリプト: 例」を参照してください。

Groovyスクリプト: 例

Groovyは、Oracle Fusion CRMアプリケーション・コンポーザが深くサポートしているJavaプラットフォーム用の標準的な動的スクリプト言語です。アプリケーション・コンポーザを通してGroovyを使用すると、アプリケーションのカスタマイゼーションの質を向上させることができます。この項では、アプリケーションでサポートされている様々なコンテキストの中でのGroovyの簡単な使用例を紹介します。

カスタム算式フィールドの値を計算する式を与える

集計フィールド、またはオプションの初期集計値を持つ過渡値ホルダを必要としている場合は、算式フィールドを使用します。

1. 読取り専用の集計フィールドの場合

算式フィールドはデフォルトで読取り専用の集計フィールドになっています。与えた計算式のランタイム評価の結果の値を表示します。フィールド作成または編集ページの「依存」マルチセレクト・リストを使用すると、式が依存するフィールドの名前を設定することができます。それにより、集計値は依存フィールドの値が変化すれば、動的に更新されるようになります。 算式フィールドの式の期待戻り値データ型は、指定した算式フィールド・タイプ(数値、日付、テキスト)と対応していなければなりません。

たとえば、カスタムのTroubleTicketオブジェクトを考えてみましょう。DaysOpenという算式フィールドを追加すると、次の式で集計値を与えることができます。

(today() - CreationDate) as Integer /* truncate to whole number of days */

 

2. オプションの集計された初期値を持つ過渡値ホルダの場合

エンド・ユーザーが集計値を上書きできるようにしたいときは、算式を更新可能にします。更新可能な算式フィールドは、ユーザーが上書きするまで式がフィールドの値を与える「過渡値ホルダ」です。ユーザーが値を上書きすれば、オブジェクトは現在のトランザクションの間そのユーザーが入力した値を記憶し、検証ルールやトリガーが参照できるようにします。更新可能な算式フィールドに1つまたは複数の依存フィールドを設定した場合は、依存フィールドのいずれかの値が変化すると、算式の値は集計値に戻ることに注意してください。ユーザーが値を入力するまで初期値がnullの過渡値フィールドにしたい場合は、単に更新可能な算式にフィールドに算式を与えないようにします。

カスタム・フィールドのデフォルト値を計算する式を与える

あるオブジェクトについて新しい行を作成したときは、デフォルト値を設定しないかぎり、カスタム・フィールドの値はデフォルトでnullになります。 適切なタイプのリテラル・デフォルト値、あるいは新しい行のデフォルト値を計算する式を与えることができます。 デフォルト値の式は新しい行が作成されたときに評価されます。フィールドのデフォルト値の式の期待戻り値データ型は、フィールドのタイプ(数値、日付、テキストなど)に対応していなければなりません。

たとえば、TroubleTicketオブジェクトでは、カスタムのCallbackDateフィールドを検討します。作成3日後に新しいトラブル・チケットに関するコールバックをデフォルトに戻したい場合は、次のようなデフォルト式を与えることができます。

CreationDate + 3

 

カスタム・フィールドを条件付きで更新可能にする式を与える

1. カスタム・フィールドを条件付き更新可能にする式を与えるには:

カスタム・フィールドは更新可能または読取り専用にすることができます。デフォルトでは、算式フィールド以外のフィールドはすべて更新可能です。また、条件付きで更新可能な式を設定することもできます。その場合は、そのフィールドを表示しているページがレンダリングまたはリフレッシュされるたびに評価が行われます。この式の期待戻り値データ型はbooleanです。1つのフィールドに1つの式を定義する場合は、依存リストを設定し、条件付き更新可能な式が依存するフィールドの名前を指定することもできます。これにより、条件付き更新可能なフィールドは、ユーザーがその条件付き更新可能な式が依存するフィールドの値を変えたときに、適宜、インタラクティブに有効、無効を切り換えます。

たとえば、「ステータス」「調整」のフィールドを持つカスタムのTroubleTicketオブジェクトを考えてみます。ユーザーが処理済トラブル・チケットの調整フィールドを編集するのを防ぎたいとします。これを行うためには、「調整」フィールドの条件付き更新可能な式を次のように設定します。

Status_c != 'Closed'

 

この式を設定したら、次にMy Oracle Support(https://support.oracle.com)の「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の「Understanding When to Configure Field Dependencies」の説明に従って「調整」フィールドが「ステータス」フィールドに依存することを指定しなければなりません。これにより、トラブル・チケットが処理済になったとき、あるいは処理済のトラブル・チケットが再びオープンにされたときに、適宜、「調整」フィールドが有効または無効になるようになります。

ヒント

条件付き更新可能な式で構成されたフィールドは、Webユーザー・インタフェースを介した場合にのみ、その条件付き更新可能性を強制します。 Webサービスのアクセスに対しても強制力を持たせる方法については、「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の「Enforcing Conditional Updateability of Custom Fields for Web Service Access」を参照してください。

2. カスタム・フィールドを条件付きで必須にする式を与えるには

カスタム・フィールドはオプションにも必須にもすることができます。 デフォルトでは、オプションになっています。 また、条件付きで必須にする式を設定することもできます。 その場合は、そのフィールドを表示しているページがレンダリングまたはリフレッシュされるたび、また、オブジェクトが検証されたときに評価が行われます。この式の期待戻り値データ型はbooleanです。1つのフィールドに1つの式を定義する場合は、依存リストを設定し、 条件付き更新可能な式が依存するフィールドの名前を指定することもできます。 これにより、条件付き必須フィールドは、ユーザーがその条件付き必須式が依存するフィールドの値を変えたときに、適宜、インタラクティブに必須であることを示す表示の表示、非表示を切り換えます。

たとえば、「優先度」「調整」のフィールドを持つカスタムのTroubleTicketオブジェクトを考えてみましょう。 優先度は1〜5の整数で表し、1が解決しなければならない問題の種類が最も重大だとしましょう。優先度1または2のトラブル・チケットに調整が必要であることを強制するには、この「調整」フィールドの条件付き必須式を次のように構成します。

Priority_c <= 2

 

この式を設定したら、次に「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の「Understanding When to Configure Field Dependencies」の説明に従って「調整」フィールドが「優先度」フィールドに依存することを指定しなければなりません。これにより、優先度2以上のトラブル・チケットが作成されたとき、あるいは、既存のトラブル・チケットの優先度が3から2に上がったときには、「調整」フィールドが必須になります。

フィールド・レベルの検証ルールの定義

1. フィールド・レベルの検証ルールを定義するには

フィールド・レベルの検証ルールは、標準またはカスタム・フィールドに定義することができる制約です。対応するフィールドに値がセットされるたびに評価が行われます。ルールが実行されるときは、フィールドにはまだ値が割り当てられておらず、このルールが割当成功を見届けるゲートキーパーとなります。記述する式(または長いスクリプト)は、値が有効かどうかを示すboolean値を返さなければなりません。ルールがtrueを返し、同じフィールドの他のフィールド・レベル・ルールもすべてtrueを返せば、フィールド割り当ては成功となります。ルールがfalseを返せば、それでフィールド割り当ては発生せず、無効なフィールドがUI上でハイライト表示され、事前に設定されていたエラー・メッセージがエンド・ユーザーに表示されます。この場合、割り当ては失敗となるので、フィールドは現在の値(それまでの値がnullなら、おそらくnull)を保持しますが、WebページのUIコンポーネントがユーザーに無効入力を確認して訂正し、もう一度試行することを認めます。スクリプトはキーワードnewValueを使用して、検証に合格したら割り当てられる新しい値を参照します。既存のフィールド値を参照するには、キーワードoldValueを使用します。フィールド・レベル・ルールは、強制するルールがセットされる新しい値にのみ依存しているときに適切なものになります。キーワードnewValueoldValueを挿入するには、式パレットの「キーワード」タブを利用することができます。

たとえば、「優先度」フィールドを持つカスタムのTroubleTicketオブジェクトを考えてみます。入力された数値が1〜5の整数であることを検証するため、フィールド・レベル検証ルールは次のようにします。


フィールド・レベル検証ルールのコンポーネント

フィールド名

優先度

ルール名

Validate_Priority_Range

ルール記述

newValue == null || (1..5).contains(newValue as Integer)

 

エラー・メッセージ

優先度は1〜5の範囲でなければなりません。

ヒント

フィールドAの検証ルールが他の1つまたは複数のフィールド(たとえば、YZなど)の値に依存しているときは、「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の「Setting Invalid Fields for the UI in an Object-Level Validation Rule」の説明に従って、オブジェクト・レベルのルールと、プログラムによってユーザーにどのフィールドの値が無効かを表示する信号を作成します。

2. オブジェクト・レベルの検証ルールを定義するには

オブジェクト・レベルの検証ルールは、いかなる標準またはカスタム・オブジェクトについても定義することができる制約です。 フレームワークがオブジェクトの検証を試みるたびに評価が行われます。これは、1つの行から別の行へナビゲートするときや、オブジェクトへの変更が保存されるときに、Webフォームで変更が発行されると、実行されます。オブジェクト・レベルのルールを使用してオブジェクト内の複数のフィールドに依存する条件を強制します。これにより、ユーザーが値を割り当てる順序にかかわらず、ルールは一貫して強制されます。記述する式(または長いスクリプト)は、値が有効かどうかを示すboolean値を返さなければなりません。ルールがtrueを返し、同じオブジェクトの他のオブジェクト・レベル・ルールもすべてtrueを返せば、オブジェクト検証は成功となります。ルールがfalseを返せば、それでオブジェクトの保存は阻止され、事前に設定されていたエラー・メッセージがエンド・ユーザーに表示されます。

たとえば、「優先度」「割当先」のフィールドを持つTroubleTicketオブジェクトがあり、後者のフィールドは「タイプ」フィールドがスタッフ・メンバー「担当者」オブジェクトを参照する動的選択リストだったとします。優先度1または2のトラブル・チケットはスタッフ・メンバーに割り当てられないと保存できないようになっていることを検証するオブジェクト・レベルのルールは次のようになります。


オブジェクト・レベル検証ルール・コンポーネント

ルール名

Validate_High_Priority_Ticket_Has_Owner

ルール記述

 // Rule depends on two fields, so must be written as object-level rule
if (Priority_c <= 2 && AssignedTo_Id_c == null) {
  // Signal to highlight the AssignedTo field on the UI as being in error
  adf.error.addAttribute('AssignedTo_c')
  return false;
}
return true; 

 

エラー・メッセージ

優先度1または2のトラブル・チケットはスタッフ・メンバーを割り当てなければなりません。

グローバル関数の中のユーティリティ・コードの定義

グローバル関数は複数のオブジェクトが共有を望むコードに有効です。グローバル関数を呼び出すには、関数名にadf.util.の接頭辞を付けます。 関数を定義するときは、戻り値を指定し、オプションでcallerが起動時にパスインすることを求められる型付きパラメータを1つまたは複数指定することもできます。関数戻り値やパラメータの型で最も一般的なものには、次のようなものがあります。

さらに、関数は戻り値がないことを示す戻り値データ型voidも定義することができます。

注意

グローバル関数は、現在のオブジェクトのコンテキストを持ちません。特定のオブジェクトに対して機能するグローバル関数を書くには、「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の「Passing the Current Object to a Global Function」を参照してください。

たとえば、次の2つのグローバル関数は、Groovyスクリプトのブロックの始まりをログしたり、診断メッセージをログしたりする標準的なヘルパー・ルーチンを定義します。「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の例では、それらを利用しています。

この表は、Groovyスクリプトのブロックの始まりをログするグローバル関数の設定方法を示しています。


グローバル関数コンポーネント

関数名

logStart

戻り値データ型

void

パラメータ

  • 名前: scriptName

  • タイプ: String

関数定義

// Log the name of the script
println("[In: ${scriptName}]")

 

この表は、診断メッセージをログするグローバル関数の設定方法を示しています。


グローバル関数コンポーネント

関数名

log

戻り値データ型

void

パラメータ

  • 名前: message

  • タイプ: String

関数定義

// Log the message, could add other info
println(message)

 

オブジェクト関数の中の再利用可能な動作の定義

オブジェクト関数は、あるオブジェクトに特定のビジネス・ロジックを閉じ込めるコードに有効です。オブジェクト関数は、同じオブジェクトに関連する他の任意のスクリプト・コードから、名前で呼び出すことができます。さらに、ユーザー・インタフェースのボタンまたはリンクでも起動することができます。サポートされる戻り値データ型やオプションのパラメータ型は(前述の)グローバル関数と同じです。

たとえば、「担当者」カスタム・オブジェクトについて下記のようなupdateOpenTroubleTicketCount()オブジェクト関数を定義することができます。これは、診断メッセージを標準的なフォーマットでログし、カスタムGroovyスクリプトのブロックの始まりを合図する前記のlogStart()グローバル関数を呼び出すことによって始まります。 これは、(「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の「Accessing the View Object for Programmatic Access to Business Objects」に紹介されている)newView()組込み関数を呼び出し、トラブル・チケットのプログラムによるアクセスのための表示オブジェクトにアクセスし、また別の(「Developer's Guide to Scripting in Oracle Fusion CRM Application Composer」の「Simplifying Most Common View Criteria Creation with a Global Function」に紹介されている)グローバル関数applyFilter()を呼び出し、フィルタをかけて、現在の担当者のIDに関連し、現在のステータスが処理中または「待機中」のトラブル・チケットを検索します。そして最後に、getEstimatedRowCount()を呼び出し、フィルター基準に合致するトラブル・チケットの数を取得します。

この表は、「担当者」カスタム・オブジェクトに関するupdateOpenTroubleTicketCount()オブジェクト関数の設定を示しています。


オブジェクト関数コンポーネント

関数名

updateOpenTroubleTicketCount

戻り値データ型

void

パラメータ

なし

関数定義

adf.util.logStart('updateOpenTroubleTicketCount')
// Access the view object for TroubleTicket programmatic access
def tickets = newView('TroubleTicket_c')
// Use a global function to apply a query filter to Trouble Ticket
// view object where Contact_Id = Id of current Contact and
// Status is either 'Working' or 'Waiting'
adf.util.applyFilter(tickets,[Status_c:['Working','Waiting'],
                              Contact_Id__c:Id])
// Update OpenTroubleTickets field value
setAttribute('OpenTroubleTickets_c',tickets.getEstimatedRowCount())

 

デフォルト処理を補完するトリガーの定義

トリガーは、標準またはカスタム・オブジェクトに関するデフォルト処理ロジックを補完するために書くことができるスクリプトです。 次のようなトリガーが使用可能です。

たとえば、トラブル・チケットが作成または修正されるたびに必ず更新を求められるOpenTroubleTicketsフィールドを持つ「担当者」オブジェクトを考えてみます。TroubleTicketオブジェクトに前述のupdateOpenTroubleTicketCount()オブジェクト関数を起動する次の2つのトリガーを作成することができます。

この表は、TroubleTicketオブジェクトに関するトリガーの設定を示しています。


トリガー・コンポーネント

トリガー・オブジェクト

TroubleTicket

トリガー

After Insert In Database

トリガー名

After_Insert_Set_Open_Trouble_Tickets

トリガー定義

adf.util.logStart('After_Insert_Set_Open_Trouble_Tickets')
// Get the related contact for this trouble ticket
def relatedContact = Contact_Obj_c
// Update its OpenTroubleTickets field value
relatedContact?.updateOpenTroubleTicketCount()

 

この表は、TroubleTicketオブジェクトに関するトリガーの設定方法を示しています。


トリガー・コンポーネント

トリガー・オブジェクト

TroubleTicket

トリガー

After Update In Database

トリガー名

After_Update_Set_Open_Trouble_Tickets

トリガー定義

// Get the related contact for this trouble ticket
def relatedContact = Contact_Obj_c
// Update its OpenTroubleTickets field value
relatedContact?.updateOpenTroubleTicketCount()

 

Groovyスクリプトでサポートされているクラスとメソッド: 説明

Groovyは、Oracle Fusion CRMアプリケーション・コンポーザが深くサポートしているJavaプラットフォーム用の標準的な動的スクリプト言語です。この項では、Groovyスクリプトでサポートされているクラスとメソッドを紹介します。

クラスとメソッド

Groovyスクリプトを書くときは、下表にまとめたクラスやメソッドだけをご使用ください。ほかのクラスやメソッドを使用しても最初はうまくいくかもしれませんが、いずれコードを新しいバージョンに移すとき、実行時例外をスローすることになります。このため、Groovyコードはここに示したクラスやメソッドを忠実に守って書くことを強くお勧めいたします。どのクラスについても、表に示したメソッド名のほか、次のメソッドも許容されています。

一方、次のメソッドはどのオブジェクトについても認められていません。


クラス名

使用可能メソッド

パッケージ

ADFContext

getLocale()

getSecurityContext()

getUserRoles()

isUserInRole()

oracle.adf.share

Array

任意のコンストラクタ

任意のメソッド

java.sql

Array

getArray()

getElemType()

getList()

oracle.jbo.domain

ArrayList

任意のコンストラクタ

任意のメソッド

java.util

Arrays

任意のコンストラクタ

任意のメソッド

java.util

AttributeDef

getAttributeKind()

getIndex()

getJavaType()

getName()

getPrecision()

getProperty()

getScale()

getUIHelper()

getUpdateableFlag()

isMandatory()

isQueriable()

oracle.jbo

AttributeHints

getControlType()

getDisplayHeight()

getDisplayHint()

getDisplayWidth()

getFormat()

getFormattedAttribute()

getFormatter()

getFormatterClassName()

getHint()

getLocaleName()

parseFormattedAttribute()

oracle.jbo

AttributeList

getAttribute()

getAttributeIndexOf()

getAttributeNames()

setAttribute()

oracle.jbo

BaseLobDomain

closeCharacterStream()

closeInputStream()

closeOutputStream()

getInputStream()

getLength()

getOutputStream()

getcharacterStream()

oracle.jbo.domain

BigDecimal

任意のコンストラクタ

任意のメソッド

java.math

BigInteger

任意のコンストラクタ

任意のメソッド

java.math

BitSet

任意のコンストラクタ

任意のメソッド

java.util

Blob

任意のコンストラクタ

任意のメソッド

java.sql

BlobDomain

任意のコンストラクタ

getBinaryOutputStream()

getBinaryStream()

getBufferSize()

oracle.jbo.domain

Boolean

任意のコンストラクタ

任意のメソッド

java.lang

Byte

任意のコンストラクタ

任意のメソッド

java.lang

Calendar

任意のコンストラクタ

任意のメソッド

java.util

Char

任意のコンストラクタ

bigDecimalValue()

bigIntegerValue()

booleanValue()

doubleValue()

floatValue()

getValue()

intValue()

longValue()

oracle.jbo.domain

Clob

任意のコンストラクタ

任意のメソッド

java.sql

ClobDomain

任意のコンストラクタ

toCharArray()

oracle.jbo.domain

Collection

任意のコンストラクタ

任意のメソッド

java.util

Comparator

任意のコンストラクタ

任意のメソッド

java.util

Currency

任意のコンストラクタ

任意のメソッド

java.util

DBSequence

任意のコンストラクタ

getValue()

oracle.jbo.domain

Date

任意のコンストラクタ

任意のメソッド

java.util

Date

任意のコンストラクタ

任意のメソッド

java.sql

Date

任意のコンストラクタ

compareTo()

dateValue()

getValue()

stringValue()

timeValue()

timestampValue()

oracle.jbo.domain

Dictionary

任意のコンストラクタ

任意のメソッド

java.util

Double

任意のコンストラクタ

任意のメソッド

java.lang

Enum

任意のコンストラクタ

任意のメソッド

java.lang

EnumMap

任意のコンストラクタ

任意のメソッド

java.util

EnumSet

任意のコンストラクタ

任意のメソッド

java.util

Enumeration

任意のコンストラクタ

任意のメソッド

java.util

EventListener

任意のコンストラクタ

任意のメソッド

java.util

EventListenerProxy

任意のコンストラクタ

任意のメソッド

java.util

EventObject

任意のコンストラクタ

任意のメソッド

java.util

Exception

任意のコンストラクタ

任意のメソッド

java.lang

ExprValueErrorHandler

addAttribute()

clearAttributes()

raise()

raiseLater()

warn()

oracle.jbo

Float

任意のコンストラクタ

任意のメソッド

java.lang

Formattable

任意のコンストラクタ

任意のメソッド

java.util

FormattableFlags

任意のコンストラクタ

任意のメソッド

java.util

Formatter

任意のコンストラクタ

任意のメソッド

java.util

GregorianCalendar

任意のコンストラクタ

任意のメソッド

java.util

HashMap

任意のコンストラクタ

任意のメソッド

java.util

HashSet

任意のコンストラクタ

任意のメソッド

java.util

Hashtable

任意のコンストラクタ

任意のメソッド

java.util

IdentityHashMap

任意のコンストラクタ

任意のメソッド

java.util

Integer

任意のコンストラクタ

任意のメソッド

java.lang

Iterator

任意のコンストラクタ

任意のメソッド

java.util

JboException

getDetails()

getErrorCode()

getErrorParameters()

getLocalizedMessage()

getMessage()

getProductCode()

getProperty()

oracle.jbo

JboWarning

任意のコンストラクタ

getDetails()

getErrorCode()

getErrorParameters()

getLocalizedMessage()

getMessage()

getProductCode()

getProperty()

oracle.jbo

Key

toStringFormat()

oracle.jbo

LinkedHashMap

任意のコンストラクタ

任意のメソッド

java.util

LinkedHashSet

任意のコンストラクタ

任意のメソッド

java.util

LinkedList

任意のコンストラクタ

任意のメソッド

java.util

List

任意のコンストラクタ

任意のメソッド

java.util

ListIterator

任意のコンストラクタ

任意のメソッド

java.util

ListResourceBundle

任意のコンストラクタ

任意のメソッド

java.util

Locale

任意のコンストラクタ

任意のメソッド

java.util

Long

任意のコンストラクタ

任意のメソッド

java.lang

Map

任意のコンストラクタ

任意のメソッド

java.util

Math

任意のコンストラクタ

任意のメソッド

java.lang

MathContext

任意のコンストラクタ

任意のメソッド

java.math

NClob

任意のコンストラクタ

任意のメソッド

java.sql

NameValuePairs

任意のコンストラクタ

getAttribute()

getAttributeIndexOf()

getAttributeNames()

setAttribute()

oracle.jbo

NativeTypeDomainInterface

getNativeObject()

oracle.jbo.domain

Number

任意のコンストラクタ

bigDecimalValue()

bigIntegerValue()

booleanValue()

byteValue()

doubleValue()

floatValue()

getValue()

intValue()

longValue()

shortValue()

oracle.jbo.domain

Observable

任意のコンストラクタ

任意のメソッド

java.util

Observer

任意のコンストラクタ

任意のメソッド

java.util

PriorityQueue

任意のコンストラクタ

任意のメソッド

java.util

Properties

任意のコンストラクタ

任意のメソッド

java.util

PropertyPermission

任意のコンストラクタ

任意のメソッド

java.util

PropertyResourceBundle

任意のコンストラクタ

任意のメソッド

java.util

Queue

任意のコンストラクタ

任意のメソッド

java.util

Random

任意のコンストラクタ

任意のメソッド

java.util

RandomAccess

任意のコンストラクタ

任意のメソッド

java.util

Ref

任意のコンストラクタ

任意のメソッド

java.sql

ResourceBundle

任意のコンストラクタ

任意のメソッド

java.util

Row

getAttribute()

getAttributeHints()

getKey()

getLookupDescription()

getOriginalAttribute()

getOriginalAttributeValue()

isAttributeChanged()

isAttributeUpdateable()

remove()

revertRow()

revertRowAndContainees()

setAttribute()

validate()

oracle.jbo

RowId

任意のコンストラクタ

任意のメソッド

java.sql

RowIterator

createAndInitRow()

createRow()

findByKey()

findRowsMatchingCriteria()

first()

getAllRowsInRange()

getCurrentRow()

insertRow()

last()

next()

previous()

reset()

oracle.jbo

RowSet

createAndInitRow()

createRow()

executeQuery()

findByKey()

findRowsMatchingCriteria()

first()

getAllRowsInRange()

getCurrentRow()

insertRow()

last()

next()

previous()

reset()

oracle.jbo

Scanner

任意のコンストラクタ

任意のメソッド

java.util

SecurityContext

getUserName()

getUserProfile()

oracle.adf.share.security

Session

getLocale()

getLocaleContext()

getUserData()

oracle.jbo

Set

任意のコンストラクタ

任意のメソッド

java.util

Short

任意のコンストラクタ

任意のメソッド

java.lang

Short

任意のコンストラクタ

任意のメソッド

java.lang

SimpleTimeZone

任意のコンストラクタ

任意のメソッド

java.util

SortedMap

任意のコンストラクタ

任意のメソッド

java.util

SortedSet

任意のコンストラクタ

任意のメソッド

java.util

Stack

任意のコンストラクタ

任意のメソッド

java.util

StackTraceElement

任意のコンストラクタ

任意のメソッド

java.lang

StrictMath

任意のコンストラクタ

任意のメソッド

java.lang

String

任意のコンストラクタ

任意のメソッド

java.lang

StringBuffer

任意のコンストラクタ

任意のメソッド

java.lang

StringBuilder

任意のコンストラクタ

任意のメソッド

java.lang

StringTokenizer

任意のコンストラクタ

任意のメソッド

java.util

Struct

任意のコンストラクタ

任意のメソッド

java.sql

Struct

getAttribute()

setAttribute()

oracle.jbo.domain

StructureDef

findAttributeDef()

getAttributeIndexOf()

oracle.jbo

Time

任意のコンストラクタ

任意のメソッド

java.sql

TimeZone

任意のコンストラクタ

任意のメソッド

java.util

Timer

任意のコンストラクタ

任意のメソッド

java.util

TimerTask

任意のコンストラクタ

任意のメソッド

java.util

Timestamp

任意のコンストラクタ

任意のメソッド

java.sql

Timestamp

任意のコンストラクタ

compareTo()

dateValue()

getValue()

stringValue()

timeValue()

timestampValue()

oracle.jbo.domain

TreeMap

任意のコンストラクタ

任意のメソッド

java.util

TreeSet

任意のコンストラクタ

任意のメソッド

java.util

UUID

任意のコンストラクタ

任意のメソッド

java.util

UserProfile

getBusinessCity()

getBusinessCountry()

getBusinessEmail()

getBusinessFax()

getBusinessMobile()

getBusinessPOBox()

getBusinessPager()

getBusinessPhone()

getBusinessPostalAddr()

getBusinessPostalCode()

getBusinessState()

getBusinessStreet()

getDateofBirth()

getDateofHire()

getDefaultGroup()

getDepartment()

getDepartmentNumber()

getDescription()

getDisplayName()

getEmployeeNumber()

getEmployeeType()

getFirstName()

getGUID()

getGivenName()

getHomeAddress()

getHomePhone()

getInitials()

getJpegPhoto()

getLastName()

getMaidenName()

getManager()

getMiddleName()

getName()

getNameSuffix()

getOrganization()

getOrganizationalUnit()

getPreferredLanguage()

getPrinciple()

getProperties()

getProperty()

getTimeZone()

getTitle()

getUIAccessMode()

getUniqueName()

getUserID()

getUserName()

getWirelessAccountNumber()

oracle.adf.share.security.identitymanagment

ValidationException

getDetails()

getErrorCode()

getErrorParameters()

getLocalizedMessage()

getMessage()

getProductCode()

getProperty()

oracle.jbo

Vector

任意のコンストラクタ

任意のメソッド

java.util

ViewCriteria

createAndInitRow()

createRow()

createViewCriteriaRow()

findByKey()

findRowsMatchingCriteria()

first()

getAllRowsInRange()

getCurrentRow()

insertRow()

last()

next()

previous()

reset()

oracle.jbo

ViewCriteriaItem

getValue()

makeCompound()

setOperator()

setUpperColumns()

setValue()

oracle.jbo

ViewCriteriaItemCompound

ensureItem()

getValue()

makeCompound()

setOperator()

setUpperColumns()

setValue()

oracle.jbo

ViewCriteriaRow

ensureCriteriaItem()

getConjunction()

isUpperColumns()

setConjunction()

setUpperColumns()

oracle.jbo

ViewObject

appendViewCriteria()

createAndInitRow()

createRow()

createViewCriteria()

executeQuery()

findByKey()

findRowsMatchingCriteria()

first()

getAllRowsInRange()

getCurrentRow()

getMaxFetchSize()

insertRow()

last()

next()

previous()

reset()

setMaxFetchSize()

oracle.jbo

WeakHashMap

任意のコンストラクタ

任意のメソッド

java.util

カスタム・オブジェクトのインポートとエクスポート: 説明

Oracle Fusion CRMアプリケーション・コンポーザで作成したカスタム・オブジェクトのインポートやエクスポートをサポートするため、まずファイル・ベースインポートでも一括エクスポートでも求められるオブジェクト・アーティファクトを生成する必要があります。

Oracle Fusionのインポート/エクスポート・プロセス

Oracle Fusionでは、オブジェクト・データのインポートとエクスポートを可能にする2つのプロセス、ファイル・ベース・インポートと一括インポートが存在します。

ファイル・ベース・インポートは、外部テキストまたはxmlファイルからインタフェース表へ、さらにインタフェース表からターゲット・アプリケーション表へのデータのインポートをサポートします。

注意

ファイル・ベース・インポートは、オブジェクトに関するGroovy検証やトリガー・ロジックを無視します。

一括エクスポートは、CRMオブジェクトから1つのオブジェクトに関するフルセットのレコードの抽出として、また、増分抽出としても、大量のデータを抽出します。システムは、抽出したデータでカンマまたはタブ区切りのファイルを作成し、それが実行されたバッチ・レコードに添付され、ユーザーにとって使用可能になります。

カスタム・オブジェクトのインポート/エクスポートの有効化

アプリケーション・コンポーザを使用して行うオブジェクト・モデルの拡張では、これらのインポート/エクスポート・プロセスで求められるアーティファクトは作成されません。たとえば、ファイル・べース・インポートはOracle Data Integrator(ODI)を活用します。

したがって、オブジェクト・モデルの拡張が終わったら、拡張を登録するために必要なアーティファクトを生成し、インポート/エクスポートに使用可能にします。

注意

インポート/エクスポートのアーティファクトの作成は、Oracle Metadata Services(MDS)メインラインでのみ起こり、MDSサンドボックスではサポートされません。

カスタム・オブジェクト・データのインポート/エクスポートの有効化:

  1. 主要「概要」ページでアプリケーションを選択します。

  2. 「共通設定」ペイン、または主要「概要」ページのローカル領域で「インポートおよびエクスポート」リンクを選択します。

  3. インポートおよびエクスポートページで「生成」ボタンをクリックします。

インポート/エクスポート用にオブジェクト・モデルの拡張を有効にしたら、ツールメニューで設定および保守を選択し、タスク名で検索した次のタスクを利用し、ファイル・ベース・インポートと一括エクスポートのプロセスをスケジュールすることができます。

重要

Oracle Fusion CRM製品で標準オブジェクトに関するカスタム・オブジェクト・データ(カスタム・フィールド)のインポート/エクスポートを有効にする方法についてさらに詳しくは、Oracle Fusion CRMの製品個別のドキュメンテーションを参照してください。

Oracle Fusion CRMアプリケーションの拡張に関するFAQ

固定選択リストと動的選択リストはどこが違いますか?

固定選択リストと動的選択リストは、どちらもランタイム時に値リストを持つフィールドを生成するところに究極の目的がある点では似ています。しかし、固定選択リストの値リストは、FND参照タイプから導出されます。

動的選択リストの値リストは、既存のオブジェクトの実データから導出されます。

Oracle ComposerとOracle Fusion CRMアプリケーション・コンポーザはどこが違いますか?

Oracle Composerは、ランタイム時にすべてのOracle Fusionアプリケーションにわたってユーザー・インタフェースの変更を行うものです。Oracle Fusion CRMトランザクション・ページ(ダッシュボード以外)では、Oracle Composerを使用して領域の拡大・折畳み、表の列の表示や並び順の設定、保存済検索の作成・編集を行うことができます。Oracle Fusion CRMダッシュボードでは、リージョンの表示・非表示・移動、リソース・カタログからの新しいコンテンツの追加など、追加のカスタマイズを行うことができます。

Oracle Fusion CRMアプリケーション・コンポーザもランタイム時にユーザー・インタフェースの変更を行うことができます。しかし、アプリケーション・コンポーザを使用して行うことができるユーザー・インタフェースの変更の種類はまったく異なります。とりわけ、アプリケーション・コンポーザを使用するときに主に焦点になるのは、実質的なオブジェクト・モデルの変更です。たとえば、新しいビジネス・オブジェクトと関連フィールドを作成した上で、ユーザーにそのオブジェクトとフィールドを表示する新しいアプリケーション・ページを作成することができます。オブジェクト・モデルをこのようなかたちで拡張するのはOracle Fusion CRMアプリケーションでしかできません。また、アプリケーション・コンポーザでは、リソース・カタログにアクセスしてページに新しいコンテンツを追加することはできません。

この表は、Oracle Composerとアプリケーション・コンポーザの主な違いを示しています。


カスタマイゼーション・タスク

Oracle Composerで使用可能?

Oracle Fusion CRMアプリケーション・コンポーザで使用可能?

オブジェクト・モデルの拡張を行い、作業領域ページの作成・修正によってそのカスタマイゼーションを公開する

不可

サブタブを順序変更する

不可

ダッシュボード・ページをカスタマイズする

不可

リソース・カタログからコンテンツを追加する

不可

サイト・レイヤー、職務ロール・レイヤーなど、カスタマイゼーションをオーサリングするMDSレイヤーを選択する

不可、カスタマイゼーションはサイト・レイヤーにのみ適用

カスタマイゼーションの成果をすぐに表示する

可、Oracle Composer設計インタフェースで

可、カスタマイズしているCRMアプリケーションで