Mit dieser Aktivität liest ein Workflow Daten direkt aus einer Quelle aus und schreibt sie in ein definiertes Ziel hinein. Damit können automatische Schritte durchgeführt werden, die keine Aktion durch einen Benutzer erfordern.
Geben Sie der Aktivität einen Namen, zum Beispiel "Rechnungsdaten wiederkehrend".
Im Bereich in der Mitte von diesem Dialog wird Ihnen jede hinzugefügte Zielzuweisung mit einer eigenen Zeile angezeigt. Links befinden sich die Spalten Zieltyp und Feld/Variable für das Ziel der Daten sowie rechts die beiden Spalten Eintragstyp und Eintrag für die Datenquelle.
Sobald eine Datenzuweisung hinzugefügt wurde, werden Auswahlmöglichkeiten für den Zieltyp angezeigt.
Zieltyp / Feld / Variable
Das Ziel ergibt sich aus der Kombination von Zieltyp und Feld/Variable. Welche Zieltypen mit welchen Feldern/Variablen verfügbar sind, entnehmen Sie der folgenden Übersicht:
Zieltyp | Feld/Variable | Bedeutung |
Einfügebereich auf dem Dokument | Angezeigt werden die Einfügebereiche von Formularen, die im Vorlagendesigner von DocuWare Forms angelegt worden sind. | Workflow-Aktivität schreibt den Wert in das Formular. Wenn der Einfügebereich mit einem Formularfeld verknüpft ist, werden ggf. vorhandene Werte überschrieben. |
Indexdaten des Dokuments | Angezeigt werden die Indexfelder vom Dokument im Workflow. | Workflow-Aktivität indexiert das Dokument im Workflow oder ändert seine Indexdaten. |
Globale Workflow-Variable | Angezeigt werden die Namen der Variablen, die Sie im Workflow Designer angelegt haben, z.B. Rechnungsnummer | Workflow-Aktivität füllt Werte in eine globale Variable, die dann in mehreren Workflow-Schritten verwendet werden kann. |
Archiv | Sie öffnen den Dialog zur Auswahl eines beliebigen Archivs und Inexfelds. Dokumente können per SQL spezifiziert werden. | Indexiert ein Dokument im Workflow oder ändert seine Indexdaten. Pro Datenzuweisung kann nur ein Indexfeld geändert werden. |
Indextabelle – Mehrere Spalten | Angezeigt werden die Indextabellen vom aktuellen Workflow-Dokument. | Eergänzt den Inhalt einer Indextabelle des aktuellen Workflow-Dokuments oder ersetzt ihn komplett oder spaltenweise. |
Indextabelle – Einzelne Spalte | Angezeigt werden die Spalten der Indextabellen vom aktuellen Workflow-Dokument. | Die Workflow-Aktivität ergänzt eine Indextabellenspalte des aktuellen Workflow-Dokuments oder ersetzt sie komplett oder zeilenweise. |
Beim Zuweisen von Daten zwischen Workflow-Variablen und Indexfeldern eines Archivs werden nur kompatible Feldtypen angezeigt. So können Sie zum Beispiel eine numerische Variable nur einem numerischen Indexfeld zuweisen. Wenn Sie bei der Zuweisung von Daten deren Typ konvertieren möchten, können Sie dafür folgende VBA-Funktionen nutzen: CDate, CDec, CInt, CStr. Wenn Sie VBA-Funktionen nutzen möchten, lesen Sie auch die Informationen zum Workflow Expression Parser.
Eintragstyp / Eintrag
Um die Datenquelle festzulegen, wählen Sie in der Drop-down-Liste den Typ des Eintrags aus. Welche Eintragstypen mit welchen Einträgen verfügbar sind, entnehmen Sie der Übersicht über die Datenquellen.
Eintragstyp | Eintrag | Bedeutung |
Fester Eintrag | Text | Die Workflow-Aktivität schreibt den eingegebenen Wert in das Ziel. |
Workflow- Systemvariable | Angezeigt werden die Namen der Workflow-Systemvariablen z.B. der letzte Entscheider | Schreibt einen Wert aus einer Systemvariable in das Ziel |
Globale Workflow-Variable | Angezeigt werden die Namen der Variablen, die Sie im Workflow Designer angelegt haben, z.B. Rechnungsnummer | Schreibt einen Wert aus einer globalen Variable in das Ziel |
Arithmetischer Ausdruck | Sie öffnen den Dialog zur Bestimmung eines arithmetischen Ausdrucks. | Schreibt einen benutzerspezifischen Wert in das Ziel, z.B. eine Kombination verschiedener Variablen |
Indexeintrag des Dokuments | Indexfelder des mit dem aktuellen Workflow verknüpften Archivs | Schreibt Indexdaten aus dem aktuellen Workflow-Dokument in das Ziel |
Lokale Datenverbindung (Cloud) Externe Daten (On-premises) | Sie öffnen den Dialog zur Spezifizierung von Datenbank und Tabelle der externen Daten | Schreibt Daten aus einer externen Quelle in das Ziel. Bei DocuWare On-premises lautet der Eintragstyp Externe Daten, bei DocuWare Cloud Lokale Datenverbindung. |
Archiv | Dialog zur Auswahl eines beliebigen Archivs, Indexfelds oder Dokuments | Die Workflow-Aktivität schreibt Indexdaten aus dem ausgewählten Archiv in das Ziel, zum Beispiel in Indextabellen: Gleichen Sie die Einzelposten einer Indextabelle mit Einträgen eines Archivs ab oder übernehmen Sie Werte aus Datensätzen und Dokumenten des Archivs. |
Indextabelle | Sie öffnen den Dialog zur Spezifizierung einer Indextabelle des aktuellen Workflow-Dokuments. | Schreibt Daten aus einer Indextabelle in das Ziel. Steht nur beim Zieltyp Indextabelle zur Verfügung. |
Beachten Sie in diesem Zusammenhang auch die Hinweise zum Vergleich von Variablen in Bedingungen.
Tabellendaten automatisch indexieren
Sie können die Indextabelle von einem Dokument automatisch füllen oder bearbeiten, zum Beispiel bei der wiederkehrenden Rechnungsstellung oder der automatischen Aufbereitung von existierenden Daten.
Das Quelldokument für die Daten kann sich im selben oder einem anderen Archiv oder in einer externen Datenquelle befinden. Mit der externen Datenquelle verbinden Sie sich über den Eintragstyp Externe Daten (DocuWare On-premises), bzw. über den Eintragstyp Lokale Datenverbindung (DocuWare Cloud).
Quell-Tabelle komplett übernehmen
Um Daten von einer Indextabelle komplett in eine andere zu übernehmen, wählen Sie als Ziel für die Datenzuweisung den Eintrag Indextabelle > Mehrere Spalten aus.
Wenn für die Datenzuweisung Ersetzen aktiviert ist, werden alle vorhandenen Zeilen in der Zieltabelle entfernt und durch neue Zeilen ersetzt. Andernfalls werden die Zeilen als neue Zeilen angehängt (siehe dazu auch die Schritte 5 und 6). Das Vorgehen ist für beide Optionen gleich:
Wählen Sie als Ziel die Indextabelle, in die Sie die Daten übertragen möchten und als Quelle den Eintragstyp Indextabelle.
Konfigurieren Sie nun die Quelle, indem Sie auf die Schaltfläche Bearbeiten auf der rechten Seite klicken.
Wählen Sie das Archiv und die Indextabelle aus. Im Feld darunter geben Sie bei Bedarf einen Filter an, indem Sie eine WHERE-Klausel anwenden, um die Quelleinträge einzugrenzen.
Auf dem Tab Zeilen aktivieren Sie die Option Alle Zeilen in fester Reihenfolge übernehmen.
Auf dem Tab Spalten ordnen Sie jede Spalte der Quelle jeweils einer Spalte der Quelle der Zieltabelle zu.
Wenn die Option Ersetzen für die Zuweisung nicht aktiviert ist, werden die Daten aus der Quelltabelle an die Zieltabelle angehängt (siehe auch Punkt 6).
Wenn dagegen die Option Ersetzen für die Zuweisung aktiviert ist, werden die Daten der Zieltabelle mit den Daten der Quelltabelle ersetzt (siehe Punkt 6):
Im folgenden Beispiel sind alle Spalten der Zieltabelle zugeordnet, aber einige Spalten in der Quelle sind leer. Im Ziel werden auch die leeren Spalten übernommen und die vorhandenen Daten gelöscht.
Wenn nur eine Spalte von Ziel und Spalte zugeordnet ist, werden die nicht zugeordneten Spalten im Ziel geleert:
Deshalb verwenden Sie für die Übertragung einzelner oder mehrerer Spalten aus der Quelltabelle die Option Mit Matchcode zusammenstellen, um Datenverlust zu vermeiden – siehe dazu den nächsten Punkt.Schließen Sie die Konfiguration mit OK ab. Im letzten Schritt geben Sie an, ob Sie die vorhandenen Zeilen in der Zieltabelle ersetzen möchten.
Der Zeilen-Filter ist in diesem Fall nicht verfügbar, da alle Werte übertragen werden.
Einzelne Werte aus der Quelltabelle übernehmen
Ziel ist wie im Schritt zuvor Indextabelle > Mehrere Spalten. Diesmal wählen Sie jedoch gezielt einzelne Werte dadurch aus, dass Sie die Übertragung an Bedingungen knüpfen.
Für die Zusammenstellung der Spalten per Matchcode ist die Option Ersetzen immer aktiviert.
Wählen Sie als Ziel die Indextabelle, in die Sie die Daten übertragen möchten und als Quelle den Eintragstyp Indextabelle.
Konfigurieren Sie nun die Quelle, indem Sie auf die Schaltfläche Bearbeiten auf der rechten Seite klicken.
Wählen Sie das Archiv und die Indextabelle aus. Im Feld darunter geben Sie einen Filter an, indem Sie eine WHERE-Klausel anwenden, um die Quelleinträge einzugrenzen.
Auf dem Tab Zeilen aktivieren Sie die Option Zeilen nach Matchcode zusammenstellen. Geben Sie nun ein oder mehrere Kriterien ein:
Zum Beispiel:
Die Zielspalte „Artikelnummer“ ist gleich Quellspalte „Artikelnummer“
Das heißt: Wenn die Artikelnummer im Ziel und in der Quelle gleich ist, werden die Werte derjenigen Spalten übertragen, die auf dem Tab "Spalten" spezifiziert sind.Geben Sie eine Sortierreihenfolge an, da bei mehreren Übereinstimmungen der erste Treffer verwendet wird. Wenn zum Beispiel die Artikelnummer in der Quelle doppelt vorhanden ist, wird die Tabelle nach der hier angegebenen Reihenfolge sortiert und davon der Eintrag übertragen.
Auf dem Tab Spalten ordnen Sie mindestens eine Spalte der Quelltabelle einer Spalte der Zieltabelle zu.
Spalten, die in den Matchcode-Kriterien verwendet werden, können hier nicht zugeordnet werden.
Anders als bei der Übertragung ohne Verwendung des Matchcodes bleiben diesmal die Werte der nicht zugeordneten Zielspalten unverändert. Dies veranschaulichen folgende Beispiele:
Der Matchcode ist „Spalte ID ist gleich Spalte ID“. Eine Spalte ist zugeordnet – eine Spalte im Ziel wird ersetzt.
Im nächsten Beispiel sind zwei Spalten zugeordnet. Dadurch werden zwei Spalten im Ziel ersetzt, die anderen Spalten im Ziel bleiben unverändert:
Alle Spalten sind zugeordnet, einige Spalten in der Quelle sind leer – die entsprechenden Spalten werden auch im Ziel geleert:
Eine Spalte ist zugeordnet, per Filter werden die Zeilen 1 und 3 für die Übertragung ausgewählt – zur Filterung siehe Punkt 8.Schließen Sie die Konfiguration der Quelle mit OK ab.
Mit Filtern grenzen Sie die Zeilen ein, in die Werte übertragen werden sollen. Wählen Sie dazu im Filterdialog die Option Nur Zeilen mit diesen Bedingungen wiederholen. Damit werden nur diejenigen Zeilen geändert, für die die Kriterien, die Sie im Bereich Auslöser festlegen, zutreffen.
Hinweis: Da Sie im Filter auf die Werte der Spalten der Zieltabelle zugreifen, können Sie zum Beispiel festlegen, dass die Spalte "Umsatzsteuer" nur dann befüllt wird, wenn in der Spalte "Steuersatz" nicht "0%" steht.
Zudem können Sie nach der Systemspalte Zeilennummer filtern. Damit ändern Sie Werte einfacher nur in den gewünschten Zeilen.
Behandlung von NULL-Werten beim Abgleich: Wenn Sie die Zuordnung von Tabellendaten nach Matchcode zeilenweise durchführen, werden NULL-Werte in den angegebenen Abgleichspalten auf beiden Seiten (Ziel und Quelle) ignoriert. Das bedeutet, dass die Zuweisung für diese Zeilen übersprungen wird.
Die Werte einzelner Spalten bearbeiten
Nutzen Sie die Option Indextabelle – Einzelne Spalte, um Daten aus einer Quell-Tabelle in diese Spalte zu kopieren oder sie zu ersetzen. Die Schritte sind die gleichen wie unter Mehrere Spalten mit dem Unterschied, dass Sie die Auswahl der Tabellenspalte direkt im ersten Schritt vornehmen und sich dadurch einen Schritt sparen.
Darüber hinaus können Sie mit der Option „Einzelne Spalte“ bestimmte Werte in die Spalte einer Indextabelle des im Workflow befindlichen Dokuments schreiben. Dazu stehen folgende Möglichkeiten zur Verfügung:
ein fester Eintrag
ein Wert, der aus einem arithmetischen Ausdruck abgeleitet ist (siehe auch Punkt Arithmetischer Ausdruck)
ein Indexeintrag desselben Dokuments
Wenn Sie einen arithmetischen Ausdruck verwenden, können Sie sogar Spaltenzellen derselben Indextabelle auswählen. Verbinden Sie den arithmetischen Ausdruck mit der Tabellenspalte “Zeilennummer” (SYS_ROW_NUMBER), um zum Beispiel die Zeilennummer und die Artikelbeschreibung zu kombinieren:
Weitere Hinweise zur Zuordnung von Daten zu Indextabellen:
Bedingungen mit Ausdrücken definieren: Wenn Sie Werte abgleichen möchten, die zuerst bearbeitet werden müssen, können Sie die Bedingungen für den Datenabgleich in Tabellen auch mit arithemtischen Ausdrücken definieren - zum Beispiel, um bestimmte Zeichen zu extrahieren oder sie mit festen Einträgen oder verschiedenen Index-/Spaltenwerten zu verketten.
Der arithmetische Ausdruck muss dafür als "wahr" oder "falsch" (boolean) zurückgeben werden, ähnlich wie if/else-Bedingungen. Wenn der zurückgegebene Wert "wahr" ist, ist die Bedingung erfüllt, "falsch" erfüllt die Bedingung nicht.
Werte von Mehrfachübereinstimmungen automatisch berechnen: Kombinieren Sie die beiden Optionen Alle übereinstimmenden Zeilen verarbeiten und Neue Werte zu bestehenden Werten addieren (im folgenden Dialog Daten zuweisen), um bei der Zuordnung der Daten die Werte für Dezimalspalten von Mehrfachübereinstimmungen automatisch zu berechnen.
Damit ermitteln Sie zum Beispiel die Menge eines Artikels, der nicht auf einmal geliefert wurde und deshalb auf mehreren Lieferscheinen vorhanden ist. Nachdem Sie die summierte Menge zugeordnet haben, können Sie einen 2/3-Wege-Abgleich durchführen.
Externe Datenbank als Datenquelle
Wenn Sie externe Daten aus einer Datenbank auslesen lassen möchten, um diese in Ihrem Workflow zu verwenden, können Sie hier die Einstellungen dafür vornehmen.
Datenbank
Datenbank-Konfiguration
Wählen Sie aus der Drop-down-Liste die Konfiguration der Quelldatenbank aus.
Tabelle
Wählen Sie aus der Drop-down-Liste die gewünschte Tabelle aus.
Spalte
Wählen Sie aus der Drop-down-Liste die gewünschte Spalte aus.
Um einen schnellen Datenabgleich von Cloud- und On-Premises-Systemen zu ermöglichen, installieren Sie in Ihrem Cloud-System den Local Data Connector. Dies ist möglich, wenn die DocuWare Desktop Apps von einer Cloud-Organisation aus installiert wurden. In On-Premises-Systemen steht der Connector nicht zur Verfügung steht. Der Local Data Connector bietet Ihnen im Dialog Externe Daten die Auswahl einer lokalen Datenbankverbindung.
Statement auswählen
WHERE-Bedingung
Im Editor bearbeiten Sie die SQL-Statements.
Wenn bei einer Datenbankabfrage die Sortierung bestimmte Zeichen nicht unterstützt, gehen Sie wie folgt vor: In der Abfrage maskieren Sie den eingegebenen Wert mit dem Parameter N. Alternativ können Sie den Wert in einer Variable speichern und diese Variable in der Abfrage verwenden, in diesem Fall wird der Parameter N automatisch hinzugefügt.
Operatoren
Um einen Operator in ein Statement einzufügen, klicken Sie rechts auf den Operator.
Variablen
Wenn Sie eine Variable in ein Statement einfügen möchten, wählen Sie zunächst die Registerkarte für die gewünschte Gruppe von Variablen aus: Systemvariablen, Globalen Variablen oder Tabellenfelder. Dann klicken Sie auf der Registerkarte auf die gewünschte Variable bzw. das gewünschte Feld. Welche Tabellenfelder Ihnen zur Verfügung stehen, variiert gemäß den Einstellungen, die Sie unter Datenbank > Tabelle bzw. Spalte getroffen haben.
Vorschau des SQL-Statements
Hier wird Ihnen das erstellte Statement angezeigt.
Archiv als Datenquelle
Wenn Sie bei der Datenzuweisung als Eintragstyp Archiv ausgewählt haben, können Sie hier die Einstellungen dafür vornehmen.
Archiv
Wählen Sie aus der Drop-down-Liste das Archiv aus.
Feld
Wählen Sie aus der Drop-down-Liste das gewünschte Feld aus.
Statement auswählen
WHERE-Bedingung
Im Editor bearbeiten Sie die SQL-Statements.
Wenn bei einer Datenbankabfrage die Sortierung bestimmte Zeichen nicht unterstützt, gehen Sie wie folgt vor: In der Abfrage maskieren Sie den eingegebenen Wert mit dem Parameter N. Alternativ können Sie den Wert in einer Variable speichern und diese Variable in der Abfrage verwenden, in diesem Fall wird der Parameter N automatisch hinzugefügt.
Operatoren
Um einen Operator in ein Statement einzufügen, klicken Sie rechts auf den Operator.
Variablen
Wenn Sie eine Variable in ein Statement einfügen möchten, wählen Sie zunächst die Registerkarte für die gewünschte Gruppe von Variablen aus: Systemvariablen, Globalen Variablen oder Indexfelder. Dann klicken Sie auf der Registerkarte auf die gewünschte Variable bzw. das gewünschte Feld. Welche Indexfelder Ihnen zur Verfügung stehen, variiert gemäß den Einstellungen, die Sie unter Archiv getroffen haben.
Vorschau des SQL-Statements
Hier wird Ihnen das erstellte Statement angezeigt.
Arithmetischer Ausdruck
Arithmtische Ausdrücke sind Ausdrücke aus Visual Basic für Applikationen (VBA) und .NET sowie spezifische DocuWare-Anpassungen von Ausdrücken. Für Informationen über die Möglichkeiten der Arithmetischen Ausdrücke beachten Sie bitte die Hinweise zum Workflow Expression Parser.
Um arithmetische Ausdrücke zu verwenden, steht ein eigener Dialog zur Verfügung. Dieser Dialog besteht aus einem Editor auf der linken Seite und den auszuwählenden Operatoren und Variablen auf der rechten Seite.
Um eine Variable in einen arithmetischen Ausdruck einzufügen, wählen Sie zunächst die Registerkarte für die gewünschte Gruppe von Variablen aus: Systemvariablen, Globalen Variablen, Indextabellen oder Formularfelder. Dann klicken Sie auf der Registerkarte auf die gewünschte Variable bzw. das gewünschte Feld.
Welche Registerkarten und Variablen Ihnen jeweils zur Verfügung stehen, variiert je nach benutzter Funktion bzw. nach den Einstellungen in der betreffenden Aktivität.
Gleichen Sie verschiedene Tabellenquellen auf der Grundlage von arithmetischen Ausdrücken ab. Damit beseitigen Sie zum Beispiel Fehlerquellen bei der Digitalisierung von Rechnungen oder anderen Dokumenten.
Beispiele:
Folgende Ausdrücke vergleichen zwei Zeichenketten mit Einschätzung ihrer Ähnlichkeit:
Peter Peterson _~ Peter Pitersen = 93%
S523-A336MS ~ S523-A336M5 = 95%
Diese Ausdrücke ändern eine Zeichenkette nach einem Muster:
Alle Ziffern aus einer Eingabezeichenkette anhand des Musters entfernen
\d:Something123Anything => SomethingAnythingEinen Input-String anhand des folgenden Musters aufteilen:
\d+:Something123Anything => Something, Anything
Prüfen, ob eine Zeichenkette dem Muster entspricht:
[A-Z0-9]\d{3}-\d{3}:
A123-456 => true
Arithemtische Ausdrücke in Verbindung mit Indextabellen einsetzen
In den arithmetischen Ausdrücken können Sie Werte aus Indextabellen verwenden. Greifen Sie auf einen Wert aus einer Spalte derselben Indextabelle zu, die Sie bearbeiten möchten, erhalten Sie exakt einen Wert, nämlich den Wert aus derselben Zeile. Wählen Sie dazu die Spalte aus dem Reiter “<Tabellenname> Zellen”.
Wenn Sie hingegen auf eine Indextabellen-Spalte einer anderen Tabelle zugreifen, erhalten Sie eine Liste aller Werte in dieser Spalte. Wählen Sie dazu die Spalte aus dem Reiter Tabellenspalten.
Es ist möglich, den Wert aus einer anderen Spalte derselben Tabelle auszulesen, diesen ggf. per arithmetischem Ausdruck zu transformieren und ihn dann in die Zielspalte zu schreiben. Mehr dazu finden Sie unter Die Werte einzelner Spalten bearbeiten.
Die Systemspalte „Zeilennummer“ einsetzen
In den arithmetischen Ausdrücken können Sie die Systemspalte "SYS_ROW_NUMBER" verwenden. "SYS_ROW_NUMBER" liefert die Nummer der jeweiligen Zeile einer Indextabelle, die Sie verwenden können, um Werte zu verketten, Berechnungen durchzuführen oder einen Wert aus einer anderen Tabelle in derselben Zeile abzurufen. Die erste Zeile einer Tabelle wird immer als Zeilennummer "1" betrachtet.
Dies ist besonders wichtig, wenn Sie mit einem Indexer arbeiten, um eine Zeile zu ermitteln, denn dort beginnt die Zählung bei 0.
Wenn Sie dagegen die Systemspalte "SYS_ROW_NUMBER" verwenden, beginnt die Zählung bei 1. Um die gleiche Zeile zu erhalten, müssen Sie also 1 > "...[SYS_ROW_NUMBER]-1" subtrahieren.
Dazu ein Beispiel:
Sie bearbeiten eine Tabelle "Example" (interner Name "EXAMPLE") und möchten in die Spalte „Name“ Werte aus einer anderen Tabelle „New Items“ (interner Name "NEW_ITEMS") einfügen. Die gesuchten Werte befinden sich dort in der Spalte „New Name“ (interner Name „NEW_I_NAME“).
Sie verwenden einen Indexer, um die Werte zu ermitteln, und die Systemspalte „SYS_ROW_NUMBER“, um die Werte zuzuordnen.
Normalerweise definieren Sie für die Zielspalte folgenden arithmetischen Ausdruck:
DW_NEW_ITEMS[NEW_I_NAME](X)
Dies gibt den Wert der Spalte "New Name" der Tabelle "New Items" in der angegebenen Zeile zurück. "X" bestimmt, welchen Eintrag aus der Liste Sie zurückgeben möchten. Da der Indexer bei 0 beginnt, bedeutet z.B. "0" die erste Zeile.
Nun benötigen Sie für die Felder in der Zieltabelle den Wert aus der gleichen Zeile in der Quelltabelle. Daher verwenden Sie keinen festen Wert für den Indexer, sondern die neue Systemspalte "SYS_ROW_NUMBER".
Das Problem dabei: Wenn Sie nur die Systemspalte "SYS_ROW_NUMBER" verwenden, erhalten Sie zunächst nicht die gewünschte Zeile:
DW_NEW_ITEMS[NEW_I_NAME](DW_EXAMPLE[SYS_ROW_NUMBER])
Dieser Ausdruck gibt nämlich den Wert der nächsten Zeile in der Spalte "New Name" der Tabelle "New Items" zurück. Das heißt, wenn z. B. die erste Zeile der Tabelle "Einzelposten" verarbeitet wird, wird der Wert der zweiten Zeile der Tabelle "Neue Posten" zurückgegeben.
Dies liegt daran, dass "[SYS_ROW_NUMBER]" den Wert "1" zurückgibt und der effektive Ausdruck dann DW_NEW_ITEMS[NEW_I_NAME](1) lautet.
Um den richtigen Wert der gleichen Zeile zu erhalten, müssen Sie 1 von der Systemspalte "SYS_ROW_NUMBER" abziehen.
DW_NEW_ITEMS[NEW_I_NAME]((DW_EXAMPLE [SYS_ROW_NUMBER]-1))
Dies gibt den Wert der gleichen Zeile in der Spalte "New Name" der Tabelle "New Items" zurück.
Das heißt, wenn z.B. die erste Zeile der Tabelle "Example" verarbeitet wird, wird der Wert der ersten Zeile der Tabelle "New Items" zurückgegeben.
Dies liegt daran, dass "[SYS_ROW_NUMBER]-1" den Wert "0" liefert und der effektive Ausdruck dann DW_NEW_ITEMS[NEW_I_NAME](0) lautet.
Die arithmetischen Ausdrücke finden Sie in der Dokumentation Workflow Expression Parser.
Variablen-Vergleiche in Bedingungen
Wenn innerhalb von Bedingungen Variablen verglichen werden sollen, sind dafür folgende Hinweise zu beachten. Für den Vergleich von Variablen stehen folgende Operatoren zur Verfügung: =, >=, >, <, <=
Datumsvariablen
Bei einem Vergleich von Variablen mit einem festen Datumswert muss das Datum in einer Schreibweise gemäß einem der folgenden Beispiele definiert sein:
cdate(“JJJJ/MM/TT”)
cdate(“JJJJ-MM-TT”)
cdate(“JJJJ.MM.TT”)
Numerische Variablen
Bei einem Vergleich von numerischen Variablen müssen alle Variablen die gleiche Anzahl an Dezimalstellen haben. Sollen zwei Variablen mit unterschiedlichen Anzahlen an Dezimalstellen verglichen werden, müssen Sie diese zunächst mit einer Daten zuweisen-Aktivität und mithilfe einer weiteren Variable auf die gleiche Anzahl von Dezimalstellen bringen.
Beispiel:
Sie möchten die Variable 1 und die Variable 2 vergleichen, obwohl diese unterschiedlich viele Dezimalstellen haben.
1. Gegeben sind:
Variable 1 (0 Dezimalstellen)
Variable 2 (2 Dezimalstellen)
Variable 3 (0 Dezimalstellen)
2. Daten zuweisen-Aktivität:
Variable 3 = Variable 2*100
3. Ergebnis:
Variable 1 und Variable 3 haben die gleiche Anzahl an Dezimalstellen und können nun in einer Bedingung miteinander verglichen werden.