FRAGE/PROBLEM:
Wie lautet der genaue Syntax bei SQL-Statements im Formulareditor als auch im Workflowscript-Editor (z.B.: Statementnr 98 Haupttabelle)?
ANTWORT/LÖSUNG:
Grundsätzlich ist es der gleiche Syntax wie in der SQL Sprache.
Es gibt hier jedoch folgende Besonderheiten:
„*“ (Asterisk):
Dieses Zeichen dient beim „SELECT“-Statement normalerweise als Platzhalter für alle Spalten.
Es wird hier erwähnt, da dies nur im Formulareditor verwendet werden kann.
Verfügbar in: Formulareditor.
——————————————————————-
„[*]“ (Asterisk mit eckigen Klammern):
Dieses Zeichnen dient beim „SELECT“-Statement im Workflowscript-Editor als Platzhalter für alle Spalten, welche aufgrund der hinterlegten Datenbasis in der Tabelle eingebunden sind.
Beispiel:
Wird ein Workflowscript auf Tabellenverarbeitung „01: Artikeldaten“ geschrieben und ein entsprechendes „SELECT“-Statment auf Basis der Artikeltabelle verwendet, dann wird beim „Auflösen“ des Asterisk mit eckigen Klammern in die Tabellensatzbeschreibung des Workflows geschaut und geprüft, welche Tabellenfelder eingebunden sind.
Ist dort bspw. „Artikelnummer | TSCRxxxxxx_1_25“ und „Text | TSCRxxxxxx_51_60“ eingebunden, dann werden vom SQL Server nur genau diese beiden Spalten abgefragt und autom. zugewiesen.
Verfügbar in: Workflowscript-Editor.
——————————————————————-
<Spaltenname> AS <Tabellenvariablen | TSCR_xx_yy>
In einem „SELECT“-Statement im Workflowscript-Editor müssen einzeln abfragte Spalten einem Tabellenfeld „zugewiesen“ werden, damit die Spalte auch im Script angezeigt wird. Dies passiert über die „AS“ Klausel.
Beispiel:
SELECT ART_1_25 as TSCR_6000_25 FROM RARTIK
Somit wird nur die Spalte Artikelnummer abgefragt und dem Individual-Tabellenfeld des Scripts zugewiesen.
Verfügbar in: Workflowscript-Editor.
——————————————————————-
‚$(Variable)‘
Mittels diesem Syntax kann der Wert einer Variablen vor Abschicken des Statements aufgelöst werden (wenn darauf Zugriff besteht), bspw. um Selektionen dynamischer zu halten.
Beispiel:
SELECT ART_1_25 FROM RARTIK WHERE ART_1_25=’$(SCR_5000_25)‘
Hiermit wird der Wert des Maskenfelds SCRxxxxxx_5000_25 vorher aufgelöst.
Besonderheiten:
Bei SCR… Feldern wird die ScriptID NICHT angegeben!
Verfügbar in: Formulareditor und Workflowscript-Editor.
——————————————————————-
‚$(TAB_xx_yy)‘ statt ‚$(TSCR_xx_yy)‘
Um Tabellenfelder der Haupttabelle abzugreifen, muss TAB anstatt TSCR geschrieben werden.
Verfügbar in: Workflowscript-Editor.
——————————————————————-
$(SYSDB), $(MAILDB), $(MANDDB)
Diese Variablen können als Platzhalter für „<Datenbankname>.dbo“ verwendet werden.
So kann dynamisch ein SQL-Statemen erstellt werden, ohne auf den Datenbanknamen der jeweiligen Installation achten zu müssen.
Verfügbar in: Formulareditor und Workflowscript-Editor