SCHEMA Kostenberechnung;

REFERENCE FROM Strassennetz (nicht_nach_ASB_klass_Strasse, Strasse_abstrakt);

REFERENCE FROM Administration (Verwaltungsbezirk_abstrakt);

REFERENCE FROM Allgemeine_Objekte (Meter, Anzahl_einstellig, Groesse, Waehrungsangabe, Prozent, Datum, Kilometer, Anzahl_zweistellig);

ENTITY Kostra_Projekt;
--- Attribute :
--- Relationen :
    hat_Projektkennzeichnung: Projektkennzeichnung_Kostra;
    hat_Kostendaten: Kostendaten;
    hat_Regionaltext_Freitext_Kat: Regionaltext_Freitext_Katalog;
    hat_HOAI_Daten: OPTIONAL HOAI_Daten;
    hat_Formblaetter: Formblaetter;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Projektkennzeichnung_Kostra;
--- Attribute :
    VKE_Nummer_der_Verkehrseinheit: OPTIONAL Anzahl_zweistellig;
    VKE_Laenge: Kilometer;
    Datum_des_Standes: Datum;
    Traeger_der_Baumassnahme: LIST [1: 2] OF STRING(100);
    vollstaendige_Projektnummer: STRING(100);
    Entwurfsart: Entwurfsart_AKS;
    Stand_der_Fortschreibung: Stand_der_Fortschreibung_AKS;
    Berechnungsart: Berechnungsart_AKS;
    Genauigkeit: Genauigkeit_AKS;
    Streckenbezeichnung: LIST [1: 2] OF STRING(100);
    Projektbezeichnung: LIST [1: 2] OF STRING(100);
    Bauabschnitt: LIST [1: 2] OF STRING(100);
--- Relationen :
    hat_Land: OPTIONAL Verwaltungsbezirk_abstrakt;
    hat_Strasse: OPTIONAL Strasse_abstrakt;
    hat_nicht_nach_ASB_klass_Str: OPTIONAL nicht_nach_ASB_klass_Strasse;
    hat_Zusatzdaten: Zusatzdaten_Kostra;
INVERSE
    von_Kostra_Projekt: Kostra_Projekt FOR hat_Projektkennzeichnung;
WHERE
    Strasse_oder_nicht_klass_Str: (EXISTS(hat_Strasse)XOR EXISTS(hat_nicht_nach_ASB_klass_Str));
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Entwurfsart_AKS;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 1, 'Linienuntersuchung' )
  ( 2, 'Entwurf' )
  ( 3, 'Planfeststellung' )
  ( 4, 'Ausführung' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Stand_der_Fortschreibung_AKS;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 0, 'Aufstellung' )
  ( 1, '1. Fortschreibung' )
  ( 2, '2. Fortschreibung' )
  ( 3, '3. Fortschreibung' )
  ( 4, '4. Fortschreibung' )
  ( 5, '5. Fortschreibung' )
  ( 6, '6. Fortschreibung' )
  ( 7, '7. Fortschreibung' )
  ( 8, '8. Fortschreibung' )
  ( 9, '9. Fortschreibung' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Berechnungsart_AKS;
--- Attribute :
    Kennung: STRING(1);
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 'H', 'Hauptberechnung' )
  ( 'N', 'Nebenberechnung' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Genauigkeit_AKS;
--- Attribute :
    Kennung: STRING(1);
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 'V', 'Vereinfachte Berechnung' )
  ( 'B', 'Berechnung' )
  ( 'A', 'Abrechnung' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Zusatzdaten_Kostra;
--- Attribute :
    Kleinleistung: Prozent;
    Waehrung: Waehrungsangabe;
    Mehrwertsteuersatz: Prozent;
--- Relationen :
INVERSE
    Teil_von_Projektkennzeichnung: SET [0: ?] OF Projektkennzeichnung_Kostra FOR hat_Zusatzdaten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Kostendaten;
--- Attribute :
--- Relationen :
    hat_Lose: OPTIONAL LIST [1: 10] OF Lose;
    hat_Kostenbeteiligte: SET [1: 25] OF Kostenbeteiligte;
    hat_Teile: SET [1: ?] OF Teil_Kostendaten;
INVERSE
    Teil_von_Projekt_Kostra: SET [0: 1] OF Kostra_Projekt FOR hat_Kostendaten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Lose;
--- Attribute :
    Bezeichnung: STRING(100);
--- Relationen :
INVERSE
    Teil_von_Kostendaten: SET [1: ?] OF Kostendaten FOR hat_Lose;
    zu_Teil: Teil_Kostendaten FOR hat_Lose;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Kostenbeteiligte;
--- Attribute :
    Typ: Typ_des_Kostenbeteiligten;
    Bezeichnung: STRING(100);
--- Relationen :
    hat_Kostenbeteiligung: OPTIONAL SET [1: ?] OF Kostenbeteiligung;
INVERSE
    Teil_von_Kostendaten: SET [1: ?] OF Kostendaten FOR hat_Kostenbeteiligte;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Typ_des_Kostenbeteiligten;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 1, 'Bund Straßenbauhaushalt Teil 1' )
  ( 2, 'Bund Straßenbauhaushalt Teil 2' )
  ( 3, 'Bund sonstiges' )
  ( 4, 'Land' )
  ( 5, 'Kreis' )
  ( 6, 'Gemeinde' )
  ( 7, 'Sonstige' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Kostenbeteiligung;
--- Attribute :
    Art: Art_der_Kostenbeteiligung;
    Wert: Prozent;
    tatsaechliche_Kosten: Groesse;
--- Relationen :
INVERSE
    zu_Kostenbeteiligtem: Kostenbeteiligte FOR hat_Kostenbeteiligung;
    Teil_von_Teil_Kostendaten: Teil_Kostendaten FOR hat_Kostenbeteiligung;
    Teil_von_Leistungsbeschreibung: Leistungsbeschreibung FOR hat_Kostenbeteiligung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Art_der_Kostenbeteiligung;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 0, 'Prozentual' )
  ( 1, 'Pauschal' )
  ( 2, 'Rest' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Teil_Kostendaten;
--- Attribute :
    Hauptteilnummer: Anzahl_einstellig;
    Teilnummer: Anzahl_zweistellig;
    Bezeichnung: LIST [1: 2] OF STRING(100);
--- Relationen :
    hat_Lose: OPTIONAL Lose;
    hat_Kostenbeteiligung: OPTIONAL SET [1: 5] OF Kostenbeteiligung;
    hat_Leistungsbeschreibung: OPTIONAL SET [1: ?] OF Leistungsbeschreibung;
    hat_Formblatt_C: OPTIONAL Formblatt_C;
INVERSE
    Teil_von_Kostendaten: Kostendaten FOR hat_Teile;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Leistungsbeschreibung;
--- Attribute :
    KBK_Nummer: OPTIONAL INTEGER;
    Menge: INTEGER;
    Einzelpreis: Groesse;
    Menge_zur_Preisbildung: INTEGER;
    Faktor_zur_Preisbildung: Groesse;
    errechneter_Stuetzpreis: Groesse;
--- Relationen :
    hat_Regionaltext_Freitext: OPTIONAL Regionaltext_Freitext;
    hat_Kostenbeteiligung: OPTIONAL SET [1: 5] OF Kostenbeteiligung;
INVERSE
    Teil_von_Teil_Kostendaten: Teil_Kostendaten FOR hat_Leistungsbeschreibung;
WHERE
    KBK_oder_Regionaltext_Freitext: (EXISTS(KBK_Nummer)XOR EXISTS(hat_Regionaltext_Freitext));
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Regionaltext_Freitext;
--- Attribute :
    KBK_Nummer: INTEGER;
    Masseinheit: STRING(4) FIXED;
    Text: LIST [1: 5] OF STRING(35);
--- Relationen :
INVERSE
    in_Katalog: Regionaltext_Freitext_Katalog FOR hat_Regionaltexte_Freitexte;
    zu_Leistungsbeschreibung: SET [0: ?] OF Leistungsbeschreibung FOR hat_Regionaltext_Freitext;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Regionaltext_Freitext_Katalog;
--- Attribute :
--- Relationen :
    hat_Regionaltexte_Freitexte: OPTIONAL SET [1: ?] OF Regionaltext_Freitext;
INVERSE
    Teil_von_Kostra_Projekt: SET [0: 1] OF Kostra_Projekt FOR hat_Regionaltext_Freitext_Kat;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Formblatt_C;
--- Attribute :
    Datum_des_Standes_bisher: Datum;
    bisherige_Kosten_nach_Hauptgr: LIST [9: 9] OF INTEGER;
--- Relationen :
INVERSE
    Teil_von_Teil_Kostendaten: Teil_Kostendaten FOR hat_Formblatt_C;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Formblaetter;
--- Attribute :
--- Relationen :
    hat_Formblatt_A1: Formblatt_A1;
    hat_Formblatt_A2: Formblatt_A2;
    hat_Formblatt_A3: OPTIONAL Formblatt_A3;
    hat_Formblatt_B: Formblatt_B;
    hat_Formblatt_S1: OPTIONAL Formblatt_S1;
INVERSE
    Teil_von_Kostra_Projekt: SET [0: 1] OF Kostra_Projekt FOR hat_Formblaetter;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Formblatt_A1;
--- Attribute :
    Aufgestellt: LIST [1: 6] OF STRING(40);
    Geprueft: LIST [1: 6] OF STRING(40);
    Genehmigt: LIST [1: 6] OF STRING(40);
    Gesehen: LIST [1: 6] OF STRING(40);
--- Relationen :
INVERSE
    Teil_von_Formblatt: SET [0: 1] OF Formblaetter FOR hat_Formblatt_A1;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Formblatt_A2;
--- Attribute :
--- Relationen :
    hat_Gesamtkostenverteilung: SET [7: 7] OF Gesamtkostenverteilung;
INVERSE
    Teil_von_Formblatt: SET [0: 1] OF Formblaetter FOR hat_Formblatt_A2;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Gesamtkostenverteilung;
--- Attribute :
    Bezeichnung_der_Kostenbeteil: STRING(100);
    ist_Traeger_der_Baumassnahme: BOOLEAN;
    Titel_der_Kostenbet_Bau_bisher: STRING(10);
    Kostenbeteiligung_Bau_bisher: INTEGER;
    Titel_der_Kostenbet_GE_bisher: STRING(10);
    Kostenbeteiligung_GE_bisher: INTEGER;
    Titel_der_Kostenbet_Bau: STRING(10);
    Kostenbeteiligung_Bau: INTEGER;
    Titel_der_Kostenbet_GE: STRING(10);
    Kostenbeteiligung_GE: INTEGER;
--- Relationen :
INVERSE
    zu_Formblatt_A2: SET [0: ?] OF Formblatt_A2 FOR hat_Gesamtkostenverteilung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Formblatt_A3;
--- Attribute :
    Bezeichnung_Streckenentwurf: LIST [1: 2] OF STRING(100);
    Datum_Gesehenvermerk: Datum;
    Aktenzeichen_Gesehenvermerk: STRING(100);
    genehmigte_Kosten_gesamt: Groesse;
    genehmigte_Kosten_Bund: Groesse;
    Kosten_Teilentwurf_gesamt: Groesse;
    Kosten_Teilentwurf_Bund: Groesse;
    beruecks_Kost_Strentwurf_ges: Groesse;
    beruecks_Kost_Strentwurf_Bund: Groesse;
    Differenz_gesamt: Groesse;
    Differenz_Bund: Groesse;
--- Relationen :
INVERSE
    Teil_von_Formblatt: Formblaetter FOR hat_Formblatt_A3;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Formblatt_B;
--- Attribute :
    Kosten_Ingenieurbauw_bisher: LIST [4: 4] OF INTEGER;
--- Relationen :
    hat_zusammeng_Hauptteilkosten: LIST [4: 4] OF zusammenges_Hauptteilkosten;
INVERSE
    Teil_von_Formblatt: Formblaetter FOR hat_Formblatt_B;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY zusammenges_Hauptteilkosten;
--- Attribute :
    Kosten_GE_des_Standes_bisher: INTEGER;
    Kosten_Bau_des_Standes_bisher: INTEGER;
--- Relationen :
INVERSE
    zu_Formblatt_B: SET [0: ?] OF Formblatt_B FOR hat_zusammeng_Hauptteilkosten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Formblatt_S1;
--- Attribute :
    Schaetzungsgrundlage: LIST [1: 10] OF STRING(100);
--- Relationen :
INVERSE
    Teil_von_Formblatt: SET [0: ?] OF Formblaetter FOR hat_Formblatt_S1;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY HOAI_Daten;
--- Attribute :
--- Relationen :
    hat_HOAI_Projektdaten: OPTIONAL SET [1: ?] OF HOAI_Projektdaten;
    hat_Zuordnung_KBK_ING3: OPTIONAL SET [1: 500] OF Zuordnung_KBK_ING3;
    hat_Zuordnung_KBK_ING4: OPTIONAL SET [1: 500] OF Zuordnung_KBK_ING4;
INVERSE
    Teil_von_Kostra_Projekt: SET [0: 1] OF Kostra_Projekt FOR hat_HOAI_Daten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY HOAI_Projektdaten;
--- Attribute :
    Vertragsnummer: STRING;
    Anlagennummer: STRING;
    interner_Index_HOAI_Fassung: Index_HOAI_Fassung;
    interner_Index_HOAI_Teil: Index_HOAI_Teil;
--- Relationen :
    interner_Index_HOAI_Vertrag: Index_HOAI_Vertrag;
    Kostenquelle: Kostenquelle;
    Projektbezeichnung: STRING(100);
    Auftragnehmer: STRING(100);
    Umsatzsteuer: Prozent;
    Minderung_nach_52_5: Minderung_nach_52_5_HOAI;
    Minderung_nach_52_4_2: BOOLEAN;
    hat_HOAI_Honorarberechnung: HOAI_Honorarberechnung;
    hat_HOAI_Grundleistungen: HOAI_Grundleistungen;
    hat_HOAI_Sonstiges: HOAI_Sonstiges;
    hat_HOAI_Ermittlung_ING_10_11: OPTIONAL HOAI_Ermittlung_ING_10_11;
INVERSE
    Teil_von_HOAI_Daten: SET [1: ?] OF HOAI_Daten FOR hat_HOAI_Projektdaten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Minderung_nach_52_5_HOAI;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 0, 'keine Abminderung' )
  ( 1, 'Abminderung bei drei Fahrstrei-fen' )
  ( 2, 'Abminderung bei vier Fahrstrei-fen' )
  ( 3, 'Abminderung bei mehr als vier Fahrstreifen' )
  ( 4, 'Abminderung bei zwei Gleisen mit gemeinsamem Planum' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Zuordnung_KBK_ING3;
--- Attribute :
    KBK_Nr_zur_Aufsumm_n_HVA_ING3: INTEGER;
    Zeilennr_z_Aufsumm_im_Formular: Groesse;
--- Relationen :
INVERSE
    Teil_von_HOAI_Daten: SET [1: ?] OF HOAI_Daten FOR hat_Zuordnung_KBK_ING3;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Zuordnung_KBK_ING4;
--- Attribute :
    KBK_Nr_zur_Aufsumm_n_HVA_ING4: INTEGER;
    Zeilennr_z_Aufsumm_im_Formular: Groesse;
--- Relationen :
INVERSE
    Teil_von_HOAI_Daten: SET [1: ?] OF HOAI_Daten FOR hat_Zuordnung_KBK_ING4;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Index_HOAI_Fassung;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 1, 'HOAI Fassung gültig ab 01.01.1996' )
  ( 2, 'HOAI Fassung gültig ab 01.01.1991' )
  ( 3, 'HOAI Fassung gültig ab 01.04.1988' )
  ( 10, 'HOAI Fassung gültig ab 01.01.2002' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Index_HOAI_Teil;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 2, 'Gebäude, Freianlagen und raumbildende Ausbauten' )
  ( 4, 'Gutachten und Wertermittlungen' )
  ( 5, 'Städtebauliche Leistungen' )
  ( 6, 'Landschaftsplanerische Leistungen' )
  ( 7, 'Ingenieurbauwerke und Verkehrsanlagen' )
  ( 8, 'Tragwerksplanung' )
  ( 9, 'Technische Ausrüstung' )
  ( 10, 'Thermische Bauphysik' )
  ( 11, 'Schallschutz und Raumakustik' )
  ( 12, 'Bodenmechanik' )
  ( 13, 'Vermessungstechnische Leistungen' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Index_HOAI_Vertrag;
--- Attribute :
    Teil: STRING(4);
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Teil_Kennung_eindeutig: Teil,Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 'II', 1, '§11' )
  ( 'II', 2, '§13' )
  ( 'II', 3, '§14a' )
  ( 'IV', 1, '§33' )
  ( 'IV', 2, '§34' )
  ( 'V', 1, '§38' )
  ( 'V', 2, '§41' )
  ( 'VI', 1, '§45b' )
  ( 'VI', 2, '§46a' )
  ( 'VI', 3, '§47a' )
  ( 'VI', 4, '§48b' )
  ( 'VI', 5, '§49d' )
  ( 'VI', 6, '§49a(FNP)' )
  ( 'VI', 7, '§49a(BBP)' )
  ( 'VII', 1, '§56.1' )
  ( 'VII', 2, '§56.2' )
  ( 'VIII', 1, '§65' )
  ( 'IX', 1, '§74' )
  ( 'X', 1, '§78' )
  ( 'XI', 1, '§83' )
  ( 'XI', 2, '§89' )
  ( 'XII', 1, '§94' )
  ( 'XIII', 1, '§97' )
  ( 'XIII', 2, '§98' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Kostenquelle;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 1, 'Kostenschätzung' )
  ( 2, 'Kostenberechnung' )
  ( 3, 'Kostenanschlag' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY HOAI_Honorarberechnung;
--- Attribute :
    anrechenbare_Kosten: Groesse;
    Honorarzone: Anzahl_einstellig;
    Honorarsatz_in_Prozent: Prozent;
    Honorarvereinbarung: Honorarvereinbarung_HOAI;
    Wert_d_Aenderung_Vereinbarung: Groesse;
    ING_Vertragsbasis: Anzahl_einstellig;
    Umsatzsteuer_enthalten: BOOLEAN;
--- Relationen :
INVERSE
    Teil_von_HOAI_Projektdaten: SET [0: ?] OF HOAI_Projektdaten FOR hat_HOAI_Honorarberechnung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Honorarvereinbarung_HOAI;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 1, 'Tabellenhonorar übernehmen' )
  ( 2, 'Tabellenhonorar mindern' )
  ( 3, 'Honorar frei vereinbaren' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY HOAI_Grundleistungen;
--- Attribute :
    Beauftragte_GL_je_Leistungsph: LIST [9: 9] OF Prozent;
--- Relationen :
INVERSE
    Teil_von_HOAI_Projektdaten: SET [0: ?] OF HOAI_Projektdaten FOR hat_HOAI_Grundleistungen;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY HOAI_Sonstiges;
--- Attribute :
    Zuschlag_bei_Umbauten_u_Modern: Zuschlag_b_Umbauten_u_Modern;
    Zuschlagswert_in_Prozent: Prozent;
    besondere_Leistungen_pauschal: Groesse;
    besondere_Leistungen_prozent: Groesse;
    Nebenkosten_pauschal: Groesse;
    Nebenkosten_prozentual: Groesse;
--- Relationen :
INVERSE
    Teil_von_HOAI_Projektdaten: SET [0: ?] OF HOAI_Projektdaten FOR hat_HOAI_Sonstiges;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Zuschlag_b_Umbauten_u_Modern;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

  ( 1, 'kein Zuschlag' )
  ( 2, 'Zuschlag nach §59' )
  ( 3, 'Zuschlag nach §66' )

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY HOAI_Ermittlung_ING_10_11;
--- Attribute :
    Ermittlung_der_Honorarzone: SET [1: 6] OF INTEGER;
    Massstab_d_LBP_Massn_n_ING_11: INTEGER;
    Laenge_der_Baumassnahme: Meter;
    Breite_der_Baumassnahme: Meter;
--- Relationen :
    hat_Flaechenanteile: SET [3: 3] OF Flaechenanteil_Kostendaten;
INVERSE
    Teil_von_HOAI_Projektdaten: SET [0: ?] OF HOAI_Projektdaten FOR hat_HOAI_Ermittlung_ING_10_11;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Flaechenanteil_Kostendaten;
--- Attribute :
    Anteil_am_Berechnungsraum_ha: Groesse;
    Verrechnungseinheit_je_ha: INTEGER;
--- Relationen :
INVERSE
    zu_HOAI_Ermittlung_ING_10_11: SET [0: ?] OF HOAI_Ermittlung_ING_10_11 FOR hat_Flaechenanteile;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

END_SCHEMA; -- Kostenberechnung