Trigger & Validation Manager Installation & Configuration Guide
©2015, Eddon Software B.V., ‘s-Hertogenbosch. Niets van deze uitgave mag worden verveelvoudigd en/of openbaar gemaakt door middel van druk, fotokopie, microfilm of op welke andere wijze ook en evenmin worden opgeslagen in een databank met als doel een terugzoek mogelijkheid te verschaffen aan derden zonder voorafgaande toestemming van Eddon Software B.V. Eddon Software B.V. Ingeschreven bij de Kamer van Koophandel onder nummer 32154395
Add-on Artikel software Behorende bij release vanaf Datum Auteur
Trigger & Validation Manager SE BSE025 7.0.0 29-06-2015 Bregje Elemans
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 2 van 108
Inhoudsopgave 1
Uitgangspunten en randvoorwaarden ................................................................................. 7 1.1 Systeemeisen server en client ............................................................................................ 7 1.2 Benodigde rechten.............................................................................................................. 7 1.3 Afhankelijkheden andere applicaties ................................................................................. 7 1.4 Technische uitgangspunten ................................................................................................ 7 1.5 Benodigde licenties ............................................................................................................. 7 1.6 Functionele uitgangspunten ............................................................................................... 7
2
Installatie Trigger and Validation Manager SE ...................................................................... 8 2.1 Add-on Maatwerkmenu SE ................................................................................................. 8 2.2 Installatie software ............................................................................................................. 8 2.3 Bijwerken database .......................................................................................................... 10
3
Configuratie Trigger and Validation Manager SE ................................................................ 11 3.1 Beveiliging in Synergy ....................................................................................................... 11 3.1.1 Benodigde rol ‘Enabling add-on solutions’............................................................. 11 3.1.2 Benodigde functierechten ...................................................................................... 11 3.2 Onderhoud Add-on Maatwerkmenu ................................................................................ 11 3.3 Onderhoud instellingen .................................................................................................... 12 3.3.1 Installatie licentiesleutel......................................................................................... 12 3.3.2 Algemeen ................................................................................................................ 13 3.3.3 E-mail ...................................................................................................................... 13 3.3.4 Wordmerge ............................................................................................................ 14 3.3.5 Import/Export bijlagen ........................................................................................... 14 3.4 Onderhoud Gebruikersinstellingen .................................................................................. 15 3.5 Configuratie Connection Framework................................................................................ 15 3.5.6 Aanmaken tussentabellen en stored procedures .................................................. 15 3.5.7 Instellen backoffice connectie ................................................................................ 17 3.5.8 Meest gebruikte Synergy business componenten ................................................. 18 3.5.9 Meest gebruikte Exact Globe Entity Service entiteiten .......................................... 18 3.5.10 Business component CSNobEvntEventTransactions .............................................. 18 3.5.11 Business component Request Task ........................................................................ 19 3.5.12 Business component Recode.................................................................................. 19 3.5.13 Business components Solution Builder .................................................................. 19 3.6 Tabelstructuur tussentabellen Synergy ............................................................................ 20 3.7 Parameters stored procedure........................................................................................... 23 3.8 Foutafhandeling via verzoek ............................................................................................. 24
4
Definiëren triggers ............................................................................................................ 25 4.1.1 Nieuwe gebeurtenis ............................................................................................... 26 4.2 Criteria .............................................................................................................................. 28 4.2.2 Modus business component .................................................................................. 28 4.2.3 Eigenschap gewijzigd .............................................................................................. 29 4.2.4 Waarde van eigenschap ......................................................................................... 29 4.2.4.1 Reguliere expressie ......................................................................................... 30 4.2.5 Geavanceerde query .............................................................................................. 31
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 3 van 108
4.3
Stappen ............................................................................................................................. 33 4.3.6 Validatie .................................................................................................................. 33 4.3.6.2 Melding met variabele .................................................................................... 34 4.3.6.3 Uitvoeren van een SQL-statement ................................................................. 35 4.3.7 Stored procedure.................................................................................................... 36 4.3.8 Connection Framework .......................................................................................... 39 4.3.9 E-mail ...................................................................................................................... 40 4.3.10 Wordmerge ............................................................................................................ 42 4.3.11 Import/Export bijlagen ........................................................................................... 42 4.3.11.4 Export bijlagen ................................................................................................ 43 4.3.11.5 Export query ................................................................................................... 44 4.3.11.6 Export FTP Server ............................................................................................ 45 4.3.11.7 Import bijlagen................................................................................................ 45 4.3.12 Repeterende gebeurtenis ....................................................................................... 52 4.3.13 MRS rapport ........................................................................................................... 55 4.4 Conditionele uitvoering .................................................................................................... 56 4.5 Gebruik van variabelen in criteria en stappen.................................................................. 58 4.5.14 Globale parameters aanmaken .............................................................................. 58 4.5.15 Vaste globale parameters....................................................................................... 59 4.6 Deployment ...................................................................................................................... 60 4.7 Kopiëren gebeurtenis ....................................................................................................... 61 5
Configuratie e-mail ........................................................................................................... 63 5.1 Installatie MS Word Merge Add-on SE ............................................................................. 63 5.2 Onderhoud XML Parser .................................................................................................... 63 5.3 Aanmaken mergevelden ................................................................................................... 63 5.4 Aanmaken Word-template ............................................................................................... 64 5.5 Aanmaken E-mail stap ...................................................................................................... 64 5.5.1 Versturen van bijlagen in de e-mail........................................................................ 65 5.6 Testen met een ‘lokale’ mailserver................................................................................... 65 5.7 Overige instellingen .......................................................................................................... 65 5.7.2 Multi-merge ............................................................................................................ 65 5.7.3 Schakelopties .......................................................................................................... 68 5.7.4 Velden debuggen .................................................................................................... 69
6
Exporteren en Importeren................................................................................................. 70 6.1 Exporteren en documenteren van gebeurtenissen .......................................................... 70 6.1.1 Exporteren .............................................................................................................. 71 6.1.2 Documenteren........................................................................................................ 72 6.2 Importeren van gebeurtenissen ....................................................................................... 73
7
Voorbeeld Gebeurtenissen ................................................................................................ 76 7.1 Controle postcode van de relatie ..................................................................................... 76 7.1.1 Criteria .................................................................................................................... 77 7.1.2 Stappen ................................................................................................................... 77 7.2 Controle kostenplaats accountmanager........................................................................... 78 7.2.3 Criteria .................................................................................................................... 79 7.2.4 Stappen ................................................................................................................... 80
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 4 van 108
7.3
Controle of plaatsnaam in hoofdletters staat .................................................................. 80 7.3.5 Criteria .................................................................................................................... 81 7.3.6 Stappen ................................................................................................................... 82 7.4 Aanmaken verzoek bij wijzigen artikel ............................................................................. 83 7.4.7 Criteria .................................................................................................................... 83 7.4.8 Stappen ................................................................................................................... 83 7.5 Controle aanwezigheid Support Verzoek ......................................................................... 85 7.5.9 Criteria .................................................................................................................... 85 7.5.10 Stappen ................................................................................................................... 86 7.6 Bijwerken status aan de hand van het moederproject (entiteit) ..................................... 86 7.6.11 Criteria .................................................................................................................... 87 7.6.12 Stappen ................................................................................................................... 87 7.7 Aanmaken document bij aanmaken verzoek ................................................................... 88 7.7.13 Criteria .................................................................................................................... 89 7.7.14 Stappen ................................................................................................................... 89 7.8 Versturen mail bij nieuwe medewerker ........................................................................... 91 7.8.15 Criteria .................................................................................................................... 91 7.8.16 Stappen ................................................................................................................... 92 8
Foutenafhandeling ............................................................................................................ 93
9
Opzetten scheduled events ............................................................................................... 94 9.1 Achtergrondproces Exact.Process.exe.............................................................................. 94 9.2 Opzetten gebeurtenis ....................................................................................................... 94 9.3 Geavanceerde mogelijkheden .......................................................................................... 96
10
Opzetten Connection Framework ...................................................................................... 97 10.1 Instellen achtergrondproces CSNobConnScheduler......................................................... 97 10.1.1 SQL Job ................................................................................................................... 98 10.1.1.1 Proxy instellen in SQL 2008............................................................................. 98 10.1.2 Scheduled Task ..................................................................................................... 100 10.1.3 Orbis TaskCenter .................................................................................................. 101
11
Bekende meldingen .........................................................................................................102 11.1 Insufficient result space to convert uniqueidentifier value to char. .............................. 102 11.2 De getoonde melding is leeg .......................................................................................... 102 11.3 The requested data could not be found ......................................................................... 102 11.4 Trigger wordt niet uitgevoerd bij automatisch goedgekeurd verzoek ........................... 102 11.5 The select permission was denied on the object XXXXXX .............................................. 103 11.6 Indices tussentabellen .................................................................................................... 104 11.7 Backoffice connectie niet of niet correct ingesteld ........................................................ 104 11.8 Foutmelding bij aanmaken financiële boeking in Globe uit Synergy ............................. 105
12
Termen onderhouden ......................................................................................................106 12.1 Nieuwe term toevoegen ................................................................................................. 107 12.2 Talen toevoegen ............................................................................................................. 107
13
Technische eigenschappen ...............................................................................................108 13.1 Databasetabellen ............................................................................................................ 108 13.2 Stored procedures .......................................................................................................... 108
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 5 van 108
Inleiding De Trigger and Validation Manager SE is een add-on gemaakt voor Synergy Enterprise. Met deze addon is het mogelijk om functioneel binnen Synergy klantspecifieke meldingen te geven en/of gevalideerd entiteiten (verzoeken, artikelen, relaties, enzovoort) aan te maken en/of te muteren in Synergy. Ook is het mogelijk een e-mail te sturen op basis van een gebeurtenis in Synergy. Met de Trigger and Validation Manager legt u in een trigger (gebeurtenis) vast wanneer (criteria) er binnen Synergy iets plaatsvindt en wat (stappen) u vervolgens wilt laten uitvoeren. Zo kunt u bijvoorbeeld een melding geven als er bij een relatie een specifiek veld niet wordt gevuld. De gebruiker kan pas de relatiegegevens opslaan, als het verplichte veld is ingevuld. Ook kunt u bijvoorbeeld automatisch een verzoek aanmaken voor de accountmanager als een veld op de relatiekaart wordt gewijzigd. In hoofdstuk 7 worden een aantal voorbeelden uitgewerkt. Met de Trigger and Validation Manager heeft u ook het Connection Framework tot uw beschikking. Hiermee kunt u direct, maar ook bijvoorbeeld met behulp van een eventmanager-tool als Orbis TaskCenter, gegevens gevalideerd aanmaken en muteren in Synergy. Ook kunt u direct de Exact Entity Services in Exact Globe aanspreken, zodat u daarmee direct mutaties kunt doorvoeren in Exact Globe op basis van een gebeurtenis in Exact Synergy. Voor de e-mailfunctionaliteit heeft u de beschikking over de MS Word Merge Add-on SE. Met deze add-on kunt u een e-mailbericht opzetten, gebruikmakend van de variabele gegevens uit Synergy. Indien u de MS Word Merge Add-on ook wilt gebruiken voor het aanmaken van Word Merge documenten, dient u deze add-on aan te schaffen. Tot slot kunt u bijlagen uit Exact Synergy exporteren, om zo de integratie met andere bedrijfsapplicaties mogelijk te maken. Doordat gebruik gemaakt wordt van de Exact Repository, worden de gegevens aangemaakt op basis van de regels die zijn vastgesteld binnen de Exact programmatuur. Denk daarbij aan het invullen van verplichte velden (bijvoorbeeld omschrijving verzoek), het gebruik van de juiste velden (bijvoorbeeld de geselecteerde medewerker in een verzoek) of een combinatie van velden (bijvoorbeeld een einddatum die voor de startdatum ligt). Indien de data niet correct wordt aangeleverd, wordt deze niet ingevoerd in Synergy. Ondanks dat u de triggers functioneel vastlegt in Synergy, is een gedegen kennis van de Exact Repository en SQL noodzakelijk voor de inrichting van deze add-on. LET OP: Er wordt geen support verleend op het bouwen van triggers.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 6 van 108
1
Uitgangspunten en randvoorwaarden
1.1
Systeemeisen server en client
Voor de server(s) en clients zijn de standaard systeemeisen voor Exact Synergy Enterprise van toepassing. Deze zijn te vinden in document 21.372.564 op de Exact Customer Portal.
1.2
Benodigde rechten
Voor de installatie zijn de volgende rechten van belang: System administrator (om de database te kunnen updaten en initialiseren) Synergy administrator (om rechten/rollen aan te maken)
1.3
Afhankelijkheden andere applicaties
Om een of meerdere add-ons te kunnen gebruiken moet men ook het Add-on Maatwerkmenu SE hebben geïnstalleerd. Voor de e-mailfunctionaliteit is het noodzakelijk om de MS Word Merge Add-on SE te installeren. Deze add-on wordt alleen gebruikt voor de e-mailfunctionaliteit. U kunt zonder licentie geen MS Word Merge documenten opzetten en gebruiken. Indien u wel een licentie heeft voor MS Word Merge, heeft u ook de mogelijkheid deze documenten automatisch aan te maken. Voor bepaalde functionaliteit dient MS Reporting Services Integrator SE geïnstalleerd te zijn.
LET OP: U dient altijd de recente commerciële versie van de bovengenoemde add-ons te installeren.
1.4
Technische uitgangspunten
Er is bij de ontwikkeling gebruik gemaakt van de ‘Software Development Kit’ (SDK) voor Exact Synergy Enterprise. Deze werkwijze zorgt ervoor dat de add-on zoveel mogelijk onafhankelijk van de standaard software kan functioneren. Hierdoor wordt het eenvoudiger om een update van de standaard software uit te voeren. Ondanks dat dient u toch contact met uw partner op te nemen wanneer u een update wilt uitvoeren naar een nieuwere versie van Exact Synergy Enterprise.
1.5
Benodigde licenties
1.6
Module ‘YA5301 - Enabling add-on solutions role’ in de Exact Synergy Enterprise licentie. Voor de Trigger and Validation Manager SE is een licentiesleutel van Eddon vereist.
Functionele uitgangspunten
Er wordt gebruik gemaakt van de standaard oplossing van Exact Synergy Enterprise. Eventueel kan dit uitgebreid worden met andere add-ons en maatwerk.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 7 van 108
2 2.1
Installatie Trigger and Validation Manager SE Add-on Maatwerkmenu SE
Voor een correcte werking van de add-ons dient het Add-on Maatwerkmenu SE geïnstalleerd te worden. Het Add-on Maatwerkmenu is een aparte installatieset en voegt het “Add-on” menu toe aan Synergy. Hiervandaan kunnen meerdere add-ons en maatwerkonderdelen worden aangeroepen.
2.2
Installatie software
De add-on dient op de server geïnstalleerd te worden waar ook Exact Synergy Enterprise staat. Door middel van het bestand ‘CSSetup_NL.exe’ kan de set-up van de add-on opgestart worden. LET OP: Voor het installeren dienen alle gebruikers Synergy te verlaten. Ook eventuele achtergrondprocessen dient u tijdelijk te stoppen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 8 van 108
Bij “Installatie soort” wordt gekozen voor ‘CD installatie’ Bij “Lokale installatiedirectory” moet worden gekozen voor de directory waar Synergy in geïnstalleerd staat. Door te kiezen voor “OK” wordt de installatie gestart. Het volgende scherm verschijnt.
Door te kiezen voor “Ja” wordt de installatie verder uitgevoerd. Wanneer de installatie voltooid is, wordt het onderstaande scherm getoond.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 9 van 108
2.3
Bijwerken database
Na het installeren van de add-on moet de database opnieuw geïnitialiseerd worden. Hierom zal automatisch worden gevraagd bij het opstarten van Synergy.
Door te kiezen voor “Bijwerken” wordt het initialiseren van de database uitgevoerd.
De instellingen bij het onderdeel ‘Login’ zijn afhankelijk van de beveiligingsinstellingen van de Synergy-database. Iedere database dient apart bijgewerkt te worden.
Na een update van Trigger and Validation Manager zal de repository automatisch worden heropgebouwd (zie ook paragraaf 4.6) bij het bijwerken van de database:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 10 van 108
3 3.1 3.1.1
Configuratie Trigger and Validation Manager SE Beveiliging in Synergy Benodigde rol ‘Enabling add-on solutions’
Alle medewerkers die gebruik moeten kunnen maken van Trigger and Validation Manager, dienen gekoppeld te zijn aan de licentierol ‘Enabling add-on solutions’ op niveau ‘Bedrijf’. Koppel hiervoor allereerst een willekeurige licentierol aan de medewerkers, waarmee bepaald wordt op welke Synergy-portal (ESS, CRM, etc.) ze kunnen inloggen. Hierna kunt u de rol ‘Enabling add-on solutions’ koppelen aan de gebruikers op niveau ‘Bedrijf’. Voor meer informatie over de rollenstructuur binnen Exact Synergy Enterprise verwijzen wij u naar documenten 20.997.555 en 20.708.246 op de Exact Customer Portal.
3.1.2
Benodigde functierechten
Bij de installatie van Trigger and Validation Manager is automatisch een nieuw functierecht aangemaakt. Deze is te vinden via het menupad “Systeem | Inrichting | Beveiliging: Functierechten”.
Bovenstaand functierecht moet gekoppeld worden aan een rol. Automatisch zorgt Synergy ervoor dat standaard de rol ‘Administrator’ Trigger and Validation Manager mag onderhouden. Door functierecht 1720000 te koppelen aan bepaalde rollen en die rollen vervolgens te koppelen aan medewerkers, kunt u zelf bepalen wie er verantwoordelijk is voor de inrichting van de add-on. Na opnieuw inloggen, kan de medewerker de add-on verder onderhouden.
3.2
Onderhoud Add-on Maatwerkmenu
Klik in het topmenu op “Add-on”. De eerste keer dat een administrator dit doet, zal er gevraagd worden om de inloggegevens.
Vul uw gegevens in en klik op “Bewaren”. Dit is een eenmalige handeling en het wordt aangeraden dit onder het administrator account uit te voeren. Hiermee wordt het add-on menu aangepast wanneer er een wijziging (update of toevoeging) heeft plaatsgevonden in de add-ons. Na het bijwerken, zal “Add-on | Inrichting” er als volgt uitzien:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 11 van 108
U heeft hier onder andere de mogelijkheid om nieuwe gebeurtenissen aan te maken. Ook kunt u gebeurtenissen exporteren en importeren in een andere Synergy omgeving.
3.3
Onderhoud instellingen
Nadat de add-on voor Synergy is geïnstalleerd moeten er een aantal instellingen ingevuld worden. De instellingen zijn te onderhouden via het menupad “Add-on | Inrichting | Trigger and Validation Manager SE: Instellingen”.
3.3.1 Installatie licentiesleutel Voor een correcte werking van deze add-on is het noodzakelijk een licentiesleutel in te voeren. De licentiesleutel wordt via een tekstbestand verstrekt door uw leverancier. LET OP: De sleutel dient te worden aangeleverd in een tekstbestand. Direct kopiëren en plakken in een e-mail leidt tot een verminkte sleutel. Het tekstbestand heeft de volgende naamgeving: License_1720_Trigger and Validation Manager SE_[Naam klant in Exact]_[Einddatum]_[Aantal gebruikers].txt Als u dit bestand opent met Kladblok, ziet u bijvoorbeeld onderstaande (fictieve) licentiesleutel:
De licentiesleutel is te onderhouden via het menupad “Add-on | Inrichting | Trigger and Validation Manager SE: Instellingen”. U kopieert de licentiesleutel vanuit het tekstbestand en in de instelling “Algemeen: Licentiesleutel”. LET OP: De licentiesleutel dient via Internet Explorer ingevoerd te worden. Bij andere browsers kan het voorkomen dat sommige tekens niet herkend worden en de licentiesleutel verminkt wordt.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 12 van 108
Zonder deze licentiesleutel zal Trigger and Validation Manager niet functioneren. Zodra u een trigger activeert of het achtergrondproces CSNobConn.Scheduler (zie hoofdstuk 9.1) uitvoert, zal een foutmelding verschijnen in Synergy onder “Systeem | Overzichten | Log: Processen”. U kunt de add-on alleen gebruiken in uw eigen Synergy-omgeving: de licentiesleutel wordt namelijk uitgegeven op naam zoals die in uw Exact Synergy Enterprise licentie is vastgelegd. In de volgende gevallen wordt een foutmelding getoond: 1. Verlopen van de einddatum. Dit geldt voornamelijk voor proeflicenties. 2. Foutieve / verminkte licentiesleutel. Indien de licentiesleutel ontbreekt of niet overeenstemt met de gegevens uit uw Exact licentie, wordt hier melding van gemaakt.
3.3.2
Algemeen
Licentiesleutel Alle gebeurtenissen uitschakelen
3.3.3
Trigger and Validation Manager licentiesleutel, zie paragraaf 3.3.1. Met dit vakje kunt u in één keer alle gebeurtenissen uitschakelen.
E-mail
Ten behoeve van de mailfunctionaliteit specificeert u de standaard “Naam afzender” en het “Emailadres afzender” die gebruikt worden voor het versturen van mail. U kunt daar per gedefinieerde gebeurtenis van afwijken. Tevens specificeert u de naam van uw “E-mail Server” en de “Poort” waarop u de mail aanbiedt. Standaard staat deze ingesteld op poort 25.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 13 van 108
Wanneer de MS Word Merge Add-on SE geïnstalleerd is, is het mogelijk om te mailen. Bij dat mailen wordt een Word Merge document gebruikt als body van de mail. Met de optie “Opslaan e-mail” kunt u bepalen of u de mailbody wilt opslaan en zo ja, op welke manier deze dan opgeslagen dient te worden in Synergy. Deze instelling geldt als standaard, welke u in de stapdefinitie van een gebeurtenis nog kunt overrulen. U heeft de keuze uit: Geen HTML DOCX
3.3.4
De mailbody wordt niet opgeslagen. De mailbody wordt als Synergy-maildocument opgeslagen. De mailbody wordt als DOCX-bijlage van een Synergy-document opgeslagen.
Wordmerge
Als de ‘Wordmerge’-stap in een gebeurtenis wordt gebruikt, bepaalt u met de optie “Resultaat bestanden” of de documenten die worden samengevoegd als PDF- of als DOCX-bijlage aan het Synergy-document moeten worden opgeslagen. Deze optie geldt als standaard optie, welke u bij de stapdefinitie van een gebeurtenis nog kunt overrulen.
3.3.5
Import/Export bijlagen
Bestaande overschrijven
Aangevinkt worden de bestanden op een netwerklocatie overschreven door de bijlagen uit Synergy die met de stap “Export bijlagen” daar naar toe exporteert. Indien deze instelling niet staat aangevinkt, worden gelijknamige bestanden opgeslagen met de extensie ‘(1)’ in de bestandsnaam.
Niet geconverteerde PDF overslaan
Indien u bij de exportstap voor bijlagen of FTP Server (zie 4.3.11) kiest voor de optie “Converteer naar PDF”, kunt u hiermee aangeven wat u wilt dat er gebeurt met bestanden van bestandstypes die niet naar PDF geconverteerd kunnen worden. Met deze optie uitgevinkt, worden de niet-geconverteerde bijlagen in het oorspronkelijke formaat geëxporteerd, met de optie aangevinkt worden de betreffende bijlagen overgeslagen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 14 van 108
3.4
Onderhoud Gebruikersinstellingen
U dient via “Add-on | Inrichting | Trigger and Validation Manager SE: Onderhoud Gebruikersinstellingen” minimaal 1 Synergy Administrator account in te geven, die gebruikt wordt voor het uitvoeren van verschillende acties. Klik op de knop “Nieuw”:
Met deze gebruiker wordt een actie met het Connection Framework als het ware gedelegeerd uitgevoerd, zonder dat u de gebruikers specifieke rechten hoeft te geven. Bijvoorbeeld als u een project wilt aanmaken bij het realiseren van een verzoek, hoeft u zich geen zorgen te maken dat de gebruiker die het verzoek realiseert ook rechten heeft om een project aan te maken. De actie wordt gekoppeld aan een Synergy Administrator die deze rechten wel heeft.
3.5 3.5.6
Configuratie Connection Framework Aanmaken tussentabellen en stored procedures
Via het menu “Add-on | Inrichting | Trigger and Validation Manager SE: Aanmaken en bijwerken tabellen voor import” kunt u de benodigde tussentabellen en stored procedures aanmaken en bijwerken.
Als eerste kiest u bij “Tabel type” voor ‘Synergy’ of ‘Globe’.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 15 van 108
Indien u kiest voor ‘Synergy’, wordt onderstaand scherm getoond:
In het uitklapmenu bij “Component” ziet u alle Repository Business Componenten die beschikbaar zijn in de database, inclusief het maatwerk (CSNOBxxx). Zie ook paragraaf 3.5.11 voor Solution Builder entiteiten. Indien u de “Component” heeft geselecteerd, kunt u de voorgestelde naamgeving bij “Tabelnaam” wijzigen. Wij raden aan om deze niet aan te passen:
Met de knop “Bijwerken” maakt u de tabel aan of wijzigt u de tabel, bijvoorbeeld als er na een productupdate van Exact Synergy Enterprise nieuwe velden zijn toegevoegd aan de tabel. Wanneer de veldeigenschappen (van bijvoorbeeld Solution Builder) zijn veranderd, dient u de tabel te verwijderen en opnieuw op te bouwen. Vinkt u daarvoor de optie “Bestaande tabel verwijderen” aan en klikt u op “Bijwerken”, dan zal de bestaande tabel verwijderd worden. LET OP: Nog niet uitgevoerde en afgekeurde transacties in de tussentabel komen hiermee te vervallen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 16 van 108
Indien u kiest voor ‘Globe’, wordt na het ingeven van een van de divisies, het onderstaande scherm getoond:
Hiervoor dient u wel de backoffice connectie met Exact Globe in te stellen. Deze staat beschreven in de volgende paragraaf. In het uitklapmenu bij “Component” ziet u alle entiteiten die als Exact Entity Service beschikbaar zijn. LET OP: De beschikbaarheid van de entiteiten is afhankelijk van de versie van Exact Globe. Voor meer informatie over de entiteiten kunt u de betreffende documentatie op de Exact portal raadplegen.
3.5.7
Instellen backoffice connectie
Indien u gebruik wilt maken van de mogelijkheid om via de Exact Entity Service direct gegevens aan te maken in Exact Globe, zult u voor de betreffende Globe administratie de backoffice connectie correct moeten configureren. Dat doet u via “Systeem | Inrichting | Backoffice: Backoffice connectie”.
Per MAC-adres configureert u per administratie de applicatieserver (met toevoeging poort :8000) en de verwijzing naar de SQL-database (servernaam\instancenaam\databasenaam). Met “Connect” kunt u de vastgelegde instelling verifiëren. Vink tot slot de optie ‘Geactiveerd’ aan. De tabellen worden maar één keer aangemaakt in de Synergy-omgeving. De divisie die u selecteert, wordt enerzijds gebruikt om de ingestelde Entity Service van de betreffende omgeving te benaderen. Ook wordt deze gebruikt om de default waarde voor de parameter ‘_division’ te vullen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 17 van 108
3.5.8
Meest gebruikte Synergy business componenten
Hieronder de business component namen van de meest gebruikte Synergy entiteiten: Entiteit Medewerkers
Business component Employee
Tussentabel _conn_tb_employee
Stored procedure _conn_sp_employee
Relaties
Associates
_conn_tb_associates
_conn_sp_associates
Contactpersonen
Contact
_conn_tb_contact
_conn_sp_contact
Verzoeken
Request
_conn_tb_request
_conn_sp request
Artikelen
Item
_conn_tb_item
_conn_sp_item
Projecten
Prproject
_conn_tb_prproject
_conn_sp_prproject
Documenten
Bddocument
_conn_tb_bddocument
_conn_sp_bddocument
3.5.9
Meest gebruikte Exact Globe Entity Service entiteiten
Hieronder de namen van de meest gebruikte Exact Globe Entity Service entiteiten: Entiteit Financiële Boekingen
Stored procedure ..
Artikelen
Tussentabel _CSNob_EG_FinancialHeader (kop) _CSNob_EG_FinancialLine (regels) _CSNob_EG_SalesOrderHeader (kop) _CSNob_EG_SalesOrderLine (regels) _CSNob_EG_InvoiceHeader (kop) _CSNob_EG_InvoiceLines (regels) _CSNob_EG_Item
Serienummers
_CSNob_EG_ItemNumber
..
Projecten
_CSNob_EG_Project
..
Orders Facturen
.. .. ..
NB: Nog niet alle transacties of stamtabellen zijn beschikbaar in het Exact Entity Services Framework. Raadpleeg de documentatie op de Exact portal voor een volledig overzicht.
3.5.10
Business component CSNobEvntEventTransactions
Ten behoeve van het kunnen uitvoeren van Scheduled Events (zie hoofdstuk 9) is een business component CSNobEvntEventTransactions beschikbaar. Deze tabel bevat onder andere de volgende velden: ID Task Status EventSessionID Prevtask PrevEventSessionID
Unieke sleutel. Wordt automatisch gevuld. Taaknaam van de scheduled event. Wordt automatisch gevuld door de background job parameter /TASK: Status van de scheduled event. Wordt automatisch gevuld met status 0 bij het uitvoeren van de background job. Beschikbaar om EventSessionID te vullen bij het uitvoeren van de gebeurtenis. Blijft standaard leeg. Beschikbaar om de vorige taaknaam te vullen bij het uitvoeren van de gebeurtenis. Blijft standaard leeg. Beschikbaar om de EventSessionID van de vorige taak te vullen bij het uitvoeren van de gebeurtenis. Blijft standaard leeg.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 18 van 108
3.5.11
Business component Request Task
De business component CSNobEvntRequestTasks kan niet gebruikt worden als trigger voor een gebeurtenis, maar kan alleen gebruikt worden om de werkstroom aan te passen, of verzoeken verwijderen of toevoegen.
3.5.12
Business component Recode
De business component CSNobEvntRecode kan niet gebruikt worden als trigger voor een gebeurtenis, maar kan alleen gebruikt worden om de entiteiten te vernummeren. Door middel van een topic geeft u aan wat u wilt vernummeren. Beschikbare topics zijn ‘Associate’, ‘Employee’, ‘Item’ en ‘Project’.
3.5.13
Business components Solution Builder
Indien u de Trigger and Validation Manager gebruikt in combinatie met Solution Builder, dient u na elke toevoeging van velden aan de entiteit (na de verplichte deployment) de reeds aangemaakte tussentabel en stored procedure bij te werken. De business component naam is zichtbaar in de definitie van het entiteittype:
Nadat u velden heeft toegevoegd, roept u nogmaals de betreffende business component op en kiest u voor “Bijwerken” zoals beschreven in paragraaf 3.5.6.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 19 van 108
3.6
Tabelstructuur tussentabellen Synergy
De Connection Framework tussentabellen kennen generieke velden en business component specifieke velden. De generieke velden worden gebruikt om het Connection Framework aan te sturen, de specifieke velden zijn alle velden die in de betreffende business component beschikbaar zijn. Hieronder volgt een uitleg van de generieke velden. _ID _Component _Server _Database _Mode
_SkipNull
_QueryAfterCommit
_QueryAfterRollback
_Status
_Message _Syscreated _Sysmodified
Uniek ID, wordt automatisch gevuld. Naam van de businesscomponent of SDK component. SQL server waar de actie uitgevoerd moet worden. Indien deze waarde leeg gelaten wordt, zal de actie worden uitgevoerd op de lokale Synergy omgeving. Idem aan _Server. Wat er uitgevoerd dient te worden bij het uitvoeren van de actie. Standaard staat deze waarde op 0. Waarden: 0 = nieuw aanmaken 1 = bewerken 3 = verwijderen Null waardes uit de tabel worden bij het uitvoeren van de actie overgeslagen. Dit versnelt het proces en voorkomt dat bij het wijzigen van een entiteit de al bestaande data overschreven wordt met lege waardes. Het is aan te raden deze waarde altijd standaard op 1 te hebben staan. Waarden: 1 = NULL waardes worden overgeslagen. De query die uitgevoerd wordt na uitvoeren van de succesvolle actie (na commit). Deze wordt automatisch gevuld, maar kan desgewenst handmatig worden gevuld en aangepast. Bijvoorbeeld: UPDATE CSNobConnTablename SET _Status=1 WHERE _ID={recordid} De query die uitgevoerd wordt wanneer Synergy de wijzigingen niet heeft geaccepteerd (na rollback). Deze wordt automatisch gevuld, maar kan desgewenst handmatig worden gevuld en aangepast. Bijvoorbeeld: UPDATE CSNobConnTablename SET _Status=2, _Message={error.description} WHERE _ID={recordid} De status van de regel. De waarde wordt automatisch gevuld en kan gebruikt worden voor controles met Trigger and Validation Manager gebeurtenissen of taken in de Orbis TaskCenter. Waarden: 0 = nog te verwerken 1 = verwerkt (commit) 2 = fout opgetreden (rollback) Wanneer een foutmelding optreedt bij het uitvoeren van de actie, wordt de melding hier automatisch gevuld. De datum waarop de regel in de tabel is aangemaakt. De datum waarop de regel in de tabel is gewijzigd.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 20 van 108
_Task
_OriginReference
_EventSessionID
_OrderBy
Hiermee kan worden aangeven wat de naam is van de job of de Orbis taak waarmee de regel is aangemaakt in de tabel. Het voordeel hiervan is dat niet alles uit de tabel wordt verwerkt, maar alleen datgene wat in de betreffende job of Orbis taak is aangemaakt. Hiermee kan worden vastgelegd wat het originele vertrekpunt is geweest. Bijvoorbeeld het ID van een verzoek. Zijn er meerdere acties die afhankelijk zijn van elkaar, dan kunt u op deze manier bijvoorbeeld altijd het oorspronkelijke verzoek weer terugvinden. Dit laatste kunt u bijvoorbeeld gebruiken om eerst een actie uit te voeren en daarna het nieuwe verzoek aan het oorspronkelijke verzoek te koppelen, of een document dat is aangemaakt aan het oorspronkelijke verzoek te koppelen. Elke actie die met een gebeurtenis wordt uitgevoerd, krijgt een unieke sleutel mee. Hiermee kunt u meerdere insert acties in verschillende tabellen in dezelfde gebeurtenis aan elkaar relateren. Met behulp van dit veld kan de volgorde bepaald worden, waarop de records via de Connection Framework stap aangeboden worden aan de repository van Synergy Enterprise of de Exact Globe Entity Service. Hierdoor kan bijvoorbeeld de regelvolgorde van orders en facturen worden bepaald aan de hand van een oplopend nummer. Het veld wordt alleen toegevoegd als de tussentabel opnieuw wordt aangemaakt (eventueel eerst “Bestaande tabel verwijderen”, zie paragraaf 3.5.6). Wanneer de bestaande tabel niet verwijderd kan worden, kunt u het veld _OrderBy handmatig toevoegen. In SQL Server Management Studio klik met de rechter muisknop op de betreffende tussentabel en kies “Design”. Kies “DataType” ‘Int’ en vink “Allow Nulls” aan:
Een templatetabel is een tabel met gegevens die altijd uitgevoerd dienen te worden en die vanuit elke tabel hetzelfde uitgevoerd worden. Bijvoorbeeld: Er wordt altijd een foutenverzoek aangemaakt wanneer er een foutmelding optreedt. Zie hoofdstuk 8 voor meer informatie over de foutenafhandeling. U hoeft dit niet voor elke regel opnieuw op te geven; in de templatetabel staat beschreven dat het foutenverzoek aangemaakt moet worden. De templatetabel wordt automatisch gevuld, maar kan desgewenst handmatig worden aangepast of gevuld. _TemplateID _TemplateIDAfterCommit _TemplateIDAfterRollback _TemplateTable
ID van de template. Deze kolom wordt alleen gebruikt in de templatetabel. Wanneer de actie succesvol is uitgevoerd (na commit), wordt de regel uit de templatetabel uitgevoerd met deze _TemplateID. Wanneer Synergy de wijzigingen niet heeft geaccepteerd (na rollback) wordt de regel uit de templatetabel uitgevoerd met deze _TemplateID. Naam van de tabel waar template in staat. Default is dit _CONN_TB_CreateErrorRequest.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 21 van 108
Een aantal velden worden alleen gebruikt in specifieke gevallen waarbij met behulp van de SDK boekingen vanuit Synergy worden overgezet naar Globe. Voor de volledigheid staan deze wel in elke Synergy tussentabel: _ChildTable _Parameters
_ParentID
De tabel waar de regels te vinden zijn bij gebruik van een kop-regel-structuur. Bijvoorbeeld: Bij een boeking staan de kopregels in deze tabel en de boekingsregels in de childtable. Voor het aanmaken van sommige SDK componenten is een parameter nodig. Bijvoorbeeld: Een boeking heeft een journaalnummer nodig in de SDK. De waarde dient de kolomnaam te zijn waarvandaan de software de waarde kan gebruiken. Als u bijvoorbeeld de waarde ‘journalnumber’ gebruikt zal de waarde van de kolom ‘journalnumber’ gebruikt worden voor het aanmaken van de boeking. Indien er meerdere parameters noodzakelijk zijn voor een bepaald component kunnen deze komma gescheiden ingegeven worden. Voor meer informatie verwijzen wij naar document 10.225.622 op de Exact Customer Portal. Klik door op de juiste SDK component en zoek bij de AddRecord de benodigde parameters op. Zie _ChildTable: Hier staat de _ID van de kopregeltabel. Deze tabel wordt niet standaard meegeleverd met het script en moet u nog zelf aanmaken (u kunt hiervoor het script of de stored procedure aanpassen).
Voor de Exact Entity Services tussentabellen gelden in basis dezelfde velden. Echter, niet alle velden komen overeen met die van Exact Synergy. Hieronder worden alleen de bijzonderheden of uitzonderingen beschreven: _Component _Database _ChildTable
_KeyProp
Naam van de Entity Service. Deze wordt gevuld met een default waarde van de divisie die wordt overgenomen bij het aanmaken van de tabel. Zie paragraaf 3.5.6. Alleen beschikbaar indien sprake is van een kop-regel structuur, bijvoorbeeld financiële boekingen, facturen en orders. Per Header kan er maar 1 default waarde worden gebruikt om aan te geven in welke tussentabel de regels zijn opgenomen. Unieke sleutel om aan te geven welke regels bij welke kopregel hoort. Deze is uniek voor de transactie.
De overige kolommen in de nieuw aangemaakte databasetabel komen overeen met de kolommen voor de betreffende entiteit, zoals die in de bestaande standaard Synergy databasetabellen aanwezig zijn. De velden worden in alfabetische volgorde toegevoegd aan de tussentabel.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 22 van 108
3.7
Parameters stored procedure
Naast een tussentabel wordt voor elke business component een stored procedure aangemaakt. Deze heeft de volgende syntax: ‘_CONN_SP_
’, bijvoorbeeld: ‘_CONN_SP_REQUEST’ De stored procedure vult automatisch de tussentabel op basis van parameters die aan de stored procedure worden meegegeven. De stored procedure kan direct vanuit de Trigger and Validation Manager worden aangesproken. Ook kunt u vanuit bijvoorbeeld Orbis TaskCenter de nieuw aangemaakte stored procedure aanroepen, die de tabel verder automatisch vult. Elke Stored Procedure kent een aantal generieke parameters en een aantal business component specifieke parameters. Hieronder volgt een uitleg van de generieke parameters. @_Server @_Database @_Mode
@_Task
@_OriginReference
SQL server waar de actie uitgevoerd moet worden. Indien deze waarde leeg gelaten wordt, zal de actie worden uitgevoerd op de lokale Synergy omgeving. Idem aan @_Server. Wat er uitgevoerd dient te worden bij het uitvoeren van de actie. Standaard staat deze waarde op 0. Waarden: 0 = nieuw aanmaken 1 = bewerken 3 = verwijderen 4 = bewerken of nieuw aanmaken Hiermee kan worden aangeven wat de naam is van de job of de Orbis taak waarmee de regel is aangemaakt in de tabel. Het voordeel hiervan is dat niet alles uit de tabel wordt verwerkt, maar alleen datgene wat in de betreffende job of Orbis taak is aangemaakt. Hiermee kan worden vastgelegd wat het originele vertrekpunt is geweest. Bijvoorbeeld het ID van een verzoek. Zijn er meerdere acties die afhankelijk zijn van elkaar, dan kunt u op deze manier bijvoorbeeld altijd het oorspronkelijke verzoek weer terugvinden. Dit laatste kunt u bijvoorbeeld gebruiken om eerst een actie uit te voeren en daarna het nieuwe verzoek aan het oorspronkelijke verzoek te koppelen, of een document dat is aangemaakt aan het oorspronkelijke verzoek te koppelen.
Specifiek voor de _CONN_SP_REQUEST is een parameter beschikbaar voor het heropbouwen van de workflow: @_RebuildWorkflow
Moet de workflow opnieuw worden opgebouwd, als deze via het Connection Framework wordt aangepast. Bij aanmaken van een nieuwe workflow, wordt deze op basis van de standaard functionaliteit bij de juiste medewerker zichtbaar. Standaard staat de waarde op 0. Waarden: 0 = niet heropbouwen 1 = heropbouwen
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 23 van 108
3.8
Foutafhandeling via verzoek
Standaard worden de acties die niet volgens de business logica van Exact kunnen worden afgehandeld, in de meeste gevallen via het verzoek ‘0 – Task’ teruggekoppeld.
Indien gewenst kan hiervoor een specifieke workflow worden opgezet, die gekoppeld wordt aan de Synergy Administrator. In het verzoek worden slechts een beperkt aantal velden gebruikt, waarbij de velden “Datum” en “Verzoek: Opmerkingen” worden gebruikt. Indien u het taakverzoek wilt aanpassen naar een andere waarde, geeft u het volgende commando in via SQL update _CONN_TB_CreateErrorRequest set Type=99 waarbij 99 het type is van het nieuwe foutenverzoek. NB: Niet in alle gevallen wordt bij een fout een verzoek aangemaakt. Indien u meerdere stappen uitvoert die op elkaar aansluiten, kan het zijn dat door een fout de gehele SQL transactie wordt teruggedraaid. Dat betekent dat in dat geval ook het aanmaken van een foutenverzoek niet wordt uitgevoerd. U kunt dan het overzicht “Systeem | Overzichten | Log: Processen” raadplegen voor de details van de foutmelding. Zie daarvoor hoofdstuk 8.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 24 van 108
4
Definiëren triggers
De trigger wordt als gebeurtenis in de Trigger and Validation Manager vastgelegd. Deze kunt u zoeken en onderhouden via “Add-on | Inrichting | Trigger and Validation Manager SE: Onderhoud Gebeurtenissen”. U kunt zoeken op kenmerken van de gebeurtenis of zoeken op kenmerken van de criteria en stappen binnen gebeurtenissen. Ook kunt u nieuwe gebeurtenissen aanmaken.
Voor elke nieuwe gebeurtenis op een business component, dient u een deployment uit te voeren (“(Her)opbouwen Repository”, zie (1) bij de knoppen). Bij elke volgende gebeurtenis op hetzelfde business component hoeft geen deployment te worden uitgevoerd. Zie ook paragraaf 4.6. De kolom ‘Actief’ geeft aan of de gebeurtenis ook actief is. Door vanuit het overzichtsscherm op het of -icoon te klikken, wisselt u de status ‘Actief’ Naar ‘Niet actief’. Gebeurtenissen kunt u onderbrengen in categorieën. Om nieuwe categorieën aan te maken, klikt u op de knop “Categorieën” (2).
Klik op de knop “Nieuw” en vul een “Omschrijving” in om een nieuwe categorie aan te maken. Bij het aanmaken van een nieuwe gebeurtenis selecteert u de gewenste categorie. Klik een categorie aan om hem te kunnen “Verwijderen”.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 25 van 108
Elke gebeurtenis kent twee onderdelen: 1. Wanneer wilt u dat er iets gebeurt (criteria) 2. Wat moet er gebeuren (stappen) Voor zowel de criteria als de stappen kunt u meerdere definities opstellen, waarbij geldt dat aan alle criteria moet worden voldaan om alle stappen uit te voeren. U kunt meerdere gebeurtenissen op hetzelfde business component vastleggen.
4.1.1
Nieuwe gebeurtenis
Met de knop ‘Nieuw” maakt u een nieuwe gebeurtenis.
De “Omschrijving” is zelf te kiezen en is verplicht. TIP: Door de “Omschrijving” vooraf te laten gaan door een nummer of een afkorting, kunt u gerelateerde triggers eenvoudig terugvinden. Koppel de gebeurtenis desgewenst aan een “Categorie” en geef eventueel een “Uitgebreide omschrijving” waarin u een uitleg geeft over wat de gebeurtenis precies doet. Bij “Beleid” kunt u een Synergy-document koppelen, om daarmee het beheer van de gebeurtenissen eenvoudiger te maken. De “Business component” wordt geselecteerd uit de repository:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 26 van 108
Standaard wordt een nieuwe gebeurtenis niet “Actief” gezet. Hiermee voorkomt u dat tijdens het opzetten van een gebeurtenis er al onbedoeld gebruik van wordt gemaakt. Bepaal ook de “Volgorde” waarin de gebeurtenis ten opzichte van andere gebeurtenissen uitgevoerd dient te worden. Standaard staat de volgorde op 0, waarmee de gebeurtenissen in willekeurige volgorde worden uitgevoerd. Hoe hoger de waarde bij “Volgorde”, hoe eerder de gebeurtenis wordt uitgevoerd. Een gebeurtenis met “Volgorde” 10 zal dus eerder uitgevoerd worden dan een gebeurtenis die “Volgorde” 2 heeft. Vink aan of de gebeurtenis “Individueel” of “Repeterend” uitgevoerd dient te worden. Meer informatie over repeterende gebeurtenissen leest u in paragraaf 4.3.12. Het is eventueel mogelijk om de definitie van een bestaande gebeurtenis te kopiëren en naar wens aan te passen. Open de bestaande gebeurtenis en klik op de knop “Kopiëren”. Alle criteria en stappen (zie verderop in deze handleiding) worden meegenomen in de kopie.
Nadat u de gebeurtenis heeft opgeslagen via “Bewaren”, kunnen de ‘Criteria’ en de ‘Stappen’ worden vastgelegd.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 27 van 108
4.2
Criteria
Klik bij ‘Criteria’ op “Toevoegen”. Voor het vaststellen van de criteria zijn de volgende mogelijkheden beschikbaar:
4.2.2
Modus business component
Voor de “Modus business component” kunt u aangeven of de trigger moet worden geactiveerd bij het ‘Nieuw’ aanmaken van een entiteit, het ‘Bewerken’ van een bestaande entiteit of bij het ‘Verwijderen’ van een entiteit. Ook kunt u de combinatie ‘Bewerken+Nieuw’ ingeven.
NB: Alleen voor de hoofdentiteiten is een ‘Verwijderen’-modus beschikbaar. De “Omschrijving” is gedeeltelijk voorgevuld; u kunt deze uiteraard naar wens aanvullen met uw eigen omschrijving.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 28 van 108
4.2.3
Eigenschap gewijzigd
Met de “Eigenschap gewijzigd” specificeert u een veld uit de betreffende business component waar ‘iets’ of ‘niets’ mee gebeurt.
Door de “Waarde gewijzigd” uit te vinken, geeft u aan dat de trigger wordt geactiveerd als een veld juist niet wordt gewijzigd.
4.2.4
Waarde van eigenschap
Met de “Waarde van de eigenschap” geeft u aan dat een veld uit de betreffende business component een bepaalde “Waarde” krijgt.
Bij “Operator” heeft u de volgende keuzemogelijkheden:
Bij “Waarde” kunt u kiezen uit ‘Standaard’ of ‘Parameter’.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 29 van 108
Met bovenstaand voorbeeld kunt u een trigger definiëren op een relatie van type klant (type C). De “Waarde” geeft u in zonder aanhalingstekens. NB: Indien u meerdere waarden wilt opgeven waar een veld aan kan voldoen om het criterium waar te laten zijn, dient u de “Geavanceerde query” (zie paragraaf 4.2.5) te gebruiken. Op basis van bovenstaand voorbeeld wordt dat dan ‘select cmp_code from cicmpy where cmp_type in (‘C’,’R’)’. U kunt ook kiezen om met een tweede criteria op hetzelfde veld in combinatie met OF vast te leggen. Zie daarvoor paragraaf 4.4. U kunt ook gebruik maken van de optie ‘Parameter’ bij het veld “Waarde”. U krijgt dan de parameterknop tot uw beschikking waarmee u een bestaande globale parameter kunt selecteren. Zo ziet u in onderstaand voorbeeld hoe gebruik wordt gemaakt van de globale parameter @_MDWNR. Voor gebruik van parameters verwijzen wij u naar hoofdstuk 4.5.
4.2.4.1 Reguliere expressie U kunt bij “Operator” ook kiezen voor ‘Reguliere expressie (Waar)’ en ‘Reguliere expressie (Niet waar)’. U heeft daarna de mogelijkheid om een reguliere expressie in te geven. Een reguliere expressie vormt een patroon die u kunt gebruiken om tekenreeksen te doorzoeken. Met behulp van reguliere expressies kunt u bepalen dat ingevoerde gegevens moeten voldoen aan bepaalde voorwaarden; bijvoorbeeld een tekenreeks mag alleen bestaan uit cijfers of in het tekstveld moet een ‘@’ en ‘.’ voorkomen. Bijvoorbeeld: U wilt controleren of de ingevoerde postcode een voor Nederland geldig formaat heeft:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 30 van 108
Een expressie voor een Nederlandse postcode kan er als volgt uitzien: ^[1-9][0-9]{3}( )?[A-Z]{2}$ Een reguliere expressie begint met een ^ en eindigt met een $. De tekenreeks die is ingevoerd in het tekstveld moet beginnen met een cijfer tussen 1 en 9 ([1-9]), met aansluitend 3 cijfers tussen 0 en 9 ([0-9]{4}). Daarop mag 1 spatie volgen, maar dat hoeft niet (( )?). Vervolgens dienen er nog twee hoofdletters te volgen tussen A en Z ([A-Z]{2}). Deze expressie zal A5222AB, 6@43 ST en 1498bc als ongeldige postcodes beschouwen. Indien de gegevens dus niet voldoen aan de ingevoerde “Waarde” uit bovenstaand voorbeeld, is het criterium waar en zal de stap worden uitgevoerd. U krijgt bijvoorbeeld een foutmelding te zien. Op internet is veel informatie en gedetailleerde uitleg te vinden over het toepassen van reguliere expressies.
4.2.5
Geavanceerde query
Met de “Geavanceerde query” heeft u de mogelijkheid om elke willekeurige controle op basis van een SQL-statement uit te voeren.
De optie “Gebruik resultaat” dient u aan te vinken wanneer u gebruikt maakt van een repeterende gebeurtenis. Meer informatie hierover leest u in paragraaf 4.3.12. Met “Records” bepaalt u hoe u het resultaat wilt beoordelen dat uit de query komt: Waar Niet waar Aantal 1
De trigger wordt uitgevoerd als u een of meerdere records als resultaat terugkrijgt. De trigger wordt uitgevoerd als u geen records als resultaat terugkrijgt. De trigger wordt uitgevoerd als u 1 record terugkrijgt.
Met de optie ‘Niet waar’ kunt u controleren of er iets niet aanwezig is. Indien er geen records terug worden gegeven als resultaat, wordt de trigger uitgevoerd.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 31 van 108
In voorgaand voorbeeld wordt dus gecontroleerd of bij de betreffende relatie verzoeken van het type 50 aanwezig zijn. Voor het gebruik van parameters verwijzen wij u naar paragraaf 4.5. Een “Geavanceerde query” dient ook te worden ingezet om niet in een loop te komen, wanneer de trigger wordt ingesteld op het aanpassen van een specifiek veld. Doet u dat niet, dan is het wijzigen van het veld op basis van de gebeurtenis weer aanleiding om de trigger af te vuren. Stel dat de waarde van het veld moet worden omgezet in hoofdletters. Dan moet de trigger dus alleen worden uitgevoerd als de waarde nog in kleine letters staat:
In dit specifieke voorbeeld wordt het SQL-commando ‘UPPER’ gebruikt in combinatie met ‘COLLATE’ voor de juiste vergelijking tussen het plaatsveld (cmp_fcity) en de omzetting naar hoofdletters. Alleen als deze niet gelijk is, wordt voldaan aan het criterium.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 32 van 108
4.3
Stappen
De stappen in de gebeurtenis geven aan wat er gedaan moet worden. Er zijn meerdere mogelijkheden die elk in de volgende subparagrafen worden toegelicht. De stap “Wordmerge” is alleen zichtbaar wanneer u een geldige MS Word Merge Addon SE licentie heeft en een gebeurtenis heeft ingesteld op een medewerker (business component ‘Resource’), project of Solution Builder entiteit (business component ‘PRProject’ of ‘CSNob1799xxx’), relatie (business component ‘Associates’) of een verzoek (business component ‘Request’). Voor de stap “MRS rapport” dient de MS Reporting Services Integrator SE geinstalleerd te zijn.
4.3.6
Validatie
Met “Validatie” kan een foutmelding worden geven of een query worden uitgevoerd, bijvoorbeeld een INSERT-statement op een (tussen)tabel. Standaard staat de “Validatie”-methode op ‘Foutmelding’:
Bij de “Foutmelding” geeft u een melding in die u aan de gebruiker wilt tonen als wordt voldaan aan alle criteria die in de gebeurtenis zijn vastgelegd. Indien gewenst kunt u deze melding in de taal van de gebruiker presenteren. Daarvoor kunt u een nieuwe vertaalterm aanmaken. Voor meer informatie verwijzen wij u naar hoofdstuk 12. Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 33 van 108
Door middel van de knop “Parameter” kunt u parameters invoegen. Zo kunt u, als in het voorbeeld, de klantnaam gebruiken in uw foutmelding. Meer informatie over globale parameters staat in hoofdstuk 4.5. Middels het vinkje bij “HTML opmaak” kunt u aangeven dat de door u opgemaakte tekst HTML-code bevat. Zo kunt u teksten onderstrepen, extra enters erin plaatsen of bijvoorbeeld een hyperlink naar een andere (externe) pagina in uw foutmelding tonen. Door de “Validatie” op ‘Query’ te zetten, kunt u een query uitvoeren. Hiermee kunt u bijvoorbeeld een INSERT-statement uitvoeren. 4.3.6.2 Melding met variabele
De melding is op basis van de syntax ‘select top 1 <melding>, ’. De melding kan bestaan uit de SQL-syntax ‘x’+‘y’+‘z’, waarbij ook variabelen gebruikt kunnen worden (zonder ‘ ’-tekens). Voor het gebruik van parameters verwijzen wij u naar paragraaf 4.5. De melding wordt als volgt weergegeven:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 34 van 108
Door nu een vertaalterm te maken voor termid 40000, kunt u desgewenst de melding ook in een andere taal weergeven:
De vertaling met een variabele wordt zonder aanhalingstekens of plustekens als term ingevoerd. De vertaalde melding wordt als volgt weergegeven:
4.3.6.3 Uitvoeren van een SQL-statement Indien u de tussentabellen voor het Connection Framework wilt vullen op basis van een SQLstatement, heeft u twee mogelijkheden:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 35 van 108
In bovenstaand voorbeeld wordt op basis van de eigenschappen van de entiteit een INSERT gedaan in de tussentabel. Hierbij komen de opbouw (veldnamen tussen blokhaken) en de waarden (de values) met elkaar overeen. Hiermee wordt één record (op basis van de gewijzigde entiteit) aangemaakt in de tussentabel. Ook kunt u middels deze methode meerdere records aanmaken. De opbouw wordt dan iets anders:
De INSERT in de tussentabel voor Solution Builder (project) geschiedt op dezelfde wijze. De values worden echter opgebouwd uit een SELECT-statement op een tabel, waarin uiteraard wel variabelen uit de betreffende entiteit gebruikt worden. Voor het gebruik van parameters verwijzen wij u naar paragraaf 4.5.
4.3.7
Stored procedure
Met de stap “Stored Procedure” is direct een stored procedure aan te roepen in de Synergydatabase. Dat kan een stored procedure zijn die hoort bij het Connection Framework, of een eigen stored procedure. Het vastleggen van een stap op basis van een stored procedure gaat in een aantal stappen: 1. U definieert eerst een stap waarin u de naam van de stored procedure ingeeft of selecteert:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 36 van 108
Deze bewaart u en dan koppelt u de parameters uit de stored procedure aan de beschikbare parameters uit Synergy:
2. Met de knop “Toevoegen” krijgt u een overzicht van de nog niet gekoppelde parameters van de stored procedure:
3. In de kolom ‘Waarde’ kunt u zelf een waarde intypen of via de knop “Parameters” de beschikbare parameters selecteren:
4. Door nu een waarde te selecteren, wordt deze gekoppeld. U kunt dit voor alle parameters doen die u wilt koppelen. Voor het gebruik van parameters verwijzen wij u naar paragraaf 4.5.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 37 van 108
5. U kunt ook een parameter zoeken:
U kunt de modus van het veld “Omschrijving” veranderen van ‘Bevat’ (geel), ‘Gelijk aan’ (blauw) of naar ‘Begint met’ (groen). Door een waarde in te geven en op de knop “Actualiseren” te drukken, zoekt op de ingegeven waarde. 6. Indien u de door u gewenste koppeling heeft gemaakt, ziet de gedefinieerde stap er zo uit:
Met het groene ‘bewerk’-icoon aan de rechterkant kunt u de parameter wijzigen, met het rode kruis , verwijdert u een aangemaakte koppeling. Het is met deze methode niet mogelijk om bewerkingen uit te voeren op de parameters die u koppelt. Indien dat noodzakelijk is, moet u zelf een stored procedure aanmaken, welke uiteraard op basis van parameters is aan te sturen. Het maken van een stored procedure valt buiten de reikwijdte van de handleiding en zal niet door support worden ondersteund.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 38 van 108
4.3.8
Connection Framework
Met deze stap kunt u het Connection Framework aanroepen om de wijziging direct door te voeren.
Bij “Uitvoeren als” selecteert u een van de gebruikers die u heeft gedefinieerd (zie paragraaf 0). Bij de “Tabel” selecteert u de tussentabel die in een vorige stap is gevuld. Bij de “Where clausule” kunt u specificeren welk record uit de tussentabel moet worden omgezet. Indien ook nog andere processen of triggers records aanmaken in dezelfde tabel, kan ongewenst een entiteit worden aangemaakt. Door nu een selectie te leggen op een unieke sleutel, bijvoorbeeld de EventSessionID, kunt u specifiek alleen die records uitvoeren die zijn aangemaakt in de huidige gebeurtenis. Standaard wordt ‘_EventSessionID=@_EventSessionID’ al voorgevuld. Voor het gebruik van parameters verwijzen wij u naar paragraaf 4.5. Bij het aanmaken van de entiteiten vanuit de tussentabellen worden de veldwaarden van de aangemaakte entiteit ook weer teruggeschreven naar de tussentabel. Dit heeft als voordeel dat u in verschillende stappen de nieuw aangemaakte entiteiten aan elkaar kunt relateren. Bijvoorbeeld: U wilt vanuit een nieuw verzoek een nieuw project aanmaken en vervolgens het nieuwe project weer koppelen aan het zojuist aangemaakte verzoek. Dat realiseert u door: 1. In stap 1 de tussentabel te vullen voor project. 2. In stap 2 het Connection Framework uit te voeren. 3. In stap 3 het zojuist aangemaakte verzoek te updaten met het project (op basis van een query op de tussentabel waarbij de EventSessionID het criterium is). 4. En als laatste stap het Connection Framework weer uit te voeren.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 39 van 108
4.3.9
E-mail
Met de Trigger and Validation Manager kunt u ook een e-mail sturen op basis van gegevens uit Synergy. U kunt de e-mailstap gebruiken wanneer u een gebeurtenis aanmaakt op een business component waar u MS Word Merge voor kunt opstarten. Dit betreft projecten, verzoeken, medewerkers en relaties.
Het opzetten van een e-mailstap gaat op de volgende manier: 1. Bij ‘Algemeen’ definieert u eerst een mail-“Template”. Voor het maken van een mailtemplate verwijzen wij naar hoofdstuk 5. Bij “Opslaan e-mail” geeft u aan of het mailbericht ook moet worden opgeslagen. U kunt kiezen voor ‘Geen’ om de mail niet op te slaan, om de mail als ‘HTML’ op te slaan of als ‘DOCX’. U kunt de “Bijlage DOCX naar PDF” converteren en u kunt ervoor kiezen om de mail te “Versturen als platte tekst”, dus zonder HTML-opmaak. Geef eventueel in de definitie van de mailtemplate (MS Word Merge Add-on SE template) ook aan of er een nieuw verzoek moet worden aangemaakt.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 40 van 108
2. Bij de ‘Afzender’, ‘E-mail’ en onderwerpgegevens kunt u de afzender en de geadresseerden (en/of CC en/of BCC) op meerdere manieren bepalen: Vast ingeven van het e-mailadres. Variabele ingave door het ophalen van een repository eigenschap van het component waarop de gebeurtenis is vastgelegd. Ook kunt u daarvoor de globale variabelen ‘_ResourceEmail’ en ‘_ResourceName’ gebruiken om de huidige gebruiker te selecteren. De variabele wordt voorafgegaan met ‘@@’ om een onderscheid te maken tussen een variabele en een e-mailadres. Variabele ingave op basis van een query. U selecteert ‘Query’ in het uitklapmenu en geeft uw SQL-statement in. U kunt hierbij ook variabelen gebruiken (met een enkele ‘@’):
NB: Meerdere adressen worden gescheiden door een “;”. 3. Bij “Bijlage” bepaalt u het document wat u als bijlage wilt meesturen. Meer informatie over het versturen van mailbijlagen vindt u in paragraaf 5.5.1. Voor het gebruik van parameters verwijzen wij u naar paragraaf 4.5. Indien wordt voldaan aan de criteria in de gebeurtenis, wordt de mail verstuurd via SMTP:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 41 van 108
4.3.10
Wordmerge
Indien u over een geldige licentie voor het gebruik van MS Word Merge Add-on beschikt, kunt u ook MS Word Merge documenten automatisch aanmaken als stap. Voorwaarde is dat u een gebeurtenis aanmaakt op een business component waar u ook functioneel een MS Word Merge voor kunt opstarten.
Het opzetten van een Wordmerge stap gaat op de volgende manier: 1. U definieert eerst een “Template”. Voor het maken van een Word Merge template verwijzen wij naar de handleiding ‘Installation & Configuration Guide MS Word Merge Add-on SE’. 2. U bepaalt het “Onderwerp” en de “Bestandsnaam”. Indien u hier geen variabelen bij wilt gebruiken, vult u daar een vaste tekst in. Geef bij “Bijlage” op of de documenten die worden samengevoegd als PDF- of als DOCXbijlage aan het Synergy-document moeten worden opgeslagen. Deze optie overrulet dat wat u als standaard heeft opgegeven op de instellingenpagina (zie paragraaf 3.3.4). Het document wordt aangemaakt en kan in de e-mail stap worden ingevoegd op basis van de globale variabelen. Zie hiervoor de uitleg in paragraaf 4.5.
4.3.11
Import/Export bijlagen
Met de stap ‘Import/Export bijlagen’ heeft u de mogelijkheid om documenten en verzoeken te exporteren of eigen bestanden te importeren. Voor alle typen export gelden de volgende algemene instellingen:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 42 van 108
Type Omschrijving Actief Export
Vaste tekst: “Import/Export bijlagen” Geef een omschrijving op, “Import/Export bijlagen:” staat voorgevuld. Met “Actief” aangevinkt wordt de stap toegepast in de gebeurtenis. U heeft de keuze uit de volgende opties: “Export bijlagen”, “Export Query”, “Export FTP Server” en “Import bijlagen”. In de volgende paragrafen worden deze mogelijkheden verder uitgewerkt.
4.3.11.4 Export bijlagen Met de optie ‘Export bijlagen’ kunt u bijlagen uit verzoeken en documenten exporteren naar een opgegeven “Export-directory”.
Type export
Opslaan body
Bestandsnaam bodydocument
Converteer naar PDF
Bijlagen
Export-directory
Documenten of Verzoeken. Voor beide gevallen geldt dat u een verwijzing maakt naar verzoek(en) of document(en) op basis van bijvoorbeeld de HID. Alle gekoppelde bijlagen worden dan geëxporteerd. Aangevinkt zal niet alleen de bijlage, maar ook de body van een Synergydocument geëxporteerd worden. De body wordt altijd geconverteerd naar PDF-formaat. Alleen beschikbaar bij “Type: Documenten”. De bestandsnaam voor het bodydocument. U kunt handmatig een naam opgeven, maar ook gebruiken maken van de bestaande parameters met de Parameter-knop. Middels dit vinkje wordt aangegeven of de bijlage in origineel bestandsformaat moet worden geëxporteerd, of dat de bijlage omgezet dient te worden naar PDF-formaat. Omzetten naar PDF is mogelijk voor de bestandstypes DOC, DOCX, XLS, XLSX, PPT, PPTX, TIF, TIFF en MSG. Bij de algemene instellingen (zie 3.3.5) kunt u aangeven wat er moet gebeuren met bestanden die niet omgezet kunnen worden naar PDF-formaat. U hoeft geen verwijzing te maken naar bijlagevelden, u geeft een verwijzing naar het betreffende document of verzoek in. Ook kunt u gebruik maken van de globale variabelen @_EventDocHID1 tot en met @_EventDocHID5, mits u het “Type” op ‘Document’ instelt. Zo kunt u een document dat in een voorafgaande stap via de MS Word Merge Add-on wordt aangemaakt, direct ook exporteren. U geeft een (netwerk)locatie in, waarbij u ook met een variabele een subdirectory kunt aanmaken/gebruiken. De betreffende variabele is uiteraard afhankelijk vanuit welke business component de gebeurtenis wordt aangeroepen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 43 van 108
4.3.11.5 Export query Indien gekozen wordt voor “Export”-methode ‘Query’, heeft u de volgende mogelijkheid:
Voor de export dient u 3 kolommen aan te leveren die vanuit de tabel ‘Attachments’ worden opgehaald. U kunt zelf een join leggen naar de tabel BacoDiscussions (documenten) of Absences (verzoeken) om gerelateerde gegevens op te halen. In bovenstaand voorbeeld worden alle documenten opgehaald met bijlagen van het type 2 gekoppeld aan de betreffende medewerker (gebeurtenis is ingesteld op de business component resource). De kolommen die u moet specificeren, zijn: Kolom 1 = SQL kolom met de ‘blob’ van de bijlage Kolom 2 = SQL kolom met de bestandsnaam van de bijlage Kolom 3 = export map NB: Indien u, zoals in bovenstaand voorbeeld, een variabele wilt gebruiken als subdirectory, dient u deze zo te specificeren: 'D:\temp\export\'+convert(nvarchar,@ID)
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 44 van 108
4.3.11.6 Export FTP Server Met de “Export”-methode op “Export FTP Server” exporteert u de bijlagen uit een verzoek of document naar de “Export-directory” op een opgegeven “FTP server”. U kunt eventueel de FTP server vanuit bijvoorbeeld een verzoek meegeven. U vult in dat geval de betreffende parameter in. Vergeet niet de “Gebruikersnaam” en het “Wachtwoord” te vullen om in te loggen op de FTP server.
De overige instellingen zijn gelijk aan de instellingen bij “Export bijlagen”, zie 4.3.11.4. 4.3.11.7 Import bijlagen Met de Trigger and Validation Manager is het mogelijk om bestanden te importeren in een (nieuwe) tabel in Exact Synergy. Na de import kunnen queries worden opgestart, om de informatie uit het geïmporteerde bestand via het Connection Framework als entiteit in Exact Synergy aan te maken. Er kunnen drie types importbestand aangeleverd worden, txt, csv en Excel-formaat, zoals in onderstaande voorbeelden te zien is voor het importeren van relatiegegevens. Tekstbestand met puntkomma als scheidingsteken (CSV):
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 45 van 108
Excel-bestand (XLS of XLSX):
Tekstbestand met vaste kolombreedte (TXT):
De definitie van de velden en de bestandsnaam wordt bepaald aan de hand van een definitie-file. De definitie-file is een tekstbestand en heeft naamconventie IMPORTBESTAND.XLSX.DEF indien het een XLSX-bestand betreft. Het DEF-bestand is als volgt opgebouwd: 1. De eerste regel bestaat uit de volgende syntax: Veld;Opmerking;Type;Lengte 2. Elk veld in het import bestand wordt op een nieuwe regel gespecificeerd. De opmerking kan leegblijven, mits de ‘;’ maar geplaatst wordt. Afhankelijk van het importbestand, kan met “Type” worden aangeven wat voor veld wordt geïmporteerd: CSV of TXT: String dd-mm-yyyy Excel:
String Int (integer) Datetime Float Guid Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 46 van 108
Op basis van het Excel-bestand, ziet het DEF-bestand er als volgt uit:
Het type en de lengte worden gebruikt bij het aanmaken van de importtabel, om de definitie van de velden te bepalen. Bij importtype ‘TXT’ voor tekstbestanden met vaste kolombreedte wordt lengte ook gebruikt voor het bepalen waar de volgende waarde begint. De import is op 2 manieren aan te sturen: 1. Als achtergrondproces. 2. Als stap in een gebeurtenis. ALS ACHTERGRONDPROCES: Voor situaties waarbij het importbestand via een externe applicatie wordt gegenereerd, kan deze worden ingelezen met behulp van een achtergrondproces (Exact.Process.Exe). Bij de import via het achtergrondproces wordt het importbestand bij de import telkens opnieuw aangemaakt. De syntax is als volgt: /DBCONFIG: /ASSEMBLY: /CLASS: /F: /L: /T:
/DEF:
Naam van de virtual directory. CSNobEvnt.Core Keuze uit ImportExcel (voor XLS en XLSX) of ImportCSV (CSV of TXT). Bestandsmap (vanuit de IIS server) met daarin het importbestand. Optioneel, vanaf welke regel de import moet starten. De naam van de parameter TASK voor het aanmaken van een record in de tabel CSNobEvntEventtransactions. OP basis van dit veld kan een gebeurtenis worden opgestart om de inhoud van het importbestand over te zetten naar Connection Framework tussentabellen. 1 of 0. Hiermee kan worden aangegeven of voor de import het DEF-bestand leidend is (1) of het importbestand (0). Met de waarde 1 kunnen er meer kolommen in het importbestand staan dan nodig zijn voor de import zelf. Indien deze op 0 staan, dient het aantal kolommen en de volgorde van de velden in het import bestand identiek te zijn aan het DEF-bestand. Het DEF-bestand dient dezelfde naam te hebben als het importbestand, aangevuld met “.def”, en staat in dezelfde folder als het te importeren bestand.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 47 van 108
LET OP: De parameters zijn hoofdlettergevoelig. Bijvoorbeeld: “D:\Program Files\SBDemo\bin\Exact.Process.exe” /DBCONFIG:SBdemo /ASSEMBLY:CSNobEvnt.Core /CLASS:ImportExcel /F:“D:\Temp\RelatieImport.xlsx” /L:2 /T:RelatieImport /DEF:1 Het bestand wordt op basis van de definitie aangemaakt op basis van de syntax _conn_tb_IMPORTBESTAND De velden worden aangemaakt op basis van de definitie en ziet er zo uit:
Indien de velden in het bronbestand niet conform de definitie in het DEF-bestand worden aangeleverd, worden deze betreffende regels afgekeurd. De bestandsnaam is dan IMPORTBESTAND.datum import.ERR. Na een correcte import wordt het volledige bestand hernoemd naar IMPORTBESTAND.datum import.BAK
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 48 van 108
In “Systeem | Overzichten | Log: Processen” worden de resultaten (fouten) weergegeven:
IMPORT/EXPORT STAP IN EEN GEBEURTENIS: Indien het importbestand als bijlage aan een verzoek of document wordt opgeslagen, kan deze middels de Import/Export stap worden ingelezen. In tegenstelling tot de import via een achtergrondproces, wordt de nieuwe tussentabel niet verwijderd voordat de nieuwe import plaatsvindt. In plaats daarvan worden de nieuwe records toegevoegd en wordt het veld _EventSessionID gevuld met de variabele in de gebeurtenis.
Voor het importeren van een bijlage via een stap in een gebeurtenis gelden de volgende instellingen:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 49 van 108
Type Omschrijving Actief Export
Type export
Type bijlage Bijlagen
Definitie document Gebruik definitie kolommen Startregel Tabblad
Vaste tekst: “Import/Export bijlagen” Geef een omschrijving op, “Import/Export bijlagen:” staat voorgevuld. Met “Actief” aangevinkt wordt de stap toegepast in de gebeurtenis U heeft de keuze uit de volgende opties: “Export bijlagen”, “Export Query”, “Export FTP Server” en “Import bijlagen”. Kies in dit geval voor “Import bijlagen” Documenten of Verzoeken. Voor beide gevallen geldt dat u een verwijzing maakt naar verzoek(en) of document(en) op basis van bijvoorbeeld de HID. Alle gekoppelde bijlagen worden dan geïmporteerd. Er zijn 3 typen bestanden mogelijk om te importeren. Excel (XLS of XLSX), CSV of TXT. U hoeft geen verwijzing te maken naar bijlagevelden, u geeft een verwijzing naar het betreffende document of verzoek in. Ook kunt u gebruik maken van de globale variabelen @_EventDocHID1 tot en met @_EventDocHID5, mits u het “Type” op ‘Document’ instelt. Koppeling naar een Synergydocument wat het definitie document als bijlage heeft. Ja-Nee veld. Indien u dit aanvinkt, zullen de kolommen uit het definitiedocument gebruikt worden voor de veldnamen in de importtabel. Bij importbestanden zal de eerste regel de kopregel zijn, en zult u de import vanaf regel 2 starten. Indien u kiest voor importtype Excel, kunt u aangeven welk tabblad geïmporteerd dient te worden.
Bij de optie “Export” kiest u voor ‘Import bijlagen’. De gebeurtenis is ingesteld op het veranderen van de status van een verzoek, waarbij het importbestand als bijlage in het verzoek wordt geplaatst. Het DEF-bestand wordt als een document (bijlage) in Synergy opgeslagen en gekoppeld aan de stap. Het import bestand ziet er zo uit:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 50 van 108
De bijbehorende DEF-bestand ziet er zo uit:
Zodra het verzoek wordt gerealiseerd, wordt het bestand geïmporteerd:
Bij elke nieuwe import worden de records toegevoegd aan het importbestand.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 51 van 108
4.3.12
Repeterende gebeurtenis
Wanneer u gebruik maakt van Scheduled Events, is de trigger waarop de gebeurtenis wordt uitgevoerd altijd een nieuw record in de table CSNobEvntEventTransactions. Doordat in de business component CSNobEvntEventTransactions geen E-mail of Wordmerge stappen beschikbaar zijn, is er een mogelijkheid om vanuit deze gebeurtenis een repeterende gebeurtenis aan te roepen. In de Scheduled Events wordt daarvoor een dataset op basis van een “Geavanceerde query” gemaakt. Deze dataset bevat doorgaans een of meerdere records, welke vervolgens individueel worden aangeboden aan de repeterende gebeurtenis. Alle criteria in deze repeterende gebeurtenis zijn op de dataset van toepassing (met uitzondering van de criteria “Mode business component” en “Eigenschap gewijzigd”). Bijvoorbeeld: Maak een gebeurtenis die een brief stuurt aan relaties van het type C:
Met de optie “Individueel” aangevinkt, is deze gebeurtenis actief op het moment data aan alle criteria wordt voldaan. Wanneer de optie “Repeterend” is aangevinkt, is deze gebeurtenis te gebruiken in een stap “Repeterende gebeurtenis”. In bovenstaand voorbeeld wordt de gebeurtenis alleen maar gebruikt om via een achtergrondproces een brief te sturen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 52 van 108
De tweede gebeurtenis is een Scheduled Event:
Naast de trigger op de waarde van het veld TASK wordt een “Geavanceerde query” criterium toegevoegd:
In deze query hoeft maar één veld te worden opgenomen, welke de unieke sleutel moet bevatten voor de business component waarvoor de repeterende gebeurtenis is opgezet: Associates: cmp_wwn Project/Solution Builder: projectnr Request: id Employees: res_id
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 53 van 108
De stap “Repeterende gebeurtenis” ziet er als volgt uit:
Vanuit deze stap kunnen alle gebeurtenissen worden geselecteerd met de optie “Repeterend” aangevinkt. De tweede gebeurtenis is nu gekoppeld aan de eerst aangemaakte gebeurtenis bij het onderdeel ‘Repeterende gebeurtenis’:
In dit voorbeeld worden alle relaties van het type C en S aangeboden aan een gebeurtenis die op basis van de relaties van type C een brief versturen:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 54 van 108
4.3.13
MRS rapport
Met de stap ‘MRS rapport’ kunt u MRS rapporten genereren en automatisch in PDF-formaat opslaan in een Synergy-document.
U definieert eerst een “MRS Rapport”. Voor het maken van een MRS rapport verwijzen wij naar de handleiding ‘Installation & Configuration Guide MS Reporting Services Integrator’. Instellingen voor de stap ‘MRS rapport’: MRS Rapport Document type Onderwerp
Bestandsnaam
Selecteer het MRS rapport dat u wilt gebruiken. Geef het type document op waarin het resultaat van MRS-stap als bijlage gekoppeld dient te worden. Hierin geeft u het onderwerp op van het Synergy-document, waaraan het rapport als bijlage gekoppeld wordt. U kunt met de knop “Parameters” globale parameters gebruiken. Indien u hier geen variabelen bij wilt gebruiken, vult u een vaste tekst in. U geeft de naam in van het PDF-bestand dat vanuit het MRS rapport gegenereerd wordt. U kunt globale parameters gebruiken. Indien u hier geen variabelen bij wilt gebruiken, vult u daar een vaste tekst in.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 55 van 108
Parameters
In de sectie “Parameters” kunt u, via de knop “Toevoegen” de parameters die voegen die in het rapport gedefinieerd zijn. Met de knop “Parameter” kunt u globale parameters toevoegen aan de rapportparameters, maar u kunt ook vaste tekst invoeren.
Het document wordt aangemaakt in PDF-formaat en kan in de e-mail stap worden ingevoegd op basis van de globale variabelen. Zie hiervoor de uitleg in paragraaf 4.5.
4.4
Conditionele uitvoering
Elk nieuw toegevoegd criterium in een gebeurtenis wordt automatisch toegevoegd op basis van ‘EN’. Dit betekent dat aan elk criterium in de gebeurtenis moet worden voldaan voor het uitvoeren van de stappen.
Door in het overzichtscherm van gebeurtenissen op het -icoon te klikken, verandert het icon in een -icoon. Dit houdt in dat het criterium op basis van ‘OF’ wordt uitgevoerd. U kunt alleen de iconen wijzigen van de tweede en volgende criteria. Bijvoorbeeld: U wilt een controle uitvoeren wanneer een relatie wordt gewijzigd. De relatie moet van type S OF van type C zijn. De criteria kunnen er als volgt zijn:
Zodra aan een van de voorwaarden wordt voldaan, worden de stappen uitgevoerd.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 56 van 108
De conditionele criteria zijn vervolgens ook in de stellen op de stappen:
In bovenstaand voorbeeld wordt deze stap alleen uitgevoerd als de ‘Waarde van eigenschap: type gelijk is aan S’. De tweede stap wordt dan conditioneel gemaakt op basis van type C:
In het overzicht van gebeurtenissen herkent u aan het -icoon dat er criteria aan een stap zijn gekoppeld. Hoe hoger het getal, hoe meer criteria er zijn toegevoegd. Zijn er geen criteria aan de stap gekoppeld, dan is het icoon .
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 57 van 108
4.5
Gebruik van variabelen in criteria en stappen
Binnen de criteria en de stappen heeft u de mogelijkheid om parameters te gebruiken. Naast de velden uit de repository kunt u een aantal vaste parameters gebruiken, die betrekking hebben op de trigger zelf of op de gebruiker. Ook kunt u zelf globale parameters definiëren, waaraan u zelf waardes toekent.
4.5.14
Globale parameters aanmaken
U kunt zelf nieuwe globale variabelen aanmaken via het menu “Add-on | Inrichting | Trigger and Validation Manager SE: Onderhoud Globale Parameters”.
Met “Nieuw” wordt een nieuwe parameter aangemaakt:
Bij “Naam” geeft u een logische naam in die ook in de lijst van parameters wordt getoond. De “Omschrijving” is een toelichting op de parameter. Bij “Waarde” bepaalt u eerst het type, waarna u de waarde ingeeft. Een parameter kan van de volgende types zijn: String Geheel getal Numeriek Datum
Voor tekstvelden, guid-velden, et cetera. Voor numerieke waarden zonder decimaal, bijvoorbeeld verzoektype, medewerkernummer, relatiecode, documenttype. Voor een getalwaarde met een decimaal, bijvoorbeeld bedrag of aantal. Voor een datumwaarde (zonder tijdaanduiding).
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 58 van 108
De volgende globale parameters kunt u aanmaken, zodat deze direct te zijn gebruiken bij het aanroepen van stored procedures of het opbouwen van INSERT statements:
4.5.15
Aanmaken: (type geheel getal, waarde 0) Bewerken: (type geheel getal, waarde 1) Verwijderen: (type geheel getal, waarde 3) Bewerken en Nieuw: (type geheel getal, waarde 4) Type1: (voor gebruik om een verzoek aan te maken van het type 1, waarde 1)
Vaste globale parameters
De volgende globale parameters zijn beschikbaar: _EventDescription _CriteriaOrStepDescription _Editmode
_EventDocHID1 t/m 5
_EventDocID1 t/m 5 _ResoureEmail _ResourceID _ResourceName _EventSessionID _SecurityLevel _ParentID _Transactionkey
Naam van de gebeurtenis. Naam van de stap of criteria. Editmode van business component waar de trigger op staat ingesteld. Bijvoorbeeld: Indien u een gebeurtenis definieert op het aanmaken van een nieuw verzoek, is de EditMode gelijk aan 0. Het wijzigen van een entiteit is Editmode 2. Indien u vanuit een bestaande entiteit een nieuwe entiteit wilt aanmaken, moet u een zelf gedefinieerde parameter gebruiken. Documentnummer van de documenten die in de voorgaande stappen zijn aangemaakt. U kunt tot maximaal 5 documenten per gebeurtenis met deze variabele aansturen. ID van de documenten die in de voorgaande stappen zijn aangemaakt. U kunt tot maximaal 5 documenten per gebeurtenis met deze variabele aansturen. Mailadres van de medewerker die de entiteit aanmaakt, wijzigt of verwijdert. Medewerkernummer die de entiteit aanmaakt, wijzigt of verwijdert. Volledige naam van de medewerker die de entiteit aanmaakt, wijzigt of verandert. SessieID die wordt toegekend bij het uitvoeren van de gebeurtenis. Security van de medewerker die de entiteit aanmaakt, wijzigt of verwijdert. Unieke sleutel voor de koppeling ‘Kop’-‘Regel’ records. Unieke sleutel voor de koppeling ‘Kop’-‘Regel’ records.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 59 van 108
4.6
Deployment
Voor elke nieuwe gebeurtenis op een business component dient de trigger te worden gedeployed (heropgebouwd). Elke volgende gebeurtenis op hetzelfde business component hoeft niet te worden gedeployed, deze wordt automatisch toegevoegd.
Bij de eerste keer dat u een gebeurtenis vastlegt op een business component, ziet u dat deze niet actief is in de repository:
Door de repository opnieuw op te bouwen door middel van de knop “(Her)opbouwen Repository”, wordt deze toegevoegd aan de business logica van Exact:
Indien u meerdere webservers heeft, dient u het bestand ‘Repository.CSZZNob1796.XML’ uit de XMLmap in de programmamap van Synergy te kopiëren naar de andere server(s). U hoeft deze dan niet opnieuw te heropbouwen. Nadat de repository is opgebouwd, ziet u dat deze actief is:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 60 van 108
Na een update van Trigger and Validation Manager zal de repository automatisch worden heropgebouwd bij het bijwerken van de database:
4.7
Kopiëren gebeurtenis
U kunt een bestaande gebeurtenis kopiëren naar een nieuwe gebeurtenis. U opent de gebeurtenis en drukt op de knop “Kopiëren”:
De nieuwe gebeurtenis wordt aangemaakt. U dient nog zelf aan te geven dat deze “Actief” wordt en het eventueel gekoppelde beleidsdocument dient te worden gekoppeld.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 61 van 108
Na het opslaan worden alle criteria en stappen uit de oorspronkelijke gebeurtenis zichtbaar en kunt u de nieuwe gebeurtenis aanpassen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 62 van 108
5
Configuratie e-mail
Voor het gebruik van e-mail, dient met behulp van de MS Word Merge Add-on SE een Wordtemplate te worden opgezet. De Word-template wordt gebruikt om de e-mailbody (HTML) samen te stellen op basis van variabele gegevens uit Synergy. In dit hoofdstuk wordt verwezen naar de relevante paragrafen in de handleiding ‘Installation & Configuration Guide MS Word Merge Add-on SE’ in de vorm ‘(WM X.X.X)’.
5.1
Installatie MS Word Merge Add-on SE
De MS Word Merge Add-on SE dient separaat te wordt geïnstalleerd. Zonder een geldige licentie voor de MS Word Merge Add-on, kunt u alleen templates opzetten voor het versturen van e-mail vanuit de Trigger and Validation Manager. Voor meer informatie over de installatie zie WM 3.
5.2
Onderhoud XML Parser
Afhankelijk van de business component waarop de gebeurtenis wordt gedefinieerd, kunt u de relevante gegevens mergen. Business Component Employee Associates en Contact Request PrProject en CSNOB1799xxxx
Onderdeel uit XML Parser dat meekomt bij mergen HUIDIG, HRM HUIDIG, CRM, CONTACT HUIDIG, HRM, CRM, CONTACT, VERZOEK, PROJECT HUIDIG, CRM, PROJECT
Indien de e-mail moet worden verstuurd op basis van een ander business component dan de bovengenoemde, dient u eerst een gebeurtenis op te zetten dat een verzoek aanmaakt. In dit verzoek kunt u de relevante gegevens vullen vanuit het betreffende business component. Vanuit dit verzoek maakt u een tweede gebeurtenis aan, gebaseerd op de business component ‘Request’. Voor meer informatie over het aanmaken van XML Parser velden zie WM 4.4.
5.3
Aanmaken mergevelden
U plaatst de gewenste mergevelden in het document en slaat het document op in Synergy. Voor meer informatie over het aanmaken van Word Merge documenten zie WM 4.5.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 63 van 108
5.4
Aanmaken Word-template
Maak een nieuwe Word-template zoals beschreven staat in WM 4.6.
Aan elke template dienen rollen toegekend te worden. Open een bestaande koppeling en klik op de knop “Nieuw” bij het onderdeel ‘Rollen’ om een rol te koppelen aan deze template.
5.5
Aanmaken E-mail stap
Zoals aangeven in paragraaf 4.3.9 selecteert u de juiste Word-template als e-mail bodydocument:
De templates die u kunt selecteren, worden bepaald aan de hand van de gekozen business component waarop de gebeurtenis is vastgelegd en de gebieden die u heeft in de vorige stap. Zie ook paragraaf 5.2 voor de XML Parser velden.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 64 van 108
5.5.1
Versturen van bijlagen in de e-mail
U kunt ook meerdere bijlagen in de mail bijvoegen. U heeft daarvoor de volgende mogelijkheid: 1. Gebruik maken van de aangemaakte documenten via een E-mail of een Wordmerge stap. Daarvoor zijn de globale variabelen _EventDocumentHID1 t/m 5 beschikbaar. Deze worden dynamisch toegekend op basis van de volgorde van de voorgaande stappen. 2. Gebruik maken van een vaste verwijzing naar een documentnummer (HID), bijvoorbeeld uw leveringsvoorwaarden. 3. Gebruik maken van een ‘Query’, waarbij u de HID(s) selecteert op basis van een query. Bijvoorbeeld: ‘select hid from bacodiscussion where type=2 and cmpwwn=@ID’, waarbij alle documenten die voldoen aan dit criterium zullen worden bijgevoegd. U hoeft voor een bijlage geen andere selectie te doen dan het documentnummer. Van de gekozen documenten worden ook alle bijlagen van het document verstuurd. Indien er geen bijlage aan het document is gekoppeld, zal er niets worden verstuurd. U kunt meerdere documentbijlagen selecteren, door deze met een puntkomma (‘;’) te scheiden:
5.6
Testen met een ‘lokale’ mailserver
Voor testdoeleinden kan met een lokale mailserver applicatie worden gewerkt, die het e-mailverkeer simuleert. Door een freeware applicatie als Test Mail Server Tool (zie http://www.toolheap.com/testmail-server-tool) te installeren en deze in de instellingen te configureren (werkstationnaam als server, poort 25 als mailuitgang), wordt de aangemaakte mail onderschept. Deze kan bekeken worden met de lokale mailclient door het bestand in de aangegeven directory te openen. NB: Op het gebruik van deze freeware software wordt geen support verleend.
5.7
Overige instellingen
De volgende onderdelen van de MS Word Merge Add-on zijn relevant voor het opzetten van e-mail binnen de Trigger and Validation Manager.
5.7.2
Multi-merge
In een e-maildocument zal de parameter MULTIDOC_ geen functie hebben. MULTIPAR_ en MULTIROW_ zijn mogelijk als u daarvoor een specifiek XML Parser veld opzet en de juiste mergevelden gebruikt (zie WM 4.4 en 5.1).
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 65 van 108
U kunt in één veld een query opnemen, die meerdere velden uit een gerelateerde entiteit ophaalt. Het XML Parser veld kan er zo uitzien:
U maakt het veld aan in het gebied CRM. In het “SQLQuery” veld geeft u de volledige SQL-statement in met de gewenste velden. De selectie wordt toegepast op de relatie waar vandaan de merge wordt opgestart, door ‘a.customerid=CRM’ toe te voegen. Uiteraard specificeert u de status (‘a.status’) en het verzoektype (‘a.type’) op basis van uw verzoekdefinitie. In het “Conditie” veld specificeert u de veldnamen zoals u deze opneemt in de template. De velden worden gescheiden door een puntkomma (‘;’). De veldnamen kunt u zelf bepalen, mits er geen spaties worden gebruikt. U kunt wel ‘_’-tekens gebruiken. Door nu deze velden op te nemen in de mergebrief maakt u deze template aan. Leg een gebeurtenis aan op basis van verzoeken (business component ‘Request’):
De criteria worden ingesteld op het bewerken en aanmaken van een nieuw verzoek, van het type 40 en wanneer het veld “Bevestiging Email” (FreeBoolField_01) wordt aangevinkt.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 66 van 108
De stap die wordt uitgevoerd, ziet er zo uit:
NB: Hierbij ervan wordt uitgegaan dat de contactpersoon in het verzoek is gekoppeld en dat deze een geldig e-mailadres heeft. Indien gewenst kan dat als extra criteria worden opgenomen in de gebeurtenis. De mail die verstuurd wordt als er één verzoek wordt aangepast, ziet er zo uit:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 67 van 108
Hiervoor is in de verzoekdefinitie een ‘Ja/Nee’-veld opgenomen die op een van de (meervoudige) verzoeken wordt aangevinkt. LET OP: Doe dat niet in het formulier, anders wordt deze in alle onderliggende verzoeken gevuld, waardoor er per verzoek een mail wordt verzonden.
5.7.3
Schakelopties
Om onder andere de vormgeving van velden te beïnvloeden, dienen de juiste schakelopties te worden gebruikt. In dit voorbeeld ziet u de ‘#DATE5’ schakelopties zijn toegevoegd aan de begin- en einddatum mergevelden, waardoor de tijd wordt getoond.
Voor meer schakelopties verwijzen wij naar WM 5.2.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 68 van 108
5.7.4
Velden debuggen
Indien u wilt zien welke gegevens in het Word-document worden gebruikt, kunt u de instelling “Medewerkernr debuggen documentvelden” invullen (zie WM 4.7). Het resultaat is dan als volgt zichtbaar:
NB: Zorg met deze optie ervoor dat u naar een vast (eigen) e-mailadres mailt of maak gebruik van de lokale mailserver functionaliteit.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 69 van 108
6
Exporteren en Importeren
U kunt gedefinieerde gebeurtenissen van de ene (test)omgeving naar een andere (productie)omgeving overzetten met behulp van de export- en importfunctionaliteit. Daarbij geldt als randvoorwaarde dat de Trigger and Validation Manager op beide omgevingen is geïnstalleerd en dat de tussentabellen en stored procedures zoals gespecificeerd in paragraaf 3.5 zijn aangemaakt.
6.1
Exporteren en documenteren van gebeurtenissen
Via het menu pad “Add-on | Inrichting | Trigger and Validation Manager SE: Exporteren Gebeurtenissen” start u de export op:
Bij de ‘Criteria’ kunt u de beschikbare gebeurtenissen filteren op bijvoorbeeld naam, business component en/of actief. Geef ook een “Sortering” op, om het zoeken te vergemakkelijken. U heeft de keuze uit een sortering op basis van ‘Categorie/Omschrijving/Business component/Volgorde’ of op basis van ‘Business component/Volgorde/Categorie/Omschrijving’. Deze sortering wordt ook meegenomen bij de optie “Documenteren”. Het scherm bestaat uit twee delen: het bovenste deel bevat alle gedefinieerde gebeurtenissen, het onderste deel bevat alle gedefinieerde globale parameters. In de eerste kolom selecteert u de individuele gebeurtenissen en parameters. Door het vinkje te zetten in de kopregel van de kolom, worden alle regels tegelijk geselecteerd.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 70 van 108
6.1.1
Exporteren
Door op de knop “Exporteren” te drukken, maakt u een XML-bestand aan. Dit bestand kunt u daarna importeren in een andere Synergy omgeving. Er wordt gevraagd waar u het bestand wilt opslaan:
Bewaar het bestand op een locatie op uw werkstation. De bestandsnaam wordt automatisch samengesteld op basis van de naam TVM_Events, aangevuld met de datum en tijdstip van de export. U kunt de parameters en de gebeurtenissen gezamenlijk met - of afzonderlijk van elkaar exporteren.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 71 van 108
6.1.2
Documenteren
Door op “Documenteren” te klikken, maakt u een DOCX-bestand aan. De knop “Documenteren” heeft u alleen wanneer u de add-on MS Word Merge Add-on SE heeft geïnstalleerd. Houd er rekening mee dat het documenteren langere tijd kan duren. Er verschijnt de vraag waar u het DOCXbestand wilt opslaan:
In het document staat een beschrijving van de geselecteerde gebeurtenissen en parameters, inclusief de informatie over wie de definities heeft aangemaakt en/of gewijzigd:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 72 van 108
6.2
Importeren van gebeurtenissen
De geëxporteerde gebeurtenis kunt u vervolgens in een andere omgeving inlezen. Dat doet u via het menu pad “Add-on | Inrichting | Trigger and Validation Manager SE: Importeren Gebeurtenissen”:
Met de instelling “Bestaande overschrijven” wordt een gebeurtenis met exact dezelfde omschrijving overschreven door de import. Selecteer het XML-bestand en druk op “Importeren”. U krijgt vervolgens het volgende scherm:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 73 van 108
Elke gebeurtenis wordt op basis van de gedefinieerde stappen geïmporteerd. Voor elk ingesteld criterium of stap wordt bepaald of deze correct zijn ( ), dat u nog zaken kunt nalopen ( ) of welke zaken u nog moet doen ( ). NB: Er volgt geen melding wanneer u in de criteria of stappen stored procedures, functies of views aanroept, die niet in de doelomgeving aanwezig zijn. Deze dient u zelf in SQL over te zetten.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 74 van 108
Via de hyperlink op de naam van de gebeurtenis opent u direct het onderhoud van deze gebeurtenis in een nieuw scherm en kunt u de noodzakelijke instellingen nalopen:
Een geïmporteerde gebeurtenis wordt standaard niet actief gezet. U dient daarnaast ook de repository opnieuw op te bouwen indien u een gebeurtenis heeft ingesteld op een nieuwe business component.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 75 van 108
7
Voorbeeld Gebeurtenissen
In dit hoofdstuk worden een aantal voorbeelden toegelicht, op basis van de verschillende business componenten. 1. Controle of het postcodeveld van de relatie het juiste formaat heeft. Indien deze niet correct is, wordt een melding getoond aan de gebruiker. 2. Controle of het veld ‘Accountmanager’ van de relatie correct is gevuld. Indien deze niet correct is, wordt een melding getoond aan de gebruiker. 3. Controle op de invoer van een plaatsnaam. Indien deze in kleine letters wordt ingegeven, wordt deze omgezet naar hoofdletters. 4. Bij het wijzigen van een artikel wordt een verzoek aangemaakt voor de medewerker die is gekoppeld als manager. 5. Bij het wijzigen van een relatie wordt gecontroleerd of er verzoeken van type X aan de relatie zijn gekoppeld. 6. Als de status van het moederproject verandert, worden de statussen van de kindprojecten meteen veranderd. 7. Bij het indienen van een verzoek, wordt een nieuw document aangemaakt en direct gekoppeld aan het verzoek. 8. Indien een medewerker wordt aangemaakt, wordt een e-mail verstuurd ter bevestiging.
7.1
Controle postcode van de relatie
Deze trigger wordt ingesteld op het businesscomponent ‘Associates’.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 76 van 108
7.1.1
Criteria
De “Modus business component” wordt ingesteld op ‘Bewerken+Nieuw’. U kunt deze eventueel uitbreiden met een criterium “Waarde van eigenschap”, waarbij u bijvoorbeeld selecteert op de eigenschap ‘cmp_type’ is gelijk aan ‘C’ (klanten). Postcode correct?
Er zijn meerdere postcodevelden aanwezig in de repository. Deze hangen met elkaar samen, waarbij de Mail* eigenschappen gekoppeld zijn aan het invoerscherm. Afhankelijk van de instelling of de andere adressen gelijk zijn aan het bezoekadres, worden deze ook gewijzigd bij het wijzigen van de Mail* adresvelden.
7.1.2
Stappen
Geef melding:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 77 van 108
Als alternatief kunt u de melding uitbreiden met een variabele:
7.2
Controle kostenplaats accountmanager
Met deze trigger wordt gecontroleerd of de juiste accountmanager is gevuld. Indien deze niet correct is, wordt een melding gegeven aan de gebruiker. Het gebruikte business component is ‘Associates’ (relatie) of ‘Contact’ (contactpersoon).
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 78 van 108
7.2.3
Criteria
De “Modus business component” is ‘Bewerken+Nieuw’. Alleen bij type klant:
Controle query:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 79 van 108
7.2.4
Stappen
Melding kostenplaats:
7.3
Controle of plaatsnaam in hoofdletters staat
Bij het aanmaken of wijzigen van een relatie wordt de invoer van de plaatsnaam gecontroleerd. Als deze in kleine letters staat, wordt deze automatisch omgezet naar hoofdletters.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 80 van 108
7.3.5
Criteria
Plaatsnaam:
Controle of veld nog niet in hoofdletters staat:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 81 van 108
7.3.6
Stappen
Invoegen tussentabel:
Omdat u een SQL-commando gebruikt om een veld te bewerken, kunt u niet gebruik maken van de stored procedure. Connection framework uitvoeren:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 82 van 108
7.4
Aanmaken verzoek bij wijzigen artikel
Deze trigger wordt ingesteld om daarmee de medewerker die gekoppeld is aan het artikel te informeren dat er gegevens gewijzigd zijn.
7.4.7
Criteria
Het criterium is in dit geval zeer ruim gesteld: als het artikel wordt bewerkt, ongeacht door wie of welk veld. NB: Let bij zulke triggers op de uitwisseling van gegevens tussen Synergy en Globe. Deze kunnen ongewenst leiden tot het activeren van de trigger.
7.4.8
Stappen
Invoegen tussentabel:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 83 van 108
Als het noodzakelijk is om in een verzoek werkstroomopmerkingen met een verklarende tekst te geven wie het artikel heeft gewijzigd, is het raadzaam om een INSERT te doen op de tussentabel:
Uitvoeren connection framework:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 84 van 108
7.5
Controle aanwezigheid Support Verzoek
Deze trigger wordt ingesteld op het wijzigen van een relatie, waarbij een melding wordt gegeven als er geen verzoek(en) van het type 50 aanwezig zijn. Deze kan indien gewenst ook op andere entiteiten worden toegepast.
7.5.9
Criteria
Controle support verzoek:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 85 van 108
7.5.10
Stappen
Melding Supportverzoek:
7.6
Bijwerken status aan de hand van het moederproject (entiteit)
Deze trigger gaat uit van het gelijk houden van de status van de moederentiteit en de daaraan gekoppelde kindentiteiten. NB: De te importeren gebeurtenis gaat uit van Project in plaats van een Solution Builder entiteit.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 86 van 108
7.6.11
Criteria
Status:
7.6.12
Stappen
Invoegen tussentabel:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 87 van 108
Uitvoeren connection framework:
7.7
Aanmaken document bij aanmaken verzoek
Deze trigger zorgt ervoor dat op basis van variabelen in het verzoek een document wordt aangemaakt en deze weer wordt gekoppeld aan het verzoek zodra deze wordt opgeslagen. De gebruikte stored procedure dient separaat te worden aangemaakt (_conn_sp_confdoc.sql), waarbij de juiste verwijzing naar de Synergy-omgeving moet worden ingesteld in het bodygedeelte van de syntax.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 88 van 108
7.7.13
Criteria
De criteria worden ingesteld bij het aanmaken van een verzoek van een specifiek type.
7.7.14
Stappen
De stappen dienen in de juiste volgorde te worden uitgevoerd. SP aanmaken document:
De stored procedure is een kopie van de ‘_conn_sp_bddocument’, waarbij het bodyveld dynamisch wordt opgebouwd uit een combinatie van vaste HTML-code en parameters. /****** Object: StoredProcedure [dbo].[_CONN_SP_ConfDoc] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[_CONN_SP_ConfDoc] ( @Createdby INT =NULL, @Created DATETIME = NULL, @CreatedFullname VARCHAR(70) = NULL, @CustomerID UNIQUEIDENTIFIER = NULL, @EventSessionID UNIQUEIDENTIFIER = NULL ) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 89 van 108
-- Insert statements for procedure here insert into _conn_tb_bddocument ( [_mode],[_eventsessionid], [body], [createdBy],[createdbyFullname],[CreatedDate],[Status],[Subject],[type],[as sociate] ) values ( 0,@EventSessionID, 'test
Link
' COLLATE DATABASE_DEFAULT, --'test
', @createdby,@createdFullname,@created,'30','configuratie',2,@customerID ) END SELECT syscolumns.name FROM syscolumns INNER JOIN sysobjects ON syscolumns.ID = sysobjects.ID WHERE sysobjects.name=N'_CONN_tb_bddocument' GO
Het Connection Framework wordt uitgevoerd. De derde stap is het ‘Invoegen tussentabel verzoeken’:
Op basis van de query select ID from _conn_tb_bddocument where _EventSessionID=@_EventSessionID wordt het documentID opgehaald uit de tussentabel die in stap 1 is aangemaakt.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 90 van 108
7.8
Versturen mail bij nieuwe medewerker
De trigger zorgt ervoor dat bij het aanmaken van een nieuwe medewerker een e-mail wordt verstuurd met informatie over de eerste werkdag.
7.8.15
Criteria
De criteria worden ingesteld op het aanmaken van een nieuwe medewerker. Indien gewenst kan als extra criteria het medewerkertype worden meegegeven.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 91 van 108
7.8.16
Stappen
Er wordt één stap uitgevoerd, namelijk ‘Versturen email nieuwe medewerker’:
De afzender is op basis van de medewerker die de gebeurtenis opstart. De mail wordt verstuurd naar het privémailadres van de nieuwe medewerker en naar de HRMafdeling. In de CC wordt via een query de zakelijke mail van de aan de medewerker gekoppelde manager opgehaald. In de bijlage wordt een vast document ID (in dit geval 152) opgehaald met daarin bijvoorbeeld het personeelsregelement.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 92 van 108
8
Foutenafhandeling
Omdat de meeste acties op de achtergrond automatisch plaatsvinden, is het niet altijd even duidelijk waarom gebeurtenissen niet leiden tot de gewenste actie. U heeft een aantal hulpmiddelen om te achterhalen wat er niet goed gaat. 1. Controleer of de criteria juist zijn ingesteld. Indien u meerdere criteria toevoegt aan een trigger, kan het voorkomen dat deze te ruim of te nauw zijn ingesteld. U kunt deze activeren of deactiveren om te zien of deze het gewenste effect geven. 2. Geef een melding. Om te controleren of uw criteria werken, kunt u als stap een melding geven. Krijgt u de melding, dan kunt u de stappen vervangen door een INSERT statement of het uitvoeren van een stored procedure. 3. U kunt de stap voor het uitvoeren van het Connection Framework nog niet activeren. Hiermee controleert u of het invoegen van een record in de tussentabel werkt. 4. U kunt de aangemaakte tussentabelrecord controleren. Het veld [_status] geeft de staat weer: waarde 0 is aangemaakt, 1 is verwerkt, 2 is verworpen (na uitvoeren van het Connection Framework). 5. U kunt de aangemaakte records desgewenst laten uitvoeren door de background job. Raadpleeg daarvoor paragraaf 10.1. 6. Raadpleeg het proces- of het foutenlog via “Systeem | Overzichten | Log”. 7. Raadpleeg het aangemaakte foutenverzoek (zie paragraaf 3.8).
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 93 van 108
9
Opzetten scheduled events
U heeft de mogelijkheid om een gedefinieerde trigger op een bepaald tijdstip uit te voeren. Met deze functionaliteit bent u in staat om een gebeurtenis uit te voeren, ook zonder dat er een gegeven in Synergy wordt aangemaakt of gewijzigd. U kunt hiermee bijvoorbeeld controleren of velden in een verzoek of op een relatiekaart een bepaalde waarde hebben, waarna u een actie uitvoert. Deze actie kan bijvoorbeeld zijn het aanmaken van een nieuw verzoek of het versturen van een e-mail. Met een achtergrondproces maakt u een nieuw record aan in de tabel CSNobEvntEventTransactions. Door een gebeurtenis vast te leggen op een nieuw record in deze business component, aangevuld met specifieke criteria als taakomschrijving of vorige taak, voert u enkele stappen uit. Voor het inrichten van een Scheduled Event dient u de volgende zaken uit te voeren:
9.1
Achtergrondproces Exact.Process.exe
De background job Exact.Process.exe kan op een aantal manieren worden ingesteld. De standaard en meest stabiele methode is via een SQL Job in de SQL Server Agent. Deze methode wordt daarom ook aangeraden. In specifieke gevallen kan ervoor gekozen worden hiervan af te wijken. De background job Exact.Process.exe bevindt zich in de Bin-map in de Synergy installatiemap. U dient de volgende parameters verplicht mee te geven in de instellingen. /DBCONFIG: /ASSEMBLY: /CLASS: /TASK:
De naam van de virtual directory zoals vermeld in het db.config bestand. Vaste waarde: CSNobEvnt.Core. Vaste waarde: EventTransactions. De omschrijving van de taak, zonder spaties. Deze hoeft niet gelijk te zijn aan de naam van de gebeurtenis. Bijvoorbeeld: TAAK001
LET OP: De parameters zijn verplicht en zijn hoofdlettergevoelig. U stelt de job als volgt in: “<Synergy directory>\bin\Exact.Process.exe” /DBCONFIG: /ASSEMBLY:CSNobEvnt.Core /CLASS:EventTransactions /TASK: Voor het uitvoeren van taak1, ziet de instelling voor de job er bijvoorbeeld zo uit: “C:\Program Files\Synergy\bin\Exact.Process.exe” /DBCONFIG:Synergy /ASSEMBLY:CSNobEvnt.Core /CLASS:EventTransactions /TASK:TAAK001 Voor het automatisch laten uitvoeren van dit achtergrondproces via de SQL Task Manager of Scheduled Tasks, zie paragraaf 10.1.1 of 0.
9.2
Opzetten gebeurtenis
Doordat er met het achtergrondproces een nieuw record wordt aangemaakt in de tabel CSNobEvntEventTransactions, kun u een gebeurtenis opzetten op dit business component. Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 94 van 108
Stel, u maakt op gezette tijden een record aan met de naam TAAK001. De gebeurtenis ziet er dan als volgt uit:
De criteria worden ingesteld op een nieuw record. Daarnaast wordt expliciet gecontroleerd of de waarde van de property Task de waarde TAAK1 heeft:
De stap ‘controle op verjaardag’ ziet er als volgt uit:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 95 van 108
Met een ‘Validatie’ stap op basis van een ‘Query’ worden eventueel records in de tussentabel gezet voor alle medewerkers die deze week jarig zijn. Uiteraard worden er geen records toegevoegd als het resultaat van de query geen resultaten oplevert. Door vervolgens het Connection Framework als stap uit te voeren, worden alle aangemaakte records in de tussentabel verwerkt in Synergy:
9.3
Geavanceerde mogelijkheden
U kunt meerdere gebeurtenissen op deze manier achter elkaar opstarten, door bij het uitvoeren van TAAK1 ook stappen te definiëren om een nieuw record aan te maken of een bestaand record in de tabel CSNobEvntEventTransactions bij te werken. Zie daarvoor de tabeldefinitie zoals beschreven in paragraaf 3.5.10. Door vervolgens nieuwe gebeurtenissen te definiëren op het business component CSNobEvntEventTransactions, kunt u de verschillende acties achter elkaar laten uitvoeren.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 96 van 108
10
Opzetten Connection Framework
Naast het direct uitvoeren van het Connection Framework als stap in een gebeurtenis, is het ook mogelijk om het Connection Framework direct aan te roepen in een achtergrondproces. Hiermee wordt het mogelijk om een of meerdere records in de tussentabel om te zetten naar een entiteit in Synergy. Denk daarbij aan een eenmalige conversie van gegevens of het periodiek bijwerken van tussentabellen met behulp van Orbis of Exact Event Manager.
10.1 Instellen achtergrondproces CSNobConnScheduler De CSNobConnScheduler kan op een aantal manieren worden ingesteld. De standaard en meest stabiele methode is via een SQL Job in de SQL Server Agent. Deze methode wordt daarom ook aangeraden. In specifieke gevallen kan ervoor gekozen worden om hiervan af te wijken. De CSNobConnScheduler wordt uitgevoerd door de standaard executable Exact.Process.exe. Deze executable bevindt zich in de Bin-map in de Synergy programmatuurmap en voert alle achtergrondprocessen uit. De verschillende achtergrondprocessen zijn DLL-bestanden die door de executable worden aangeroepen via parameters. U dient de volgende parameters mee te geven: /DBCONFIG /ASSEMBLY /CLASS /T: /W:
/R:
De naam van de Synergy virtual direactory. Refereert naar de DLL die de betreffende functie bevat. Refereert naar de specifieke functie in de DLL. Naam van de tabel (‘_CONN_TB_xxx’) of naam van de view. Optioneel kunt u deze parameter toevoegen, waarin een WHERE clause opgegeven worden. WHERE vult u niet in en gebruik quotes bij het gebruik van spaties. Bijvoorbeeld: alle verzoeken met status x /W:”status = x” Optioneel kunt u deze parameter toevoegen, waarin u opgeeft dat u slechts 1 regel uit de tabel ‘_CONN_TB_xxx’ wilt uitvoeren. U vult hier de waarde in uit het veld ‘_ID’ in de tabel.
LET OP: De parameters /DBCONFIG:, /ASSEMBLY:, /CLASS: en /T: zijn verplicht en alle parameters zijn hoofdlettergevoelig. U stelt het achtergrondproces als volgt in: “<Synergy directory>\bin\Exact.Process.exe” /DBCONFIG: /ASSEMBLY:CSNobConn.Scheduler /CLASS:CSNobConnScheduler /T: /W:<WHERE clause> /R:<_ID uit tabel _CONN_TB_xxx> LET OP: Bij het gebruik van spaties in de ‘<Synergy directory>’ dient u het gehele menupad te omsluiten met dubbele aanhalingstekens. Voor wijzigingen in tabel absences ziet de job er bijvoorbeeld zo uit: “C:\Program files\Exact Synergy\bin\Exact.Process.exe” /DBCONFIG:SynTVM /ASSEMBLY:CSNobConn.Scheduler /CLASS:CSNobConnScheduler /T:_CONN_TB_Request /W:”status = 4” /R:271A78A5-6F48-DF11-8059-001B783B0E8C LET OP: Voor iedere tabel ‘_CONN_TB_xxx’ of voor iedere view dient u een aparte job in te stellen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 97 van 108
10.1.1
SQL Job
Zoals gezegd is het aan te raden de background job in te stellen als SQL Job. Start de SQL Server Management Studio en klik met de rechter muisknop op “<SQL Server> | SQL Server Agent | Jobs”. Kies “New Job”. Vul een logische “Name” in. Bij “Owner” is het meest gebruikelijk om ‘sa’ in te vullen. LET OP: Het account (de owner) waaronder de job draait, moet dezelfde zijn als waaronder de SQL Server Agent draait. Daarnaast moet het account toegang hebben tot de Synergy en Globe databases. Ga naar ‘Steps’ en kies “New”. Geef een “Step name” op en kies bij “Type” voor ‘Operating system (CmdExec)’. Vul bij ‘Command’ het commando zoals hierboven beschreven: “<Synergy directory>\bin\Exact.Process.exe” /DBCONFIG: /ASSEMBLY:CSNobConn.Scheduler /CLASS:CSNobConnScheduler /T: /W:<WHERE clause> /R:<_ID uit tabel _CONN_TB_xxx>.
Bij ‘Run as’ kiest u bij gebruik van SQL 2005 voor “SQL Server Agent Service Account”. Bij gebruik van SQL 2008 dient u eerst nog een proxy in te stellen en deze vervolgens te selecteren bij ‘Run as’. Meer informatie over het instellen van een proxy kunt u nalezen in paragraaf 10.1.1.1. Klik op “OK” en vul bij “Scheduled | New” nog een schedule in waarop de job moet draaien. Controleer tot slot bij “General” of “Enabled” is aangevinkt en klik op “OK” om de job te activeren. LET OP: Zorg ervoor dat de SQL Server Agent altijd draait. 10.1.1.1 Proxy instellen in SQL 2008 Zoals eerder vermeld, dient u bij gebruik van SQL 2008 een proxy in te stellen om SQL jobs te kunnen laten draaien. Allereerst maakt u hiervoor een nieuwe credential aan. Klik met de rechter muisknop op ‘Security | Credentials’ en kies voor “New Credential”.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 98 van 108
Het account dat u hier instelt, dient voldoende rechten te hebben binnen Synergy en is daarom ook het account waaronder de SQL Server Agent en de job zal draaien. Klik vervolgens met de rechter muisknop op ‘SQL Server Agent | Proxies’ en kies voor “New Proxy”. Geef een ‘Proxy name’ op en kies bij ‘Credential name’ de credential die u zojuist heeft ingesteld. Bij ‘Active to the following subsystems’ vinkt u de optie “Operating system (CmdExec)” aan. Klik tot slot op “OK”.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 99 van 108
10.1.2
Scheduled Task
Een soortgelijke methode als de SQL Job is een ‘Geplande Taak’. Deze is toe te voegen via het Windows Configuratiescherm. In de ‘Wizard Taak plannen’ klikt u “Volgende”. Klik in het volgende scherm op “Bladeren” en navigeer naar de Exact.Process.exe. Kies hoe vaak u de job wilt draaien, bijvoorbeeld ‘Dagelijks’. Klik “Volgende” en vul in op welke tijden u de job wilt draaien. Klik “Volgende”. U vult hier de gebruikersnaam in waaronder de job moet draaien. LET OP: De gebruikersnaam dat u hier invult moet toegang hebben tot de Synergy database. Klik “Volgende” en vink de optie “Geavanceerde eigenschappen voor deze taak openen wanneer ik op Voltooien klik” aan en klik “Voltooien”. Vul het veld “Uitvoeren” aan met de parameters zoals hierboven vermeld en zorg ervoor dat “Ingeschakeld (de geplande taak wordt op de ingestelde tijd gestart)” is aangevinkt. Klik op “OK” om de geplande taak te activeren.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 100 van 108
10.1.3
Orbis TaskCenter
Wanneer u het achtergrondproces vanuit Orbis TaskCenter aan wilt roepen, dient u de CSNobConnScheduler te starten via de volgende Visual Basic code: Set oWsc = CreateObject("WScript.Shell") Set oExec = oWsc.Exec("<Synergy directory>\bin\Exact.Process.exe” /DBCONFIG: /ASSEMBLY:CSNobConn.Scheduler /CLASS:CSNobConnScheduler /T:") /W:"<where-clausule>") Do While oExec.Status <> 1 oWsc.Exec(“cscript.exe /T:100 ““<Synergy directory>\bin\sleep.vbs”””) Loop Parameter /W: is optioneel. U kunt hiermee desgewenst een where-clausule meegeven aan de code. Let op de aanhalingstekens bij gebruik van spaties. Voor elke nieuwe tabel, dient een aparte Orbis taak ingesteld te worden. Voor meer informatie over hoe de Orbis taken ingesteld dienen te worden, verwijzen wij u naar de handleiding van Orbis TaskCenter.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 101 van 108
11
Bekende meldingen
11.1 Insufficient result space to convert uniqueidentifier value to char. Bij het uitvoeren van een INSERT op een tabel, kan het voorkomen dat de combinatie van tekst plus een veld van bijvoorbeeld type guid een foutmelding oplevert: Bijvoorbeeld: insert into _conn_tb_bddocuments ([_mode],[type],[body]) values (1,1,(’code…….’+@CustomerID+’tekst’)) Insufficient result space to convert uniqueidentifier value to char Plaatst u dan achter het veld een COLLATE DATABASE_DEFAULT, Bijvoorbeeld: insert into _conn_tb_bddocuments ([_mode],[type],[body]) values (1,1,(’code…….’+@CustomerID+’tekst’) COLLATE DATABASE_DEFAULT)
11.2 De getoonde melding is leeg Indien u een “Validatie” stap met een foutmelding wilt geven en de melding is leeg, heeft u een variabele opgenomen die op dat moment niet gevuld is. Verwijder de variabele of zorg dat de waarde die u wilt tonen altijd gevuld is.
11.3 The requested data could not be found Bij het aanmaken en uitvoeren van het Connection Framework komt de melding: The requested data could not be found. Meest voorkomende fout is dat het record niet wordt aangemaakt door een fout in de syntax of stored procedure, waardoor ook het uitvoeren van het Connection Framework niet lukt. Probeer de stappen afzonderlijk uit te voeren om na te gaan wat er mis is met de gebruikte syntax.
11.4 Trigger wordt niet uitgevoerd bij automatisch goedgekeurd verzoek Wanneer een verzoek op automatisch goedkeuren staat ingesteld, zal een verzoek direct in de status ‘Goedgekeurd’ komen.
Status ‘Open’ wordt overgeslagen. Daarom zal een trigger ingesteld op de status ‘Open’ van een verzoek in zo’n geval nooit uitgevoerd kunnen worden.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 102 van 108
11.5 The select permission was denied on the object XXXXXX Indien gebruik gemaakt wordt van een cross database query, dient u binnen SQL de juiste rechten in te stellen in de bron database. Stel, u wilt de factuurhistorie ophalen. U kunt daarvoor een view aanmaken in de Globe database, bijvoorbeeld _Faktuurhistorie002. In de Globe database zorgt u ervoor dat de public users select rechten krijgen:
Ook kunt u een stored procedure maken, waarbij de noodzakelijke rechten voor de Public role op ‘Execute’ moeten worden ingezet. Vervolgens kunt u deze tabel/view/stored procedure aanroepen in de gebeurtenis (in de Synergy database) door [Globe database].dbo. voor de tabel/view/stored procedure te plaatsen.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 103 van 108
11.6 Indices tussentabellen Om de performance te verbeteren en om eventuele deadlocks te voorkomen wanneer er veel gebeurtenissen tegelijkertijd op dezelfde tussentabellen worden uitgevoerd, dienen er indices te worden aangebracht. Deze indices worden automatisch toegevoegd, wanneer de tussentabellen vanuit het menu worden bijgewerkt:
Na het bijwerken van de tussentabel, zijn de indices aangemaakt.
Dit dient handmatig gedaan te worden voor alle aangemaakte tussentabellen.
11.7 Backoffice connectie niet of niet correct ingesteld Via het menu “Add-on | Inrichting | Trigger and Validation Manager SE: Aanmaken en bijwerken tabellen voor import” kunt u de benodigde tussentabellen en stored procedures aanmaken en bijwerken voor het gebruik van Connection Framework (zie paragraaf 3.5.6).
Indien u bij “Tabel type” kiest voor ‘Globe’ en u heeft geen backoffice connectie ingesteld, krijgt u een melding:
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 104 van 108
De volgende melding krijgt u wanneer u vergeet de connectie te activeren:
Wanneer u een foutieve ‘Applicatie server (Exact Globe Next)’ en/of ‘Database pas (Exact Globe Next)’ heeft ingesteld, komt de volgende foutmelding:
Zie paragraaf 3.5.7 voor informatie over hoe u de backoffice connectie correct dient in te stellen.
11.8 Foutmelding bij aanmaken financiële boeking in Globe uit Synergy Bij het aanmaken van een financiele boeking in Globe vanuit Synergy kan het voorkomen dat u de volgende foutmelding krijgt: “The communication object cannot be used for communication because it is in the Faulted state”. Gehele foutmelding: CSNobEvnt.Core.EventTransactions NAME Record with ID {ID} in table _CSNob_EG_FinancialHeader has not been accepted by the repository. Error: Error in function ProcessEESComponent: Error in gProcessESSData : The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state. "D:\Program Files\Synergyota\bin\Exact.Process.exe" /DBCONFIG:synergy /ASSEMBLY:CSNobEvnt.Core /CLASS:EventTransactions /TASK:BOEKEN U kunt dit oplossen door het Mac-adres aan te passen in de bacoAccessServers-tabel in de Globe database. Voor het nieuwe MAC-adres vindt u via Menu -> Systeem -> Werkstations in de Globe Client Installatie op de server waar Globe (Netwerk) geïnstalleerd staat. Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 105 van 108
12
Termen onderhouden
Voor add-ons kunt u maatwerktermen opgeven voor onder andere label- en omschrijvingvelden. Tevens is er een veld “Term ID” aanwezig in de verschillende onderhoudschermen van de add-on. Hierin vult u een nummer in. Dit nummer bepaalt de term die gebruikt moet worden voor het label of de omschrijving, maar dit bepaalt ook de taal waarin het label of de omschrijving verschijnt, afhankelijk van de taalinstellingen binnen Synergy. U kunt gebruik maken van termnummers die standaard in Synergy aanwezig zijn, maar u kunt ook eigen termen definiëren. Ook voor de onderhoudschermen van de add-on zelf zijn termen gedefinieerd, welke u desgewenst kunt aanpassen voor de verschillende talen waaronder u Synergy gebruikt. Termen onderhoudt u in Synergy via “Add-on | Inrichting | Add-on Menu: Termen”. LET OP: Om termen te komen onderhouden heeft u functierecht 439 nodig. Door dit functierecht te koppelen aan bepaalde rollen en die rollen vervolgens te koppelen aan medewerkers, kunt u zelf bepalen wie er verantwoordelijk is voor het onderhouden van de termen. Na opnieuw inloggen kan de medewerker de termen verder onderhouden. Het volgende scherm wordt geopend:
Kies bij “Taal” de taal waarin de term voorkomt, vink eventueel “Alle” aan of geef een waarde in bij “Termen”, “ID” en/of “Aangepast”. Klik op “Tonen” (of “Actualiseren”) om het overzicht van alle beschikbare termen te tonen die aan uw zoekcriteria voldoen. Open een term om wijzigingen aan te brengen. TIP: Over het algemeen zijn de maatwerktermen te vinden door te zoeken via het veld “Aangepast” met de optie “Alle” aangevinkt.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 106 van 108
12.1 Nieuwe term toevoegen Klik op de knop “Nieuw”. Het veld “ID” is standaard ingevuld met een nieuw nummer. U kunt nu een nieuwe term aanmaken. Vul de term bij de gewenste taal in. Wanneer u op “Bewaren” klikt, zal de term automatisch in de overige velden gevuld worden. U kunt desgewenst ook per taalveld de term invullen in de betreffende taal.
Wanneer u het nummer in het “ID”-veld aanpast en er bestaat al een term met dat nummer, dan zal die term weergegeven worden in de beschikbare talen zodra u de cursor in een van de taalvelden plaatst. U kunt nu desgewenst de termen per taal aanpassen.
12.2 Talen toevoegen Bij termen wordt uitgegaan van actieve talen bij medewerkers en contactpersonen en talen die zijn toegevoegd aan de databasetabel ‘CSNobMnuLanguages’. Desgewenst kunt u talen toevoegen voor het gebruik van de maatwerktermen. Ga naar “Add-on | Inrichting | Termen: Zoeken” en kies een gewenste taal in het uitklapmenu bij “Taal”. Klik op “Toevoegen”. De nieuwe taal wordt aan alle aanwezige termen toegevoegd. U kunt nu bestaande termen zoeken en de nieuw toegevoegde taal vullen of nieuwe termen aanmaken in de nieuwe taal.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 107 van 108
13
Technische eigenschappen
13.1 Databasetabellen Na installatie van de Trigger and Validation Manager SE worden in de database automatisch tabellen toegevoegd. Tabel CSNobEvntCategories CSNobEvntConnFrameworkSteps CSNobEvntCredentials CSNobEvntCriteria CSNobEvntEditModeCriteria CSNobEvntEmailSteps CSNobEvntEvents CSNobEvntEventTransactions CSNobEvntExportSteps CSNobEvntGlobalParameters CSNobEvntIsDirtyCriteria CsNobEvntMRSRapportSteps CSNobEvntPropertyCriteria CSNobEvntQueryCriteria CSNobEvntRecode CSNobEvntRepEventSteps CSNobEvntStepMRSParameters CSNobEvntStepParameters CSNobEvntSteps CSNobEvntStepWebParameters CSNobEvntStoredProcedureSteps CSNobEvntValidationSteps CSNobEvntWebserviceSteps CSNobEvntWordmergeSteps
Omschrijving Categorieën waarin gebeurtenissen zijn gesorteerd Alle “Connection Framework” stappen Vastgelegde inloggegevens Alle “Waarde business component” criteria Meeloop tabel voor de repository Alle “E-mail” stappen Alle Gebeurtenissen Transactie tabel voor Scheduled Events Alle “Import/Export bijlagen” stappen Alle Globale parameters Meelooptabel voor de repository Alle “MRS Rapport” stappen Alle “Business component” criteria Alle “Geavanceerde query” criteria Meeloop tabel voor Recode-stappen Alle “Repeterende gebeurtenis” stappen Alle gekoppelde parameters bij MRS stappen Alle gekoppelde parameters bij stored procedures Alle stappen per gebeurtenis Benodigd voor specifiek maatwerk Alle “Stored Procedure” stappen Alle “Validatie” stappen Benodigd voor speficiek maatwerk Alle “Wordmerge” stappen
13.2 Stored procedures Standaard wordt de stored procedure ‘_CONN_SP_Create_Repository_Component_Enterprise’ toegevoegd aan de database.
Eddon Software BV | Trigger & Validation Manager SE | 25 juni 2015 | pagina 108 van 108