印刷      PDFバージョンのオンラインヘルプを開く


前のトピック

次のトピック

JoinFieldValue

レコードタイプは、外部キーを介して別のレコードタイプから参照することができます。結合フィールドは、外部キーを使用して別のレコードタイプのフィールドを参照するレコードタイプのフィールドです。たとえば、大部分のレコードタイプにあるOwnerIdフィールドは、Userレコードタイプを参照する外部キーです。多くのレコードのOwnerフィールドが、OwnerId外部キーを使ってUserレコードタイプのAliasフィールドを参照する結合フィールドになっています。

Expression BuilderのJoinFieldValue関数は、参照先レコードタイプと関連する外部キーフィールドが関数に指定されると、結合フィールドの値を返します。JoinFieldValue関数は、参照元オブジェクトに直接結合されていない参照先レコードタイプの他のフィールドも取得できるので、関連するレコードタイプからレコードタイプをまたいでフィールドを探索できます。

参照レコードタイプの[ID]フィールドがワークフロールールを設定したレコードタイプに外部キーとして表示される場合は、JoinFieldValue機能を使用して参照レコードタイプからフィールド値を取得できます。

また、すべてのレコードタイプで使用可能な次の外部キーフィールドを使用すると、[ユーザー]レコードタイプからフィールド値を取得できます。

  • CreatedById
  • ModifiedById

注: JoinFieldValue関数は[活動]レコードタイプの次のフィールドの値を返せません: [支出トランザクション数]、[製品詳細数]、[提供プロモーションアイテム数]および[提供サンプル数]。この制限は、これらのフィールド値をOracle CRM On Demandが計算する方法に起因するものです。

構文

JoinFieldValue (ref_record_type, foreign_key, field_name)

結果のタイプ

文字列。

エラーが発生した場合、または要求したフィールド値が空の場合、ゼロ長文字列が返されます。

引数

この関数の引数について次の表で説明します。

引数

説明

ref_record_type

参照先レコードタイプの言語独立名(言語独立名とは、ユーザー言語が変更されても変わらない名前です)。

引数は、フィールド文字列識別子で囲む必要があります。次に例を示します。

'<Account>'

foreign_key

参照先レコードタイプ(ref_record_type引数で指定)の有効な行IDを返すリテラルまたは式。行IDが無効である場合、この関数は、ゼロ長文字列を返します。直接フィールド参照は、フィールド識別子で囲む必要があります。次に例を示します。

[<AccountId>]

field_name

参照先レコードタイプ(ref_record_type引数で指定)のフィールドの言語独立名。そのフィールドが参照先レコードタイプに存在しない場合、エラーが返されます。フィールド名はフィールド文字列識別子で囲む必要があります。次に例を示します。

'<Type>'

注: このトピック内で式の例において使用されている、言語に依存しないフィールド名およびフィールド名構文は、Expression Builderのリリース29サービスパック1より前のリリースで使用されていたフィールド名およびフィールド名構文です。これらの例はまだ有効です。ただし、Expression Builderのリリース29サービスパック1以降で、対応するフィールドを式のために[フィールド]リストから選択する場合、フィールド名およびフィールド名構文は、それらの例で示されたものとは異なります。フィールド名およびフィールド名構文が常に正しくなるよう、Expression Builderでは、式のフィールドは必ず[フィールド]リストから選択することをお勧めします。式でのフィールド名およびフィールド名構文の詳細は、「式について」を参照してください。

例1:ビジネスプロセスで、レコードの所有者が変わると新しい所有者の名前を探索するワークフロールールが必要です。レコードの所有者が変わると、そのレコードのOwnerId外部キーフィールドのみが更新されます。その結果、ワークフロールールの次の条件では、レコードの新しい所有者は探索されません。

PRE('<Owner>') <> [<Owner>]

代わりに、ワークフローで次の条件を使用すると、レコードの新しい所有者を探索できます。

PRE('<Owner>') <> JoinFieldValue('<User>',[<OwnerId>],'<Alias>')

例2:レコードの前の所有者の電子メールアドレスを取得するには、次の式を使用します。

JoinFieldValue('<User>',PRE('<OwnerId>'),'<EMailAddr>')

例3:レコードの現在の所有者の電子メールアドレスを取得するには、次の式を使用します。

JoinFieldValue('<User>',[<OwnerId>],'<EMailAddr>')

例4:ビジネスプロセスで、担当者へサービスリクエスト電子メールを送信する必要があります。電子メールを送信する前に、担当者が電子メールの受け取りに同意していることをワークフロールールで確認します。ワークフロールール(サービスリクエストレコードタイプに基づく)には、次の条件が含まれます。

JoinFieldValue('<Contact>',[<ContactId>],'<NeverEmail>')<> 'Y'

例5:サービスリクエストの主要アカウントのテリトリーを取得するには、次の式を使用します。

JoinFieldValue('<Territory>', JoinFieldValue('<Account>', [<AccountId>], '<TerritoryId>'),'<TerritoryName>')

関連トピック

関連するExpression Builderの情報については、次のトピックを参照してください。


公開日 2018 年 8 月 Copyright © 2005, 2018, Oracle. All rights reserved. Legal Notices.