Benutzer-Werkzeuge


Sidebar

ASV-Webseite

Dokumentation

Hilfe


Webseiten-Werkzeuge

Profil


Druck/Export

Drucken/PDF erzeugen

Schnittstelle zum XML-Import von Lehrkraft-Daten

FIXME in arbeit

Bitte das unten beschriebene Datenformat noch nicht für „bare Münze“ nehmen, da wird es noch größere Änderungen geben.

Beispiel-XML:

lk-import.xml
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- 
    lehrkraftdaten-import XML Schnittstelle
 
    Doku siehe [[:alle:schnittstellen:xml_sst:schuelerstammdatenimport:start]]
 
    * Datums- und Zeitangaben immer gemäß https://www.w3schools.com/xml/schema_dtypes_date.asp
    * Referenzen auf Schulen abweichend zum ASV-Datenmodell immer mittels Schulnummer
    * Referenzen auf Wertelisten-Einträge immer als "Schlüssel";
      Achtung: Inkonsequenterweise tragen nicht alle Wertelisten-Referenzen das Präfix "wl_".
      Im Zweifel den Schema-Spy oder die Maskenbeschreibung konsultieren.
    * Prinzipiell können Daten, die im übertragenen lehrer_schuljahr relevant sind, übertragen werden.
      (Es könnten sogar mehrere Lehrer-Schuljahr-Objekte übertragen werden.)
      Für Daten, die in ASV nicht zeitlich eingeschränkt werden können,
      ist tendenziell eher der korrekte Zustand zum Stichtag interessant.
