Selbst deklarierte Variablen und Berechnungen

<< Klicke um Inhaltsverzeichnis anzuzeigen >>

Navigation:  Vorlagenerstellung >

Selbst deklarierte Variablen und Berechnungen

Man hat die Möglichkeit in jeder Vorlage selbst Variablen zu definieren, diese sind ebenfalls von den bereits erklärten Datentypen:

 

CUR (Währung)

DAT (Datum)

FLT (Kommazahl)

INT (Ganzzahl)

TXT (Text)

 

Bevor eine Variable verwendet werden kann, muss diese deklariert werden:

 

|!DECLARE %VAR% %TYP%|

 

%VAR% …… selbstgewählter Name der Variablen

%TYP% …… Auswahl des Datentyps (CUR, DAT, FLT, INT, TXT)

 

BSP: |!DECLARE Summe CUR| - deklariert eine Variable mit dem Namen Summe und dem Datentyp CUR=Währungsfeld.

 

Eine Variable muss um verwendet zu werden auf einen gewissen Wert gesetzt werden. Dies kann auf einen selbstbestimmbaren Wert oder auf den Wert eines BDF gesetzt werden.

 

|!SET %VAR% %WERT%|

 

%VAR% …… Name der Variable

%WERT% …… Wert, auf den die Variable gesetzt werden soll

 

BSP:

|!SET Summe 100| …… auf selbst bestimmten Wert(=100)

|!SET Summe [Akt.Bemessungsgrundlage]| …… auf den Wert der

Bemessungsgrundlage des Aktes

 

Wenn ein BDF-Wert gesetzt werden soll muss dieser in eckigen Klammern abgefragt werden […].

 

Der Wert kann natürlich auch auf 0 gesetzt werden und je nach Vorlage und Struktur später erhöht oder vermindert werden. Ein SET ist für eine Variable mehrmals in einer Vorlage möglich.

 

Jede dieser Variablen kann für Rechenoperationen verwendet werden:

 

|!ADD %VAR% %WERT%|

|!SUB %VAR% %WERT%|

|!MUL %VAR% %WERT%|

|!DIV %VAR% %WERT%|

 

%VAR% …… Name der Variable

%WERT% …… Wert mit dem neben der Variablen gerechnet werden soll

(Summand, Subtrahent, Multiplikator, Divisor)

 

|!DECLARE Summe CUR|

|!SET Summe 100|

|!ADD Summe 1| - setzt Summe auf 101

|!SUB Summe 10| - setzt Summe auf 91

|!DIV Summe 2| - setzt Summe auf 45,5

|!MUL Summe 10| - setzt Summe auf 455

 

Um den Wert einer Variablen in der Vorlage anzugeben oder zu verwenden, muss diese mittels !GET angesprochen werden:

 

|!GET %VAR%|

 

%VAR% …… Name der Variablen

 

Bei CUR-Variablen wird zB. Bei einem Wert 100 -> € 100,00 ausgegeben.

 

Wenn statt mit CUR/FLT mit INT gerechnet wird, so werden Kommastellen kaufmännisch gerundet ( 91 / 2 = 46 ).

 

TXT-Variablen können nur addiert werden :

 

|!DECLARE Test TXT|

|!SET Test blubb|

|!ADD Test blabla|

 

|!GET Test| würde dann blubbblabla ausgeben. Um Leerzeichen am Ende einer TXT-Variablen zu verwenden muss statt dem Leerzeichen {\SPC} angegeben werden.

 

 

DAT-Variable können ebenfalls zum Rechnen verwendet werden, hier wird jedoch nur addiert und subtrahiert um auf gewisse Daten zu kommen:

 

Das sogenannte Nulldatum ist der 30.12.1899. Alle Daten verfügen über eine ID. Das Nulldatum besitzt die ID 0.

 

|!DECLARE Datum DAT|…deklariert die DAT-Variable mit dem Namen Datum

|!SET Datum [HeutigesDatum[FMT:dd.mm.yyyy]]|…setzt die Variable Datum auf

das heutige Datum

|!ADD Datum %DATUM%|… addiert zum gewünschten Datum ein Datum hinzu

|!GET Datum|…gibt das berechnete Datum aus

 

Die wichtigsten Rechendaten sind:

 

Vor zwei Wochen: 16.12.1899

Vor einer Woche: 23.12.1899

Gestern: 29.12.1899

Morgen: 31.12.1899

In einer Woche: 06.01.1900

In zwei Wochen: 13.01.1900

 

Ein eigener Typ von Variablen sind Listen. Diese Listen besitzen ebenfalls einen Datentyp und können mit Daten befüllt und über alle Einträge auch iteriert werden. Zusätzlich können zwei Listen zu einer Liste zusammengefügt werden. Hierbei kann die Zielliste entweder alle Elemente beider Listen beinhalten oder über den UNIQUE Parameter nur eindeutige bzw. distinkte Elemente in der Zielliste bestehen bleiben:

 

Deklaration: |!DECLARE %VAR% LIST OF <%TYP%>|

 

Eintrag hinzufügen: |!ADD %VAR% %DATEN%|

 

Listen zusammenführen: |!JOINLISTS %VAR1% %VAR2%|

Listen zusammenführen und nur eindeutige Werte behalten: |!JOINLISTS UNIQUE %VAR1% %VAR2%|

 

Anwendungsbeispiele:

Zwei Listen mit Zahlenwerten werden zusammengeführt, einmal mit allen Einträgen und einmal mit nur distinkten Einträgen:

|!DECLARE LIST1 LIST OF <INT>|

|!DECLARE LIST2 LIST OF <INT>|

 

|!ADD LIST1 12|

|!ADD LIST1 45|

|!ADD LIST1 0|

|!ADD LIST2 12|

|!ADD LIST2 12|

|!ADD LIST2 12|

 

|!JOINLISTS LIST1 LIST2|

Liste 1: 12 45 0 12 12 12

 

|!JOINLISTS UNIQUE LIST1 LIST2|

Liste 1: 12 45 0

 

 

Es soll eine distinkte Liste von Personennamen ausgegeben werden, von Personen, die entweder Käufer, Partei2 oder Partei3 im Akt sind.:

|!DECLARE LIST1 LIST OF <INT>|

|!DECLARE LIST2 LIST OF <INT>|

|!DECLARE LIST3 LIST OF <INT>|

 

|REPEAT AktAnzahlRolle2[Kaeufer] FOR *P|

|!ADD LIST1 [Akt.Rolle2[Kaeufer][*P].AktPersonId]|

|ENDREPEAT|

 

|REPEAT !GET PARTEI2.Count FOR *P|

|!ADD LIST2 [PARTEI2[*P]|

|ENDREPEAT|

 

|REPEAT !GET PARTEI3.count FOR *P|

|!ADD LIST3 [PARTEI3[*P]|

|ENDREPEAT|

 

|!JOINLISTS UNIQUE LIST1 LIST2|

|!JOINLISTS UNIQUE LIST1 LIST3|

 

|REPEAT !GET LIST1.Count FOR *X|

|Akt.PersonID[!GET LIST1[*X]].Name|

|ENDREPEAT|