Vorheriges Thema: So verwenden Sie JavaScript-Ausdrücke in Feldern:

Nächstes Thema: Füllen von Feldern in Abhängigkeit von JavaScript-Ausdrücken


Objekte und Eigenschaften, die in JavaScript-Ausdrücken spezifiziert werden können

Sie spezifizieren Objekte und Eigenschaften in JavaScript-Ausdrücken. Sie können diese Ausdrücke für die Laufzeitwerte des Attributs "value" für die Elemente verwenden, die Sie als Felder auf Formularen verwenden. Diese Ausdrücke werden typischerweise in folgendem Format angegeben: $(_.object.property).

Um beispielsweise den Laufzeitwert des angemeldeten Anwenders zu erfassen, der ein Formular für einen Auftrag ausfüllt, verwenden Sie $(_.user.firstName). Sie können Zeichenfolgen auch verketten, dies wird weiter hinten in diesem Abschnitt behandelt.

Diese Variablen gelten nur für Formulardesigner-Formulare! Sie sind den Objekten und Eigenschaften, die in Formularvariablen für CA Workflow definiert werden, ähnlich, jedoch nicht völlig mit ihnen identisch. Wenn Sie Formulare des Formulardesigners und CA Workflow-Formulare nebeneinander verwenden, achten Sie darauf, die korrekten Objekte und Eigenschaften für den jeweiligen Formulartyp zu verwenden.

Formulare

Das Formularobjekt enthält folgende Eigenschaft, die Sie in JavaScript-Ausdrücken oder als ersten Parameter in JavaScript-Funktionen verwenden können: ca_fd.formId.

"formId" bezieht sich auf das aktive Formular. Das Formular ist in aktiv, wenn ein Feld im Formular ein Event auslöst. Es folgen ein paar Beispielaktionen, die Formulare aktivieren:

Anwender

Das Anwenderobjekt enthält ein Array der Anwendereigenschaften, auf das Sie mit _.user zugreifen können.

Jedes Anwenderobjekt listet folgende Eigenschaften in zugehörigen Gruppen auf:

Beispiele

Sie können die Eigenschaft "_.user.groups" verwenden, damit ein Feld für die Mitglieder einer CA EEM-Gruppe, z. B. der Gruppe der Entwickler, nicht angezeigt wird. Legen Sie dazu das HTML-Attribut "Hidden" folgendermaßen fest:

_.user.groups.indexOf("Entwickler") >= 0

Sie können aber auch ein Feld für Anwender anzeigen, die kein Mitglied einer CA EEM-Gruppe sind. Legen Sie dazu den Wert des HTML-Attributs "Hidden" folgendermaßen fest:

_.user.groups.indexOf("Entwickler") < 0

Business Unit

Das Geschäftsbereichsobjekt enthält ein Array der Geschäftsbereichseigenschaften, auf das Sie mit _.bu zugreifen können.

Jedes Geschäftsbereichsobjekt listet folgende Eigenschaften in zugehörigen Gruppen auf:

Request

Das Auftragsobjekt enthält ein Array der Auftragseigenschaften, auf das Sie mit _.request zugreifen können.

Jedes Auftragsobjekt listet folgende Eigenschaften in zugehörigen Gruppen auf:

Service

Das Serviceobjekt enthält ein Array der Auftragseigenschaften, auf das Sie mit _.service zugreifen können.

Jedes Service-Objekt listet folgende Eigenschaften in zugehörigen Gruppen auf:

Serviceoptionsgruppen

Das Serviceoptionsgruppenobjekt enthält ein Array der Serviceoptionen, auf das Sie mit _.sog.name zugreifen können.

Jede Serviceoptionsgruppe listet folgende Eigenschaften in zugehörigen Gruppen auf:

Serviceoptionen

Das Serviceoptionsobjekt gilt nur für die vordefinierte JavaScript-Funktion "_.serviceoption.status( )".

Die Funktion "_.serviceoption.status( )" enthält eine einzelne Eigenschaft mit dem Namen "newStatus".

Hinweis: Diese Funktion übernimmt keine Parameter.

