Kapitel-HauptseiteZurückblätternWeiterblätternBO-Doku Startseite

Der Business OPEN-interne äif-Befehl

 

Für komplexere Abfragen stellt Business OPEN einen eigenen Befehl zur Verfügung:

 

Syntax:

äif(Bedingung;Ja-Zweig;Nein-Zweig)

 

Parameter

Typ

Beschreibung

 

Bedingung

boolean

Ja/Nein-Wert

 

Ja-Zweig

Alphanumerisch

Anweisung, evtl. Verzweigung in weiteren äif-Befehl

 

Nein-Zweig

Alphanumerisch

Anweisung, evtl. Verzweigung in weiteren äif-Befehl

 

Hinweis:

Bei den Anweisungen des Ja-Zweigs und des Nein-Zweigs muss es sich um Texte (Strings) handeln!

 

Beispiel

einfache Abfrage

Angenommen, der Lagermengen-Report berücksichtigte sämtliche Lagerorte. In diesem Fall sollen Artikel, die sich auf dem Reparaturlager befinden ausdrücklich mit der Kennung "Reparatur!" versehen werden.

 

Platzieren Sie im Datenteil neben dem Lagerwert eine Variable vvRep. Weisen Sie ihr im Skript folgende äif-Abfrage zu:

 

 

Bedingung der äif-Abfrage ist der eingetragene Lagerort "Rep", im Ja-Fall soll auf dem Bericht "Reparatur!" ausgedruckt werden, im Nein-Fall nichts ( leerer String).

 

 

Ab der Version SRP 3.x kann eine If-Abfrage an die Stelle des äif-Befehls treten:

 

If ([LagerMengen]Lagerort="Rep")

vvRep:="Reparatur!"

Else

vvRep:=""

End if

 

Die Druckausgabe ist jeweils identisch:

 

 

 

 

Beispiel

verschachtelte Abfrage

Befindet sich ein Artikel auf dem Reparaturlager, soll zusätzlich das Einlagerdatum geprüft werden. Reparaturen vor einem bestimmten Stichtag sollen die Kennung "überfällig" bekommen.

Die Variable "vvRep" erhält in diesem Fall das folgende Script:

 

 

- Grundbedingung der äif-Abfrage ist wiederum Lagerort = "Rep" (araturlager).

 

- Im Ja-Fall wird in eine weitere Abfrage verzweigt, die prüft, ob das Einlagerdatum vor einem bestimmten Stichtag liegt.

 

- Im Ja-Zweig der Unterbedingung soll "Reparatur überfällig!" gedruckt werden, im Nein-Zweig lediglich "Reparatur".

 

- Im Nein-Zweig der Grundbedingung (also Lagerort # "Rep" soll nichts auf dem Formular erscheinen (leerer String):

 

 

 

In der Version SRP 3.x kann die verschachtelte Abfrage auf übersichtlichere Weise im Rahmen einer If-Abfrage realisiert werden:

 

If ([LagerMengen]Lagerort="Rep")

If ([LagerMengen]EinlagerDatum<!01.01.2018!)

vvRep:="Reparatur überfällig!"

Else

vvRep:="Reparatur!"

End if

Else

vvRep:=""

End if

 

 

Hinweis:

Trotz der Option auf die gesamte 4D Befehlssprache in SuperReport Pro 3.x kann der BO-interne äif-Befehl weiterverwendet und interpretiert werden, wenn dieser z.B. aus bestehenden Formularen übernommen wird oder wenn Sie aus alter Gewohnheit daran festhalten möchten.


Kapitel-HauptseiteZurückblätternWeiterblätternBO-Doku Startseite