| 印刷 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の情報については、次のトピックを参照してください。 Expression Builderについて Expression Builderの使用 Expression Builderの関数

公開日 2022 年 8 月 | Copyright © 2005, 2022, Oracle and/or its affiliates. Legal Notices.