Database Reference
In-Depth Information
der Transformationsregeln (siehe auch Abschnitt 5.3) geschehen und an sich kein Hinder-
nis darstellen, jedoch sind einige Transformationsschritte besonders zu beachten.
Die Spalte „Datum_Ende“ im Ausgabedatenstrom ist eine berechnete Spalte aus den bei-
den Eingabespalten „Mietbeginn“ und „Mietdauer“. Dazu werden beide Spalten auf das
Output-Attribut gezogen. Nun muss mit einem Klick auf den three-do-button der Expres-
sion Builder geöffnet werden. In der Expression beinden sich aktuell beide Eingabeattri-
bute. Diese müssen nun so miteinander verknüpft werden, dass die „Mietdauer“ auf die
Tage seit „Mietbeginn“ addiert wird. Dafür bietet TOSDI eine Funktion, welche unter Ca-
tegories > TalendDate gefunden werden kann. In Functions beinden sich zwei addDate -
Funktionen, wobei hier die untere von Interesse ist. Diese Funktion ermöglicht es, auf ein
Datum einen bestimmten Wert zu addieren. Dabei kann angegeben werden, ob der gege-
bene Wert als Jahr, Monat, Tag, Stunde, Minute oder Sekunde addiert werden soll. In die-
sem Beispiel ist „Mietdauer“ eine Zeitspanne in Tagen. Somit sieht die fertige Expression
wie folgt aus:
LISTING 8.22 Addition eines Wertes zu einem Datum
1 TalendDate.addDate(IN_M_Vermietung.Mietbeginn, IN_M_Vermietung.
Mietdauer, "dd")
Der erste Parameter in den Klammern gibt dabei das Ausgangsdatum an. Der zweite Pa-
rameter beschreibt den zu addierenden Wert und der letzte Parameter gibt an, auf welche
Stelle der Wert addiert werden soll.
Ebenfalls berechnet werden muss der Basispreis in der Zieltabelle ANMIETUNG. Dieser
wird gebildet aus dem Produkt der beiden Eingabespalten „Grundpreis“ und „Mietdauer“.
Dazu werden wieder beide Spalten auf das zugehörige Output-Attribut gezogen. Mit einem
Klick auf den three-do-button wird der Expression Builder geöffnet, dort können beide Ein-
gabeattribute wie gewohnt multipliziert werden.
Da es vorkommen kann, dass zu einer Vermietung noch keine Rechnung erstellt wurde, je-
doch keine NULL Werte im Zielschema für die Attribute „Nachlass“, „Aufpreis“ und „Rech-
nung“ erlaubt sind, müssen hier ebenfalls Transformationen vorgenommen werden. Da es
für den „Nachlass“ keine Information aus dem Quellschema gibt, muss diese Spalte mit
dem Standardwert „0“ befüllt werden. Der „Aufpreis“ wird in der Tabelle „Rechnung“ von
AutoMysel als „Zuschlag“ bezeichnet. Da dieser Wert in der Quelle leer sein kann, dies im
Ziel aber nicht erlaubt ist, müssen NULL-Werte abgefangen und durch den Wert „0“ ersetzt
werden. Hierzu ist der Expression Builder für die Spalte „Aufpreis“ zu öffnen. Nun muss
überprüft werden werden, ob „Zuschlag“ gleich NULL ist und wenn ja der Wert „0“ einge-
setzt werden. Andernfalls soll der Inhalt der Spalte „Zuschlag“ übernommen werden. Die-
se Fallunterscheidung wird mittels einfachem Java Code umgesetzt. Die Expression hierfür
müsste wie folgt aussehen:
LISTING 8.23 Ersetzen von NULL-Werten
(IN_M_Rechnung.Zuschlag != null)? IN_M_Rechnung.Zuschlag : 0
Das Attribut „Zahlungsweise“ aus AutoMysel gibt an, in welcher Form die Vermietung be-
zahlt wurde (Rechnung, Lastschrift usw.). Das Äquivalent im Zielschema ist „Rechnung“,
Search WWH ::




Custom Search