<?xml version="1.0" encoding="UTF-8"?>
<raw_vault 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>
    <file_imports>
        <!-- section 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/<import.into.script_dir>/<file_name>.sql
             - sql_scripts/<import.into.script_dir>/Create_and_bulk_insert_<file.name>.sql
             - sql_scripts/<import.into.script_dir>/Drop_<file.name>.sql
             -->
        <import>
            <into script_dir="Willibald"/>
            <from import_dir="Willibald" header="true"/>
            <file name="Kunde">
                <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>
            </file>
            <file name="Wohnort">
                <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>
            </file>
            <file name="Lieferadresse">
                <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>
            </file>
            <file name="VereinsPartner">
                <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>
            </file>
            <file name="Kategorie">
                <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>
            </file>
            <file name="Produkt">
                <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>
            </file>
            <file name="Bestellung">
                <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>
            </file>
            <file name="Position">
                <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>
            </file>
            <file name="Lieferung">
                <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>
            </file>
            <file name="LieferDienst">
                <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>
            </file>
            <file name="Termintreue">
                <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>
            </file>
        </import>
        <import>
            <into script_dir="config"/>
            <from import_dir="config" header="true"/>
            <file name="ProduktTyp">
                <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>
            </file>
        </import>
    </file_imports>
    <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
             -->
        <db_source name="Willibald" description="Die Datenquellen für das operative System Willibald.">
            <table name="Kunde" description="Die Kundendaten aus dem OpSys Willibald"/>
            <table name="Wohnort" description="Die Wohnorte des Kunden aus dem OpSys Willibald"/>
            <table name="Lieferadresse" description="Die Lieferadressen der Kunden aus dem OpSys Willibald"/>
            <table name="VereinsPartner" description="Die Vereinspartnerdaten aus dem OpSys Willibald"/>
            <table name="Kategorie" description="Die Produktkategorien aus dem OpSys Willibald"/>
            <table name="Produkt" description="Die Produkte aus dem OpSys Willibald"/>
            <table name="Bestellung" description="Die Bestellungen aus dem OpSys Willibald"/>
            <table name="Position" description="Die Bestellpositionen aus dem OpSys Willibald"/>
            <table name="LieferDienst" description="Die Lieferdienste aus dem OpSys Willibald"/>
            <table name="Lieferung" description="Die Lieferungen aus dem OpSys Willibald"/>
            <table name="Termintreue" description="Die historisierte Referenztabelle für die Termintreue aus dem OpSys Willibald"/>
        </db_source>
        <db_source name="config" description="Die Konfigurationsdateien für das DWH.">
            <table name="ProduktTyp" description="Die Referenztabelle für die ProduktTypen des Willibald-Webshops"/>
        </db_source>
    </db_sources>
    <stages>
        <!-- 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 <dv_tables.hub>, <dv_tables.link> and <dv_tables.sat>,
               if the stage is referenced in these elements
             -->
        <dir name="Willibald" source="Willibald" record_source_prefix="WB">
            <stage name="wb_kunde" table="Kunde"
                   record_source_suffix="KUNDE"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="KundeID"/>
                    <field name="VereinsPartnerID"/>
                    <field name="Vorname"/>
                    <field name="Name"/>
                    <field name="Geschlecht"/>
                    <field name="Geburtsdatum"/>
                    <field name="Telefon"/>
                    <field name="Mobil"/>
                    <field name="Email"/>
                    <field name="Kreditkarte"/>
                    <field name="GueltigBis"/>
                    <field name="KKFirma"/>
                </fields>
                <unique_key>
                    <field name="KundeID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="KUNDE" source_field="KundeID"/>
                    <nat_key name="VEREINSPARTNER" source_field="VereinsPartnerID"/>
                </nat_keys>
            </stage>
            <stage name="wb_wohnort" table="Wohnort"
                   record_source_suffix="WOHNORT"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="KundeID"/>
                    <field name="Von"/>
                    <field name="Bis"/>
                    <field name="Strasse"/>
                    <field name="Hausnummer"/>
                    <field name="Adresszusatz"/>
                    <field name="Plz"/>
                    <field name="Ort"/>
                    <field name="Land"/>
                </fields>
                <unique_key>
                    <field name="KundeID"/>
                    <field name="Von"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="KUNDE" source_field="KundeID"/>
                    <nat_key name="WOHNORT" definition="concat(trim(KundeID),'_', to_char(Von, 'YYYY-MM-DD'))"/>
                </nat_keys>
            </stage>
            <stage name="wb_lieferadresse" table="Lieferadresse"
                   record_source_suffix="LIEFERADRESSE"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="LieferAdrID"/>
                    <field name="KundeID"/>
                    <field name="Strasse"/>
                    <field name="Hausnummer"/>
                    <field name="Adresszusatz"/>
                    <field name="Plz"/>
                    <field name="Ort"/>
                    <field name="Land"/>
                </fields>
                <unique_key>
                    <field name="LieferAdrID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="KUNDE" source_field="KundeID"/>
                    <nat_key name="LIEFERADRESSE" source_field="LieferAdrID"/>
                </nat_keys>
            </stage>
            <stage name="wb_vereinspartner" table="VereinsPartner"
                   record_source_suffix="VEREINSPARTNER"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="VereinsPartnerID"/>
                    <field name="KundeIDVerein"/>
                    <field name="Rabatt1"/>
                    <field name="Rabatt2"/>
                    <field name="Rabatt3"/>
                </fields>
                <unique_key>
                    <field name="VereinsPartnerID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="KUNDE" source_field="KundeIDVerein"/>
                    <nat_key name="VEREINSPARTNER" source_field="VereinsPartnerID"/>
                </nat_keys>
            </stage>
            <stage name="wb_kategorie" table="Kategorie"
                   record_source_suffix="KATEGORIE"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="KatID"/>
                    <field name="OberKatID"/>
                    <field name="Name"/>
                </fields>
                <unique_key>
                    <field name="KatID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="KATEGORIE" source_field="KatID"/>
                    <nat_key name="OBERKATEGORIE" source_field="OberKatID"/>
                </nat_keys>
            </stage>
            <stage name="wb_produkt" table="Produkt"
                   record_source_suffix="PRODUKT"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="ProduktID"/>
                    <field name="KatID"/>
                    <field name="Bezeichnung"/>
                    <field name="Umfang"/>
                    <field name="Typ"/>
                    <field name="Preis"/>
                    <field name="Pflanzort"/>
                    <field name="Pflanzabstand"/>
                </fields>
                <unique_key>
                    <field name="ProduktID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="PRODUKT" source_field="ProduktID"/>
                    <nat_key name="KATEGORIE" source_field="KatID"/>
                    <nat_key name="PRODUKTTYP" source_field="Typ"/>
                </nat_keys>
            </stage>
            <stage name="wb_bestellung" table="Bestellung"
                   record_source_suffix="BESTELLUNG"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="BestellungID"/>
                    <field name="KundeID"/>
                    <field name="AllgLieferAdrID"/>
                    <field name="Bestelldatum"/>
                    <field name="Wunschdatum"/>
                    <field name="Rabatt"/>
                </fields>
                <unique_key>
                    <field name="BestellungID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="BESTELLUNG" source_field="BestellungID"/>
                    <nat_key name="KUNDE" source_field="KundeID"/>
                    <nat_key name="LIEFERADRESSE" source_field="AllgLieferAdrID"/>
                </nat_keys>
            </stage>
            <stage name="wb_position" table="Position"
                   record_source_suffix="POSITION"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="BestellungID"/>
                    <field name="PosID"/>
                    <field name="ProduktID"/>
                    <field name="SpezLieferAdrID"/>
                    <field name="Menge"/>
                    <field name="Preis"/>
                </fields>
                <unique_key>
                    <field name="BestellungID"/>
                    <field name="PosID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="BESTELLUNG" source_field="BestellungID"/>
                    <nat_key name="POSITION" definition="concat(trim(cast(BestellungID as varchar(20))),'_', trim(cast(PosID as varchar(20))))"/>
                    <nat_key name="PRODUKT" source_field="ProduktID"/>
                    <nat_key name="LIEFERADRESSE" source_field="SpezLieferAdrID"/>
                </nat_keys>
            </stage>
            <stage name="wb_lieferung" table="Lieferung"
                   record_source_suffix="LIEFERUNG"
                   psa_description="die Persistant 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">
                <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>
                <nat_keys>
                    <nat_key name="LIEFERUNG" definition="concat(trim(cast(BestellungID as varchar(20))),'_', trim(cast(PosID as varchar(20))),'_', trim(cast(LieferAdrID as varchar(20))),'_', trim(LieferDienstID))"/>
                    <nat_key name="BESTELLUNG" source_field="BestellungID"/>
                    <nat_key name="POSITION" definition="concat(trim(cast(BestellungID as varchar(20))),'_', trim(cast(PosID as varchar(20))))"/>
                    <nat_key name="LIEFERADRESSE" source_field="LieferAdrID"/>
                    <nat_key name="LIEFERDIENST" source_field="LieferDienstID"/>
                </nat_keys>
            </stage>
            <stage name="wb_lieferdienst" table="LieferDienst"
                   record_source_suffix="LIEFERDIENST"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="LieferDienstID"/>
                    <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"/>
                </fields>
                <unique_key>
                    <field name="LieferDienstID"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="LIEFERDIENST" source_field="LieferDienstID"/>
                </nat_keys>
            </stage>
            <stage name="wb_termintreue" table="Termintreue"
                   record_source_suffix="TERMINTREUE"
                   psa_description="die Persistant 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">
                <fields>
                    <field name="AnzahlTageVon"/>
                    <field name="AnzahlTageBis"/>
                    <field name="Bezeichnung"/>
                    <field name="Bewertung"/>
                </fields>
                <unique_key>
                    <field name="AnzahlTageVon"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="TERMINTREUE" source_field="AnzahlTageVon"/>
                </nat_keys>
            </stage>
        </dir>
        <dir name="config" source="config" record_source_prefix="CF">
            <stage name="cf_produkttyp" table="ProduktTyp" record_source_suffix="PRODUKTTYP"
                   psa="false"
                   raw_description="die Raw Stage für die ProduktTyp-Schnittstelle"
                   stg_description="die Stage für die ProduktTyp-Schnittstelle">
                <fields>
                    <field name="Typ"/>
                    <field name="Bezeichnung"/>
               </fields>
                <unique_key>
                    <field name="Typ"/>
                </unique_key>
                <nat_keys>
                    <nat_key name="PRODUKTTYP" source_field="Typ"/>
                </nat_keys>
            </stage>
        </dir>
    </stages>
    <dv_tables>
        <!-- from dv_tables the following files are generated:
             - 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

             the data from this section is also used to generate the stg_*.sql files in <stages>:
             - data from <dv_tables.hub>, <dv_tables.link> and <dv_tables.sat>,
               if the stage is referenced in these elements
             -->
        <hub name="hub_wb_kunde"
             description="Hub für den Natural Key KUNDE">
            <stages>
                <stage name="wb_kunde" ls="ls_wb_kunde_hk"
                       ls_description="Last Seen Tabelle für den Hub Kunde in der Kunde-Schnittstelle"/>
                <stage name="wb_wohnort" ls="ls_wb_wohnort_hk"
                       ls_description="Last Seen Tabelle für den Hub Kunde in der Wohnort-Schnittstelle"/>
                <stage name="wb_lieferadresse" ls="ls_wb_lieferadresse_hk"
                       ls_description="Last Seen Tabelle für den Hub Kunde in der Lieferadresse-Schnittstelle"/>
                <stage name="wb_vereinspartner" ls="ls_wb_vereinspartner_hk"
                       ls_description="Last Seen Tabelle für den Hub Kunde in der Vereinspartner-Schnittstelle"/>
                <stage name="wb_bestellung" ls="ls_wb_bestellung_hk"
                       ls_description="Last Seen Tabelle für den Hub Kunde in der Bestellung-Schnittstelle"/>
            </stages>
            <nat_key name="KUNDE"/>
        </hub>
        <hub name="hub_wb_wohnort"
             description="Hub für den Natural Key WOHNORT">
            <stages>
                <stage name="wb_wohnort" ls="ls_wb_wohnort_hw"
                       ls_description="Last Seen Tabelle für den Hub Wohnort in der Wohnort-Schnittstelle"/>
            </stages>
            <nat_key name="WOHNORT"/>
        </hub>
        <hub name="hub_wb_lieferadresse"
             description="Hub für den Natural Key LIEFERADRESSE">
            <stages>
                <stage name="wb_lieferadresse" ls="ls_wb_lieferadresse_hla"
                       ls_description="Last Seen Tabelle für den Hub Lieferadresse in der Lieferadresse-Schnittstelle"/>
                <stage name="wb_bestellung" ls="ls_wb_bestellung_hla"
                       ls_description="Last Seen Tabelle für den Hub Lieferadresse in der Bestellung-Schnittstelle"/>
                <stage name="wb_position" ls="ls_wb_position_hla"
                       ls_description="Last Seen Tabelle für den Hub Lieferadresse in der Position-Schnittstelle"/>
                <stage name="wb_lieferung" ls="ls_wb_lieferung_hla"
                       ls_description="Last Seen Tabelle für den Hub Lieferadresse in der Lieferung-Schnittstelle"/>
            </stages>
            <nat_key name="LIEFERADRESSE"/>
        </hub>
        <hub name="hub_wb_vereinspartner"
             description="Hub für den Natural Key VEREINSPARTNER">
            <stages>
                <stage name="wb_kunde" ls="ls_wb_kunde_hvp"
                       ls_description="Last Seen Tabelle für den Hub VereinsPartner in der Kunde-Schnittstelle"/>
                <stage name="wb_vereinspartner" ls="ls_wb_vereinspartner_hvp"
                       ls_description="Last Seen Tabelle für den Hub VereinsPartner in der Vereinspartner-Schnittstelle"/>
            </stages>
            <nat_key name="VEREINSPARTNER"/>
        </hub>
        <hub name="hub_wb_kategorie"
             description="Hub für den Natural Key KATEGORIE">
            <stages>
                <stage name="wb_kategorie" ls="ls_wb_kategorie_hk"
                       ls_description="Last Seen Tabelle für den Hub Kunde in der Kategorie-Schnittstelle"/>
                <stage name="wb_produkt" ls="ls_wb_produkt_hk"
                       ls_description="Last Seen Tabelle für den Hub Kunde in der Produkt-Schnittstelle"/>
            </stages>
            <nat_key name="KATEGORIE"/>
        </hub>
        <hub name="hub_wb_oberkategorie"
             description="Hub für den Natural Key OBERKATEGORIE">
            <stages>
                <stage name="wb_kategorie" ls="ls_wb_kategorie_hok"
                       ls_description="Last Seen Tabelle für den Hub Oberkategorie in der Kategorie-Schnittstelle"/>
            </stages>
            <nat_key name="OBERKATEGORIE"/>
        </hub>
        <hub name="hub_wb_produkt"
             description="Hub für den Natural Key PRODUKT">
            <stages>
                <stage name="wb_produkt" ls="ls_wb_produkt_hp"
                       ls_description="Last Seen Tabelle für den Hub Produkt in der Produkt-Schnittstelle"/>
                <stage name="wb_position" ls="ls_wb_position_hp"
                       ls_description="Last Seen Tabelle für den Hub Produkt in der Position-Schnittstelle"/>
            </stages>
            <nat_key name="PRODUKT"/>
        </hub>
        <hub name="hub_wb_bestellung"
             description="Hub für den Natural Key BESTELLUNG">
            <stages>
                <stage name="wb_bestellung" ls="ls_wb_bestellung_hbe"
                       ls_description="Last Seen Tabelle für den Hub Bestellung in der Bestellung-Schnittstelle"/>
                <stage name="wb_position" ls="ls_wb_position_hbe"
                       ls_description="Last Seen Tabelle für den Hub Bestellung in der Position-Schnittstelle"/>
                <stage name="wb_lieferung" ls="ls_wb_lieferung_hbe"
                       ls_description="Last Seen Tabelle für den Hub Bestellung in der Lieferung-Schnittstelle"/>
            </stages>
            <nat_key name="BESTELLUNG"/>
        </hub>
        <hub name="hub_wb_position"
             description="Hub für den Natural Key POSITION">
            <stages>
                <stage name="wb_position" ls="ls_wb_position_hpo"
                       ls_description="Last Seen Tabelle für den Hub Position in der Position-Schnittstelle"/>
                <stage name="wb_lieferung" ls="ls_wb_lieferung_hpo"
                       ls_description="Last Seen Tabelle für den Hub Position in der Lieferung-Schnittstelle"/>
            </stages>
            <nat_key name="POSITION"/>
        </hub>
        <hub name="hub_wb_lieferung"
             description="Hub für den Natural Key LIEFERUNG">
            <stages>
                <stage name="wb_lieferung" ls="ls_wb_lieferung_hl"
                       ls_description="Last Seen Tabelle für den Hub Lieferung in der Lieferung-Schnittstelle"/>
            </stages>
            <nat_key name="LIEFERUNG"/>
        </hub>
        <hub name="hub_wb_lieferdienst"
             description="Hub für den Natural Key LIEFERDIENST">
            <stages>
                <stage name="wb_lieferdienst" ls="ls_wb_lieferdienst_hld"
                       ls_description="Last Seen Tabelle für den Hub Lieferdienst in der Lieferdienst-Schnittstelle"/>
                <stage name="wb_lieferung" ls="ls_wb_lieferung_hld"
                       ls_description="Last Seen Tabelle für den Hub Lieferdienst in der Lieferung-Schnittstelle"/>
            </stages>
            <nat_key name="LIEFERDIENST"/>
        </hub>
        <hub name="hub_wb_termintreue"
             description="Hub für den Natural Key TERMINTREUE">
            <stages>
                <stage name="wb_termintreue" ls="ls_wb_termintreue_htt"
                       ls_description="Last Seen Tabelle für den Hub Termintreue in der Termintreue-Schnittstelle"/>
            </stages>
            <nat_key name="TERMINTREUE"/>
        </hub>
        <hub name="hub_cf_produkttyp"
             description="Hub für den Natural Key PRODUKTTYP">
            <stages>
                <stage name="cf_produkttyp" ls="ls_cf_produkttyp_hpt"
                       ls_description="Last Seen Tabelle für den Hub Produkttyp in der Produkttyp-Schnittstelle"/>
                <stage name="wb_produkt" ls="ls_wb_produkt_hpt"
                       ls_description="Last Seen Tabelle für den Hub Produkttyp in der Produkt-Schnittstelle"/>
            </stages>
            <nat_key name="PRODUKTTYP"/>
        </hub>
        <link name="link_wb_kunde_vereinspartner" prefix="LINK_WB_KUNDE_VEREINSPARTNER"
              description="Link zwischen KUNDE und VEREINSPARTNER">
            <stages>
                <stage name="wb_kunde" ls="ls_wb_kunde_lkvp"
                       ls_description="Last Seen Tabelle für den Link zwischen Kunde und Vereinspartner in der Kunde-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="KUNDE"/>
                <nat_key name="VEREINSPARTNER"/>
            </nat_keys>
        </link>
        <link name="link_wb_kunde_wohnort" prefix="LINK_WB_KUNDE_WOHNORT"
              description="Link zwischen KUNDE und WOHNORT">
            <stages>
                <stage name="wb_wohnort" ls="ls_wb_wohnort_lkw"
                       ls_description="Last Seen Tabelle für den Link zwischen Kunde und Wohnort in der Wohnort-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="KUNDE"/>
                <nat_key name="WOHNORT"/>
            </nat_keys>
        </link>
        <link name="link_wb_kunde_lieferadresse" prefix="LINK_WB_KUNDE_LIEFERADRESSE"
              description="Link zwischen KUNDE und LIEFERADRESSE">
            <stages>
                <stage name="wb_lieferadresse" ls="ls_wb_lieferadresse_lkla"
                       ls_description="Last Seen Tabelle für den Link zwischen Kunde und Lieferadresse in der Lieferadresse-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="KUNDE"/>
                <nat_key name="LIEFERADRESSE"/>
            </nat_keys>
        </link>
        <link name="link_wb_vereinspartner_vereinskunde" prefix="LINK_WB_VEREINSPARTNER_VEREINSKUNDE"
              description="Link zwischen VEREINSPARTNER und VEREINSKUNDE">
            <stages>
                <stage name="wb_vereinspartner" ls="ls_wb_vereinspartner_lvpvk"
                       ls_description="Last Seen Tabelle für den Link zwischen Vereinspartner und Vereinskunde in der Vereinspartner-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="VEREINSPARTNER"/>
                <nat_key name="KUNDE"/>
            </nat_keys>
        </link>
        <link name="link_wb_kategorie_oberkategorie" prefix="LINK_WB_KATEGORIE_OBERKATEGORIE"
              description="Link zwischen KATEGORIE und OBERKATEGORIE">
            <stages>
                <stage name="wb_kategorie" ls="ls_wb_kategorie_lkok"
                       ls_description="Last Seen Tabelle für den Link zwischen Kategorie und Oberkategorie in der Kategorie-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="KATEGORIE"/>
                <nat_key name="OBERKATEGORIE"/>
            </nat_keys>
        </link>
        <link name="link_wb_produkt_kategorie_produkttyp" prefix="LINK_WB_PRODUKT_KATEGORIE_PRODUKTTYP"
              description="Link zwischen PRODUKT, KATEGORIE und OBERKATEGORIE">
            <stages>
                <stage name="wb_produkt" ls="ls_wb_produkt_lpkpt"
                       ls_description="Last Seen Tabelle für den Link zwischen Produkt, Kategorie und Produkttyp in der Produkt-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="PRODUKT"/>
                <nat_key name="KATEGORIE"/>
                <nat_key name="PRODUKTTYP"/>
            </nat_keys>
        </link>
        <link name="link_wb_bestellung_kunde_lieferadresse" prefix="LINK_WB_BESTELLUNG_KUNDE_LIEFERADRESSE"
              description="Link zwischen BESTELLUNG, KUNDE und LIEFERADRESSE">
            <stages>
                <stage name="wb_bestellung" ls="ls_wb_produkt_lbkla"
                       ls_description="Last Seen Tabelle für den Link zwischen Bestellung, Kunde und Lieferadresse in der Produkt-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="BESTELLUNG"/>
                <nat_key name="KUNDE"/>
                <nat_key name="LIEFERADRESSE"/>
            </nat_keys>
        </link>
        <link name="link_wb_bestellung_position_produkt_lieferadresse" prefix="LINK_WB_BESTELLUNG_POSITION_PRODUKT_LIEFERADRESSE"
              description="Link zwischen BESTELLUNG, POSITION, PRODUKT und LIEFERADRESSE">
            <stages>
                <stage name="wb_position" ls="ls_wb_produkt_lbpopla"
                       ls_description="Last Seen Tabelle für den Link zwischen Bestellung, Position, Produkt und Lieferadresse in der Produkt-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="BESTELLUNG"/>
                <nat_key name="POSITION"/>
                <nat_key name="PRODUKT"/>
                <nat_key name="LIEFERADRESSE"/>
            </nat_keys>
        </link>
        <link name="link_wb_lieferung_bestellung_position_liefera_lieferd" prefix="LINK_WB_LIEFERUNG_BESTELLUNG_POSITION_LIEFERA_LIEFERD"
              description="Link zwischen LIEFERUNG, BESTELLUNG, POSITION, LIEFERADRESSE und LIEFDERDIENST">
            <stages>
                <stage name="wb_lieferung" ls="ls_wb_lieferung_llbpolald"
                       ls_description="Last Seen Tabelle für den Link zwischen Lieferung, Bestellung, Position, Lieferadresse und Liferdienst  in der Lieferung-Schnittstelle"/>
            </stages>
            <nat_keys>
                <nat_key name="LIEFERUNG"/>
                <nat_key name="BESTELLUNG"/>
                <nat_key name="POSITION"/>
                <nat_key name="LIEFERADRESSE"/>
                <nat_key name="LIEFERDIENST"/>
            </nat_keys>
        </link>
        <sat name="sat_wb_kunde" prefix="SAT_WB_KUNDE" stage="wb_kunde" hub="hub_wb_kunde"
             description="Satellite für die Kundendaten am Hub Kunde">
            <payload>
                <field name="Vorname"/>
                <field name="Name"/>
                <field name="Geschlecht"/>
                <field name="Geburtsdatum"/>
                <field name="Telefon"/>
                <field name="Mobil"/>
                <field name="Email"/>
                <field name="Kreditkarte"/>
                <field name="GueltigBis"/>
                <field name="KKFirma"/>
            </payload>
        </sat>
        <sat name="sat_wb_kunde_vereinspartner" prefix="SAT_WB_KUNDE_VEREINSPARTNER" stage="wb_kunde" link="link_wb_kunde_vereinspartner"
             description="Satellite für die Kundendaten am Link zwischen Kunde und VereinsPartner">
            <payload>
                <field name="VereinsPartnerID"/> <!-- Platzhalter, damit überhaupt ein Feld drinsteht -->
            </payload>
        </sat>
        <sat name="sat_wb_kunde_lieferadresse" prefix="SAT_WB_KUNDE_LIEFERADRESSE" stage="wb_lieferadresse" link="link_wb_kunde_lieferadresse"
             description="Satellite für die Kundendaten 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>
        <sat name="sat_wb_vereinspartner" prefix="SAT_WB_VEREINSPARTNER" stage="wb_vereinspartner" hub="hub_wb_vereinspartner"
             description="Satellite für die VereinsPartnerDaten am Hub VereinsPartner">
            <payload>
                <field name="Rabatt1"/>
                <field name="Rabatt2"/>
                <field name="Rabatt3"/>
            </payload>
        </sat>
        <sat name="sat_wb_vereinspartner_vereinskunde" prefix="SAT_WB_VEREINSPARTNER_VEREINSKUNDE" stage="wb_vereinspartner" link="link_wb_vereinspartner_vereinskunde"
             description="Satellite für die Vereinspartnerdaten am Link zwischen VereinsPartner und VereinsKunde">
            <payload>
                <field name="KundeIDVerein"/>
            </payload>
        </sat>
        <sat name="sat_wb_kategorie" prefix="SAT_WB_KATEGORIE" stage="wb_kategorie" hub="hub_wb_kategorie"
             description="Satellite für die Kategorien am Hub Kategorie">
            <payload>
                <field name="Name"/>
            </payload>
        </sat>
        <sat name="sat_wb_kategorie_oberkategorie" prefix="SAT_WB_KATEGORIE_OBERKATEGORIE" stage="wb_kategorie" link="link_wb_kategorie_oberkategorie"
             description="Satellite für die Kategorien am Link zwischen Kategorie und Oberkategorie">
            <payload>
                <field name="OberKatID"/> <!-- Platzhalter, damit überhaupt ein Feld drinsteht -->
            </payload>
        </sat>
        <sat name="sat_wb_produkt" prefix="SAT_WB_PRODUKT" stage="wb_produkt" hub="hub_wb_produkt"
             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>
        <sat name="sat_wb_produkt_kategorie_produkttyp" prefix="SAT_WB_PRODUKT_KATEGORIE_PRODUKTTYP" stage="wb_produkt" link="link_wb_produkt_kategorie_produkttyp"
             description="Satellite für die Produktdaten am Link zwischen Produkt, Kategorie und Oberkategorie">
            <payload>
                <field name="Typ"/> <!-- Platzhalter, damit überhaupt ein Feld drinsteht -->
            </payload>
        </sat>
        <sat name="sat_wb_bestellung" prefix="SAT_WB_BESTELLUNG" stage="wb_bestellung" hub="hub_wb_bestellung"
             description="Satellite für die Bestellungen am Hub Bestellung">
            <payload>
                <field name="Bestelldatum"/>
                <field name="Wunschdatum"/>
                <field name="Rabatt"/>
            </payload>
        </sat>
        <sat name="sat_wb_bestellung_kunde_lieferadresse" prefix="SAT_WB_BESTELLUNG_KUNDE_LIEFERADRESSE" stage="wb_bestellung" link="link_wb_bestellung_kunde_lieferadresse"
             description="Satellite für die Bestellungen am Link zwischen Bestellung, Kunde und Lieferadresse">
            <payload>
                <field name="AllgLieferAdrID"/> <!-- Platzhalter, damit überhaupt ein Feld drinsteht -->
            </payload>
        </sat>
        <sat name="sat_wb_position" prefix="SAT_WB_POSITION" stage="wb_position" hub="hub_wb_position"
             description="Satellite für die Positipnen am Hub Position">
            <payload>
                <field name="Menge"/>
                <field name="Preis"/>
            </payload>
        </sat>
        <sat name="sat_wb_bestellung_position_produkt_lieferadresse" prefix="SAT_WB_BESTELLUNG_POSITION_PRODUKT_LIEFERADRESSE" stage="wb_position" link="link_wb_bestellung_position_produkt_lieferadresse"
             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>
        <sat name="sat_wb_lieferung" prefix="SAT_WB_LIEFERUNG" stage="wb_lieferung" hub="hub_wb_lieferung"
             description="Satellite für die Lieferungen am Hub Lieferung">
            <payload>
                <field name="LieferDatum" type="date" is_nullable="no"/>
            </payload>
        </sat>
        <sat name="sat_wb_lieferung_bestellung_position_liefera_lieferd" prefix="SAT_WB_LIEFERUNG_BESTELLUNG_POSITION_LIEFERA_LIEFERD" stage="wb_lieferung" link="link_wb_lieferung_bestellung_position_liefera_lieferd"
             description="Satellite für die Lieferungen am Link zwischen Lieferung, Bestellung, Position, Lieferadresse und Lieferdatum">
            <payload>
                <field name="LieferDienstID"/> <!-- Platzhalter, damit überhaupt ein Feld drinsteht -->
            </payload>
        </sat>
        <sat name="sat_wb_lieferdienst" prefix="SAT_WB_LIEFERDIENST" stage="wb_lieferdienst" hub="hub_wb_lieferdienst"
             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>
        <sat name="sat_wb_termintreue" prefix="SAT_WB_TERMINTREUE" stage="wb_termintreue" hub="hub_wb_termintreue"
             description="Satellite für die Termintreue am Hub Termintreue">
            <payload>
                <field name="AnzahlTageBis"/>
                <field name="Bezeichnung"/>
                <field name="Bewertung"/>
            </payload>
        </sat>
        <sat name="sat_cf_produkttyp" prefix="SAT_CF_PRODUKTTYP" stage="cf_produkttyp" hub="hub_cf_produkttyp"
             description="Satellite für die Produkttypen am Hub Produkttyp">
            <payload>
                <field name="Bezeichnung"/>
            </payload>
        </sat>
    </dv_tables>
</raw_vault>