-->
<lehrkraftdaten-import version="0.11" erzeugungs-datetime="2017-05-30T09:00:00">
 
    <!--
        Lehrkräfte identifiziert das KM anhand der PKZ.
        TODO: Wie genau soll sich der ASV-Importer verhalten, wenn die PKZ fehlt?
    -->
    <lehrer_stamm>
        <familienname>Langstrumpf</familienname>
        <vornamen>Pippilotta Viktualia</vornamen>
        <wl_geschlecht_id>2</wl_geschlecht_id>
        <wl_akademischer_grad_id>036</wl_akademischer_grad_id>
        <namensbestandteil_vorangest>von</namensbestandteil_vorangest>
        <namensbestandteil_nachgest>MdL</namensbestandteil_nachgest>
        <geburtsdatum>1982-12-14</geburtsdatum>
        <pkz>541412826</pkz>
        <wl_staatsangehoerigkeit_id>42340</wl_staatsangehoerigkeit_id>
        <geburtsname>Kurz</geburtsname>
        <geburtsort>Stockholm</geburtsort>
        <rufname>Pippilotta</rufname>
        <behinderung_grad>50</behinderung_grad>
        <behinderung_von>2015-12-14</behinderung_von>
        <behinderung_bis>2017-12-14</behinderung_bis>
        <behinderung_genehmigung>beh. gen.</behinderung_genehmigung>
        <wl_rechtsverhaeltnis_id>21</wl_rechtsverhaeltnis_id>
        <wl_dienstherr_id>12</wl_dienstherr_id>
        <amtsbezeichnung_id>069</amtsbezeichnung_id>
        <wl_besoldung_id>1A14</wl_besoldung_id>
        <stammschule>1200</stammschule><!-- abweichend zum ASV-Datenmodell: hier die Schulnummer einfügen -->
        <dienstverhaeltnis_von>2015-12-14</dienstverhaeltnis_von>
        <dienstverhaeltnis_bis>2017-12-14</dienstverhaeltnis_bis>
        <wl_lehramt_abgelpruefung_id></wl_lehramt_abgelpruefung_id>
        <wl_lehramt2_abgelpruefung_id></wl_lehramt2_abgelpruefung_id>        
        <wl_schulart_zugeordnet_id></wl_schulart_zugeordnet_id>
        <wl_kirchl_lehrerlaubnis_id></wl_kirchl_lehrerlaubnis_id>
        <wl_unterrichtsgenehmig_art_id></wl_unterrichtsgenehmig_art_id>
        <unterrichtsgen_bis>2017-01-01</unterrichtsgen_bis>
        <lehrer_lehrbefaehigung>
            <wl_schulart_asv_id></wl_schulart_asv_id>
            <wl_lehrbefaehigungfach_id></wl_lehrbefaehigungfach_id>
        </lehrer_lehrbefaehigung>
        <lehrer_lehrerlaubnis>
            <wl_schulart_asv_id></wl_schulart_asv_id>
            <wl_lehrbefaehigungfach_id></wl_lehrbefaehigungfach_id>
        </lehrer_lehrerlaubnis>
 
        <bezuegestelle></bezuegestelle><!-- ? -->
        <bezuegenummer></bezuegenummer><!-- ? -->
        <viva_id></viva_id>
        <kirchen_id></kirchen_id><!-- ? -->
        <sonst_dienstherr_id></sonst_dienstherr_id><!-- ? -->
 
        <!--
            Das Schuljahr wird abweichend zum ASV-Datenmodell anhand @schuljahr_id identifiziert.
            Achtung: schuljahr_id referenziert die Werteliste wl_schuljahr.
            Theoretisch könnten mehrere Schuljahre übertragen werden.
        -->
        <lehrer_schuljahr schuljahr_id="2017">
            <wl_beschaeftigungskategorie_id></wl_beschaeftigungskategorie_id>
            <wl_ausbildungsabschnitt_id></wl_ausbildungsabschnitt_id>
            <wl_teilzeitgrund_id></wl_teilzeitgrund_id>
            <wl_arbeitszeitmodell_id></wl_arbeitszeitmodell_id>
            <wl_beurlaubung_id></wl_beurlaubung_id>
            <upz_max>1</upz_max>
            <upz>1.5</upz>
            <wl_arbeitszeitkonto_verpfl_id></wl_arbeitszeitkonto_verpfl_id>
            <arbeitszeitkonto_frw></arbeitszeitkonto_frw>
 
            <lehrer_schuljahr_mm>
                <art></art><!-- N oder V -->
                <wl_dauer_mm_id></wl_dauer_mm_id>
                <umfang>1.5</umfang>
            </lehrer_schuljahr_mm>
 
            <lehrer_schuljahr_erm>
                <wl_ermaessigung_art_id></wl_ermaessigung_art_id>
                <wstd>1.5</wstd>
                <von>2015-12-14</von>
                <bis>2017-12-14</bis>
                <begruendung></begruendung><!-- ? -->
            </lehrer_schuljahr_erm>
 
            <lehrer_schuljahr_abordnung>
                <wl_abordnung_art_id></wl_abordnung_art_id>
                <wstd>1.5</wstd>
                <umfang_prozent>45</umfang_prozent>
                <von>2015-12-14</von>
                <bis>2017-12-14</bis>
                <dienststelle></dienststelle><!-- abweichend zum ASV-Datenmodell: hier die Schulnummer einfügen -->
            </lehrer_schuljahr_abordnung>
 
            <lehrer_schuljahr_ausfall>
                <wl_ausfall_art_id></wl_ausfall_art_id>
                <wstd>1.5</wstd>
                <von>2015-12-14</von>
                <bis>2017-12-14</bis>
                <begruendung></begruendung><!-- ? -->
            </lehrer_schuljahr_ausfall>
 
            <wl_mobilereserve_art_id></wl_mobilereserve_art_id>
            <mobilereserve_std>12</mobilereserve_std>
            <mobilereserve_von>2015-12-14</mobilereserve_von>
            <mobilereserve_bis>2017-12-14</mobilereserve_bis>
            <wl_zugang_art_id></wl_zugang_art_id>
            <zugang_datum>2017-12-14</zugang_datum>
            <wl_abgang_art_id></wl_abgang_art_id>
            <abgang_datum>2017-12-14</abgang_datum>
            <stunden_staatlich>1.5</stunden_staatlich><!-- ? -->
 
            <!--
                Zur Schule - abweichend zum ASV-Datenmodell - siehe Attribut @schulnummer
                Theoretisch könnten zu einer Lehrkraft die Daten mehrerer Schulen übertragen werden.
            -->
            <lehrer_schuljahr_schule schulnummer="0815">
 
                <lehrer_anrechnung>
                    <wl_anrechnung_art_id></wl_anrechnung_art_id>
                    <stunden>1.5</stunden>
                    <von>2015-12-14</von>
                    <bis>2017-12-14</bis>
                    <begruendung></begruendung>
                    <wl_vergeben_von_id></wl_vergeben_von_id><!-- ? -->
                </lehrer_anrechnung>
 
                <lehrer_funktion><!-- ? -->
                    <funktion_id></funktion_id>
                    <wl_funktion_fach_id></wl_funktion_fach_id>
                    <wl_funktion_fach2_id></wl_funktion_fach2_id>
                    <funktion_von>2015-12-14</funktion_von>
                    <funktion_bis>2017-12-14</funktion_bis>
                    <wl_uebertragen_von_id></wl_uebertragen_von_id><!-- ? -->
                </lehrer_funktion>
 
                <nebentaetigkeit></nebentaetigkeit><!-- ? -->
                <nebentaetigkeit_kirche></nebentaetigkeit_kirche><!-- ? -->
                <namenskuerzel></namenskuerzel><!-- ? -->
                <wl_zuweisungsart_id></wl_zuweisungsart_id><!-- ? -->
                <zuweisung_wstd></zuweisung_wstd><!-- ? -->
                <zuweisung_von>2015-12-14</zuweisung_von><!-- ? -->
                <zuweisung_bis>2017-12-14</zuweisung_bis><!-- ? -->
            </lehrer_schuljahr_schule>
 
            <!-- 
                TODO:
                ASV speichert den aus dem ASD-Altverfahren bekannten "Einsatz an anderen Schulen (EAS)" 
                hier. ASV allerdings speichert in Tabelle lehrer_schulj_and_schule nur den EAS,
                der außerhalb der Datenbasis (=des DSS) liegt.
                Das exportierende Verfahren (z. B. SVS) kann allerdings hier nicht riechen,
                ob der EAS innerhalb oder außerhalb des DSS liegt.
                Eine bessere Lösung muss her! Ideen?
                1) Das exportierende Verfahren könnte jeglichen EAS als lehrer_schulj_and_schule-
                   Datensätze liefern, und der ASV-Importer muss den auf demselben DSS verwerfen.
                2) Das exportierende Verfahren könnte jeglichen EAS als zusätzliches Attribut innerhalb der lehrer_schuljahr_schule-
                   Datensätze liefern, und der ASV-Importer muss 
                   a) dieses Attribut für Schulen auf demselben DSS verwerfen.
                   b) für Schulen nicht auf diesem DSS den lehrer_schuljahr_schule - Datensatz verwerfen, jedoch einen lehrer_schulj_and_schule - Datensatz anlegen.
                3) ...?   
            -->
            <lehrer_schulj_and_schule schulnummer="0815">
                <stunden_gesamt>1.5</stunden_gesamt>
                <stunden_wissenschaftlich>1.5</stunden_wissenschaftlich>
            </lehrer_schulj_and_schule>
 
            <wl_arbeitszeitmodell_id></wl_arbeitszeitmodell_id>
            <azm_beginn_modell>2017-12-14</azm_beginn_modell>
            <azm_arbeitsphase_ende>2017-12-14</azm_arbeitsphase_ende>
            <azm_freistellungsphase_ende>2017-12-14</azm_freistellungsphase_ende>
        </lehrer_schuljahr>
    </lehrer_stamm>
</lehrkraftdaten-import>

FIXME Eine exaktere XML-Spezifikation (XSD?) liegt noch nicht vor.

  • Grob gesagt können außer der Wurzel-Entity alle Nicht-Blatt-Entities (ich meine: alle Entities, die andere Entities enthalten) in den Multiplizitäten 0..n auftreten.
  • Die Blätter (ich meine: Entities, die ihrerseits keine Kind-Entites enthalten) können möglicherweise optional sein. FIXME das sollte noch näher festgelegt werden. Optionale Entities sollten, falls sie nicht übermittelt werden sollen, im XML nicht angegeben werden - also nicht
    <leeresEntity></leeresEntity>

    , sondern ganz weglassen.