z-Bedingung

z-Bedingung - Abfrage auf true

Abarbeiten einer Zeile - z - wenn eine Bedingung zutrifft

Trifft eine z-Bedingung zu (true), wird der Rest der Codezeile abgearbeitet. Trifft eine z-Bedingung nicht zu (false), wird der Rest der Codezeile ignoriert.

Form

«zATTRIBUT£y ... y»
"£y ... y" steht für eine Bedingung. Attribute bzw. deren Werte, können zusammen mit folgenden Operatoren verwendet werden:
= gleich
> grösser
< kleiner
Oft müssen Attribute nicht mit Vergleichsoperatoren geprüft werden, sondern die Bedingung lautet: Hat ein Attribut Inhalt oder nicht. In diesen Fällen ist auf das Format des jeweiligen Attributs zu achten.
Alphanumerische Attribute können mit alphanumerischer Formatierung geprüft werden. Beispiel: «zVORNAME\A» ist true wenn das Attribut Inhalt hat und false wenn es leer ist. Die Bedingung «zVORNAME\I» liefert dasselbe Resultat.
Numerische Attribute können per Definition nicht leer sein. Wird ein numerisches Attribut "geleert" so enthält es anschliessend 0. Numerische Attribute sollten mit numerischer Formatierung geprüft werden. Beispiel: «zK-VERSANDZEIT\N» ist true wenn das Attribut einen Wert >0 enthält und false wenn es 0 enthält. Soll explizit auf 0 geprüft werden, ist die Bedingung folgendermassen zu codieren: «zK-VERSANDZEIT=0\N»
Attribute welche ein Datum enthalten, sollten ebenfalls mit der entsprechenden Formatierung geprüft werden. Beispiel: «zM-GEBURTSDATUM\D» ist true wenn das Attribut ein Datum enthält und false wenn es leer ist.
Nebst Wertvergleichen mit Operatoren können auch Indikatoren als Bedingung verwendet werden. Indikatoren haben schon per Definition die Werte true oder false.
Dabei kann es sich einerseits um F-Script Indikatoren (z.B. MARK) oder aber um OpaccERP Attribute (z.B. PSEUDOJN - Art.IsPseudo) handeln. OpaccERP (Indikator-)Attribute zeigen sich im User-Interface in der Regel als Checkbox. Aktive Checkboxen sind true und passive Checkboxen sind false.
Eine Indikator-Prüfung erfolgt wenn geprüft werden soll, ob sich eine Adresse aktivieren lässt. Beispiel: «zADR-ACTIVE(1000)\I»
Lässt sich die Adresse 1000 aktivieren wird true zurückgegeben, ansonsten false.

Beispiel 1

«zAUF-TOTAL$>0\N»Total CHF «AUF-TOTAL$»
Die Ausgabe von Total CHF «AUF-TOTAL$» wird nur abgearbeitet wenn die Bedingung «zAUF-TOTAL$>0» true ist. Ist die Bedingung false, wird die ganze Zeile ignoriert. In diesem Fall wird keine Leerzeile ausgegeben.

Beispiel 2

«zAP-LIEF-TAG\D»Liefertermin: «AP-LIEF-TAG»
Die Zeile wird nur abgearbeitet wenn die Bedingung «zAP-LIEF-TAG\D» true ist.

Beispiel 3

«zKADR-ACTIVE(1070)\I»Die Adresse «K-ADR-NR» ist ein Kunde.
Die Zeile wird nur abgearbeitet wenn die Bedingung «zK-ADR-ACTIVE(1070)\I» true ist. Also nur dann, wenn die Adresse 1070 eine Kundenadresse ist.

Beispiel 4

«zMARK\I»Der Indikator steht auf "true"
Die Zeile wird nur abgearbeitet wenn der Indikator MARK auf true steht und damit die Bedingung «zMARK\I» true ist.

Beispiel 5

«zPSEUDOJN\I»Der Artikel ist ein Pseudoartikel.
Die Zeile wird nur abgearbeitet wenn die Bedingung «zPSEUDOJN» true ist. Also nur dann, wenn der entsprechende Artikel ein Pseudoartikel ist. In diesem Fall handelt es sich um ein OpaccERP Attribut welches in der Datenbank als Indikator (Boolean) definiert ist und im User-Interface als Checkbox [x] oder [ ] angezeigt wird.

z-Bedingung - Abfrage auf false

Abarbeiten einer Zeile - ~z - wenn eine Bedingung nicht zutrifft

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

Form

«z~ATTRIBUT£y ... y»
Das Zeichen "~" entspricht dem ASCII-Wert 126.

Beispiel 6

«z~PSEUDOJN\I»Der Artikel ist kein Pseudoartikel.
Die Zeile wird nur abgearbeitet wenn die Bedingung «z~PSEUDOJN» true ist. Also nur dann, wenn der entsprechende Artikel kein Pseudoartikel ist.

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

«nzATTRIBUT£y ... y»

Beispiel 7

«nz~WERDAT\D»Kunde hat noch keine Werbung erhalten.
Ausgabe mit «z~WERDAT\D»: 0Kunde hat noch keine Werbung erhalten.
Ausgabe mit «nz~WERDAT\D»: Kunde hat noch keine Werbung erhalten.
Beachten Sie, dass der Zusatz "n" auch in anderen Konstellationen verwendet werden kann. Beispielsweise beim Abfüllen eines Speichers.
«m6(123456)» führt zu folgender Ausgabe: 123456
«nm6(123456)» führt zu folgender Ausgabe: