Synergy werkstroom verzoek met foutenlog via TVM

Met een geintegreerde oplossing als Exact Synergy, is het belangrijk om regelmatig te weten welke fouten er in Synergy optreden bij gebruikers, en of het aantal op een specifieke applicatie afwijkend is van de vorige maand. Alleen moet je er dan wel aan denken om dit iedere maand te doen.

Makkelijker is om periodiek een verzoek te laten aanmaken waarin de informatie voorhanden is, zodat dit meteen de aandacht heeft.

Onderstaande query maakt een record aan in een tussentabel van de Synergy addon TVM (Trigger&Validation Manager), die vervolgens gevalideerd een Synergy werkstroom aanmaakt, waarin het aantal foutmeldingen per applicatie wordt getoond, vergeleken met het aantal foutmeldingen in de maand daarvoor.

WITH cte
     AS (SELECT app,
                Count(*) AS aantal1
         FROM   bacoerrorlog
         WHERE  Year(logdate) = Year(Getdate())
                AND Month(logdate) = Month(Dateadd(month, 1, Getdate()))
         GROUP  BY app)
INSERT INTO [dbo].[_conn_tb_request]
            ([_mode],
             [_task],
             [_eventsessionid],
             [type],
             [description],
             [employeeid],
             [requestcomments])
SELECT @_ModeAanmaken,
       LEFT(@_EventDescription + ‘ ‘
            + @_CriteriaOrStepDescription, 255),
       @_EventSessionID,
       102,
       ‘Synergy Errors’,
       6519,
       (SELECT Stuff ((SELECT Char(10) + be.app + ‘ : ‘
                              + Cast(Count(*) AS NVARCHAR(20))
                              + ‘ [deze maand] – ‘
                              + Cast(Isnull(cte.aantal1, 0)AS NVARCHAR(20))
                              + ‘ [vorige maand]’
                       FROM   bacoerrorlog BE
                              LEFT OUTER JOIN cte
                                           ON cte.app = BE.app
                       WHERE  Year(be.logdate) = Year(Getdate())
                              AND Month(be.logdate) = Month(Getdate())
                       GROUP  BY be.app,
                                 aantal1
                       ORDER  BY Count(*) DESC
                       FOR xml path()), 1, 1, )) 

Naast de query is het noodzakelijk om TVM zodanig in te richten, dat er periodiek een record wordt aangemaakt in de EventTransactions tussentabel wordt aangemaakt. De frequentie wordt bepaald door in te stellen hoe vaak de achtergrondtaak wordt uitgevoerd.

Op de server waar Synergy is geinstalleerd kan op deze wijze de achtergrond taak worden ingesteld

“C:\Websites\Synergy\bin\Exact.Process.exe” /DBCONFIG:Synergy /ASSEMBLY:CSNobEvnt.Core /CLASS:EventTransactions /TASK:TAAK001