Doorgaan naar hoofdcontent

 

OCLC Wise Support NL

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

clipboard_efb32b446a9f260397be680f7fd45b16b.png

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
I000|I001

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.
Als je ervoor kiest om het rapport op de eerste van de maand te verwerken, dan wordt bij periode 'M' het rapport van die maand opgevraagd. Daarom is er nu de periode V (vorige maand).

Voorbeeld voor het gebruik van het veld 'Periode'.

De afschrijfstatistiek:
De organisatie wil iedere maand een afschrijfstatistiek met daarop de exemplaren die in de maand ervoor zijn afgeschreven. In het veld periode wordt in dit geval gekozen voor 'M' maandelijks, want het gaat om de selectieperiode van een maand.

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:

Periode Toelichting
D (dagelijks) Voor dagelijks geldt: het hele etmaal waarin de verwerking wordt gestart, dus ongeacht de tijd.
Voor vandaag: (veld BETWEEN '2013-07-26 00:00:00' AND '2013-07-27 00:00:00')
W (wekelijks) Voor wekelijks geldt: vanaf maandag tot einde van vandaag (eigenlijk de start van morgen).
(veld BETWEEN '2013-07-22 00:00:00' AND '2013-07-27 00:00:00')

Dus starten op maandag betekent van maandagochtend 0:00 tot dinsdagochtend 0:00 (een etmaal).
M (maandelijks) Voor maandelijks geldt: vanaf de eerste van de maand tot einde van vandaag. 
(veld BETWEEN '2013-07-01 00:00:00' AND '2013-07-27 00:00:00')
J (jaarlijks) Voor jaarlijks geldt: vanaf de eerste van het jaar tot einde van vandaag.
(veld BETWEEN '2013-01-01 00:00:00' AND '2013-07-27 00:00:00')
V (vorige maand) Voor vorige maand geldt: vanaf de eerste van de vorige maand tot einde van de vorige maand. 

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.
CSV wordt als uitvoer niet ondersteund.

Periode

Met welke regelmaat en op welke dag moet het rapport worden uitgevoerd. Het rapport ligt dan de volgende dag klaar:

nooit
dagelijks
alleen vanavond
eerste dag v/d week (maandag)

dinsdag
woensdag
donderdag
vrijdag
zaterdag

laatste dag v/d week (zondag)
eerste dag v/d maand
laatste dag v/d maand
de 8e v/d maand
eerste dag v/h jaar
laatste dag v/h jaar

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
home/bxmas/rapporten.

Indien gewenst kan een andere map/pad worden opgegeven. 
Is dit veld leeg dan wordt het rapport opgeslagen in de standaard map.

Het rapport wordt altijd opgeslagen met hetzelfde rapport_id, dit betekent dat het volgende rapport het bestaande rapport overschrijft.

Email

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.

image-0.png

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:

clipboard_e1b5b930480e4fa3a658fd83de906acb6.png

Selecteer een procedure en vul de juiste gegevens in, bijvoorbeeld:

clipboard_eeb6967ed107226091888534444904b53.png

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ë:
Vul hier een 1 in om de uitvoer in Marc21 te krijgen. (Alleen 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:

clipboard_ed5d69836e55c8993ee11e40b83f416dc.png

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.

image-1.png

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.

image-2.png

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.

image-3.png

Tijdens het uitvoeren van een query of procedure verschijnt nu links onderin het scherm een voortgangsindicator.

image-4.png

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.
Wachtend = een rapport is nog nooit verwerkt (bv. nieuwe invoer).
Fout = tijdens de verwerking is er een serieus probleem opgetreden. Raadpleeg hiervoor de logging.

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.

Email

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:
Opgeslagen in de standaard map home/bxmas/rapporten.

Datum

De aanmaakdatum van het rapport volgens het systeem.

 

  • Was dit artikel nuttig?