![]() |
|
式について式は、Oracle CRM On Demandで評価できる1つ以上の演算子、関数、フィールドおよびリテラルの有効な組み合わせです。このトピックでは、式の次の機能について説明します。
式でのフィールドおよびフィールド名構文レコードタイプのためのフィールド設定ページで使用可能なフィールドの大部分は、Expression Builderにおいてそのレコードタイプ用のフィールドリスト内でも使用可能であり、式で使用できます。 注意: テキスト(短い - マスク可能)フィールドタイプのカスタムフィールドは例外となります。これらのフィールドをExpression Builderにおいて式で使用することはできません。 Expression Builderにおいてフィールドリストからフィールド名を選択することでフィールドを式に追加した場合、そのフィールドは次の構文で式エディターに入力されます。 [{FieldName}] 式エディターで表示されるフィールド名は、Oracle CRM On Demandで内部的にフィールドを識別するために使用される言語独立フィールド名となります。[{FieldName}]構文を使用してフィールド名を式エディターに直接入力することもできますが、式でのフィールド名が正しくなるよう、必ずフィールドリストからフィールドを選択することをお勧めします。 以前のリリースにおける式でのフィールド名およびフィールド名構文についてOracle CRM On Demandのリリース29サービスパック1より前のリリースでは、Expression Builderにおいてフィールドリストからフィールド名を選択すると、そのフィールドが次の構文で式エディターに入力されました。 [<FieldName>] また、リリース29サービスパック1より前のリリースでは、Expression Builderにおいて、Expression Builderのリリース29サービスパック1以降で使用されている言語独立フィールド名とは異なる言語独立フィールド名が使用されていました。ただし、以前のリリースで有効だった、[<FieldName>]構文および対応するフィールド名を使用する式は、リリース29サービスパック1以降でも引き続き有効となります。必要な場合は、引き続き[<FieldName>]構文を使用して、古い言語独立フィールド名を式エディターに直接入力することもできます。ただし、フィールド名およびフィールド構文が常に正しくなるよう、Expression Builderでは必ずフィールドリストからフィールドを選択することをお勧めします。 新しいフィールド名に[{FieldName}]構文を使用し、古いフィールド名に[<FieldName>]を使用する場合は、式において新しいフィールド名と古いフィールド名を混在させることができます。 Oracle CRM On Demandオンラインヘルプにおける例についてオンラインヘルプで表示される一部の式の例では、リリース29サービスパック1より前のリリースで使用されていた、言語に依存しないフィールド名およびフィールド名構文が使用されています。これらの例はまだ有効です。ただし、Expression Builderのリリース29サービスパック1以降で式を作成または更新するときに、対応するフィールドをフィールドリストから選択する場合は、式内のフィールド名はオンラインヘルプ内の例で示されたフィールド名とは異なり、フィールドは新しいフィールド構文で式エディターに表示されます。 式の長さワークフロールールの[メール送信]アクションを使用して設定された電子メールのメッセージ本文の場合、式のサポートされる長さは最大2,000文字(スペースを含む)です。Enterキーを押すと、電子メールメッセージに改行を挿入できます。改行は、テキストボックスで2文字とカウントされます。 Expression Builderが使用されるその他のすべての状況において、サポートされる式の長さは最大1024文字(スペースを含む)です。 式を保存するフィールドの合計文字数が、そのフィールドの制限を超えないようにする必要もあります。次のワークフローフィールドでは、関数とフィールド名の前後に3つのパーセント記号(%%%)が配置されます。
パーセント記号は、関数またはフィールド名をテキスト値に変換する必要があることを示します。各パーセント記号は、式が保存されるフィールドで1文字とカウントされます。 関数またはフィールド名をフィールドに直接入力した場合、その前後に3つのパーセント記号を入力する必要があります。Expression Builderを使用して関数またはフィールド名を埋め込んだ場合は、パーセント記号が自動的に追加されます。 たとえば、Expression Builderを使用して、次のフィールド名をワークフローアクションの電子メールのメッセージ本文に挿入するとします。 [{Name}] Expression Builderにより、次の内容(合計14文字)がワークフローアクションの電子メールのメッセージ本文に挿入されます。 %%%[{Name}]%%% リテラルの長さExpression Builderで文字列または数値リテラルを関数に渡す場合、リテラルは75文字(スペースを含む)以下にする必要があります。75文字を超えるリテラルを使用すると、Expression Builderでそのリテラルは構文エラーと見なされます。フィールド名を参照して文字列を関数に渡す場合、リテラルに渡されるフィールド値の長さには75文字の制限は適用されません。 フィールドにデフォルト値を設定するための式を作成する場合、式の関数に渡される文字列または数値リテラルには75文字の制限が適用されます。また、式の結果の文字数はフィールドの許容最大文字数を超えてはなりません。 条件式条件式は、アプリケーションによって評価される場合に、常にTrueまたはFalseなどのブール値を返す式のことです。 注:Yes、No、YおよびNはブール値ではありません。IIf関数などの関数の戻り値としてTrueまたはFalseを指定した場合、返されるTrueおよびFalseはブール値ではなく文字列として返されます。条件式で間違ったブール値を使用すると、予期しない動作となる可能性があります。 次の目的で使用される式は、条件式です。
検証式検証式は、フィールドに入力されたデータが有効かどうかを確認するために使用されます。検証式は、条件式でなければなりません。 フィールドの検証式は、レコードが作成されるとき、およびフィールドがユーザーによって更新されるたびに評価されます。ただし、次の状況の場合は除きます。
検証式が評価されない場合、または検証式がNULLと評価される場合は、エラーメッセージが生成されません。検証式が失敗する(すなわち、式がFALSEと評価される)場合のみエラーメッセージが生成されます。 検証式は、条件演算子で開始される他のタイプの式とは異なります。たとえば、[取引先名]フィールドが検証式によって検証される場合、次のように開始できます。 = 'Acme Hospital' この式はあまり良い例とは言えませんが、これで構文のチェックが渡されます。これは、式の最初にフィールド名が見つからない場合に、Oracle CRM On Demandが式よりも前に検証対象フィールドの名前を挿入するためです。検証式は次のように入力することもできます。 [<AccountName>]= 'Acme Hospital' [<AccountName>]は、検証対象フィールドです。 検証対象フィールドに加え、式で他のフィールドも評価する必要がある場合、検証対象フィールドで実行される式で最初の比較を行うのが一般的です。 検証式はOracle CRM On Demandの[高度なフィールド管理]にある[フィールド検証]テキストボックスでのみ使用されます。 検証式の例例1:あるビジネスプロセスでは、商談がクローズする日付は商談を作成した日付よりも後でなければなりません。 このプロセスを実装するには、(商談の項目設定ページにある)[クローズ日]フィールドの検証式を次のように作成します。 > [<CreatedDate>] 別の方法としては、次の例を使用できます。ただし、評価対象フィールド([クローズ日])は、式の最初のフィールドにする必要があります。 [<CloseDate>] > [<CreatedDate>] フィールドの作成と編集の詳細については、「フィールドの作成と編集」を参照してください。 例2:あるビジネスプロセスでは、商談の確度が40%以上の場合は、商談の売上値をゼロにできません。 このビジネスルールは、両方のフィールドの依存関係が次のようになることを示しています。 商談の場合、確度が40以上である場合に売上をゼロにできません。逆に言えば、売上がゼロの場合に確度が40以上になることはないということです。 フィールドの検証式は、レコードが作成されるとき、およびユーザーによってフィールドが更新されるたびに評価されます。[確度]フィールドまたは[売上]フィールドのいずれかを更新すると両方のフィールドに影響があるため、[確度]フィールドと[売上]フィールドの両方に検証ルールを指定することで、このビジネスルールを正しく実装する必要があります(フィールドの作成と編集の詳細については、「フィールドの作成と編集」を参照)。 この例を実装するために必要な手順は次のとおりです。
式での依存フィールドの使用依存フィールドは、その値が外部キーに依存している結合フィールドです。結合フィールドは、外部キーを使用して別のレコードタイプのフィールドを参照するレコードタイプのフィールドです。依存フィールドの例として、[商談]レコードタイプのAccountNameフィールドがあります。[商談]レコードタイプのAccountNameフィールドは結合フィールドで、その値は、[取引先]レコードタイプを参照するAccountId外部キーフィールドに依存しています。 使用する式で依存フィールドの値を決定する必要がある場合は、JoinFieldValue関数を使用して、IDフィールド(つまり外部キーフィールド)を参照することで、このフィールドの最新の値を取得することをお勧めします。そうしないと、式の結果が不正確になったり、式の値の結果が無効になる可能性があります。結合フィールドとJoinFieldValue関数の詳細は、「JoinFieldValue」を参照してください。 関連トピック関連するExpression Builderの情報については、次のトピックを参照してください。 |
公開日 2017 年 9 月 | Copyright © 2005, 2017, Oracle. All rights reserved. Legal Notices. |