Dit is een oude revisie van het document!


Voorbeeld: Inspecties aanmaken bij inrichtingen/locatiedossiers

Op deze pagina wordt stap voor stap beschreven hoe men een generieke bulk importactie in kan richten die inspecties zal aanmaken bij inrichtingen/locatiedossiers. Onder deze inspecties zal vervolgens een eerste bezoek, en een eerste product worden aangemaakt.
Dat betekent dat deze bulk importactie uit drie verschillende acties bestaat:

  • insert in tabel tbinspecties
  • insert in tabel tbinspbezoeken
  • insert in tabel tbzaakproducten

Algemene uitleg bulk import

De algemene uitleg van de generieke bulk import vindt men hier: Generieke bulk import

Voor de bovengenoemde insert acties moet er een regel in de importmatrijstabel (tbimportmatrijs) aangemaakt worden. Onder deze importmatrijzen hangen importmatrijsregels die ook aangemaakt moeten worden.
Voordat deze insert acties ingericht worden, wordt eerst uitgelegd hoe het bestand met de in te lezen data eruit moet zien. Daarna wordt een voorbeeld getoond hoe men vaste sleutelwaardes kan gebruiken benodigd voor de insert acties.

Zoals beschreven bij de pagina Generieke bulk import is er voor iedere generieke bulk importactie een bestand benodigd met daarin de gegevens die ingelezen moeten worden. In het voorbeeld op deze pagina wordt uitgegaan van een Excel bestand met daarin een kopregel die aangeeft welke kolom, welke waarde voorstelt en daaronder regels met de gegevens voor de aan te maken inspecties en bezoeken. De kopregel is niet verplicht: men mag ook gelijk beginnen met vanaf de eerste regel de in te lezen waardes.
Aangezien de inspecties moeten worden aangemaakt bij bestaande inrichtingen, zal er voor ieder aan te maken inspectie verwezen moeten worden naar de inrichting waaronder deze moet worden aangemaakt. Dat betekent dat er in het bestand waarin de in te lezen gegevens staan, voor iedere regel een kolom bestaat met (bijvoorbeeld) het inrichtingnummer van de inrichting/locatie dossier waaronder de inspectie aangemaakt moet worden.
Het bestand mag zo zijn dat de gegevens voor de inspecties op het eerste tabblad staan, en de gegevens voor de bezoeken op een ander tabblad. Maar dat hoeft niet. In het hier beschreven voorbeeld wordt uitgegaan van dat iedere regel in het bestand (minus de kopregel) gegevens bevat benodigd voor zowel het aanmaken van een inspectietraject, als het bezoek en eerste product onder deze inspectie.
Zie voorbeeldplaatje hieronder voor hoe de Excel er uit ziet:

Voordat de importmatrijzen worden ingericht moet er eerst worden nagedacht over hoe er naar de bestaande inrichtingen/locatiedossiers in OpenWave verwezen wordt. Immers de dnkey van deze inrichtingen/locatiedossiers (tbmilinrichtingen.dnkey) is benodigd voor het kunnen aanmaken van de inspecties onder de juiste inrichting/locatiedossier.
Dit kan op twee manieren:

  • via een select statement in de importmatrijsregels wordt de dnkey opgehaald met behulp van de waarde van de bestandskolom met daarin het unieke inrichtingnummer
  • via de importmatrijsregels wordt de dnkey opgehaald met behulp van de vaste sleutelwaarde voor de inrichting uit tabel tbimportsleutels

In het voorbeeld wat hier beschreven wordt, gaat het om een sleutelwaarde ophalen uit de tabel tbimportsleutels. Dat betekent dat er bij het inrichten rijtjes moeten worden aangemaakt voor alle inrichtingen/locatiedossiers in het bestand.
Via tegel Import sleutels in het beheerportaal-nieuw klikken op de plus-knop in de lijst geeft de wizard voor het aanmaken van een nieuwe sleutelwaarde.
Daarin wordt gevuld:

  • Naam van (moeder)tabel. Het gaat om een verwijzing naar een inrichting/locatiedossier dus hier moet gekozen worden tbmilinrichtingen
  • Pointer/keywaarde uit (moeder)tabel. Dit is de dnkey van de inrichting/locatiedossier. De waarde kan men vinden als men in de URL kijkt als men op het inrichtingportaal in OpenWave staat. Bijvoorbeeld als de URL eindigt op : /#inrichtingdetail/22542 dan is de pointer/keywaarde die gevuld moet worden 22542
  • Zoeksleutel. Hier wordt de waarde gevuld waarop later gezocht gaat worden. In het voorbeeld is dit het inrichtingnummer.

De waardes in de wizard worden zo gevuld dat men uiteindelijk het volgende rijtjes aan importsleutels heeft:

