Servervariablen

Dieser Artikel enthält die folgenden Themen:
casm173
Dieser Artikel enthält die folgenden Themen:
CA SDM-Informationen werden in die HTML-Vorlage mit Variablen eingeschlossen, die mit einem Dollarzeichen ($) beginnen. Jede Seite wird mit einigen Variablen erstellt, die in der Vorlagendatei dokumentiert sind. Diese Variablen können auf der Seite eingefügt oder in bedingten Anweisungen verwendet werden:
  • Einfache Variablen
  • Eigenschaftsvariablen
  • Umgebungsvariablen
  • Geschäftsobjektvariablen
  • Listenvariablen
Einfache Variablen
Einfache Variablen geben Kennzeichen an, die an die Webseite weitergegeben werden. Um auf eine einfache Variable zuzugreifen, verwenden Sie den Variablennamen, dem ein Dollarzeichen ($) voransteht. Auf diese Weise ist der Wert der Variablen verfügbar. Zwei derartige Variablen lauten z. B. $CAisd und $cgi. Das Einfügen von $CAisd in eine Vorlage führt zur Ersetzung des Haupt-CA SDM-Webserver-Installationsverzeichnisses, während $cgi auf den URL des Programms "pdmweb.exe" verweist. Einfache Variablen sind im oberen Abschnitt der HTMPL-Datei dokumentiert, die sie verwenden.
Im Folgenden ist eine Liste der Variablen angezeigt, die in allen HTMPL-Dateien verwendet werden können:
  • $ACCESS.
    group
    Das Objekt für Anwenderzugriffsprivilegien enthält die Privilegieneinstellungen der Funktionsgruppe
    group
    für den aktuell angemeldeten Anwender. Zum Beispiel enthält $ACCESS.admin den Privilegwert für die funktionale Gruppe „admin“. Gültige Privilegienwerte sind:
    • 0-KEIN ZUGRIFF
    • 1-ANZEIGEN
    • 2-ÄNDERN
    Diese Variable ist im Anmeldeformular nicht verfügbar.
  • $cgi
    Der URL des Programms "pdmweb.exe".
  • $cst
    Das Datenobjekt des aktuell angemeldeten Anwenders. Diese Variable ist im Anmeldeformular nicht verfügbar. Sie können auf einzelne Attribute dieses Objekts mit dem Formular $cst.
    Attributname
    verweisen (z. B. $cst.first_name).
  • $CAisd
    Der URL des Haupt-CA SDM-Webserver-Installationsverzeichnisses.
  • $MachineName
    Der in der Datei "web.cfg" definierte Rechnername.
  • $ProductName
    Der Produktname, der in der Datei "NX.env" definiert ist.
  • $SESSION
    Das Sitzungsobjekt speichert alle Sitzungsvariablen einschließlich der Sitzungs-ID ($SESSION.SID) sowie alle Variablen, die in der Datei "web.cfg" definiert sind.
  • $USER_STATE
    Anwenderspezifische Statusinformationen.
