Ansichten:

Frage:
Mit Active Import war es möglich, Feldzuordnungen auch dann zu definieren, wenn der Datentyp bei der externen Quelle (Datenbank) nicht der gleiche war.
Das bedeutet, dass ein Datenbankfeld vom Typ Text auch einem Datumsfeld in DocuWare zugeordnet werden konnte, solange der Feldinhalt passte. Die Datenbanktypen wurden von Active Import automatisch gecastet.

Wie kann dies bei Verwendung von AUTOINDEX erreicht werden?

Antwort:
Da die Quelldatenbank möglicherweise von anderen Anwendungen befüllt wird und man die Feldtypen nicht ändern möchte, kann man über einen Datenbank-View die Daten mit den gleichen Datentypen wie die Zielfelder in DocuWare verwenden.

Beispiel:
Externe Datenbank mit Indexinformationen in der Tabelle "extdata.dbo.Indexdata" (in MSSQL):

Name der Spalte Datentyp Inhalt
ID Nchar(10) 1
Strichcode Numerisch(18,0) 123456
Dokumentennummer Varchar(50) 45612
Name Varchar(50) Maier AG
Postleitzahl Varchar(50) 81785
Dokumentdatum Varchar(50) 15.09.2014

In DocuWare gibt es auch die Felder Dokumentennummer, Postleitzahl und Dokumentendatum, die jedoch zur besseren Verwendung mit anderen Datentypen erstellt wurden:

DocuWare Feld Datentyp
Dokumentennummer Numerisch
Postleitzahl Numerisch
Datum des Dokuments Datum







Eine Zuordnung der externen Felder zu den DocuWare-Feldern in der Workflow-Konfiguration AUTOINDEX ist daher nicht möglich. Aus diesem Grund wird ein MSSQL-Datenbank-View erstellt, der die Inhalte der DocuWare-Felder umsetzt und eine Zuordnung ermöglicht.
Weitere Details zu den unten genannten Befehlen finden Sie hier:
CAST und CONVERT (Transact-SQL) - SQL Server | Microsoft Learn

Zunächst eine grundsätzliche Erläuterung:

Der View sollte alle Felder der externen DB enthalten, die Grundanweisung sieht also wie folgt aus:

SELECT
ID ,
barcode ,
documentnumber,
name ,
postalcode ,
documentdate
FROM
extdata.dbo.Indexdata


Um ein Textfeld in ein numerisches Feld umzuwandeln, wird der CAST-Befehl verwendet:

CAST (<Feldname> AS <gewünschter Datentyp>) AS <Spaltenname in der Ansicht>

Für das Feld "Dokumentennummer" sollte die SELECT-Anweisung wie folgt angepasst werden:

SELECT
ID ,
barcode
CAST (dokumentennummer AS int) AS dokumentennummer,
Name ,
Postleitzahl ,
documentdate
FROM
extdata.dbo.Indexdata


Für Datumsfelder muss CONVERT anstelle von CAST verwendet werden:

CONVERT ([datetime], <Feldname>, 104) AS <Spaltenname im View>

Die vollständige Anweisung zum Erstellen des Views:

CREATE VIEW AIX_VIEW
AS
SELECT
ID ,
Barcode
CAST (documentnumber AS int) AS documentnumber,
name ,
CAST (Postleitzahl AS int) AS postalcode ,
convert ([datetime], documentdate, 104) AS documentdate
FROM
extdata.dbo.Indexdata


Nach erfolgreicher Ausführung dieser Anweisung enthält die DB "extdata" nun einen View namens "AIX_VIEW", der bei Abfrage automatisch den Inhalt der Quelltabelle "Indexdata" enthält, aber die zum Feld in DocuWare passenden Datentypen liefert.

In der DocuWare Administration kann nun eine Datenbankverbindung zu dieser Datenbank "extdata" eingerichtet werden, um diese Ansicht bei der Konfiguration eines AUTOINDEX-Workflows nutzen zu können:

Alle externen Felder können nun auch den entsprechenden DocuWare-Feldern zugeordnet werden.

 

Bitte beachten Sie: Dieser Artikel ist eine Übersetzung aus dem Englischen. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Originalversion(en) des Produkts. In der übersetzten Version unserer Artikel können kleinere Fehler enthalten sein, z.B. in der Grammatik. Wir können zwar nicht für die vollständige Richtigkeit der Übersetzung garantieren, aber in den meisten Fällen werden Sie sie als ausreichend informativ empfinden. Im Zweifelsfall wechseln Sie bitte zurück zur englischen Version dieses Artikels.