前のトピック: フィールドで JavaScript 式を使用する方法

次のトピック: JavaScript 式に基づいたフィールドへの事前入力

JavaScript 式で指定できるオブジェクトおよびプロパティ

JavaScript 式でオブジェクトおよびプロパティを指定します。 これらの式は、フォーム上のフィールドとして使用する要素の value 属性のランタイム値として使用できます。 一般的に、これらの式は次の形式で指定します: $(_.object.property)。

たとえば、リクエスト内でフォームに入力しているログイン ユーザのランタイム値を取得するには、次を指定します: $(_.user.firstName)。 また、文字列を連結することもできます。これについてはこのトピックの後で説明されています。

これらの変数は フォーム デザイナのフォームにのみ適用されます。 CA Workflow のフォーム変数とは似ていますが、厳密には同じではありません。 フォーム デザイナのフォームおよび CA Workflow フォームの両方を使用している場合は、それぞれのフォームに対して正しいオブジェクトとプロパティを使用してください。

フォーム

フォーム オブジェクトには、JavaScript 式で、または JavaScript 関数の最初のパラメータとして使用できるプロパティ ca_fd.formId が含まれます。

formId はアクティブなフォームを参照します。 フォームのフィールドによってイベントがトリガされた場合、フォームはアクティブになります。 フォームをアクティブにするサンプル アクションを以下に示します。

ユーザ

ユーザ オブジェクトには、_.user を使用してアクセス可能な一連のユーザ プロパティが含まれています。

以下に各ユーザ オブジェクトのプロパティを示します。関連グループごとにリストします。

_.user.groups プロパティを使用して、たとえば、グループ名 developers (開発者)という CA EEM グループのメンバに対してフィールドを非表示にすることができます。 そのためには、[非表示]という HTML 属性の値を以下のように設定します。

_.user.groups.indexOf(“developers”) >= 0

また逆に、フィールドを CA EEM グループのメンバでないユーザに対して表示させることもできます。 そのためには、[非表示]属性の値を以下のように設定します。

_.user.groups.indexOf(‘developers’) < 0

ビジネス ユニット

ビジネス ユニットオブジェクトには、_.bu を使用してアクセス可能な一連のビジネス ユニット プロパティが含まれます。

以下に各ビジネス ユニットのプロパティを示します。関連グループごとにリストします。

リクエスト

リクエスト オブジェクトには、_.request を使用してアクセス可能な一連のリクエスト プロパティが含まれています。

以下に各リクエスト オブジェクトのプロパティを示します。関連グループごとにリストします。

サービス

サービス オブジェクトには、_.service を使用してアクセス可能な一連のサービスが含まれています。

以下に各サービス オブジェクトのプロパティを示します。関連グループごとにリストします。

サービス オプション グループ

サービス オプション グループ オブジェクトには、_.sog.name を使用してアクセス可能な一連のサービス オプションが含まれています。

以下にオプション グループのプロパティを示します。関連グループごとにリストします。

サービス オプション

サービス オプション オブジェクトは、_.serviceoption.status( ) という事前定義済みの JavaScript 関数のみ適用されます。

_.serviceoption.status( ) 関数には、newStatus という単一のプロパティがあります。

注: この関数はパラメータをとりません

newStatus--

ユーザ アクションがサービス オプションのステータスを更新する場合、ステータスの新しい値を指定します。 このプロパティは、ユーザが以下のいずれかを実行すると直ちに、ステータスの新しい値を取得します。

newStatus プロパティを使用して、実装プロセスの予約を効率よく行うことができます。 たとえば、ユーザがコンピュータのための主要リクエストと関連オプションの追加リクエストをサブミットする場合を考えます。 これらのオプションには追加メモリ、アップグレードされたキーボードなどが含まれます。 主要リクエストが拒否された場合、onSubmit 関数がオプションのリクエストのすべてに対して実行されるように、カスタム JavaScript 関数を作成できます。 オプションのリクエストは、たとえば付属品、追加メモリなどを含みます。 たとえば、最初のステータスが 400 で、newStatus が 800 に変更される場合、以下の式の評価結果が True になります。

 if (_.serviceoption.status() == 400 && _.serviceoption.newStatus == 800)...

演算子

フォーム設計に最も一般的に使用される演算子については、ここで説明します。 標準的な演算子に関する詳細については、組織で使用されている JavaScript 標準リファレンス(www.developers.sun.com または www.javascript.com など)を参照してください。

JavaScript 式では、代入演算子を除くすべての標準的な演算子を指定できます。

代入演算子は次のとおりです: =、+=、-=、*=、/=。

たとえば、以下の式は代入演算子 = を使用するため無効です。

$(var x = 1+2)

必要な戻り値

disabled、checked、hidden の属性で JavaScript 式を指定すると、以下のいずれかの値が返されます。

式によってほかの値が返された場合、CA Service Catalog はそれを False の値で置換します。 そのため、たとえばテキスト フィールドの disabled 属性に対して $(_.user.firstName) を指定した場合、ユーザのファースト ネームが True にならない限り、フィールドは無効にはなりません。

連結演算子

演算子 + を使用して、オプションで 2 つの文字列を連結できます。

たとえば、$(‘Hello ‘ + _.user.firstName + ‘ ‘ + _.user.lastName) によって返されるテキスト文は「Hello first-name last-name 」です。例として、「Hello John Doe」や「Hello Jane Smith」のようになります。

比較演算子

以下の比較演算子を使用できます。

フォーム デザイナでの使用例については、以下のトピックを参照してください。

論理演算子

オプションで以下の論理演算子を使用できます。

フォーム デザイナでの使用例については、以下のトピックを参照してください。