Eigenschaftsvariablen
Eigenschaftsvariablen stellen eine Eigenschaft der Konfigurationsdatei "web.cfg" dar. In einer HTML-Vorlagendatei können Sie auf alle Einträge in der Datei "web.cfg" zugreifen (einschließlich anwenderspezifische Einträge), indem Sie das Präfix "$prop" voranstellen.
Eine der Zeilen in der Datei "web.cfg", die z. B. die Anzahl an Einträgen angibt, die auf einer einzelnen Seite in einem Listenformular angezeigt werden, lautet folgendermaßen:
ListPageLength 10
Sie können in einer HTML-Vorlage auf diese Variable mit der folgenden Spezifikation verweisen:
$prop.ListPageLength
Wenn Sie das besondere Tag <PDM_INCLUDE> verwenden, um eine andere Datei in eine Vorlagendatei zu integrieren, können Sie zusätzliche Eigenschaften als Attribute des <PDM_INCLUDE>-Tags angeben. Sie können auf diese Eigenschaften in der eingeschlossenen Datei auf dieselbe Art verweisen wie auf die Eigenschaften in der Datei "web.cfg". Eine Eigenschaft, die als <PDM_INCLUDE>-Attribut angegeben wird, das denselben Namen wie die Eigenschaft web.cfg aufweist, setzt die Eigenschaft web.cfg in der eingeschlossenen Datei außer Kraft.
So erstellt z. B. das folgende <PDM_INCLUDE>-Tag die Eigenschaft $prop.menubar, auf die innerhalb der Datei "std_body.htmpl" verwiesen werden kann:
<PDM_INCLUDE FILE=std_body.htmpl menubar=no>
Zum Referenzieren auf die Konfigurationsdateieigenschaft
xxx
gibt es zwei Möglichkeiten: $prop.
xxx
oder
$SESSION.xxx
. Beide geben den gleichen Wert zurück. Die Syntax $prop.
xxx
Syntax wird jedoch bevorzugt, da weniger Serveraufwand anfällt.
Neben den Eigenschaften in der Datei "web.cfg" sind mehrere vordefinierte Eigenschaften verfügbar, auf die mit $prop zugegriffen werden kann. Diese sind:
  • $prop.browser
    Eine Zeichenfolge, die den verwendeten Server identifiziert. Für den Internet Explorer lautet diese Zeichenfolge „IE“.
  • $prop.combo_name
    Eine Zeichenfolge im Format „last_name, first_name middle_name“, die den Namen des aktuellen Benutzers enthält.
  • $prop.factory
    Eine Zeichenfolge, welche die Factory enthält, die dem aktuellen Formular zugeordnet ist, wie z. B. "cr" für Requests und "Iss" für Issues.
  • $prop.FID
    Eine Zeichenfolge, welche die numerische Formular-ID des aktuellen Formulars enthält.
  • $prop.form_name
    Eine Zeichenfolge, die den Namen der aktuellen HTML-Vorlage im Format
    xxx
    .htmpl enthält.
  • $prop.form_name_1
    Eine Zeichenfolge, welche die Teilkette des Formularnamens vor dem ersten Unterstrich enthält. Für das Formular detail_chg_edit.htmpl würde form_name_1 beispielsweise „detail“ lauten.
  • $prop.form_name_2
    Eine Zeichenfolge, welche die Teilkette des Formularnamens nach dem ersten und vor dem letzten Unterstrich (oder Punkt) enthält. Für das Formular detail_chg_edit.htmpl würde form_name_2 beispielsweise „chg“ lauten.
  • $prop.form_name_3
    Eine Zeichenfolge, welche die Teilkette des Formularnamens nach dem letzten Unterstrich und vor dem Punkt enthält. Für das Formular "detail_chg_edit.htmpl" würde "form_name_3" beispielsweise "edit" lauten. Für das kombinierte Detailformular, dessen Dateiname das Format "detail_ hat
    xxx
    .htmpl" aufweist, ist "$prop.form_name_3" auf die aktuelle Ansicht eingestellt (entweder "ro" oder "edit".
  • $prop.release
    Eine Zeichenfolge, welche die Versionsstufe des Formulars enthält. Die Anweisung PDM_PRAGMA enthält weitere Details zu dieser Eigenschaft.
  • $prop.SID
    Eine Zeichenfolge, welche die numerische Sitzungs-ID der aktuellen Sitzung enthält.
  • $prop.sitemod
    Eine Zeichenfolge, die den standortdefinierten Änderungsnamen des Formulars enthält. Die Anweisung PDM_PRAGMA enthält weitere Details zu dieser Eigenschaft.
  • $prop.user_type
    Eine Zeichenfolge, die „analyst“, „customer“, „employee“ oder „guest“ enthält.
  • $prop.version
    Eine Zeichenfolge, welche die Version des Formulars enthält. Die Anweisung PDM_PRAGMA enthält weitere Details zu dieser Eigenschaft.
