<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://doku.asv.bayern.de/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Amtliche Schulverwaltung - Dokumentation - alle:schnittstellen:xml_sst:bugs</title>
        <description></description>
        <link>https://doku.asv.bayern.de/</link>
        <lastBuildDate>Wed, 06 May 2026 06:03:36 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://doku.asv.bayern.de/_media/wiki/dokuwiki-128.png</url>
            <title>Amtliche Schulverwaltung - Dokumentation</title>
            <link>https://doku.asv.bayern.de/</link>
        </image>
        <item>
            <title>Bug: WinSD-Import generiert Anschriftdatensätze ohne reiter_nr</title>
            <link>https://doku.asv.bayern.de/alle/schnittstellen/xml_sst/bugs/winsdimport1</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;bugwinsd-import_generiert_anschriftdatensaetze_ohne_reiter_nr&quot;&gt;Bug: WinSD-Import generiert Anschriftdatensätze ohne reiter_nr&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Bug: WinSD-Import generiert Anschriftdatens\u00e4tze ohne reiter_nr&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bugwinsd-import_generiert_anschriftdatensaetze_ohne_reiter_nr&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-77&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;testcase&quot;&gt;1. Testcase&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rufe Datei→Anwendungsdaten→Schnittstelle, dort „Import von Daten von SDAndere.prn (WinSD)“ auf&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Entpacke die Datei &lt;a href=&quot;https://doku.asv.bayern.de/_media/alle/schnittstellen/xml_sst/bugs/sd-andre_ebe2.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;alle:schnittstellen:xml_sst:bugs:sd-andre_ebe2.zip (345 B)&quot;&gt;sd-andre_ebe2.zip&lt;/a&gt; und importiere sie &lt;br/&gt;
&lt;strong&gt;Bem.:&lt;/strong&gt; Die Daten sind händisch anonymisiert. Da sie zudem in einem von WinSD kryptierten Format vorliegen, sind die entkryptierten Zeichenketten (Name, …) natürlich sehr kryptisch!&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In der Datenbank befindet sich jetzt ein Datensatz in svp_schueler_kommunikation mit reiter_nr == null sowie ein damit verknüpfter Datensatz in svp_kommunikation (Kommunikationsadresse: „6789/897896“)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diese Telefonnummer findet sich nicht in den Kontakten des importierten Schülers. Auch daran erkennt man, dass die Datenlage nicht valide ist.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
SQL-Statements zum finden der nicht-validen Datensätze:
&lt;/p&gt;
&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;SELECT&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; svp_schueler_kommunikation &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; reiter_nr &lt;span class=&quot;kw1&quot;&gt;IS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;SELECT&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; svp_kommunikation &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; id &lt;span class=&quot;kw1&quot;&gt;IN&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;SELECT&lt;/span&gt; kommunikation_id &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; svp_schueler_kommunikation &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; reiter_nr &lt;span class=&quot;kw1&quot;&gt;IS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Der Fehler steckt m.E. in der Klasse &lt;code&gt;bayern.asv.interfaces.api.imports.sdandre.importformate.StImporter&lt;/code&gt;. Sie wurde am 14.04.2014 von einem Mitarbeiter der ISB-AG erstellt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1. Testcase&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;testcase&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;78-1290&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;auswirkungen_auf_die_xml-exportschnittstelle_zur_notenverwaltung&quot;&gt;2. Auswirkungen auf die XML-Exportschnittstelle zur Notenverwaltung&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Diese Schnittstelle bricht bis einschließlich &lt;abbr title=&quot;Amtliche Schulverwaltung&quot;&gt;ASV&lt;/abbr&gt;-Version 1.29.189 mit einer Exception ab, wenn sie auf einen nicht-validen Datensatz der oben beschriebenen Art trifft. Danach ist sie „gehärtet“ und übergeht diese Datensätze einfach.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. Auswirkungen auf die XML-Exportschnittstelle zur Notenverwaltung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;auswirkungen_auf_die_xml-exportschnittstelle_zur_notenverwaltung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1291-1607&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;bereinigung_der_fehlerhaften_datensaetze&quot;&gt;3. Bereinigung der fehlerhaften Datensätze&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die fehlerhaften Datensätze lassen sich mit diesen SQL-Statements bereinigen:
&lt;/p&gt;
&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;UPDATE&lt;/span&gt; svp_kommunikation &lt;span class=&quot;kw1&quot;&gt;SET&lt;/span&gt; bemerkung &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;bad&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; id &lt;span class=&quot;kw1&quot;&gt;IN&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;SELECT&lt;/span&gt; kommunikation_id &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; svp_schueler_kommunikation &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; reiter_nr &lt;span class=&quot;kw1&quot;&gt;IS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;DELETE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; svp_schueler_kommunikation &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; reiter_nr &lt;span class=&quot;kw1&quot;&gt;IS&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;DELETE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; svp_kommunikation &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; bemerkung &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;bad&#039;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Zuvor sollte man mit der ISB-AG klären: Sind die nicht-validen Datensätze in svp_schueler_kommunikation eindeutig an reiter_nr == null zu erkennen oder gibt es auch valide Datensätze in svp_schueler_kommunikation mit reiter_nr == null?
&lt;/p&gt;

&lt;p&gt;
Ich kann mir von meinem Verständnis des Datenmodells her zwar letzteres nicht vorstellen, aber da die Semantik des Datenmodells rund um svp_anschrift nirgends umfassend dokumentiert ist, kann ich mir leider nicht sicher sein. Für meine These spricht, dass die Datensätze in der &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt; nirgends sichtbar sind…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3. Bereinigung der fehlerhaften Datens\u00e4tze&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bereinigung_der_fehlerhaften_datensaetze&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1608-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 22 Nov 2016 10:42:25 +0000</pubDate>
        </item>
    </channel>
</rss>
