Gerelateerde en toegestane verwerkingssoorten

Dit is een statische kopie van het eerdere discussie.kinggemeenten.nl.
Nieuwe discussies kunnen in de GitHub repository 'StUF standaarden' als issue worden opgevoerd.

7 reacties / 0 nieuw
Alexander Schrijver
Gerelateerde en toegestane verwerkingssoorten

Ik probeer duidelijk te krijgen welke combinaties van verwerkingssoorten wel toegestaan zijn, en welke niet.

Voor de het topfundamenteel, en voor het verwerken van relatie-entieiten met gerelateerde, is dat redelijk duidelijk daar kan ik respectievelijk Tabel 5.3 en 5.5 uit StUF 3.01 voor gebruiken.

Gerelateerde daarentegen is een ander verhaal. In Tabel 5.7 staat niet gespecificeerd wat de lager gelegen (dichter bij topfundamenteel) relatie-entiteiten en gerelateerde voor verwerkingssoorten moeten hebben. Maar in paragraaf 5.2.2 staat wel beschreven dat hiervoor een restrictie voor is

In paragraaf 5.2.2 uit StUF 3.01 (De structuur van objecten in enkelvoudige kennisgevingberichten) staat het volgende:

    Gerelateerden mogen worden opgevoerd, maar ze mogen niet worden gemuteerd via een kennisgeving voor het object
    waarin ze als gerelateerde worden toegevoegd. Een wijziging in een gerelateerde dient via een aparte enkelvoudige
    kennisgeving te worden doorgegeven.

De volgende interpretaties zijn mogelijk:

- Als je het woord 'toegevoegd' niet interpreteert als 'T' maar als toegevoegd als element in de XML element tree (Dit is hoe ik het interpreteerde de eerste keer dat ik het las)

Dat zou betekenen, afhankelijk van wat bedoelt wordt met het woord 'gemuteerd' dat verwerkingssoort 'T' of 'W' in gerelateerde niet zou zijn toegestaan. Dit zou ook betekenen dat een fors aantal tests in het StUF testplatform incorrect zou zijn, dus dit leek mij onwaarschijnlijk.

- Als je het woord 'gemuteerd' interpreteert als verwerkingsoort 'W'. Dan zou  de interpretatie zijn: een 'gerelateerde' mag geen verwerkingsoort 'W' hebben als een lager gelegen (dichter bij de topfundamenteel) 'gerelateerde' verwerkingsoort 'W' heeft. i.e. dit mag niet:

    <ZKN:object StUF:verwerkingssoort="W" StUF:entiteittype="ZAK">
        <ZKN:heeftAlsInitiator StUF:entiteittype="ZAKBTRINI" StUF:verwerkingssoort="W">
            <ZKN:gerelateerde>
                <ZKN:organisatorischeEenheid StUF:entiteittype="OEH" StUF:verwerkingssoort="T">
                    <ZKN:isGehuisvestIn StUF:entiteittype="OEHVZO" StUF:verwerkingssoort="I">
                        <ZKN:gerelateerde StUF:entiteittype="VZO" StUF:verwerkingssoort="W">
                        </ZKN:gerelateerde>
                    </ZKN:isGehuisvestIn>
                </ZKN:organisatorischeEenheid>
            </ZKN:gerelateerde>
        </ZKN:heeftAlsInitiator>
    </ZKN:object>

- Als je het woord 'gemuteerd' interpreteert als alle database wijzigingen, i.e. verwerkingsoort 'W', 'T' of 'V' als dat toegestaan zou zijn. Dan ze de interpretatie zijn: een 'gerelateerde' mag geen verwerkingsoort 'W' of 'T' hebben als een lager gelegen (dichter bij de topfundamenteel) 'gerelateerde' verwerkingsoort 'W' heeft. i.e., bovenstaande mag niet, maar dit mag ook niet:

    <ZKN:object StUF:verwerkingssoort="W" StUF:entiteittype="ZAK">
        <ZKN:heeftAlsInitiator StUF:entiteittype="ZAKBTRINI" StUF:verwerkingssoort="W">
            <ZKN:gerelateerde>
                <ZKN:organisatorischeEenheid StUF:entiteittype="OEH" StUF:verwerkingssoort="T">
                    <ZKN:isGehuisvestIn StUF:entiteittype="OEHVZO" StUF:verwerkingssoort="I">
                        <ZKN:gerelateerde StUF:entiteittype="VZO" StUF:verwerkingssoort="T">
                        </ZKN:gerelateerde>
                    </ZKN:isGehuisvestIn>
                </ZKN:organisatorischeEenheid>
            </ZKN:gerelateerde>
        </ZKN:heeftAlsInitiator>
    </ZKN:object>