Umgebungsvariablen
Umgebungsvariablen stellen einen Eintrag innerhalb der Konfigurationsdatei „NX.env“ dar. Sie können auf jeden Eintrag in der Datei „NX.env“ innerhalb einer HTMPL-Vorlagendatei verweisen, indem Sie im das Präfix „$env“ voranstellen.
Eine der Zeilen in der Datei "NX.env", die den Hostnamen des CA SDM-Servers angibt, lautet folgendermaßen:
@NX_SERVER=hostname
Sie können auf diese Variable innerhalb einer HTMPL-Vorlagendatei mit der folgenden Spezifikation verweisen:
$env.NX_SERVER
Geschäftsobjektvariablen
BusinessObject-Variablen repräsentieren ein CA SDM-Objekt, wie z. B. eine Problemanfrage oder eine Anforderung. Um auf ein Objekt zuzugreifen, müssen Sie mit dem Variablennamen gefolgt von einem Punkt (.) gefolgt von dem Namen des Attributs, das Sie anzeigen möchten, beginnen. Zum Beispiel bei einem Issue, in der das Objekt gemäß Konvention durch die Variable args dargestellt wird, können Sie die Beschreibung, das Öffnungsdatum, die Telefonnummer des Bevollmächtigten, die Anzahl der Aktivitäten für den Issue und die Beschreibung der ersten Aktivität anzeigen, wie im Folgenden dargestellt:
$args.description $args.open_date $args.assignee.phone_number $args.act_log.length $args.act_log.0.description
Sie können geschweifte Klammern verwenden, um den Variablennamen zu begrenzen, wenn er nicht von Leerzeichen umgeben ist. Sie ist z. B. sowohl „$foo bar“ als auch „${foo}bar“ gültig. Sie können auch die Variable „args“ verwenden, um auf andere Werte als Attribute (z. B. $args.KEEP.
name
, wie unter Unterstützte Vorgänge beschrieben) zuzugreifen.
Es ist möglich, dass eine Variable, die kein Attribut ist, nicht definiert werden kann. Es kann z. B. möglich sein, auf ein Formular von zwei unterschiedlichen Orten aus zuzugreifen, von denen aber nur einer einen Wert für $args.KEEP.foo liefert. Sie können einen Standardwert für einen $args-Verweis mit der folgenden Syntax angeben, wobei die Zeichenfolge nach dem Doppelpunkt durch den Verweis ersetzt wird, wenn
variable
nicht definiert ist:
${args.variable:default}
  • Zeitzonen-Datumsvariablen
    Zeitzonen-Datumsvariablen sind ein Sonderfall der Geschäftsobjektvariablen. Sie bieten die Möglichkeit, universelle Daten (UTC), die als Ganzzahlen dargestellt werden, in Zeichenfolgedaten zu konvertieren, die an die Zeitzone des Browsers des Anwenders angepasst sind. Die Variable für die Darstellung von Ganzzahlendaten lautet:
    $args.attr_name_INT_DATE
    Beispiel:
    $args.open_date_INT_DATE
  • Factory-Datumsvariablen
    Factory-Datumsvariablen sind ein Sonderfall der Geschäftsobjektvariablen. Eine Factory-Datumsvariable wird durch Informationen über ein referenziertes Objekt ersetzt. Sieben solcher Variablen sind verfügbar:
    • $args.
      attr_name
      .COMMON_NAME
      Der allgemeine Name (extern lesbare Zeichenfolge) der Tabelle, auf die von dem Attribut verwiesen wird. Beispiel: In dem Formular „Request – Detail“ entspricht der Wert für „$args.assignee.COMMON_NAME“ dem Kombinationsnamen („last, first, middle“) des Bevollmächtigten.
    • $args.attr_name.COMMON_NAME_ATTR
      Der Attributname des allgemeinen Namens in der Tabelle, auf die von dem Attribut verwiesen wird. Beispiel: In dem Formular „Request – Detail“ ist der Wert für „$args.assignee.COMMON_NAME_ATTR“ gleich „combo_name“.
    • $args.FACTORY_
      attr_name
      Der Name der Factory, die dem angegebenen Attribut zugeordnet ist. Beispiel: In dem Formular „Anforderung – Detail“ ist der Wert für „$args.FACTORY_assignee“ gleich „agt“.
    • $args.LENGTH_
      attr_name
      Die maximale Länge des Attributs. Beispiel: In dem Formular „Request – Detail“ ist der Wert für „$args.LENGTH_summary“ gleich „240“.
    • $args.
      attr_name
      .REL_ATTR
      Das relative Attribut (Fremdschlüssel) des Attributs. Beispiel: in dem Formular „Request – Detail“ entspricht der Wert für „$args.assignee.REL_ATTR“ dem Wert des ID-Feldes für den Bevollmächtigten.
    • $args.
      attr_name
      .REL_ATTR_ATTR
      Der Attributname von rel_attr in der Tablle, auf die dieses Attribut verweist. Beispiel: In dem Formular „Request – Detail“ ist der Wert für „$args.assignee.REL_ATTR_ATTR“ gleich „id“.
    • $args.REQUIRED_
      attr_name
      Eine Zeichenfolge, entweder „0“ oder „1“, die angibt, ob das referenzierte Attribut erforderlich ist.
    • $args.
      attr_name
      .SELECTIONS
      Eine Liste der gültigen Auswahlmöglichkeiten für
      attr_name
      . Dieser Wert ist eine leere Zeichenfolge, wenn
      attr_name
      kein Verweis auf eine andere Tabelle ist, oder wenn die Größe der Tabelle, auf die
      attr_name
      verweist, den Wert der Konfigurationsdateieigenschaft SelListCacheMax überschreitet. Andernfalls ist die SELECTIONS-Variable eine Zeichenfolge, die den allgemeinen Namen und das relative Attribut von allen Einträgen in der referenzierten Tabelle enthält. Nachfolgende Werte werden von der Zeichenfolge „@,@“ getrennt, so dass der Wert der Variablen das folgende Format aufweist:
      [email protected],@[email protected],@[email protected],@rel_attr2“
    • $args.
      factory
      _SEL_UNDER_LIMIT
      Eine Zeichenfolge, entweder „0“ oder „1“, die angibt, ob die aktuelle Anzahl an Zeilen in der Tabelle, die
      factory
      entspricht, geringer als der Wert der Konfigurationsdateieigenschaft SelListCacheMax ist. Diese Variable wird zu Gunsten der SELECTIONS-Variablen missbilligt, die in allen neuen Formularen verwendet werden sollte.
    Factory-Datumsvariablen, die einen Verweis mit Punkten (COMMON_NAME, REL_ATTR und SELECTIONS) enthalten, können mit einem Verweis mit Punkten von beliebiger Länge verwendet werden. Beispiel: In einem Formular „Request – Detail“ kann „$args.assignee.organization.COMMON_NAME“ durch den externen Namen der Organisation des Bevollmächtigten ersetzt werden.
Listenvariablen
Listenvariablen werden verwendet, um Daten zu wiederholen. Der Zugriff auf Listenvariablen erfolgt über Listen-Tags, wie unter PDM_LIST: Formatieren einer Liste mit Datenbankzeilen beschrieben.