Alte Syntaxregeln für Boolesche Aussagen
Wenn Sie in Release 4.0A Regeln anlegen, indem Sie Boolesche Aussagen direkt eingeben (d.h. nicht mit Hilfe des Formel-Editors), müssen Sie die alten Syntaxregeln verwenden, die vor Release 4.0A zum Anlegen von Regeln verwendet wurden.

Wenn Sie Aussagen in Validierungen und Substitutionen entweder direkt oder mit dem Formel-Editor im Experten-Modus eingeben, verwenden Sie die neuen Syntaxregeln für Release 4.0A. Weitere Informationen zu diesem Thema finden Sie unter
Wenn Sie eine Aussage direkt in eine Regel eingeben, müssen Sie folgende syntaktischen Regeln verwenden:
Eine Aussage muß sich immer auf eine Tabelle beziehen. Die angegebene Tabelle muß alle Dimensionen enthalten, die Sie in Ihrer Aussage verwenden wollen.
Schließen Sie den Tabellennamen in spitze Klammern ein.

<GLT0>
<GLT1>
<COBL>
Der Tabellenname ist innerhalb einer Aussage gültig, bis Sie einen neuen Tabellennamen eingeben. Sie können in jede Aussage mehrere Tabellennamen eingeben.

Wenn Sie eine Regel in eine Aussage eingeben, müssen Sie für diese Regel keinen Tabellennamen eingeben. Die Regel verwendet immer die Tabelle, die ihr bei der Definition zugeordnet wurde. Weitere Informationen über Regeln finden Sie unter
Regeln: Einführung.Für Basic- und Single-Dimension-Sets müssen Sie für das in der Aussage verwendete Set keinen Tabellennamen eingeben.

<GLT1> $RACCT
<COBL> $BLART
Das System prüft, ob sich ein bestimmter Wert auf die vor dem Wert eingegebene Dimension bezieht. Wenn der Wert sich auf die angegebene Dimension bezieht, ist die Aussage wahr (TRUE). Wenn der Wert sich nicht auf die Dimension bezieht, ist die Aussage unwahr (FALSE).
Sie können das System auch so einstellen, daß es einen Feldwert nur teilweise
überprüft. Um diese Einstellung vorzunehmen, geben Sie ein $-Zeichen, den Feldnamen, einen Doppelpunkt (:), die Positionen des Feldnamens, die überprüft werden sollen, und dann wieder einen Doppelpunkt (:) ein. 1 steht immer für die erste Position des Feldes. (Die Zahl, die Sie eingeben, steht nicht für einen Wert, sondern für die Position eines Wertes im Feldnamen.)
·
<GLT1> $RACCT:1-3:Das System prüft lediglich die ersten drei Positionen des Feldes "Konto", um festzustellen, ob die Bedingung erfüllt (TRUE) ist.
·
<GLT1> $RACCT:5-7:Das System prüft die Positionen 5, 6 und 7 des Feldes "Konto", um festzustellen, ob die Bedingung erfüllt (TRUE) ist.
·
<GLT1> $RACCT:2-:Das System prüft ab Position 2 bis zum Ende des Feldes "Konto", um festzustellen, ob die Bedingung erfüllt (TRUE) ist.
Wenn Sie in einer Aussage einen Setnamen verwenden, schließen Sie den Setnamen nicht in einfache Anführungszeichen (') ein.

<GLT1> $RACCT = '500000'
<COBL> $BLART = 'SA'
a) Schlüsselwort IN
b) Setname

Die vom Set verwendete Tabelle kann immer noch vor dem Setnamen eingegeben werden (IN <Tabellenname> Setname).

Das folgende Beispiel verwendet das für Tabelle GLT1 angelegte Basic-Set KONTEN.
IN KONTEN
IN <GLT1> KONTEN
(mit optionalem Tabellennamen)
<COBL> ($HKONT = '500000' AND $HKONT = '600000') OR $KOSTL = '100'
Texte, die auf diese Weise markiert sind, werden vom System nicht verarbeitet; sie dienen lediglich der Beschreibung der Aussage.
Wenn Sie in Ihrer Aussage keine Klammern verwendet haben, hat der Operator NOT die höchste Priorität und wird in der Aussage zuerst verarbeitet.

NOT (A OR B)
In diesem Beispiel wird zuerst die in Klammer stehende Aussage verarbeitet. Die anderen Operatoren werden in der Reihenfolge verarbeitet, in der sie in die Aussage eingegeben wurden.
Weitere Informationen über die Booleschen logischen Operatoren finden Sie unter
Die Verwendung Boolescher Operatoren in Wahrheitstabellen.Operator |
Definition |
< |
kleiner als |
> |
größer als |
< > |
ungleich |
= |
gleich |
<= |
kleiner gleich |
>= |
größer gleich |
a) Geben Sie = ein.
b) Geben Sie den Buchstaben u (für Benutzer-Exit [englisch: user exit]) oder s (für einen Standard-FI-SL-Exit) ein.
c) Geben Sie die dreistellige Nummer des Benutzer-Exits (z.B.
=U123 ) ein.
Sie konfigurieren den Form-Pool, der die Benutzer-Exits enthält, 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.a) Geben Sie vor dem mathematischen Operator das Schlüsselwort
MATHS( ein.b) Geben Sie nach dem mathematischen Operator Klammern ein.
c) Verwenden Sie die in der folgenden Tabelle aufgeführten mathematischen Operatoren.
Symbol |
Operation |
+ |
Addition |
- |
Subtraktion |
* |
Multiplikation |
/ |
Division |
d) 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 die Operatoren der folgenden Tabelle auch verwenden, wenn Sie Einzelposten in einem Beleg validieren oder substituieren.
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 |

MATHS( SUM( $HSL ) < 50000 )
In diesem Beispiel kann der Benutzer für einen Beleg maximal den Betrag 50000 in Hauswährung buchen.
MATHS( AVG( $FIELD1 ) GROUP BY $RYEAR $RVERS = AVG( $FIELD2 ) GROUP BY $RYEAR $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.

MATHS( SUM( $DMBTR ) WHERE &RULE_1 < SUM( $DMBTR ) WHERE &RULE_2 )
In diesem Beispiel errechnet das System die Summe der Hauswährung (DMBTR) für die Belegzeilen, für die REGEL1 wahr (TRUE) ist. Anschließend errechnet das System die Summe der Hauswährung für die Belegzeilen, für die REGEL2 wahr (TRUE) ist. Die Aussage ist wahr (TRUE), wenn die erste Summe kleiner ist als die zweite Summe.
Sie müssen einen Währungsschlüssel in eine Boolesche Aussage eingeben, wenn der Währungsschlüssel mehr oder weniger als zwei Dezimalstellen hat.

<BSEG> $DMBTR < ‘10000 (BEF)’