SET QUOTED_IDENTIFIER ON
INSERT INTO eazybusiness.dbo.tWorkflowQueue (
nEvent
,kWorkflow
,kObjektPk
,kBenutzer
,dStartDate
,nStatus
)
SELECT nEvent -- passendes nEvent zu kWorkflow, in dem Beispiel ist es ein Feld aus tWorkflow-Tabelle
kWorkflow -- z.B. 23, in dem Beispiel ist es ein Feld aus tWorkflow-Tabelle
,1234 AS kObjektPk --z.B. kAuftrag oder kArtikel
,11 AS kBenutzer --Workflow Benutzer
,DATEADD(N, 1, GETDATE()) AS dStartDate --damit es Worker ausführt, Verzögerung für 1 Minute
,1 AS nStatus
FROM eazybusiness.dbo.tWorkflow twa --oder lvAuftrag, tArtikel,
--Dieser Code ist nur eine nicht notwendige zusätzliche Prüfung,
--ob der Workflow schon gelaufen ist oder gerade in der Queue steht.
--OUTER APPLY (
-- SELECT TOP (1) kWorkflowLog AS Log_Vorhanden
-- FROM eazybusiness.dbo.tWorkflowLog wfl
-- WHERE wfl.kWorkflow IN (
-- 23
-- )
-- AND wfl.kObjektPk = lvAuftrag.kBestellung
-- AND wfl.cObjectId = lvAuftrag.cBestellnr
-- AND wfl.cLog IN ( 'Der Workflow wurde erfolgreich beendet.')
-- AND kWorkflowAktion = - 1
-- ORDER BY dDatum DESC
-- ) workflow_log
--OUTER APPLY (
-- SELECT TOP (1) wfq.kWorkflowQueue AS Queue_Vorhanden
-- FROM eazybusiness.dbo.tWorkflowQueue wfq
-- WHERE wfq.kWorkflow IN (
-- 23
-- )
-- AND wfq.kObjektPk = lvAuftrag.kBestellung
-- AND wfq.nStatus = 1
-- ORDER BY dStartDate DESC
-- ) workflow_queue
WHERE twa.cName='Mein Auftrag Erstellen'
--AND workflow_log.Log_Vorhanden IS NULL AND workflow_queue.Queue_Vorhanden IS NULL