JavaScript 式でオブジェクトおよびプロパティを指定します。 これらの式は、フォーム上のフィールドとして使用する要素の value 属性のランタイム値として使用できます。 一般的に、これらの式は次の形式で指定します: $(_.object.property)。
たとえば、リクエスト内でフォームに入力しているログイン ユーザのランタイム値を取得するには、次を指定します: $(_.user.firstName)。 また、文字列を連結することもできます。これについてはこのトピックの後で説明されています。
これらの変数は フォーム デザイナのフォームにのみ適用されます。 CA Workflow のフォーム変数とは似ていますが、厳密には同じではありません。 フォーム デザイナのフォームおよび CA Workflow フォームの両方を使用している場合は、それぞれのフォームに対して正しいオブジェクトとプロパティを使用してください。
フォーム オブジェクトには、JavaScript 式で、または JavaScript 関数の最初のパラメータとして使用できるプロパティ ca_fd.formId が含まれます。
formId はアクティブなフォームを参照します。 フォームのフィールドによってイベントがトリガされた場合、フォームはアクティブになります。 フォームをアクティブにするサンプル アクションを以下に示します。
ユーザ オブジェクトには、_.user を使用してアクセス可能な一連のユーザ プロパティが含まれています。
以下に各ユーザ オブジェクトのプロパティを示します。関連グループごとにリストします。
_.user.groups プロパティは、CA EEM でユーザ グループの名前を指定します。 このプロパティを使用して、ユーザが特定の CA EEM グループに属すかどうかに基づいてフィールドを操作することができます。 詳細については、「例」セクションを参照してください。
_.user.groups プロパティには、ユーザが属するすべての CA EEM グループの配列が含まれます。
例
_.user.groups プロパティを使用して、たとえば、グループ名 developers (開発者)という CA EEM グループのメンバに対してフィールドを非表示にすることができます。 そのためには、[非表示]という HTML 属性の値を以下のように設定します。
_.user.groups.indexOf(“developers”) >= 0
また逆に、フィールドを CA EEM グループのメンバでないユーザに対して表示させることもできます。 そのためには、[非表示]属性の値を以下のように設定します。
_.user.groups.indexOf(‘developers’) < 0
ビジネス ユニットオブジェクトには、_.bu を使用してアクセス可能な一連のビジネス ユニット プロパティが含まれます。
以下に各ビジネス ユニットのプロパティを示します。関連グループごとにリストします。
リクエスト オブジェクトには、_.request を使用してアクセス可能な一連のリクエスト プロパティが含まれています。
以下に各リクエスト オブジェクトのプロパティを示します。関連グループごとにリストします。
これらのプロパティは、リクエストのライフサイクルにおいてユーザがオブジェクトを更新すると直ちにオブジェクトの新しい値を反映させます。 (ユーザは通常リクエスト マネージャまたはリクエスタです。)
ユーザは、たとえば、プロパティと関連付けられたアイテムのアクション待ちを承認、拒否またはプッシュ スルーを行う場合、オブジェクトを更新できます。 ユーザがプロパティを更新すると、直ちに新しい値が適用されます。保存する必要ではありません。
フォームを作成または編集するとき、これらのプロパティは随時使用できます。 たとえば、OnSubmit という JavaScript 属性で使用する検証するための カスタム JavaScript 関数で、これらのプロパティを使用できます。 たとえば、ユーザが休日などの非アクティブな日付を日付を入力すると、カスタムの JavaScript 関数が有効な日付を説明するテキストを表示します。
サービス オブジェクトには、_.service を使用してアクセス可能な一連のサービスが含まれています。
以下に各サービス オブジェクトのプロパティを示します。関連グループごとにリストします。
サービス オプション グループ オブジェクトには、_.sog.name を使用してアクセス可能な一連のサービス オプションが含まれています。
以下にオプション グループのプロパティを示します。関連グループごとにリストします。
サービス オプション オブジェクトは、_.serviceoption.status( ) という事前定義済みの JavaScript 関数にのみ適用されます。
_.serviceoption.status( ) 関数には、newStatus という単一のプロパティがあります。
注: この関数はパラメータをとりません。
ユーザ アクションがサービス オプションのステータスを更新する場合、ステータスの新しい値を指定します。 このプロパティは、ユーザが以下のいずれかを実行すると直ちに、ステータスの新しい値を取得します。
上記のいずれの場合も、_.serviceoption.newStatus() の値は直ちに変更されます。 一方、_.serviceoption.status( ) の値は、ページがサブミットされリフレッシュされるまで変更されません。
注: ステータスの変更に関係ある JavaScript 関数は、ユーザによるページまたはダイアログ ボックスへの入力に依存している場合には、その動作を変更しません。 (通常、このアクションは[OK]のクリックです)。 たとえば、onSubmit という JavaScript 関数は通常ステータスの変更を参照します。 onSubmit 関数は、ユーザがページまたはダイアログ ボックスに入力した場合のみ実行され、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」のようになります。
以下の比較演算子を使用できます。
フォーム デザイナでの使用例については、以下のトピックを参照してください。
オプションで以下の論理演算子を使用できます。
フォーム デザイナでの使用例については、以下のトピックを参照してください。
| Copyright © 2011 CA. All rights reserved. | このトピックについて CA Technologies に電子メールを送信する |