<?xml version="1.0" encoding="UTF-8"?>
<raw_vault schema_version="2" company="Willibald" >
    <!-- Description of Willibald Raw Vault Objects -->
    <system sql_syntax="pg">
        <!-- section system defines the parameters for each target environment:
             dbms, server, database and schema for the Data Vault
             database and schema for all sources
             directories for the import of files into the Data Vault
             the section is used for
             - models/sources.yml
             - choosing the SQL syntax for the generated code
               dependant on Attribute sql_syntax:
               - sqlserver: SQL syntax for MS SQL Server
               - pg: SQL syntax for PostgreSQL
             -->
        <target name="dev" dbms="postgres" server="dwh.slc.local" database="DataVault" schema="DATAVAULT">
            <source name="Willibald" database="DataVault" schema="Willibald"/>
            <source name="config" database="DataVault" schema="config"/>
            <import_dir name="Willibald" dir="/opt/willibald/dev/export"/>
        </target>
        <target name="test" dbms="postgres" server="dwh.slc.local" database="DataVault" schema="DATAVAULT">
            <source name="Willibald" database="DataVault" schema="Willibald"/>
            <source name="config" database="DataVault" schema="config"/>
            <import_dir name="Willibald" dir="/opt/willibald/test/export"/>
        </target>
        <target name="prod" dbms="postgres" server="dwh.slc.local" database="DataVault" schema="DATAVAULT">
            <source name="Willibald" database="DataVault" schema="Willibald"/>
            <source name="config" database="DataVault" schema="config"/>
            <import_dir name="Willibald" dir="/opt/willibald/prod/export"/>
        </target>
    </system>
    <nat_keys>
        <!-- section nat_keys declares all Natural Keys
             all ids and all names must be unique for the DataVault
             -->
        <nat_key id="best" name="BESTELLUNG"/>
        <nat_key id="kat" name="KATEGORIE"/>
        <nat_key id="kd" name="KUNDE" />
        <nat_key id="ladr" name="LIEFERADRESSE"/>
        <nat_key id="ldi" name="LIEFERDIENST"/>
        <nat_key id="lief" name="LIEFERUNG"/>
        <nat_key id="okat" name="OBERKATEGORIE"/>
        <nat_key id="pos" name="POSITION"/>
        <nat_key id="prd" name="PRODUKT"/>
        <nat_key id="prdt" name="PRODUKTTYP"/>
        <nat_key id="tt" name="TERMINTREUE"/>
        <nat_key id="vp" name="VEREINSPARTNER"/>
        <nat_key id="wo" name="WOHNORT"/>
    </nat_keys>
    <db_sources>
        <!-- section db_sources defines the database sources for the Data Vault as a reference to <system.target.source>
             and the tables in those database sources
             the section is used for
             - models/schema.yml

             the section is also used for the definition of file_imports from csv-Files:
             file_imports defines the file imports from csv files in an import_dir into a source database and schema
             the scripts are written into a script_dir
             the section is used for
             - sql_scripts/DataVault_Import/<file_import.script_dir>/<import.csv_name>.sql
             - sql_scripts/<file_import.script_dir>/Create_and_bulk_insert_<import.csv_name>.sql
             - sql_scripts/<file_import.script_dir>/Drop_<import.csv_name>.sql

             from stages the following files are generated:
                 - foreach <stage>:
                 - models/s1_psa_stage/<dir.name>/psa_<dir.stage.name>.sql (only if stage/@psa != 'false')
                 - models/s2_raw_stage/<dir.name>/raw_<dir.stage.name>.sql
                 - models/s3_stage/<dir.name>/stg_<dir.stage.name>.sql

                 to generate the stg_*.sql in addition to the data in <stages> the following data is used:
                 - data from <target.hubs.hub>, <target.links.link> and <stages.stage.sat>,
                   if the stage is referenced in these elements

                 - foreach <hub>:
                   - models/s04_raw_vault/hubs/<hub.name>.sql
                 - foreach <link>:
                   - models/s04_raw_vault/links/<link.name>.sql
                 - foreach <sat>:
                   - models/s04_raw_vault/sats/<sat.name>.sql
                 -->
        <db_source name="Willibald" description="Die Datenquellen für das operative System Willibald."
                   models_dir="Willibald" record_source_prefix="WB">
            <file_import script_dir="Willibald" import_dir="Willibald" header="true"/>
            <table name="Kunde" description="Die Kundendaten aus dem OpSys Willibald">
                <fields>
                    <field name="KundeID" type="char(13)" is_nullable="no"/>
                    <field name="VereinsPartnerID" type="varchar(30)" is_nullable="yes"/>
                    <field name="Vorname" type="varchar(128)" is_nullable="no"/>
                    <field name="Name" type="varchar(128)" is_nullable="no"/>
                    <field name="Geschlecht" type="char" is_nullable="yes"/>
                    <field name="Geburtsdatum" type="date" is_nullable="no"/>
                    <field name="Telefon" type="varchar(20)" is_nullable="yes"/>
                    <field name="Mobil" type="varchar(20)" is_nullable="yes"/>
                    <field name="Email" type="varchar(128)" is_nullable="yes"/>
                    <field name="Kreditkarte" type="varchar(30)" is_nullable="no"/>
                    <field name="GueltigBis" type="char(5)" is_nullable="yes"/>
                    <field name="KKFirma" type="varchar(128)" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="KundeID"/>
                </unique_key>
                <import csv_name="Kunde"/>
                <stage name="wb_kd"
                       record_source_suffix="KD"
                       psa_description="die Persistent Staging Area für die Kunde-Schnittstelle"
                       raw_description="die Raw Stage für die Kunde-Schnittstelle"
                       stg_description="die Stage für die Kunde-Schnittstelle">
                    <hub>
                        <nat_key idref="kd" source_field="KundeID"/>
                        <sat sat_suffix="1"
                             description="Satellite für die Kundendaten am Hub Kunde">
                            <payload>
                                <field name="Vorname"/>
                                <field name="Name"/>
                                <field name="Geschlecht"/>
                                <field name="Geburtsdatum"/>
                            </payload>
                        </sat>
                        <sat sat_suffix="2"
                             description="Satellite für die Kundendaten am Hub Kunde">
                            <payload>
                                <field name="Telefon"/>
                                <field name="Mobil"/>
                                <field name="Email"/>
                                <field name="Kreditkarte"/>
                                <field name="GueltigBis"/>
                                <field name="KKFirma"/>
                            </payload>
                        </sat>
                    </hub>
                    <hub>
                        <nat_key idref="vp" source_field="VereinsPartnerID"/>
                    </hub>
                    <link>
                        <nat_key idref="kd"/>
                        <nat_key idref="vp"/>
                        <sat description="Satellite für die Kundendaten am Link zwischen Kunde und VereinsPartner">
                            <payload existenceFlag="yes"/>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="Wohnort" description="Die Wohnorte des Kunden aus dem OpSys Willibald">
                <fields>
                    <field name="KundeID" type="char(13)" is_nullable="no"/>
                    <field name="Von" type="date" is_nullable="no"/>
                    <field name="Bis" type="date" is_nullable="yes"/>
                    <field name="Strasse" type="varchar(128)" is_nullable="no"/>
                    <field name="Hausnummer" type="varchar(10)" is_nullable="no"/>
                    <field name="Adresszusatz" type="varchar(128)" is_nullable="yes"/>
                    <field name="Plz" type="varchar(10)" is_nullable="no"/>
                    <field name="Ort" type="varchar(128)" is_nullable="no"/>
                    <field name="Land" type="varchar(128)" is_nullable="yes"/>
                </fields>
                <unique_key>
                    <field name="KundeID"/>
                    <field name="Von"/>
                </unique_key>
                <import csv_name="Wohnort"/>
                <stage name="wb_wo"
                       record_source_suffix="WO"
                       psa_description="die Persistent Staging Area für die Wohnort-Schnittstelle"
                       raw_description="die Raw Stage für die Wohnort-Schnittstelle"
                       stg_description="die Stage für die Wohnort-Schnittstelle">
                    <hub>
                        <nat_key idref="kd" source_field="KundeID"/>
                    </hub>
                    <hub>
                        <nat_key idref="wo" definition="concat(trim(KundeID),'_', to_char(Von, 'YYYY-MM-DD'))"/>
                    </hub>
                    <link>
                        <nat_key idref="kd" source_field="KundeID"/>
                        <nat_key idref="wo" definition="concat(trim(KundeID),'_', to_char(Von, 'YYYY-MM-DD'))"/>
                        <sat description="Satellite für die Wohnorte am Link zwischen Kunde und Wohnort">
                            <payload existenceFlag="yes"/>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="Lieferadresse" description="Die Lieferadressen der Kunden aus dem OpSys Willibald">
                <fields>
                    <field name="LieferAdrID" type="int" is_nullable="no"/>
                    <field name="KundeID" type="char(13)" is_nullable="no"/>
                    <field name="Strasse" type="varchar(128)" is_nullable="no"/>
                    <field name="Hausnummer" type="varchar(10)" is_nullable="no"/>
                    <field name="Adresszusatz" type="varchar(128)" is_nullable="yes"/>
                    <field name="Plz" type="varchar(10)" is_nullable="no"/>
                    <field name="Ort" type="varchar(128)" is_nullable="no"/>
                    <field name="Land" type="varchar(128)" is_nullable="yes"/>
                </fields>
                <unique_key>
                    <field name="LieferAdrID"/>
                </unique_key>
                <import csv_name="Lieferadresse"/>
                <stage name="wb_ladr"
                       record_source_suffix="LADR"
                       psa_description="die Persistent Staging Area für die Lieferadresse-Schnittstelle"
                       raw_description="die Raw Stage für die Lieferadresse-Schnittstelle"
                       stg_description="die Stage für die Lieferadresse-Schnittstelle">
                    <hub>
                        <nat_key idref="kd" source_field="KundeID"/>
                    </hub>
                    <hub>
                        <nat_key idref="ladr" source_field="LieferAdrID"/>
                    </hub>
                    <link>
                        <nat_key idref="kd"/>
                        <nat_key idref="ladr"/>
                        <sat description="Satellite für die Lieferadressen am Link zwischen Kunde und Lieferadresse">
                            <payload>
                                <field name="Strasse"/>
                                <field name="Hausnummer"/>
                                <field name="Adresszusatz"/>
                                <field name="Plz"/>
                                <field name="Ort"/>
                                <field name="Land"/>
                            </payload>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="VereinsPartner" description="Die Vereinspartnerdaten aus dem OpSys Willibald">
                <fields>
                    <field name="VereinsPartnerID" type="varchar(30)" is_nullable="no"/>
                    <field name="KundeIDVerein" type="char(13)" is_nullable="no"/>
                    <field name="Rabatt1" type="int" is_nullable="no"/>
                    <field name="Rabatt2" type="int" is_nullable="no"/>
                    <field name="Rabatt3" type="int" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="VereinsPartnerID"/>
                </unique_key>
                <import csv_name="VereinsPartner"/>
                <stage name="wb_vp"
                       record_source_suffix="VP"
                       psa_description="die Persistent Staging Area für die VereinsPartner-Schnittstelle"
                       raw_description="die Raw Stage für die VereinsPartner-Schnittstelle"
                       stg_description="die Stage für die VereinsPartner-Schnittstelle">
                    <hub>
                        <nat_key idref="kd" source_field="KundeIDVerein"/>
                    </hub>
                    <hub>
                        <nat_key idref="vp" source_field="VereinsPartnerID"/>
                        <sat description="Satellite für die VereinsPartnerDaten am Hub VereinsPartner">
                            <payload>
                                <field name="Rabatt1"/>
                                <field name="Rabatt2"/>
                                <field name="Rabatt3"/>
                            </payload>
                        </sat>
                    </hub>
                    <link>
                        <nat_key idref="kd"/>
                        <nat_key idref="vp"/>
                        <sat description="Satellite für die Vereinspartnerdaten am Link zwischen VereinsPartner und VereinsKunde">
                            <payload existenceFlag="yes"/>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="Kategorie" description="Die Produktkategorien aus dem OpSys Willibald">
                <fields>
                    <field name="KatID" type="varchar(50)" is_nullable="no"/>
                    <field name="OberKatID" type="varchar(50)" is_nullable="yes"/>
                    <field name="Name" type="varchar(512)" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="KatID"/>
                </unique_key>
                <import csv_name="Kategorie"/>
                <stage name="wb_kat"
                       record_source_suffix="KAT"
                       psa_description="die Persistent Staging Area für die Kategorie-Schnittstelle"
                       raw_description="die Raw Stage für die Kategorie-Schnittstelle"
                       stg_description="die Stage für die Kategorie-Schnittstelle">
                    <hub>
                        <nat_key idref="kat" source_field="KatID"/>
                        <sat description="Satellite für die Kategorien am Hub Kategorie">
                            <payload>
                                <field name="Name"/>
                            </payload>
                        </sat>
                    </hub>
                    <hub>
                        <nat_key idref="okat" source_field="OberKatID"/>
                    </hub>
                    <link>
                        <nat_key idref="kat"/>
                        <nat_key idref="okat"/>
                        <sat description="Satellite für die Kategorien am Link zwischen Kategorie und Oberkategorie">
                            <payload>
                                <field name="OberKatID"/> <!-- Platzhalter, damit überhaupt ein Feld drinsteht -->
                            </payload>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="Produkt" description="Die Produkte aus dem OpSys Willibald">
                <fields>
                    <field name="ProduktID" type="int" is_nullable="no"/>
                    <field name="KatID" type="varchar(50)" is_nullable="no"/>
                    <field name="Bezeichnung" type="varchar(512)" is_nullable="no"/>
                    <field name="Umfang" type="varchar(128)" is_nullable="no"/>
                    <field name="Typ" type="int" is_nullable="no"/>
                    <field name="Preis" type="decimal(5,2)" is_nullable="no"/>
                    <field name="Pflanzort" type="varchar(128)" is_nullable="no"/>
                    <field name="Pflanzabstand" type="varchar(128)" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="ProduktID"/>
                </unique_key>
                <import csv_name="Produkt"/>
                <stage name="wb_prd"
                       record_source_suffix="PRD"
                       psa_description="die Persistent Staging Area für die Produkt-Schnittstelle"
                       raw_description="die Raw Stage für die Produkt-Schnittstelle"
                       stg_description="die Stage für die Produkt-Schnittstelle">
                    <hub>
                        <nat_key idref="kat" source_field="KatID"/>
                    </hub>
                    <hub>
                        <nat_key idref="prd" source_field="ProduktID"/>
                        <sat description="Satellite für die Produktdaten am Hub Produkt">
                            <payload>
                                <field name="Bezeichnung"/>
                                <field name="Umfang"/>
                                <field name="Preis"/>
                                <field name="Pflanzort"/>
                                <field name="Pflanzabstand"/>
                            </payload>
                        </sat>
                    </hub>
                    <hub>
                        <nat_key idref="prdt" source_field="Typ"/>
                    </hub>
                    <link>
                        <nat_key idref="kat"/>
                        <nat_key idref="prd"/>
                        <nat_key idref="prdt"/>
                        <sat description="Satellite für die Produktdaten am Link zwischen Produkt, Kategorie und Oberkategorie">
                            <payload existenceFlag="yes"/>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="Bestellung" description="Die Bestellungen aus dem OpSys Willibald">
                <fields>
                    <field name="BestellungID" type="bigint" is_nullable="no"/>
                    <field name="KundeID" type="char(13)" is_nullable="no"/>
                    <field name="AllgLieferAdrID" type="int" is_nullable="no"/>
                    <field name="Bestelldatum" type="date" is_nullable="no"/>
                    <field name="Wunschdatum" type="date" is_nullable="no"/>
                    <field name="Rabatt" type="numeric(5,2)" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="BestellungID"/>
                </unique_key>
                <import csv_name="Bestellung"/>
                <stage name="wb_best"
                       record_source_suffix="BEST"
                       psa_description="die Persistent Staging Area für die Bestellung-Schnittstelle"
                       raw_description="die Raw Stage für die Bestellung-Schnittstelle"
                       stg_description="die Stage für die Bestellung-Schnittstelle">
                    <hub>
                        <nat_key idref="best" source_field="BestellungID"/>
                        <sat hub_idref="best"
                             description="Satellite für die Bestellungen am Hub Bestellung">
                            <payload>
                                <field name="Bestelldatum"/>
                                <field name="Wunschdatum"/>
                                <field name="Rabatt"/>
                            </payload>
                        </sat>
                    </hub>
                    <hub>
                        <nat_key idref="kd" source_field="KundeID"/>
                    </hub>
                    <hub>
                        <nat_key idref="ladr" source_field="AllgLieferAdrID"/>
                    </hub>
                    <link>
                        <nat_key idref="best"/>
                        <nat_key idref="kd"/>
                        <nat_key idref="ladr"/>
                        <sat description="Satellite für die Bestellungen am Link zwischen Bestellung, Kunde und Lieferadresse">
                            <payload existenceFlag="yes"/>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="Position" description="Die Bestellpositionen aus dem OpSys Willibald">
                <fields>
                    <field name="BestellungID" type="bigint" is_nullable="no"/>
                    <field name="PosID" type="bigint" is_nullable="no"/>
                    <field name="ProduktID" type="int" is_nullable="no"/>
                    <field name="SpezLieferAdrID" type="int" is_nullable="yes"/>
                    <field name="Menge" type="int" is_nullable="no"/>
                    <field name="Preis" type="numeric(10,2)" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="BestellungID"/>
                    <field name="PosID"/>
                </unique_key>
                <import csv_name="Position"/>
                <stage name="wb_pos"
                       record_source_suffix="POS"
                       psa_description="die Persistent Staging Area für die Position-Schnittstelle"
                       raw_description="die Raw Stage für die Position-Schnittstelle"
                       stg_description="die Stage für die Position-Schnittstelle">
                    <hub>
                        <nat_key idref="best" source_field="BestellungID"/>
                    </hub>
                    <hub>
                        <nat_key idref="ladr" source_field="SpezLieferAdrID"/>
                    </hub>
                    <hub>
                        <nat_key idref="pos" definition="concat(trim(cast(BestellungID as varchar(20))),'_', trim(cast(PosID as varchar(20))))"/>
                        <sat description="Satellite für die Positionen am Hub Position">
                            <payload>
                                <field name="Menge"/>
                                <field name="Preis"/>
                            </payload>
                        </sat>
                    </hub>
                    <hub>
                        <nat_key idref="prd" source_field="ProduktID"/>
                    </hub>
                    <link>
                        <nat_key idref="best"/>
                        <nat_key idref="ladr"/>
                        <nat_key idref="pos"/>
                        <nat_key idref="prd"/>
                        <sat description="Satellite für die Positionen am Link zwischen Bestellung, Position, Produkt und Lieferadresse">
                            <payload>
                                <field name="SpezLieferAdrID"/> <!-- Platzhalter, damit überhaupt ein Feld drinsteht -->
                            </payload>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="LieferDienst" description="Die Lieferdienste aus dem OpSys Willibald">
                <fields>
                    <field name="LieferDienstID" type="varchar(30)" is_nullable="no"/>
                    <field name="Name" type="varchar(128)" is_nullable="no"/>
                    <field name="Telefon" type="varchar(20)" is_nullable="no"/>
                    <field name="Fax" type="varchar(20)" is_nullable="yes"/>
                    <field name="Email" type="varchar(128)" is_nullable="no"/>
                    <field name="Strasse" type="varchar(128)" is_nullable="no"/>
                    <field name="Hausnummer" type="varchar(10)" is_nullable="no"/>
                    <field name="Plz" type="varchar(10)" is_nullable="no"/>
                    <field name="Ort" type="varchar(128)" is_nullable="no"/>
                    <field name="Land" type="varchar(128)" is_nullable="yes"/>
                </fields>
                <unique_key>
                    <field name="LieferDienstID"/>
                </unique_key>
                <import csv_name="LieferDienst"/>
                <stage name="wb_ldi"
                       record_source_suffix="LDI"
                       psa_description="die Persistent Staging Area für die LieferDienst-Schnittstelle"
                       raw_description="die Raw Stage für die LieferDienst-Schnittstelle"
                       stg_description="die Stage für die LieferDienst-Schnittstelle">
                    <hub>
                        <nat_key idref="ldi" source_field="LieferDienstID"/>
                        <sat description="Satellite für die Lieferdienste am Hub Lieferdienst">
                            <payload>
                                <field name="Name"/>
                                <field name="Telefon"/>
                                <field name="Fax"/>
                                <field name="Email"/>
                                <field name="Strasse"/>
                                <field name="Hausnummer"/>
                                <field name="Plz"/>
                                <field name="Ort"/>
                                <field name="Land"/>
                            </payload>
                        </sat>
                    </hub>
                </stage>
            </table>
            <table name="Lieferung" description="Die Lieferungen aus dem OpSys Willibald">
                <fields>
                    <field name="BestellungID" type="bigint" is_nullable="no"/>
                    <field name="PosID" type="bigint" is_nullable="no"/>
                    <field name="LieferAdrID" type="int" is_nullable="no"/>
                    <field name="LieferDienstID" type="varchar(30)" is_nullable="no"/>
                    <field name="LieferDatum" type="date" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="BestellungID"/>
                    <field name="PosID"/>
                    <field name="LieferAdrID"/>
                    <field name="LieferDienstID"/>
                </unique_key>
                <import csv_name="Lieferung"/>
                <stage name="wb_lief"
                       record_source_suffix="LIEF"
                       psa_description="die Persistent Staging Area für die Lieferung-Schnittstelle"
                       raw_description="die Raw Stage für die Lieferung-Schnittstelle"
                       stg_description="die Stage für die Lieferung-Schnittstelle">
                    <hub>
                        <nat_key idref="best" source_field="BestellungID"/>
                    </hub>
                    <hub>
                        <nat_key idref="lief" definition="concat(trim(cast(BestellungID as varchar(20))),'_', trim(cast(PosID as varchar(20))),'_', trim(cast(LieferAdrID as varchar(20))),'_', trim(LieferDienstID))"/>
                        <sat description="Satellite für die Lieferungen am Hub Lieferung">
                            <payload>
                                <field name="LieferDatum" type="date" is_nullable="no"/>
                            </payload>
                        </sat>
                    </hub>
                    <hub>
                        <nat_key idref="ladr" source_field="LieferAdrID"/>
                    </hub>
                    <hub>
                        <nat_key idref="ldi" source_field="LieferDienstID"/>
                    </hub>
                    <hub>
                        <nat_key idref="pos" definition="concat(trim(cast(BestellungID as varchar(20))),'_', trim(cast(PosID as varchar(20))))"/>
                    </hub>
                    <link>
                        <nat_key idref="best"/>
                        <nat_key idref="lief"/>
                        <nat_key idref="ladr"/>
                        <nat_key idref="ldi"/>
                        <nat_key idref="pos"/>
                        <sat description="Satellite für die Lieferungen am Link zwischen Lieferung, Bestellung, Position, Lieferadresse und Lieferdatum">
                            <payload existenceFlag="yes"/>
                        </sat>
                    </link>
                </stage>
            </table>
            <table name="Termintreue" description="Die historisierte Referenztabelle für die Termintreue aus dem OpSys Willibald">
                <fields>
                    <field name="AnzahlTageVon" type="varchar(10)" is_nullable="no"/>
                    <field name="AnzahlTageBis" type="varchar(10)" is_nullable="no"/>
                    <field name="Bezeichnung" type="varchar(30)" is_nullable="no"/>
                    <field name="Bewertung" type="varchar(20)" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="AnzahlTageVon"/>
                </unique_key>
                <import csv_name="Termintreue"/>
                <stage name="wb_tt"
                       record_source_suffix="TT"
                       psa_description="die Persistent Staging Area für die Termintreue-Schnittstelle"
                       raw_description="die Raw Stage für die Termintreue-Schnittstelle"
                       stg_description="die Stage für die Termintreue-Schnittstelle">
                    <hub>
                        <nat_key idref="tt" source_field="AnzahlTageVon"/>
                        <sat description="Satellite für die Termintreue am Hub Termintreue">
                            <payload>
                                <field name="AnzahlTageBis"/>
                                <field name="Bezeichnung"/>
                                <field name="Bewertung"/>
                            </payload>
                        </sat>
                    </hub>
                </stage>
            </table>
        </db_source>
        <db_source name="config" description="Die Konfigurationsdateien für das DWH."
                   models_dir="config" record_source_prefix="CF">
            <file_import script_dir="config" import_dir="config" header="true"/>
            <table name="ProduktTyp" description="Die Referenztabelle für die ProduktTypen des Willibald-Webshops">
                <fields>
                    <field name="Typ" type="int" is_nullable="no"/>
                    <field name="Bezeichnung" type="varchar(10)" is_nullable="no"/>
                </fields>
                <unique_key>
                    <field name="Typ"/>
                </unique_key>
                <import csv_name="ProduktTyp"/>
                <stage name="cf_prdt" record_source_suffix="PRDT"
                       psa="false"
                       raw_description="die Raw Stage für die ProduktTyp-Schnittstelle"
                       stg_description="die Stage für die ProduktTyp-Schnittstelle">
                    <hub>
                        <nat_key idref="prdt" source_field="Typ"/>
                        <sat
                             description="Satellite für die Produkttypen am Hub Produkttyp">
                            <payload>
                                <field name="Bezeichnung"/>
                            </payload>
                        </sat>
                    </hub>
                </stage>
            </table>
        </db_source>
    </db_sources>
</raw_vault>