Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Aufbau einer Regel im R-S

Abbildung A


In Abb. A sehen Sie den Aufbau einer Regel mit Spalten (1)  und Zeilen (2). Eine Spalte definiert genau einen Wert als Bedingung. In Abb. A sind das:

Spaltenname ErstzulassungModellPreisWill_VerkaufenPS
Wert (Bedingung) 01.01.2013 RS5 75.500 TRUE 450

Scroll Pagebreak

Diese Spaltenwerte sind die Bedingungen der Regel, auf die die Zeilen in den entsprechenden Spalten geprüft werden. Der Wert einer Spalte kann einen der folgenden Datentypen haben (die in Abb. A alle verwendet wurden):

...

In  Abb. A  ist Zeile #3 die gültige Auswahl für die Regel, da alle Werte in der Zeile identisch zum jeweiligen Spaltenwert sind. Die Regel hat also den Wert  ${Angebot_3} (3) Wird die Regel aufgerufen, so ist das Ergebnis:

Codeblock
themeConfluence
Aufruf (EVAL-Anweisung):	  ${NameDerRegel}
Rückgabewert: 				             ${Angebot_3} 
Endwert:	   				                  Verweis auf "Angebot_3"


Mit ${Angebot_3} wird eine Ressource mit dem Namen Angebot_3 zurückgegeben, in diesem Fall z.B. eine binäre Ressource, die das entsprechende Angebot als Bild enthält. Die Verwendung dynamischer Anweisungen wird im Folgenden vorgestellt.

Info

Der Operator * ist immer wahr. Enthält eine Zeile also in einer Spalte den Wert '*', so erfüllt die Zeile die Bedingung dieser Spalte immer, unabhängig von der Spaltenbedingung. Mehr dazu im im Abschnitt über boolsche Operatoren.

...

Codeblock
titleBeispiel
Je nach Nationalität des Kunden soll dessen Nationalflagge angezeigt werden. Die Nationalität des Kunden wird durch die Datenstrom-Variable DS.NATIONALITY geliefert - Bei jedem Kunden individuell. 
Um abhängig von DS.NATIONALITY die richtige Ressource auszusuchen, benötigt man eine Regel. 
Diese liefert, je nach Wert von DS.NATIONALITY, die richtige Ressource zurück. Ruft man die Regel auf, erhält man automatisch die richtige Ressource.


Mögliche Werte von  DS.NATIONALITY :

Wert GERCHAUT
Kunde kommt aus DeutschlandSchweizÖsterreich

Scroll Pagebreak

Binäre Ressourcen, die die Flaggen enthalten:

Name der Ressource ger_flagch_flagat_flag
Inhalt

Image Modified

Image Modified

Image RemovedImage Added


Dazugehörige Regel:

...

Erweitern
title* Operator
Panel
borderColorLightGray
bgColor#FCFDFE
borderWidth1
borderStyledashed

Den ALWAYSTRUE Operator * haben Sie bereits im obigen Abschnitt kennengelernt. Er erwartet keine zu vergleichenden Argumente und hat immer den Wert  TRUE , ist also immer wahr. Er wird oft benutzt, wenn eine Bedingung für die Zeile irrelevant ist, um einen Restbereich abzudecken, der durch die anderen Zeilen nicht abgedeckt wurde oder um ein alternatives Standardverhalten zu implementieren. Durch * trifft diese Bedingung dann immer zu.


Beispielregel A  


Die Bedingung in 
Beispielregel A  ist  24.12.2013 . Zeile #1 erhält das heutige Datum über die Datenstrom-Variable  DS.TODAYS_DATE . Ist das heutige Datum der 24.12.2013, so ist der Wert der Regel der  STRING  "Heute ist Weihnachten!". Ist heute nicht der 24.12.2013, trifft die Bedingung nicht zu und die Zeile ist ungültig. Zeile #2 ist immer gültig, da der Operator  *  unabhängig von der Bedingung immer zutrifft (Bsp. gilt natürlich nur für 2013) . An allen anderen Tagen ist der Wert der Regel also der  STRING  "Heute ist irgendein Tag, aber nicht Weihnachten!". In Zeile #1 wird übrigens automatisch der  EQUAL -Operator verwendet, da ja kein Operator angegeben wird. Die interne Darstellung ist also  =24.12.2013  (der  EQUAL -Operator darf aber  nicht  explizit manuell angegeben werden).  

Scroll Pagebreak


Erweitern
title!= Operator
Panel
borderColorLightGray
bgColor#FCFDFE
borderWidth1
borderStyledashed

Der NOTEQUAL Operator != ist die Verneinung des EQUAL-Operators. Er wird benutzt, wenn 2 Werte nicht identisch sein sollen. Man könnte  Beispielregel A  also auch so implementieren:


Beispielregel B


Wieder ist die Bedingung der Spalte Weihnachten das heutige Datum, abgefragt durch die Datenstrom-Variable 
DS.TODAYS_DATE . Hat die Spalte den Wert  24.12.2013 , ist heute Weihnachten und Zeile #1 trifft zu ( DS.TODAYS_DATE  = 24.12.2013). Ist heute ein anderer Tag als der 24.12.2013, ist Zeile #2 gültig:  DS.TODAYS_DATE  ist ungleich 24.12.2013 (Bsp. gilt natürlich nur für 2013) .

...

Erweitern
title [W1, W2, Wn] Operator
Panel
borderColorLightGray
bgColor#FCFDFE
borderWidth1
borderStyledashed

Mit dem INLIST Operator [W1, W2, Wn] können Sie beliebig viele Werte angeben, die geprüft werden sollen. Die einzelnen Werte werden durch ein Komma getrennt. Trifft einer der Werte zu, ist die Bedingung erfüllt.


Beispielregel E


Die Bedingung der Spalte ist die Herkunftsstadt des Kunden, abgefragt über die Datenstrom-Variable 
DS.CUST_CITY . In jeder Zeile werden per  INLIST -Operator 4 mögliche Werte angegeben. Trifft einer der Werte zu, ist die Zeile gültig.

Scroll Pagebreak


Erweitern
title[W1, ..., W2] Operator
Panel
borderColorLightGray
bgColor#FCFDFE
borderWidth1
borderStyledashed

Mit dem INRANGE Operator [W1, ..., W2] kann ein Wertebereich angegeben werden. Liegt der Wert im Wertebereich, trifft die Bedingung zu.


Beispielregel F


Die Bedingung der Spalte ist der Rechnungspreis des Kunden, abgefragt über die Datenstrom-Variable 
DS.PRICE . In jeder Zeile wird ein Wertebereich angegeben. Die Preisspanne, in der sich der Rechnungsbetrag befindet, stellt die darauf abgestimmte Werbung (in einer Ressource).



...