Zugriff auf Eigenschaften von Werten in Ausdrücken

Innerhalb von Ausdrücken haben bestimmte Datentypen Eigenschaften. Dieser Artikel beschreibt aus der Sicht des Entwicklers, wie man auf Eigenschaften von Werten in Ausdrücken zugreifen kann. In Architect enthält das Datenwertelement Currency zwei verfügbare Eigenschaften:

  • Betrag: Eine Dezimalzahl, die den Betrag der Währung angibt
  • Codec Eine Zeichenfolge, die den ISO 4217-Code für die Währung enthält.

Zum Beispiel ist eine Währung mit einem Betrag von 5,00 und Code von "USD" 5 United States Dollars.

Beispiel Zugriff auf den auf Währung eingestellten Betrag

Angenommen, Sie haben eine Flow.MyCurrency-Variable mit einem Currency-Datentyp und möchten den für die Währung festgelegten Betrag abrufen. Architect unterstützt drei syntaktische Möglichkeiten für den Zugriff auf die Eigenschaft Amount. 

Methode Beschreibung
Flow.MyCurrency.Amount Diese Methode ist für jede Eigenschaft gültig, deren Name mit einem Buchstaben beginnt und von einem oder mehreren Buchstaben, Ziffern oder Unterstrichen gefolgt wird.
Flow.MyCurrency. "Betrag"

Diese Methode ist für jeden Eigenschaftsnamen gültig, auch für Eigenschaftsnamen, die Leerzeichen oder Punkte enthalten. Es ist wichtig, daran zu denken, dass Sie auf die Eigenschaft über ein String-Literal zugreifen, und die Standard-Escaping-Regeln von gelten für das String-Literal Wenn ein Wert den Eigenschaftsnamen AM\PM enthält, ist es nicht zulässig, mit der im Beispiel Flow.MyCurrency.AmountLearngezeigten Syntax auf ihn zuzugreifen. 

Gültig

Verwenden Sie ein String-Literal wie folgt:

Flow.MyCurrency."AM\\PM"

In diesem Beispiel verwenden Sie den Backslash als Escape-Sequenz innerhalb des String-Literal. 

Ungültig

Bei Verwendung der Methode Flow.MyCurrency wird nur ein String-Literal unterstützt. Das folgende Beispiel ist nicht gültig.

Flow.MyCurrency."Am"+"ount" or Flow.MyCurrency.(Am"+"ount")

Wenn ein Eigenschaftsname ein Zeichen enthält, das mit Anführungszeichen versehen werden muss, verwenden Sie Anführungszeichen für den Zugriff. Im folgenden Beispiel wollen wir auf den Eigenschaftsnamen "AM\PM" eines Datentyps zugreifen. Die korrekte Zeichenfolge lautet:

Flow.ExampleVar."AM\PM"

Weitere Informationen über die Escape-Funktion für String-Literale finden Sie unter Use string literals in expressions.

Flow.MyCurrency["Amount"] Diese Methode ist die gleiche wie Flow.MyCurrency Verwenden Sie jedoch einen Klammeroperator anstelle eines Dezimalzeichens, um auf die Eigenschaft zuzugreifen. Diese Methode enthält sowohl eine öffnende als auch eine schließende Klammer. Diese Notation wird zwar unterstützt, ist aber nicht der Standard, der in der Type-Ahead-Funktion in Ausdruckseditoren angezeigt wird. Außerdem muss der Eigenschaftszugriff innerhalb der Klammern ein Zeichenkettenliteral sein, das entsprechend umbrochen wird.

In den obigen Beispielen wird eine Variable für den Zugriff auf die Eigenschaft amount verwendet. Denken Sie daran, dass Sie im Wesentlichen mit dem Währungswert der Währungsvariablen arbeiten und auf eine Eigenschaft dieser Variablen zugreifen. Die folgenden Beispiele sind ebenfalls gültig, da MakeCurrency einen Währungswert zurückgibt und Sie über die zurückgegebene Währung auf den Betrag zugreifen können:

  • MakeCurrency(10.00, "USD").Amount
  • MakeCurrency(10.00, "USD"). "Amount"
  • MakeCurrency(10.00, "USD")["Amount"]

NOT_SET in Datenwerten

Stellen Sie sicher, dass Ihr Wert in Ausdrücken festgelegt ist. Wenn z. B. ein Währungswert NOT_SET ist, können Sie nicht auf die Eigenschaft Betrag oder Code zugreifen. Dieses Beispiel ist syntaktisch gültig:

ToCurrency(NOT_SET).Amount

Zur Laufzeit tritt jedoch ein Fehler auf, weil Sie auf die Eigenschaft Betrag bei einer NOT_SET-Währung nicht zugreifen können. Es wird empfohlen, sich zu vergewissern, dass ein Datenwert NOT_SET ist, bevor Sie auf eine Eigenschaft dieses Wertes zugreifen.