Zou iemand hier verduidelijking kunnen geven wat hier bedoeld wordt?

Frank Samwel

Ik lees tabel 5.5 zo dat een gerelateerde, en dus ook een gerelateerde van een gerelateerde, geen verwerkingssoort "W" mag hebben. Alleen "I" en "T" zijn toegestaan. En verwerkingssoort "T" op een gerelateerde is alleen toegestaan bij het toevoegen (T) of vervangen (R) van een relatie. 

Naar mijn idee is het wijzigen (of toevoegen) van een relatie (of gerelateerde) van een gerelateerde in essentie het wijzigen van die (bovenliggende) gerelateerde. Dat is wat je doet in het tweede voorbeeld. En dat mag niet.

Ik lees in paragraaf 5.2.2 de uitleg voor het niet toestaan van verwerkingssoort "W" (in tabel 5.5) op een gerelateerde. Dus "muteren" heeft m.i. betrekking op het via een wijzigingsbericht muteren van de gerelateerde entiteit in de database. 

Alexander Schrijver

In tabel 5.7 staat daarentegen dat het wel is toegestaan om een 'W' te doen in een gerelateerde. Twee voorbeelden van situaties die ik niet helder kan krijgen.

Voorbeeld1

<!-- Vanaf hier is het Soort kennisgeving: 'Wijzigen gerelateerd object' -->
<topfundamenteel verwerkingssoort="W">
    <relatieEntiteit verwerkingssoort="W">
        <gerelateerde verwerkingssoort="W">
            <!-- vanaf hier is het Soort kennisgeving: 'Toevoegen relatie bij wijzigen object' -->
            <relatieEntiteit verwerkingssoort="T">
                <gerelateerde verwerkingssoort="T">
                </gerelateerde>
            </relatieEntiteit>
        </gerealteerde>
    </relatieEntiteit>
</topfundamenteel>

Voorbeeld2

<!-- Hier begint Soort kennisgeving: 'Vervangen relatie' -->
<topfundamenteel verwerkingssoort="W">
    <relatieEntiteit verwerkingssoort="R">
        <gerelateerde verwerkingssoort="I">
            <!-- Vanaf hier is het Soort kennisgeving: 'Wijzigen gerelateerd object' -->
            <relatieEntiteit verwerkingssoort="W">
                <gerelateerde verwerkingssoort="W">
                </gerelateerde>
            </relatieEntiteit>
        </gerealteerde>
    </relatieEntiteit>
</topfundamenteel>

Frank Samwel

In paragraaf 5.2.7 (waar tabel 5.7 in staat) staat: "In het sectormodel mag ook worden gespecificeerd dat in een wijzig- of correctiekennisgeving gegevens van het gerelateerde object mogen worden gewijzigd."

Volgens mij betekent dit dat het gebruiken van verwerkingssoort "W" op een gerelateerde niet mag, tenzij dit expliciet is toegestaan in het sectormodel. En de regel "Wijzigen gerelateerd object" in tabel 5.7 mag dus alleen worden gebruikt wanneer dit voor de betreffende relatie/gerelateerde in het sectormodel is toegestaan.

Voorbeeld 1 mag volgens mij dus standaard niet, met uitzondering van de situatie dat in het sectormodel voor betreffende relatie/gerelateerde wel de wijziging is toegestaan.

Voorbeeld 2 begrijp ik niet. Hier wordt tegelijk met het vervangen van de relatie de gerelateerde (oude of nieuwe?) gewijzigd. Ik zie deze situatie niet in tabel 5.5 en ook niet in tabel 5.7.

Alexander Schrijver

