De Mergetool is een krachtige tool waarmee allerhande fulfilment acties of andere nabewerkingsacties kunnen worden geautomatiseerd. Mogelijkheden van de tool zijn het automatisch e-mailen, brieven maken, wijzigingen doorvoeren in de database, communiceren met externe bronnen (webservices & API’s).
De Mergetool is eenvoudig in gebruik, maar vergt wel enige kennis voor het inrichten van de juiste acties. Vereiste voorkennis voor succesvol gebruik zijn:
De fulfilmentservice kent een aantal systeemvelden die beschikbaar zijn in de collectie SYS
, ENVIRONMENT
en VARIABLE
. Onder SYS
staan enkele systeemvelden, en ENVIRONMENT
bevat alle environment variabelen op de server. Onder VARIABLE
worden gebruiker instellingen vastgelegd uit de config sectie variables
. Onderstaande is een voorbeeld van de standaard inhoud.
SYS | VERSION | 5.03 |
SYS | VERSIONMAJOR | 5 |
SYS | VERSIONMINOR | 0 |
SYS | VERSIONPATCH | 3 |
SYS | VENDOR | Calway Nederland b.v. |
SYS | VENDORURL | https://www.calway.nl |
SYS | DATETIME | 08-12-2020 15:31:45 |
SYS | DATE | 08-12-2020 |
SYS | TIME | 15:31:45 |
SYS | FILLER | |
ENVIRONMENT | COMMANDLINE | Mergetool -Eval |
ENVIRONMENT | CURRENTDIRECTORY | C:\data\app\mergetool |
ENVIRONMENT | MACHINENAME | JOHAN |
ENVIRONMENT | OSVERSION | Microsoft Windows NT 6.2.9200.0 |
ENVIRONMENT | USERDOMAINNAME | AzureAD |
ENVIRONMENT | USERNAME | JohanBennink |
ENVIRONMENT | DOTNETVERSION | 4.0.30319.42000 |
ENVIRONMENT | INTERACTIVE | True |
Bij ieder veld kunnen format specifiers worden meegegeven die bepalen hoe de uiteindelijke waarde opgebouwd/weergegeven gaat worden. Er kunnen 0 of meer format specifiers bij 1 veld worden meegegeven. Bijvoorbeeld:
%SCRIPT.CONTRACTDATE \DTddMMyyyy \ALC#12%
Geeft als de huidige datum 01-04-2005 is als resultaat:
##01042005##
Code | Betekenis |
---|---|
DT |
Specificeer een datum/tijd formaat. Er kan gebruik worden gemaakt van
de volgende combinaties (volledige lijst op docs.microsoft.com: dddd, MMMM dd yyyy :Thursday, August 17 2015 ddd, MMM d "'"yy :Thu, Aug 17 '15 dddd, MMMM dd :Thursday, August 17 M/yy :8/15 dd-MM-yy :17-08-15 ddMMyyyy :17082015 dd-MM-yyyy HH:mm : 17-08-2015 09:15 |
AL |
Alignment van de tekst.
[L|C|M|R]
L=links uitlijnen C of M=centreren R=rechts uitlijnen Character is het uitlijn tekens. Bijvoorbeeld een spatie ‘ ‘ Width is de lengte van het veld. \ALR 10 geeft een rechts uitgelijn veld van 10 posities waarbij het uitlijnteken een spatie is. |
CC |
Hoofdletter/kleineletter conversie
0|1|2|3 0=De eerste letter wordt een hoofdletter, de rest klein. 1=Iedere eerste letter (na spatie of -) wordt een hoofdletter. 2=Alles hoofdletters 3=Alles kleine letters 4=Initialen, resultaat is een lijst met letters en punten. |
SW |
Switch commando (ook wel case of decode genoemd)
Kommagescheiden lijst. Werkt als volgt:
"a","1","b","2","c","3"
Als de veldwaarde a is wordt een 1 weergegeven
Als de veldwaarde b is wordt een 2 weergegeven
Als de veldwaarde c is wordt een 3 weergegeven
Binnen de " " mogen ook weer velden worden gebruikt. Als de veldwaarde niet voorkomt wordt er niets vervangen. |
SD |
Switch commando, gelijk aan SW maar nu is de laatste optie een default waarde.
Kommagescheiden lijst. Werkt als volgt:
"a","1","b","2","c","3","","-1"
Als de veldwaarde a is wordt een 1 weergegeven
Als de veldwaarde b is wordt een 2 weergegeven
Als de veldwaarde c is wordt een 3 weergegeven
Als geen enkele waarde matcht, dan wordt de laatste waarde -1 weergegeven. De match waarde moet hiervoor "" zijn.
Binnen de " " mogen ook weer velden worden gebruikt. Als de veldwaarde niet voorkomt wordt er niets vervangen. |
TF | Formateer het telefoonnummer.
Gebruik: F - Netnummer – abonneenummer (050-5275525) N - alleen netnummer (050) A - alleen abonnenummer (5275525) Dit herkent alleen Nederlandse en Belgische netnummers. |
TR | Spaties links en/of rechts worden verwijderd.
L|R|A L - verwijder spaties voor de tekst R - verwijder spaties na de tekst A – L en R (default) |
QS | Quote save. Vervangt enkele quotes door dubbele. Het quote karakter moet mee worden gegeven als parameter Bijvoorbeeld: \QS’ |
LS | Linesave Vervang alle CR en LF door een spatie. |
IF | If then else constructie \IF “condition"?"then-value":"else-value" Condition, then-value en else-value mogen zowel constante teksten zijn, als velden. Bijvoorbeeld: %R.COUNTRY% \IF "NL"?"%R.ZIP R.CITY%":"%R.CITY R.ZIP%" |
CO | Zelfde als de IF, maar dan met een “bevat" vergelijking i.p.v. gelijk-aan |
SU | Substring constructie Hello world \SU6,5 haalt een substring op beginnend op positie 2 (zero based!) met lengte 4. Dus dit levert world op |
RE | Replace commando Vervang een zoektekst voor een vervangtekst, bijvoorbeeld: %CL.ENTRYNOTE \RE"\r\n","< BR/ >" Vervangt alle [CR][LF] door < BR /> |
FL | Floatingpoint format function
\FL ""
Format is een C# format specifier voor floating points zoals beschreven op docs.microsoft.com: f2: 2 decimalen 12.34 f1: 1 decimaal 12.3 p2: 2 decimale percentage 12.34 % c2: 2 decimale bedragen € 12.34 |
FS | Filename safe. Vervangt illegale karakters in de filename door een _ zodat de filenaam geldig is. |
PS | Filename+path safe. Vervangt illegale karakters door een _ in een volledig file+path naam. |
CU | Change the current culture (restore afterwards to original culture). \CU"nl-NL" or \CU"fr-FR" |
UL | URL Encode the input string |
XX | Encrypt de waarde m.b.v. de actieve cryptokey |