newStatus--

Gibt den neuen Wert für den Status an, wenn eine Anwenderaktion den Status der Serviceoption aktualisiert. Diese Eigenschaft übernimmt den neuen Wert für den Status, sobald der Anwender einen der folgenden Schritte ausführt:

In beiden Fällen ändert sich der Wert von "_.serviceoption.newStatus( )" sofort. Im Gegensatz dazu bleibt der Wert von "_.serviceoption.status( )" unverändert, bis die Seite übergeben und aktualisiert wird.

Hinweis: JavaScript-Funktionen, die mit Statusänderungen zusammenhängen, ändern ihr Verhalten nicht, wenn sie von davon abhängig sind, dass der Anwender die Seite oder das Dialogfeld fertigstellt. (Normalerweise wird für diese Aktion auf "OK" geklickt). Zum Beispiel weist die JavaScript-Funktion "onSubmit" normalerweise auf Statusänderungen hin. Die Funktion "onSubmit" wird nur ausgeführt, wenn der Anwender die Seite oder das Dialogfeld fertigstellt, nicht wenn der Wert von "newStatus" sich ändert.

Beispiele

Sie können die Eigenschaft "newStatus" verwenden, damit Ihre Implementierung Reservierungen effizient verarbeitet. Nehmen Sie beispielsweise an, dass ein Anwender einen Hauptauftrag für einen Computer und zusätzliche Aufträge für zugehörige Optionen übergibt. Diese Optionen schließen zusätzlichen Speicher, eine aktualisierte Tastatur usw. ein. Sie können eine anwenderspezifische JavaScript-Funktion so erstellen, dass wenn der Hauptauftrag abgelehnt wird, die Funktion "onSubmit" für alle optionalen Aufträge ausgeführt wird. Beispiele für optionale Aufträge beinhalten Zubehör, zusätzlichen Speicher usw. ein. Zum Beispiel ergibt folgender Ausdruck den Wert "Wahr", wenn der ursprüngliche Status 400 ist, und wenn "newStatus" auf 800 geändert wird:

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

Operatoren

Hier werden die Operatoren beschrieben, die hauptsächlich für das Formulardesign eingesetzt werden. Für eine vollständige Beschreibung der Standardoperatoren siehe die JavaScript-Standardreferenz, die Ihre Organisation verwendet, z. B. www.developers.sun.com oder www.javascript.com.

Sie können in Ihrem JavaScript-Ausdruck alle Standardoperatoren außer Zuordnungsoperatoren angeben.

Die Zuordnungsoperatoren lauten: =, +=, -=, *=, /= .

Zum Beispiel ist folgender Ausdruck ungültig, da der Zuweisungsoperator = verwendet wird:

$(var x = 1+2)

Erforderliche Rückgabewerte

Geben Sie JavaScript-Ausdrücke an, die für die Attribute "disabled", "checked" und " hidden" verwendet werden, die einen der folgenden Werte zurückgeben:

Wenn der Ausdruck einen anderen Wert zurückgibt, ersetzt CA Service Catalog diesen Wert durch "falsch". Wenn Sie "$(_.user.firstName)" für das Attribut "disabled" eines Textfeldes angeben, wird das Feld also nicht deaktiviert - es sei denn, der Vorname des Anwenders lautet "wahr".

Verkettungsoperatoren

Sie können optional zwei Zeichenfolgen mithilfe des Operators + miteinander verketten.

Zum Beispiel gibt $ ('Hallo'+ _.user.firstName +'' + _.user.lastName) folgenden Text zurück: Hallo Vorname Nachname. "Hallo John Doe" und "Hallo Jane Smith" sind Beispiele.

Vergleichsoperatoren

Alternativ können Sie folgende Vergleichsoperatoren verwenden:

Beispiele, die im Formulardesigner verwendet werden, finden Sie unter folgenden Abschnitten:

Logische Operatoren

Alternativ können Sie folgende logische Operatoren verwenden:

Beispiele, die im Formulardesigner verwendet werden, finden Sie unter folgenden Abschnitten: