Syntaxregeln für Boolesche Aussagen 

Wenn Sie eine Boolesche logische Aussage in die Anwendungskomponente FI-SL eingeben, müssen Sie bestimmte syntaktische Regeln beachten. In diesem Abschnitt werden die syntaktischen Regeln zum Anlegen von logischen Aussagen im FI-SL-System beschrieben.

Die in diesem Abschnitt beschriebenen Syntaxregeln sind in Release 4.0A für direkt eingegebene Validierungs- und Substitutionsaussagen und für Aussagen, die Sie mit dem Formel-Editor erstellen, gültig. Für Aussagen, die Sie direkt in Regeln eingeben, können diese Regeln nicht verwendet werden.

Wenn Sie eine Boolesche logische Aussage in das FI-SL-System eingeben, müssen Sie folgende syntaktischen Regeln verwenden:

  1. Definieren Sie den Tabellennamen und den Feldnamen, die Sie in Ihrer Aussage verwenden werden. Der Feldname bezeichnet die Dimension, die die Werte enthält, auf die Sie sich in Ihrer Aussage beziehen.
  2. Geben Sie den Tabellen- und den Feldnamen in folgendem Format ein:

    Tabellenname-Feldname

    Tabellenname und Feldname werden durch einen Bindestrich getrennt.

    GLT1-RACCT

    CCSS-KSTAR

    Das System prüft, ob die vor dem Wert angegebene Dimension einen Wert enthält. Wenn der Wert in der Dimension enthalten ist, ist die Aussage wahr (TRUE), wenn der Wert nicht in der Dimension enthalten ist, ist die Aussage unwahr (FALSE).

    Sie können das System so einstellen, daß es lediglich einen Teil des Feldwertes überprüft. Wenn Sie eine solche Teilprüfung veranlassen wollen, geben Sie folgendes ein:

    · Den Tabellennamen und den Feldnamen ( Tabellenname-Feldname )

    · Ein Leerzeichen

    Sie müssen vor dem ersten Doppelpunkt ein Leerzeichen eingeben.

    · Einen Doppelpunkt ( : )

    · Die Stellen des Feldnamens, die geprüft werden sollen

    · Einen Doppelpunkt ( : )

    1 steht immer für die erste Stelle des Feldes. (Die von Ihnen eingegebene Zahl steht nicht für einen Wert, sie repräsentiert die Position eines Werts in der Zeichenkette des Feldes.)

    · GLT1-RACCT :1-3:

    Das System prüft nur die ersten drei Stellen des Feldes "Konto", um zu entscheiden, ob eine Bedingung wahr (TRUE) ist.

    · GLT1-RACCT :5-7:

    Das System prüft die Stellen 5, 6 und 7 des Feldes "Konto", um zu entscheiden, ob eine Bedingung wahr (TRUE) ist.

    · GLT1-RACCT :2-:

    Das System prüft ab Stelle 2 bis zum Ende des Feldes "Konto", um zu entscheiden, ob eine Bedingung wahr (TRUE) ist.

  3. Trennen Sie die einzelnen Elemente Ihrer Aussage mit mindestens einem Leerzeichen.
  4. Schließen Sie die Werte in einfache Anführungszeichen ( ' ) ein.
  5. GLT1-RACCT = '500000'

    COBL-BLART = 'SA'

    Auf welche Werttypen Sie sich in einer Aussage beziehen können, lesen Sie in Typen von FI-SL-Aussagen.

  6. Geben Sie Setnamen ein. Gehen Sie hierbei je nach Settyp folgendermaßen vor:
  7. Geben Sie Basic- und Single-Dimension-Sets im folgenden Format ein:

    a) Tabellenname und Feldname des Sets ( Tabellenname-Feldname )

    b) Schlüsselwort IN

    c) Setname

    GLT1-RACCT IN KONTEN

    Geben Sie Multi-Dimension-Sets im folgenden Format ein:

    a) Schlüsselwort IN

    b) Setname

    IN KONTOKSTL

  8. Wenn Sie in Ihrer Aussage eine Regel verwenden, geben Sie nur den Regelnamen ein (ohne vorgestelltes &-Zeichen).
  9. Schließen Sie Kommentare, die Sie in Ihre Aussage eingeben wollen, in Anführungszeichen (") ein.
  10. Texte, die auf diese Weise markiert sind, werden vom System nicht verarbeitet; sie dienen lediglich der Beschreibung der Aussage.

    Wenn Sie die Aussage direkt eingeben oder den Experten-Modus im Formel-Editor verwenden, müssen Sie den kommentierenden Text vor der Aussage eingeben.

    Wenn Sie den Text direkt in die Aussage eingeben, können Sie im kommentierenden Text keine Leerzeichen verwenden. Der Text darf außerdem nicht länger als 58 Zeichen sein. Wenn Sie einen kommentierenden Text eingeben wollen, der länger als 58 Zeichen ist, müssen Sie den Kommentar in zwei Gruppen eingeben und diese Gruppen durch ein Leerzeichen trennen.

  11. Verwenden Sie die Booleschen logischen Operatoren NOT, AND, OR, NAND, NOR, --> und <->.
  12. Der Operator NOT hat die höchste Priorität und wird in der Aussage zuerst verarbeitet, es sei denn, in der Aussage werden Klammern verwendet.

    NOT (A OR B)

    In diesem Beispiel wird zuerst die in Klammern eingeschlossene Aussage verarbeitet. Die anderen Operatoren werden in der Reihenfolge verarbeitet, in der sie in der Aussage erscheinen.

    Informationen über die Booleschen logischen Operatoren finden Sie unter Die Verwendung Boolescher Operatoren in Wahrheitstabellen.

  13. Verwenden Sie folgende mathematischen Standardoperatoren:
  14. Operator

    Definition

    <

    kleiner als

    >

    größer als

    < >

    ungleich

    =

    gleich

    <=

    kleiner gleich

    >=

    größer gleich

     

  15. Wenn Sie einen Benutzer-Exit in eine Aussage eingeben wollen, gehen Sie folgendermaßen vor:
  16. a) Geben Sie den Buchstaben u (für Benutzer-Exit [englisch: user exit]) oder s (für einen Standard-FI-SL-Exit) ein.

    b) Geben Sie die dreistellige Nummer des Benutzer-Exits (z.B. =U123) ein.

    Den Form-Pool, der die Benutzer-Exits enthält, konfigurieren Sie in der Tabelle für mandantenabhängige Benutzer-Exits (T80D) im Customizing der Speziellen Ledger, indem Sie Grundeinstellungen ® Benutzer-Exits ® Mandantenabhängige Benutzer-Exits pflegen wählen. Der Name des Form-Pools sollte den Namenskonventionen für Benutzer entsprechen und mit einem Z beginnen, damit er beim nächsten SAP-Upgrade nicht überschrieben werden kann.

  17. Wenn Sie in einer Aussage eine mathematische Operation verwenden wollen, gehen Sie bitte folgendermaßen vor:
  18. a) Verwenden Sie die in der folgenden Tabelle aufgeführten mathematischen Operatoren.

    Symbol

    Operation

    +

    Addition

    -

    Subtraktion

    *

    Multiplikation

    /

    Division

     

    b) Verwenden Sie Klammern, um die Reihenfolge festzulegen, in der die mathematischen Aussagen bewertet werden sollen.

    Wenn Sie eine Matrix-Validierung oder eine Matrix-Substitution anlegen, können Sie folgende Operatoren auch verwenden, wenn Sie Einzelposten in einem Beleg validieren oder substituieren.

    Sie müssen nach dem Schlüsselwort und unmittelbar vor der öffnenden Klammer ein Leerzeichen eingeben.

    Operator

    Beschreibung

    SUM( )

    Summe des Beleges

    AVG( )

    Durchschnittssumme des Beleges

    MAX( )

    Maximaler Wert aller Belegzeilen

    MIN( )

    Minimaler Wert aller Belegzeilen

    GROUP BY

    Eine Gruppe von Summen mit einer anderen Gruppe von Summen vergleichen

     

    SUM ( BSEG-DMBTR ) < 50000

    In diesem Beispiel kann der Benutzer für einen Beleg maximal den Betrag 50000 in Hauswährung buchen.

    AVG ( TABLE-FIELD1 ) GROUP_BY TABLE-RYEAR TABLE-RVERS = AVG ( TABLE-FIELD2 ) GROUP_BY TABLE-RYEAR TABLE-RVERS

    In diesem Beispiel ist die Aussage wahr (TRUE), wenn der Durchschnittswert für jede "Jahr/Version"-Kombination für FELD1 mit dem Durchschnittswert der "Jahr/Version"-Kombination für FELD2 identisch ist.

    Sie können Regeln auch in Aussagen verwenden, in denen mathematische Operationen verwendet werden.

    SUM ( BSEG-DMBTR ) WHERE RULE_1 < SUM ( BSEG-DMBTR ) WHERE RULE_2

    In diesem Beispiel validiert das System die Summe der Hauswährung (DMBTR) gegen REGEL1. Wenn die Summe die in REGEL1 definierten Bedingungen erfüllt, prüft das System anschließend, ob die Summe kleiner als der Hauswährungsbetrag ist. Hierbei legt es die in REGEL2 definierten Bedingungen zugrunde.

  19. Wenn Sie eine Aussage bei der Eingabe als wahr (TRUE) oder unwahr (FALSE) kennzeichnen wollen, können Sie TRUE und FALSE eingeben.
  20. Wenn Sie in einer Booleschen Aussage Währungsarten eingeben wollen, müssen Sie die Währungsschlüssel in Klammern einschließen.

Sie geben nur dann einen Währungsschlüssel in eine Boolesche Aussage ein, wenn der Währungsschlüssel mehr oder weniger als zwei Stellen hat.

Sie können nur dann Währungsarten in eine Boolesche Aussage eingeben, wenn Sie die Aussage direkt oder mit Hilfe des Experten-Modus in den Formel-Editor eingeben.

BSEG-DMBTR < ‘10000(BEF)’

Siehe auch:

Beispiele Boolescher Aussagen