Basisbeginselen XML Rapportage

De MKG rapportdefinitie, het xml-bestand en de Crystal Reports lay-out zijn drie componenten die samen een uitvoer van gegevens genereren.

Stappenplan voor het weergeven van een rapport




  • Stap 1. Het rapport wordt door de gebruiker gestart. De rapportdefinitie bevat de voorwaarde en de acties die gedaan moeten worden.
  • Stap 2. In de rapportdefinitie zit een verwijzing naar de query. De gebruiker kan deze query zelf opbouwen in MKG. In een query wordt aangegeven welke gegevens (velden) uit de database gehaald moeten worden. In deze stap worden de velden uit de database gehaald en in een (tijdelijk) xml-bestand verwerkt.
  • Stap 3. De xml-gegevens, met de MKG-velden, worden in een lay-out weergegeven. De lay-out, waarin onder andere staat waar en hoe de velden op het rapport komen te staan, kan met Crystal Reports worden opgebouwd.

Voordat een rapport opgesteld wordt, is het van belang antwoord te hebben op deze twee vragen:

  1. Waarvoor dient het rapport? Door deze vraag te beantwoorden stel je vast welk proces op het rapport van toepassing is (bijvoorbeeld het offerteproces).
  2. Welke informatie is er benodigd vanuit MKG? Door deze vraag te beantwoorden bepaal je welke velden uit de database opgehaald moeten worden.

MKG Database

De rapporten halen de brongegevens uit de MKG database. Een rapportbestand (lay-out) heeft geen directe toegang tot deze data, de koppeling tussen de database en de rapportlay-out gebeurt via een exportbestand in xml-vorm. Onderstaande afbeelding geeft schematisch een MKG database weer. In een database worden gegevens gegroepeerd opgeslagen in een tabel. De database bestaat uit meerdere tabellen die weer bestaan uit velden.





Module Database

Via de module Database (Menu Systeem Database) is het mogelijk om de beschikbare tabellen en velden te raadplegen:




  • Structuurboom. Alle voorkomende tabellen in MKG.
  • Naam. De technische naam van een databaseveld.
  • Omschrijving. Label en eventuele uitleg van het veld.
  • Type. Het type veld bepaalt op welke manier gegevens worden opgeslagen, bijvoorbeeld character voor een veld met karakters en logical voor een ja/nee-veld.
  • Formaat. Het formaat geeft de presentatie van het veld weer. 'x(40)' betekent dat er 40 karakters in het veld passen.

Om in MKG te achterhalen wat de veldnaam is en in welke tabel het veld aanwezig is, kan met behulp van de toetscombinatie Ctrl+F1 het scherm 'Veld gegevens' opgeroepen worden. De gegevens van het geselecteerde veld worden vervolgens getoond.

De volgende afbeelding geeft het scherm 'Veld gegevens' weer met informatie over het veld Debiteur vanuit de verkooporderheader:




Rapportenbeheer

Vanuit de module Rapportenbeheer kunnen rapporten aangemaakt, gewijzigd en gestart worden. Voor het kunnen starten en vullen van een rapport met gegevens dienen er twee zaken opgezet te worden binnen MKG:

  • Ten eerste moet er aangegeven worden welke velden uit de database in het rapport opgenomen worden. Dit wordt geregeld via een query.
  • Ten tweede moet deze query gekoppeld worden aan een rapportdefinitie. De rapportdefinitie bevat algemene gegevens over het rapport, een koppeling met de query en met het Crystal Reports-rapport (*.rpt).

XML

Bij het starten van een rapport wordt door MKG een bestand aangemaakt met als extensie .xml. Een xml-bestand is een database op zich. In de xml bevinden zich de velden uit de MKG-database en de velden met de parameters uit de rapportdefinitie. Deze zijn in een eigen tabel met de naam 'Parameters' opgeslagen. Verder zijn er een of meer tabellen opgenomen met daarin de opgevraagde gegevens. Uitleg over meerdere tabellen in een xml-bestand volgt verderop in dit handboek. Het xml-bestand wordt lokaal bewaard in dé tijdelijke map van Windows, submap 'mkgxml'. Dit is zo gedaan om meerdere mensen op eenzelfde server niet de xml-bestanden van elkaar te laten gebruiken. Verderop in deze handleiding wordt de locatie van een persoonlijke tijdelijke map verder belicht.


Crystal Reports 2008

Voor het presenteren van de velden uit de query gebruikt MKG Crystal Reports 2008. Voor het opbouwen van nieuwe rapporten heeft MKG twee standaardsjablonen opgenomen in de map 'mkg\rapporten\standaard\xml'. Een portrait- en een landscape-sjabloon (01rapo001.rpt en 02rapo001.rpt). Door deze rapporten te openen in Crystal Reports en vervolgens in de eigen rapportenmap te bewaren onder een nieuwe naam is de eerste stap voor het opbouwen van een eigen rapport gezet. Voor de naamgeving van het Crystal Reports lay-out heeft MKG een richtlijn opgesteld die we aan iedere MKG gebruiker adviseren toe te passen.


Richtlijn benaming lay-out (*.rpt)

Een standaard MKG-rapportnaam bestaat uit drie delen. Als voorbeeld onderstaand de lay-out van de factuur, 01fcth001.rpt.




  • A. 2 posities, met de volgende mogelijkheden:
    • 01 = standaard MKG procesrapport (portrait, bijvoorbeeld pakbon, factuur, ordergeleidekaart, aanmaning)
    • 02 = standaard MKG overzichtsrapport (landscape, bijvoorbeeld lopende orders, financiële balansen)
    • 03 = voor de klant aangepaste of gemaakte procesrapporten (portrait, bijvoorbeeld offerte, factuur)
    • 04 = voor de klant aangepaste of gemaakte overzichtsrapporten (landscape, bijvoorbeeld planning, zaaglijst)
  • B. 4 posities voor de hoofdtabelnaam in het rapport. Zo geeft 'fcth' aan dat het rapport gegevens heeft met als basis de fcth-tabel (verkoop FaCTuur Headertabel).
  • C. 3 posities als volgnummer van het rapport. Als er meerdere rapporten zijn met dezelfde hoofdtabelnaam, kan een volgend nummer gebruikt worden om onderscheid te maken, bijvoorbeeld 03fcth001 en 03fcth002.

Een voorbeeld is het 'Overzicht lopende verkooporders' dat standaard door MKG aangeleverd wordt met de naam 02vorh001.rpt. Na aanpassingen is het raadzaam de lay-out in de xml-map van de betreffende administratie te zetten en de naam te wijzigen naar 04vorh001.rpt.


Rapportenmap

Voordat een rapport met een eigen Crystal Reports lay-out gestart kan worden dient de lay-out geplaatst te worden in de rapportenmap. MKG kent binnen de rapportenmap (bijvoorbeeld M:\mkg\rapporten\) meerdere submappen waarmee de prioriteit van een rapport wordt aangegeven:

  • Eerste prioriteit. 0\(administratienummer bijv. 001)\xml.
  • Tweede prioriteit. 0\000 (administratie onafhankelijk)\xml.
  • Derde prioriteit. standaard\xml.

Wanneer er binnen de rapportenmap meerdere rapporten met dezelfde naam aanwezig zijn, zal MKG het rapport met de hoogste prioriteit selecteren.


Plaats eigen rapporten niet in de map 'standaard\xml'. Deze map bevat namelijk de standaardrapporten van MKG en wordt bij een versie-update verwijderd en opnieuw aangemaakt.


Rapportage: index


Gerelateerd