Hoe kan ik bepalen of in het sectormodel is gespecificeerd dat in een wijzig- of correctiekennisgeving gegevens van het gerelateerde object mag worden gewijzigd? Het betreffende sectormodel is StUF-ZKN, als ik in de XSD kijk, staat daar geen beperking voor verwerkingssoort (alle verwerkingssoorten zijn toegestaan). Betekent dat dat het is toegestaan?

Excuses, In beide gevallen gaan de voorbeelden om de 'hudige' (nieuwe) situatie.

Voorbeeld 1 combineert Soort kennisgeving: Wijzigen gerelateerd object met Toevoegen relatie bij wijzigen object. 

mutatiesoort is in beide gevallen 'W' (Dit was ik vergeten te specificeren),

Om de bovenstaande voorbeeldberichten te maken hanteer ik de onderstaande regels. Voorbeeld 2 is geldig, op de manier dat ik de tabel interpreteer, omdat het topfundamenteel 'W' is, de tweede relatie-entiteit 'W' is en de tweede gerelateerde ook 'W' is. En deze combinatie mag volgens de regels in de rij bij soort kennisgeving: Wijzigen gerelateerd object.

Voorbeeld1

Entiteit Verwerkingssoort Toegestaan bij soort kennisgeving
Topfundamenteel W Wijzigen gerelateerd object/Toevoegen relatie bij toevoegen object
Eerste relatie-entiteit W Wijzigen gerelateerd object
Eerste gerelateerde W Wijzigen gerelateerd object
Tweede relatie-entiteit T Toevoegen relatie bij toevoegen object
Tweede gerelateerde T

Toevoegen relatie bij toevoegen object

Voorbeeld 2

Entiteit Verwerkingssoort Toegestaan bij soort kennisgeving
Topfundamenteel W Wijzigen gerelateerd object/Vervangen relatie
Eerste relatie-entiteit R Vervangen relatie
Eerste gerelateerde I Vervangen relatie
Tweede relatie-entiteit W Wijzigen gerelateerd object
Tweede gerelateerde W Wijzigen gerelateerd object

 

Frank Samwel

Ik ben niet helemaal zeker, Henri is viert zijn welverdiende vakantie, hij of Maarten kan wellicht meer zekerheid over dit onderwerp bieden.

Ik vermoed dat je het moet doen met het document keuzeverstuffing.

Bijvoorbeeld voor zaken staat in "keuzenverstuffing rgbz.pdf" dat "De gerelateerde VES in deze relatie mag ook verwerkingssoort 'W' hebben, omdat VZO zelf geen attributen bevat. ". Voor andere relaties vind ik geen opmerking van dien aard.

Robert Melskens

N.m.m. is de volgende zin uit paragraaf 5.2.7 van belang voor dit vraagstuk:

"Voor de gerelateerde entiteit gelden dezelfde regels als voor de topfundamenteel met inachtneming van de in het sectormodel gedefinieerde structuur voor de gerelateerde."

De regels voor de topfundamenteel bepalen welke verwerkingssoorten toegestaan zijn op een gerelateerde.
Door die gerelateerde weer te beschouwen als een fundamenteel kun je vervolgens weer bepalen welke verwerkingssoorten toegestaan zijn voor de relaties en gerelateerden van deze gerelateerde.

Dat zou betekenen dat voorbeeld 1 in reactie #3 wel is toegestaan maar alleen als (zoals Frank stelt) in het sectormodel wordt
gespecificeerd dat in een wijzigkennisgeving gegevens van het gerelateerde object mogen worden gewijzigd.

Voorbeeld 2 zou volgens deze regel ook toegestaan zijn maar ook alleen als in het sectormodel wordt
gespecificeerd dat in een wijzigkennisgeving gegevens van het gerelateerde object mogen worden gewijzigd.
Voor mijn gevoel is dit echter geen reëel voorbeeld, ik kan me er iig niets bij voorstellen.
Maar misschien heb jij een goed voorbeeld waardoor ik er anders over ga denken.

Ik denk dat Frank overigens gelijk heeft m.b.t. datgene wat hij stelt over het gebruik van het verStUFfingsdocument maar Maarten en Henri kunnen hier inderdaad meer duidelijkheid in verschaffen.

De 3e kolom in de laatste 2 regels van tabel 1 in reactie #5 moet volgens mij trouwens de waarde 'Toevoegen relatie bij wijzigen object' hebben.