Bedingungen befinden sich in dem in der Gesamtabbildung rosa eingefärbten Bereich der Entscheidungstabelle.
Für jede Bedingung ist es möglich, bis zu drei Blöcke von Pseudocode zu definieren. Die Spalten O, P und C geben an, ob für die Bedingung in dem betreffenden Block Code definiert ist (vgl. unten).
Diese Spalten sind in der Entscheidungstabelle nicht veränderbar.
In der Spalte „Titel“ können Sie eine einzeilige Umschreibung für die Bedingung eingeben. Wenn die Umschreibung leer ist, wird der Anfang des Pseudocodes im P-Block hier angezeigt.
Die Schleifen-Spalte ist nur vorhanden, wenn die Entscheidungstabelle eine Moduliteration enthält.
Bedingungen werden immer in Pseudocode formuliert, d.h. die Bearbeitung erfolgt immer im Pseudocode-Editor. Der Bedingungscode kann auf drei Code-Blöcke verteilt werden, einen vorbereitenden Block O, den eigentlichen Bedingungsblock P, und einen nachbereitenden Block C.
Durch Doppelklick auf den Titel oder den Zeilenkopf der Bedingung verzweigen Sie in die Pseudocode-Bearbeitung von Block P. Durch Doppelklick auf einer der Spalten O, P oder C verzweigen Sie zur Pseudocode-Bearbeitung für den betreffenden Block.
Wenn Sie sich bereits im Pseudocode-Editor befinden, können Sie durch Auswahl in der Pseudocode-Struktur zwischen Bedingungen und Bedingungsblöcken wechseln.
Der vorbereitende Bedingungsteil (Open) wird ausgeführt, bevor die Bedingung, die im P-Block codiert ist, ausgewertet wird.
In diesem Bedingungsteil können Sie den gesamten in der Pseudocode-Syntax definierten Sprachumfang nutzen.
Sie können hier sicherstellen, dass die Voraussetzungen gegeben sind, um die Bedingung korrekt auswerten zu können. Zum Beispiel können Sie sicherstellen, dass abgefragte Variablen den richtigen Inhalt haben, im Listenobjekt positionieren, oder Objektinhalte aktualisieren.
Beispiel:
get first mylist neubetrag = mylist.000-my-value * 2 zwischensumme = neubetrag + altbetrag
if zwischensumme > 1000
Der Code in Block P(rocedure) enthält die eigentliche Bedingung: Hier wird die Abfrage formuliert, die über das Zutreffen der Bedingung entscheidet.
Diese Abfrage muss eine zusammengehörige IF-Bedingung sein, die als Ergebnis TRUE (zutreffend) oder FALSE (nicht zutreffend) liefert. Das CTV-Laufzeitsystem geht immer davon aus, dass der Code, der sich in dem P-Block befindet, eine mit IF beginnende Bedingung ist. Wenn Sie das IF nicht selbst schreiben, wird es dennoch bei der Auswertung der Bedingung angenommen.
Die folgenden Zeilen haben - an dieser Stelle - somit dieselbe Wirkung:
pgurlb.000-pg-auswahl = "H" IF pgurlb.000-pg-auswahl = "H"
Richtig wäre auch folgende Bedingung:
zwischensumme > 1000 and laufzeitmonate < 36
Aber folgende nicht:
zwischensumme = neubetrag + altbetrag if zwischensumme > 1000
Das letzte Codebeispiele ergäbe ein falsches Ergebnis, da zur Laufzeit am Anfang der Bedingung ein IF angenommen wird. Der Code würde also interpretiert als
IF zwischensumme = neubetrag + altbetrag if zwischensumme > 1000
Bei der Überprüfung des Pseudocodes stellt KnowlEdge in der Regel fest, dass der Code keine korrekte Bedingung darstellt, und meldet dies als Fehler.
Der richtige Platz für solche Wertzuweisungen ist der vorbereitende Bedingungsteil.
Der nachbereitende Bedingungsteil ( Close) wird ausgeführt, nachdem die Bedingung, die im P-Block codiert ist, ausgewertet wurde.
In diesem Bedingungsteil können Sie den gesamten in der Pseudocode-Syntax definierten Sprachumfang nutzen.
Sie können hier Feldern, die in der Bedingung benutzt wurden, neue Werte zuweisen, ohne dass dies noch Einfluss auf die Auswertung der Bedingung hat. Beispiel:
if zwischensumme > 1000
zwischensumme = zwischensumme * mehrwertsteuersatz
Um eine Bedingung hinzuzufügen,
Die neue Bedingung wird hinter der aktuell selektierten Bedingung eingefügt, wenn keine Bedingung selektiert ist, am Ende der Liste.
Sie können nun den Pseudocode für die Bedingung bearbeiten.
Denken Sie auch daran, die Regeln für die Bedingung zu ergänzen.