In diesem Beispiel wird die Einrichtung eines EDIs unter Mithilfe eines Jobs im MS SQL Agents (MS SQL Standard Edition) gezeigt.
Voraussetzung ist die funktionsfähige Installation der EDI Komponenten. Siehe http://flace.de/?p=1636
Ein Video zum Thema findet man hier: https://youtu.be/Cb-FskJqtSg
Es wird ein Beratungstermin mit einem Interessenten vereinbart. Hierzu gibt es eine Quellaktivität von der Art Termin mit folgendem Aufbau:
Diese wird dementsprechend angelegt:
1. Schritt zum Aufbau des Edis:
In der SSMS des SQL Servers einen Job Besprechungsraum anlegen.
2. Schritt das SQL Script im Agent
use bnwins
insert Trigger2EDI (Mandant, Vorgang, Vorgangsnummer, Adresse,
Platzhalter1, Platzhalter1_ID, Platzhalter1_Kuerzel,
Platzlter4, Platzhalter4_ID, Platzhalter4_Kuerzel,
Platzhalter5, Platzhalter5_ID, Platzhalter5_Kuerzel,
erstellt, Beschreibung)
SELECT ‚ ‚,’sonstiges‘,‘ ‚,A.AdrNrGes,
a.BenutzerFeld1,’$Benutzerf1′,’Raum‘,
a.Benutzerfeld2,’$Benutzerf2′,’Anzahl‘,
convert(varchar,m.terminvon,4) as [vonDatum],’$vonDatum‘,’vonDatum‘,
convert(varchar,m.terminvon,8) as [vonUhrzeit],’$vonUhrzeit‘,’vonUhrzeit‘,
–Länge des Substrings anpassen–
substring(m.Kurzbezeichnung,17,50),’$Kurzbezeichnung‘,’Kurzbezeichnung‘,
getdate(), ‚Besprechungsraum‘
FROM wflowAktivitaeten as a LEFT OUTER JOIN MontStrgTermine as M ON a.TerminId = M.TerminID
where a.art=’7′ and a.BenutzerFeld11=’1′
–Job wird ausgelöst zwei Std vor dem Besprechungstermin in einem Zeitfenster von 10 Minuten–
and Sysdatetime() between dateadd(minute,-120,terminvon) and dateadd(minute,-106,terminvon)
3. Schritt
Einen täglichen Zeitplan anlegen der alle 15 min in der Zeit von 07:00 Uhr bis 19:00 Uhr abgearbeitet wird.
4. Schritt
Job Besprechungsraum testen. Wenn Datensätze zu den Bedingungen vorhanden sind, werden diese in die Tabelle Trigger2Edi geschrieben.
USE [BNWINS]
SELECT [Mandant]
,[Benutzerid]
,[Vorgang]
,[Vorgangsnummer]
,[Adresse]
,[erstellt]
,[Beschreibung]
,[ID]
,[xmlerzeugt]
FROM [dbo].[Trigger2EDI]
GO
Für den Datensatz in Zeile 6 wurde noch keine XML Datei im vordefinierten Verzeichnis K:\bnwin\SQL2EDI abgelegt. Die Erzeugung der XML Datei wird durch den Job SQL2EDI – alle 5 min laut Zeitplan durchgeführt.
In der Tabelle Trigger2EDI wird noch etwas Verwirrung gestiftet. Die Datenfelder vom Typ (Varchar(50))
füllen den Platzhalter Knoten der XML Datei in wie folgt:
Platzhalter#_ID Platzhalter#ID = Name des DBFeldes
Platzhalter#_Kuerzel Kuerzel= = $Beschreibungskuerzel
Platzhalter# Beschreibung = Beschreibung
Auf diese Variablen greift das Textfeld der Ereignisaktivität zurück.
5. Schritt Datei wflowEreignisseIndividuell.xml im Ordner Vorlagen anpassen.
<ProgrammTeil Name=“Besprechungsraum XML“>
<Aktion Bezeichnung =“Besprechungsraum“ Id =“Besprechungsraum“>
<Beschreibung>Besprechungsraum</Beschreibung>
<Platzhalter>
<Platzhalter1 Id=“BenutzerFeld1″>
<Kuerzel>$Raum</Kuerzel>
<Beschreibung>Raum</Beschreibung>
</Platzhalter1>
<Platzhalter2 Id=“BenutzerFeld2″>
<Kuerzel>$Anzahl</Kuerzel>
<Beschreibung>Anzahl</Beschreibung>
</Platzhalter2>
<Platzhalter3 Id=“vonDatum“>
<Kuerzel>$vonDatum</Kuerzel>
<Beschreibung>Datum des Termins</Beschreibung>
</Platzhalter3>
<Platzhalter4 Id=“vonUhrzeit“>
<Kuerzel>$vonUhrzeit</Kuerzel>
<Beschreibung>Uhrzeit des Termins</Beschreibung>
</Platzhalter4>
<Platzhalter5 Id=“Kurzbezeichnung“>
<Kuerzel>$Terminbez</Kuerzel>
<Beschreibung>Terminbezeichnung</Beschreibung>
</Platzhalter5>
</Platzhalter>
</Aktion>
</ProgrammTeil> 6. Schritt Aufbau der auszulösenden Aktivität.
Das Teammitglied Andrea ist für die Räume verantwortlich und soll eine Aktivität als Aktennotiz erhalten:
7. Schritt Prüfung des BnNet Workflow Dienstes. Dieser muss gestartet sein, ansonsten wird die erzeugte XML Datei nicht weiterverarbeitet.
Ergebnisse im bnInfocenter:
Push
Vollständige Anzeige