CallPro Documentatie, Handleidingen, Release Notes, Tips and Tricks
De merge actie is de meest voorkomende actie die wordt gebruik om uitvoer te genereren. Deze actie neeemt een input template en genereert output in een bestand.
<Action Type="Merge">
<Input source="BLOB|FILE">inputtemplate</Input>
<Output Append="yes|no"
EOL="windows|unix|<characters>"
Encoding="<encoding>">outputfile</Output>
</Action>
De input template kan uit de database komen, of uit een bestand. Voor bestanden worden enkele typen herkend zoals Word (extensie .docx) of Excel (extensie .xlsx) of tekstbestanden.
Voor het gebruik van Word als merge template dient de source=file
te worden gebruikt en moet het bestand de .docx extensie hebben (en uiteraard een Microsoft Word bestand zijn). Van ieder record wordt een input template gemerged.
Om Excel als input template te gebruiken voor een merge dient dit bestand aan enkele voorwaarden te voldoen.
header
en een named region detail
die de betreffende onderdelen bevatten. Zo kan data over meerdere rijen worden verdeeld.<Action Type="Merge">
<Input Sheet="belopdrachten">inputtemplate.xlsx</Input>
<Output Sheet="%SYS.DATE%">output-%SYS.DATE%.xlsx</Output>
<MergeCopy>infosheet</MergeCopy>
<Copy>pivotsheet</Copy>
<Copy>grafieksheet</Copy>
</Action>
Standaard gedragsregels bij Excel merges:
<MergeCopy>
of <Copy>
tags worden gevonden dan worden alleen de sheets vermeld in deze tags overgenomen van de input Excel naar de output Excel en ook alleen bij aanmaken van de output Excel.<Copy>
tag kopieert de bronsheet naar de output Excel.<MergeCopy>
tag kopieert de bronsheet ook naar de output Excel maar voert ook een merge uit op eventuele merge-expressies op deze sheet.Het resultaat van de input template wordt geschreven naar de outputfile. Met de attribuut append=yes
kan worden bepaald of een bestaand bestand wordt uitgebreidt, of overschreven.
De optionele Encoding
attribuut geeft aan welke encoding wordt gebruikt om het output bestand te maken en te schrijven. Mogelijke encodings zijn:
Let op: Wanneer een input template meerdere keren gemerged moet worden gebruik dan innersource=”file” bij de
<input>
tag. Zonder deze toevoeging wordt het inputbestand “slechts” 1x gemergd.