s-Bedingung

s-Bedingung - Abfrage auf true

Abarbeiten eines Segments - s - wenn eine Bedingung zutrifft

Trifft eine s-Bedingung zu (true), wird der Code-Teil innerhalb der eckigen Klammern (Segment) abgearbeitet. Trifft eine s-Bedingung nicht zu (false), wird der Code-Teil innerhalb der eckigen Klammern (Segment) ignoriert.

Form

[«sATTRIBUT£y ... y»]
«sATTRIBUT£y ... y»[Information ausgeben]
Die Funktionalität der s-Bedingung ist vom Prinzip her identisch mit der z Bedingung. Der Unterschied liegt darin, dass von einer s-Bedingung nur ein Segment einer Codezeile abhängig ist. Das Segment wird durch eckige Klammern - [....] - abgegrenzt.
"£y ... y" steht für eine Bedingung. Attribute bzw. deren Werte, können zusammen mit folgenden Operatoren verwendet werden:
= gleich
> grösser
< kleiner
Weitere Informationen finden Sie im Kapitel z-Bedingung.

Beispiel 1

«sAUF-TYP=4»[«MARK(6,ON)»]
Der Indikator MARK(6) wird eingeschaltet, wenn die Bedingung «sAUF-TYP=4» true ist.

Beispiel 2

[«sVORNAME\A» ]«NAME\A»
Das Attribut Vorname wird nur ausgegeben wenn es Inhalt hat.
Ausgabe wenn Inhalt: Hans Gerber
Ausgabe wenn kein Inhalt: Gerber

Beispiel 3

«sMARK(6)\I»[«(«AP-EBETRAG$\N»-«AP-EBETRAGWUST$\N»)\N12,.00t'»]
Wenn der Indikator MARK(6) eingeschaltet ist, wird die Berechnung innerhalb des Segments abgearbeitet.

s-Bedingung - Abfrage auf false

Abarbeiten eines Segments - ~s - wenn eine Bedingung nicht zutrifft

Mit der Erweiterung "~" kann eine Bedingung negiert werden. Das bedeutet, dass true zurückgegeben wird, wenn die Bedingung nicht zutrifft.

Form

[«s~ATTRIBUT£y ... y»]
«s~ATTRIBUT£y ... y»[Information ausgeben]
Das Zeichen "~" entspricht dem ASCII-Wert 126.

Beispiel 4

«s~MEA(80)\I»[«/PRINTER-TEAM-KRIENS»]
Wenn MEA(80) keinen Inhalt hat, wird die Subroutine ausgeführt.

Beispiel 5

«s~ADR-LAND=«MAND-LAND»»[«ADR-LAND»-]«PLZ» «ORT»
Wenn das Land der Adresse nicht dem des aktiven Mandanten entspricht, wird das Land vor der PLZ ausgegeben.
Ausgabe wenn das Land der Adresse dem des aktiven Mandanten entspricht: 6010 Kriens
Ausgabe wenn das Land der Adresse nicht dem des aktiven Mandanten entspricht: DE-10048 Berlin

Verarbeitung ohne Ausgabe bzw. ohne Drucken

Abarbeiten einer Zeile ohne Ausgabe

Der Zusatz "n" bewirkt, dass eine Bedingung geprüft wird ohne dass eine Ausgabe erfolgt. Dies ist insbesondere dann hilfreich, wenn Bedingungen innerhalb von Output-Scripts geprüft werden. Oftmals wird nämlich (je nach Rückgabe der Bedingung) 0 oder 1 ausgegeben. Die Ausgabe von 0 oder 1 ist in Output-Scripts normalerweise unerwünscht und kann mit dem Zusatz "n" unterdrückt werden.

Form

«nsATTRIBUT£y ... y»

Beispiel 6

# Beispiel s-Bedingung
«ns X(Addr.Number)=2020\N»[Adress-Nummer = 2020]

#Beispiel Negation s-Bedingung
«ns~X(Addr.Number)=2020\N»[Adress-Nummer <> 2020]