Rapportverwerker
Met de zogeheten rapportverwerker (Manager > systeemWise > Rapporten > Rapportverwerker) kunnen periodiek rapporten worden gegenereerd. De verwerker is een zelfstandig proces dat, onafhankelijk van de applicatieserver (bxmas), op een vast tijdstip wordt uitgevoerd.
De gewenste rapporten worden met een set van parameters in een wachtrij geplaatst en de rapportverwerker beoordeelt elk etmaal om 22:30 welke rapporten uitgevoerd moeten worden (eerder was dit om 23:30).
De uitvoer van de aangemaakte rapporten wordt standaard weggeschreven in de map
home/bxmas/rapporten
Van de standaard kan worden afgeweken, hierover later meer.
Het onderdeel rapportverwerker kent vijf functies, ieder met een eigen tabblad:
- Rapporten
- Procedures
- Queries
- Jobs
- Resultaten
Tabblad Rapporten
Op dit tabblad worden alle beschikbare rapporten getoond. Hier worden rapporten geselecteerd en in de wachtrij geplaatst voor de verwerker.
Vanaf versie 7.0.7 zijn hier vier nieuwe rapporten toegevoegd:
- Controlelijst Klantblokkades (zie Controlelijst Klantblokkades voor meer informatie)
- Single Identity Migratie Adres (bij het in gebruik nemen van Single Identity; zie Migratie voor meer informatie)
- Single Identity Migratie E-mail (bij het in gebruik nemen van Single Identity; zie Migratie voor meer informatie)
- Single Identity Migratie Voortgang (bij het in gebruik nemen van Single Identity; zie Migratie voor meer informatie)
Klik op het gewenste rapport. Aan de rechterzijde van het scherm verschijnen de velden waarin het rapport gedefinieerd moet worden. In tegenstelling tot het parameter-venster in de Client worden hier geen voorkeuze-tabellen getoond.
Bij sommige velden wordt een '*' getoond, dit betekent dat dit veld verplicht ingevuld moet worden. Er verschijnt een melding als een verplicht veld leeg is.
Veld | Uitleg | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Instantie / vestiging / scat / materiaal / kast velden |
Indien meerdere waarden van toepassing zijn de waarden scheiden met een '|'. 8666|8665 |
|||||||||||
Datumvelden |
Datumvelden worden opgegeven in een jaar-maand-dag-notatie; perioden worden gescheiden door twee punten (bv. 2021-01-01..2021-02-01). |
|||||||||||
Periode |
Waarde invullen met hoofdletter. Naast bovengenoemde datumvelden kan ook voor een vaste periode worden gekozen. Dit betekent dat een periode een vaste periode van selecteren kent. Bijvoorbeeld als de periode 'Dagelijks' is, wordt er altijd geselecteerd in de periode van middernacht t/m nu. 'Nu' is in dit geval het tijdstip waarop het rapport start (22:30 's avonds). Het veld 'Periode' is niet bij alle rapporten van toepassing, indien het veld aanwezig is wordt dit in 'vet' weergegeven (ook bij het Journaaloverzicht (88) kunnen relatieve periodes ingevuld worden, ook al worden deze niet vet weergegeven). Indien het veld aanwezig is moet het verplicht worden ingevuld. Vanaf versie 7.1.0 kun je ook kiezen voor de periode V (vorige maand). Dit is relevant voor bijvoorbeeld het Journaaloverzicht (88). Wanneer je hier namelijk kiest wordt voor de periode M (maandelijks) en je draait het rapport op de laatste dag van de maand, dan ontbreekt de laatste dag van maand op het overzicht. Dit heeft ermee te maken dat de financiële posten in de nacht (na verwerken van de rapporten) worden ingeteld. Voorbeeld voor het gebruik van het veld 'Periode'. De afschrijfstatistiek: De job selecteert van de eerste van de maand om 0:00 t/m de laatste dag van de maand tot 0:00 's avonds. Het tijdstip waarop de rapportage start wordt ingevuld bij het tabblad Jobs, (hierover meer in Tabblad Jobs). |
|||||||||||
De volgende perioden zijn beschikbaar:
|
||||||||||||
Overige velden |
Al naar gelang het soort rapport zijn er meer of minder velden die gevuld moeten worden. De velden zijn zoveel mogelijk voorzien van hulptabellen. Bij rapport 81 financieel overzicht kan in het veld 'boekingscode' gebruik gemaakt worden van .. om een t/m op te geven (b.v. 001..199) In rapport 86 openstaande posten is de boekingscode een samenstelling dan dagboeksoort en dagboekcode; de notatie is hier Axxx of Axxx..Zyyy |
Onderaan het scherm zijn twee buttons zichtbaar: 'Maak rapport' en 'Quit' (verlaat dit rapport).
Maak rapport
Indien gekozen wordt voor 'Maak rapport' verschijnt een volgend scherm waarin de jobgegevens ingevoerd moeten worden met betrekking tot de aanmaak en uitvoer van het rapport.
Veld | Uitleg |
---|---|
Uitvoer |
Het rapport kan in PDF of in HTML worden opgeslagen. |
Periode |
Met welke regelmaat en op welke dag moet het rapport worden uitgevoerd. Het rapport ligt dan de volgende dag klaar: nooit dinsdag laatste dag v/d week (zondag) Voorbeeld: bij periode 'laatste dag v/d week' ligt het rapport klaar op maandag. Voorbeeld 2: bij periode 'Woensdag' wordt elke woensdagnacht dit rapport uitgevoerd en ligt deze klaar op donderdag. |
Map |
Rapporten worden standaard opgeslagen in de map Indien gewenst kan een andere map/pad worden opgegeven. |
Het rapport wordt altijd opgeslagen met hetzelfde rapport_id, dit betekent dat het volgende rapport het bestaande rapport overschrijft. |
|
|
Het rapport verzenden naar een hier ingevuld e-mailadres. Het is ook mogelijk om queries en rapporten te verzenden naar meerdere e-mailadressen. Gebruik een komma tussen e-mailadressen om een lijst van adressen te gebruiken. |
Email onderwerp | |
Knoppen onderin | |
Direct |
Het rapport wordt direct aangemaakt. |
Wachtrij |
Het rapport wordt opgenomen in de wachtrij. |
Quit |
Verlaat het rapport. |
De rapporten uitleenstatistiek en bezitsstatistiek gaan op een bijzondere manier om met de parameters: de invoervelden "indeling" en "navigatie-niveau" zijn afhankelijk van voorliggende keuzes. Deze interactie tussen parameters onderling is in de manager niet mogelijk.
Voor de rapportverwerker worden de parameterdialogen nu aangeboden zonder deze variaties.
Dit betekent dat de beheerder zelf moet beoordelen of de velden "indeling" en "navigatie-niveau" van een waarde moeten worden voorzien.
Bij het rapport klantentelling per teldatum kan een datum ingevuld worden. Deze parameter is niet verplicht. Indien deze niet is ingevuld wordt de datum van uitvoering gebruikt.
Tabblad Procedures
Op dit tabblad zijn alle rapportprocedures apart opgenomen omdat dit de mogelijkheid biedt om uitvoer in CSV te bewerkstelligen.
In de tabel links zijn van alle birt-rapporten de procedures met parameters opgenomen (1).
Door op een procedureregel te klikken komt deze beschikbaar om opgenomen te worden in de verwerkingslijst van de rapportverwerker. Tussen het procedurevenster (2) en het jobvenster (4) wordt een lijst met parameters (3) getoond. Voor de regels met betrekking tot de parameters kan het betreffende rapport worden aangehouden.
Procedure-uitvoer is altijd CSV met als delimiter het tab-teken.
Met de knop 'Toon' wordt de zogeheten routine-definition volledig getoond (de 'instructies' van de procedure).
Voor het invullen van de jobgegevens geldt de uitleg bij Tabblad Rapporten.
CALLS
In dit onderdeel kun je CALLS uitvoeren. Op verzoek van de klant worden procedures door OCLC aan "manager_call.sqlp" toegevoegd en vrijgeven. De procedures worden aangeroepen via het tabblad Procedures met 'manager_call_xxx', waarbij xxx de naam is van de specifieke procedure.
Het is niet mogelijk om CALLS uit te voeren in het tabblad Queries.
Door te zoeken op het woord "manager", worden de beschikbare calls getoond:
Selecteer een procedure en vul de juiste gegevens in, bijvoorbeeld:
Nummer | Uitleg |
---|---|
1 | Het nummer van de query waarin een titelset wordt aangemaakt. |
2 | Indien hier een set_id wordt ingevuld, wordt die set overschreven. Als hier 0 staat, wordt er een nieuwe set gecreëerd. De set is terug te vinden in Statistieken en Selecties - Selectiebron Titels |
3 |
Voor België: |
4 | Vul een omschrijving in van de job. |
5 | Vul in wanneer de job moet worden uitgevoerd. |
In de jobregels is de uitvoer te zien, en de gemaakte set_id:
Tabblad Queries
Op dit tabblad kunnen queries worden ingevoerd, getest en worden toegevoegd aan de verwerkingslijst van de rapportverwerker. Uitvoer is CSV, HTML- of XML-formaat, als dit bestand groter is dan 5MB dan wordt hier eerst een ZIP bestand van gemaakt en dan verzonden. Met de listbox 'actieve queries' (2) en de knop “Toon” kunnen queries uit de joblijst worden opgevraagd en gewijzigd in venster 1.
Er zijn drie typen queries mogelijk:
- enkelvoudige SELECT
- combinatie van diverse SQL-opdrachten
- SHOW statement
Het is niet mogelijk om CALLS uit te voeren in dit tabblad. Zie daarvoor Tabblad Procedures.
Enkelvoudige SELECT
SQL-opdrachten die bestaan uit een (1) SELECT-opdracht (evt. genest). Als test wordt dit type query direct uitgevoerd op de onderliggende database. Manipulatie-opdrachten als INSERT, UPDATE enz. zijn niet toegestaan. Ook wordt commentaar, dubbele quotes en dergelijke geweigerd. De tabellen exemplaren_update en titels_update kunnen alleen in enkelvoudige select statements gebruikt worden.
Let op dat een testopdracht de database niet belast. Gebruik geen generieke selecties op grote tabellen (exemplaren, finposten).
Gebruik van LIMIT in een test is verplicht. Max aantal toegestane regels is 9999. Voordat de query wordt toegevoegd aan de verwerkingslijst kan LIMIT worden verwijderd.
In een query zijn de volgende sleutelwoorden niet toegestaan:
1) DROP, CREATE, INSERT, DELETE, UPDATE, ALTER, TRUNCATE, WHILE
2) RENAME, REPLACE, LOAD, START, STOP, RESET, CALL.
Combinatie van diverse SQL-opdrachten
Reeksen van SQL-opdrachten die uiteindelijk tot een resultaatset leiden (=querycombinatie). Denk hierbij bijvoorbeeld aan een combinatie van CREATE TEMPORARY TABLE, INSERT INTO, SELECT etc. Een reeks opdrachten wordt herkend aan 2 of meer punt-komma-tekens.
Omdat het niet mogelijk is om meerdere SQL-opdrachten direct als test uit te voeren worden de opdrachten eerst weggeschreven in een tijdelijke procedure-call die vervolgens wordt uitgevoerd.
In een querycombinatie mogen de sleutelwoorden uit rij 1 hierboven alleen worden gebruikt in combinatie met tijdelijke tabellen en alleen in een verplichte syntax. Tijdelijke tabellen moeten beginnen met de prefix "temp_".
De enige toegestane syntax per sleutelwoord is:
DROP TEMPORARY TABLE IF EXISTS TEMP_
CREATE TEMPORARY TABLE TEMP_
INSERT INTO TEMP_
DELETE FROM TEMP_
UPDATE TEMP_
ALTER TABLE TEMP_
TRUNCATE TABEL TEMP_
NB: hoofdletters/kleine letters speelt geen rol.
De querycombinatie kan op de bekende manier worden toegevoegd aan de verwerkingslijst.
De knop 'Direct' (bij 3) maakt het mogelijk om een query direct uit te voeren. Het resultaat van de query wordt uitgevoerd in HTML- of XML-formaat of opgeslagen als CSV-bestand en eventueel. gemaild. Het resultaat wordt dus niet in de manager getoond. Voorwaarde voor het direct uitvoeren is dat de query (eerder) is opgeslagen in de rapporttabel en is gekoppeld aan een id. Door met ‘Toon’ (2) een actieve query op te roepen (veld 'id' is nu gevuld) wordt aan deze voorwaarde voldaan.
Queries worden bewaard met de opmaak waarin ze zijn opgesteld, zodat ze goed leesbaar blijven.
DESCRIBE
Met het commando 'describe' worden de velden van de tabellen zichtbaar in de querytool in de Manager
Voorbeeld met 'describe exemplaren':
SHOW statement
SHOW heeft veel vormen die informatie bieden over databases, tabellen, kolommen of statusinformatie over de server. Zie verder MySQL Reference Manual SHOW syntax.
De batchjob (crontab) wordt altijd uitgevoerd als gebruiker "tomcat". Hiermee wordt een conflict voorkomen met de functie "direct" in de manager.
Het resultaat van een query kan nu direct worden gekopieerd naar het klembord met de button ‘klembord’. De functie kopieert de HTML-tabel en kan in die vorm direct worden ‘geplakt’ in bijvoorbeeld Excel. Het resultaat van de actie kan worden beïnvloed door het type browser; een en ander functioneert correct in Chrome.
Tijdens het uitvoeren van een query of procedure verschijnt nu links onderin het scherm een voortgangsindicator.
Tabblad Jobs
Het scherm Jobs bestaat uit de volgende kolommen:
Kolom | Uitleg |
---|---|
Rapport/procedure/query |
Naam van het rapport. De kleur geeft een indicatie voor het type. Queries staan bovenaan, rapporten staan onderaan. |
Type |
Rapport, Procedure of Query. |
Naam |
De naam van het rapport. |
Parameters |
Aanvullende parameters. |
Omschrijving |
Korte omschrijving van het rapport. |
Documenttype |
De gekozen uitvoervorm (CSV en HTML of XML). |
Status |
Klaar = het rapport is op de datum 'rundatum' correct uitgevoerd en opnieuw zal worden verwerkt wanneer de 'periode' weer voldoet. |
Rundatum |
Dit veld wordt gevuld met de datum waarop het rapport is aangemaakt. |
Info |
Indien een rapport-job in de fout loopt wordt in dit veld getoond wat er eventueel aan de hand kan zijn. |
Periode |
Periode die ingeven is in het scherm 'Jobgegevens'. |
Map |
Indien van toepassing. Veld is gevuld indien wordt afgeweken van de standaard (home/bxmas/rapporten). |
Uitvoer |
Naam van het uitvoerbestand. |
|
Het e-mailadres van degene die het rapport via de mail wil ontvangen. |
Onderwerp |
Het onderwerp in de mail, bijvoorbeeld de naam van het rapport. Indien er geen onderwerp is ingevoerd zal de naam van het rapport als onderwerp worden opgenomen. |
Verwijder |
Verwijder dit rapport uit de rij. Zet vinkje en klik op de button verwijderen onderaan de tabel. |
In dit scherm kunnen geen wijzigingen worden aangebracht. Indien andere parameters of iets dergelijks zijn gewenst dan moet het rapport worden verwijderd en opnieuw worden aangevraagd.
De rapporten die in de wachtrij zijn opgenomen worden steeds opnieuw uitgevoerd.
Tabblad Resultaten
Dit scherm geeft een overzicht van alle gereedstaande rapporten uit de rapportmap. Door op een rij te klikken wordt het gekozen rapport getoond in een browser.
Kolom | Uitleg |
---|---|
Rapport |
Het rapport_id |
Submap |
Dit veld is gevuld indien een andere submap gekozen. Leeg betekent: |
Datum |
De aanmaakdatum van het rapport volgens het systeem. |