Na het eventueel aanmaken van de import sleutels, kunnen de import matrijzen aangemaakt worden. Men begint met het aanmaken van de importmatrijs voor de start van de importactie (zogenaamde hoofdimportmatrijs). Dat is in dit geval de importmatrijs voor het aanmaken van regels in tbinspecties.
De import matrijzen worden aangemaakt via de plus-knop in lijst van Import matrijzen, deze zit onder de tegel Import matrijzen in het beheerportaal-nieuw.
De wizard zal vragen om:

  • Naam van de matrijs: mag men zelf bepalen. In het beschreven voorbeeld is de waarde Lon_oudeImport_test_inspecties
  • Doeltabel: de tabel waarop regels worden ingelezen. De waarde voor het voorbeeld is tbinspecties
  • Type van te importeren file: vooralsnog alleen de keuze uit Excel of CSV. In het voorbeeld gaat het om een Excel file dus moet de waarde zijn excel-bestand
  • Doel van import: vooralsnog alleen de keuze voor insert.
  • Hoofdmatrijs: geeft aan of het de start is van een generieke bulk importactie. In dit geval is dat zo dus moet dit vakje worden aangevinkt.

Na het doorlopen van de wizard, worden de gegevens van de matrijs aangevuld in het detailscherm. Daar kunnen niet verplichte gegevens gevuld worden zoals bijvoorbeeld een omschrijving om toe te lichten wat deze insert actie doet, maar zijn ook een aantal relevante zaken nog te vullen.
In het voorbeeldbestand bestaat een kopregel, dit betekent dat de programmatuur straks pas vanaf de tweede regel het bestand moet doorlopen. Dit wordt aangegeven door veld beginregel te vullen met waarde 2. Daarnaast is Naam werkblad voor een Excel-file interessant in het geval dat er meerdere tabbladen zijn. In dit voorbeeld is het niet relevant en wordt het veld Naam werkblad leeggelaten. Dat betekent dat het eerste tabblad in het bestand wordt gezien als bevat de in te lezen gegevens.
De waardes voor een CSV bestand zijn hier uiteraard leeg. Het veld met de waarde voor ID van de vervolgmatrijs moet wel nog gevuld worden maar dat kan pas nadat deze vervolgmatrijs is aangemaakt. Dit zullen we nog vullen bij het onderstaand kopje Import matrijs bezoeken.
Zie hieronder hoe de importmatrijs gedefinieerd is voor het voorbeeld. In het plaatje ziet men ook de importmatrijsregels (in de Kolommen-lijst). Dit wordt nader toegelicht onder het plaatje:

Na het aanvullen van de detailgegevens van de importmatrijs, wordt in hetzelfde scherm via de lijst Kolommen de importmatrijsregels aangemaakt. Hierin staat beschreven hoe een insert actie op tbinspecties er uit komt te zien. Voor ieder veld in tbinspecties benodigd voor de insert actie, moet een regel bestaan in tbimportmatrijsregels.

Plaatje importmatrijsregel tbinspecties:

De import matrijs voor bezoeken aanmaken gebeurd weer via de plus-knop in lijst van Import matrijzen. De wizard wordt als volgt gevuld:

  • Naam van de matrijs: mag men zelf bepalen. In het beschreven voorbeeld is de waarde Lon_oudeImportTest_bezoeken
  • Doeltabel: de tabel waarop regels worden ingelezen. De waarde voor het voorbeeld is tbinspbezoeken
  • Type van te importeren file: vooralsnog alleen de keuze uit Excel of CSV. In het voorbeeld gaat het om een Excel file dus moet de waarde zijn excel-bestand. Wordt eigenlijk niet naar gekeken bij een vervolgmatrijs: het bij de hoofdmatrijs aangegeven bestandstype is leidend.
  • Doel van import: vooralsnog alleen de keuze voor insert.
  • Hoofdmatrijs: geeft aan of het de start is van een generieke bulk importactie. In dit geval is dat NIET zo dus moet dit vakje leeg blijven.

In het detailscherm vullen we eventueel nog de omschrijving. Tevens moet ook hier de beginregel worden gevuld. Dit doen we weer met waarde = 2.

Na het aanmaken van de import matrijs, moet de relatie nog aangegeven worden met de hoofdmatrijs. Dit om ervoor te zorgen dat bij het draaien van de generieke bulk import de programmatuur weet dat na het afronden van aanmaken van de regels in tbinspecties, er een vervolgproces is namelijk het aanmaken van inspectiebezoeken.
Ga terug naar het detailscherm van de importmatrijs voor inspecties en kies hier in het veld ID van de vervolgmatrijs uit de keuzelijst voor de net aangemaakte import matrijs voor bezoeken. Het vullen van dit veld zorgt automatisch voor het vullen van veld ID van de parent bij de import matrijs voor bezoeken aanmaken.

Zie het uiteindelijke voorbeeld van het detailscherm van de import matrijs voor bezoeken aanmaken:

Uiteraard komt er straks ook een vervolg ID bij deze importmatrijs maar die kan pas gevuld worden zodra de import matrijs voor aanmaken van product bestaat:

Plaatje importmatrijs voor aanmaken kaarten in tbzaakproducten:

  • openwave/1.33/applicatiebeheer/probleemoplossing/programmablokken/generiekebulkimport/voorbeeld_inspecties.1762427672.txt.gz
  • Laatst gewijzigd: 2025/11/06 12:14
  • door Lonneke van Dijk