Query Struktur
Wie bereits erwähnt besteht die Query-Struktur aus einem «Root-Eintrag», 1 - n Hauptselects (d.h. die SQL Statements auf 1. Ebene), sowie 0 - n Subselects und/oder Elementen (alle SQL Statements und Elemente ab der 2. Ebene). D.h. eine Query für den Export besteht mindestes aus dem Root-Eintrag und einem Hauptselect.
Per Context-Menü auf den Root-Eintrag lassen sich SQL Statements (Hauptselects) hinzufügen. Das Löschen und das Hinzufügen eines Elementes sind beim Root-Element nicht möglich
Per Context-Menü auf ein SQL Statement lassen sich diesem ein SQL Statements (Subselects), sowie Elemente hinzufügen. Auch lässt sich solch ein SQL Statement löschen, wobei eine eventuell vorhandene Unterstruktur auch mitgelöscht wird
Einem Element lässt sich weder ein SQL Statement, noch ein Element hinzufügen. Es kann nur per Context-Menü gelöscht werden
Grundsätzlich werden alle in einem SQL Statement selektierten Spalten als «normale» TAGs im Export-XML auf der jeweiligen Ebene eingefügt. Dabei gibt es allerdings mehrere Ausnahmen.
-
Man trägt eine Spalte (oder mehrere Spalten komma-getrennt) in das Feld «nicht exportieren» ein. Dies hat zur Folge, dass die entsprechenden Spalten nicht mit exportiert werden, aber dennoch z.B. als Referenz in einem Subselect zur Verfügung stehen
-
Eine oder mehrere Spalten werden in das Feld «Attribut an das Stamm-Element» eingetragen.
-
Dadurch wird eine solche Spalte inkl. des zugehörigen Wertes nicht als «normales» XML TAG exportiert, sondern als Attribut
-
Eine oder mehrere Spalten sollen als Attribute an ein untergeordnetes Element exportiert werden
-
Eine oder mehrere Spalten sollen nicht ins XML eingefügt werden, wenn sie einen leeren Wert enthalten
-
Eine oder mehrere Spalten werden innerhalb eines untergeordneten Elements verwendet.
- Dadurch wird die Spalte inkl. des Wertes auf der Ebene des untergeordneten Elements ins XML eingefügt und nicht auf Ebene des eigentlichen SQL Statements
In der Select-Klausel, sowie der Where-Einschränkung von Subselects lässt sich über die Syntax «#PARENT#.<Spaltenname>« auf den aktuellen Wert der entsprechenden Spalte des übergeordneten SQL Statements zugreifen
Speziell über diese Möglichkeit in der Where-Einschränkung können so sehr einfach Exporte mit Master-Detail-Beziehungen erstellt werden.
Über die Platzhalter «#VALUE1#» und «#VALUE2#» können die Werte aus den Spalten «value1» und «value2» der Tabelle «ws_export_01», sowie eventuelle Abfragewerte über die Platzhalter «#ABFRAGE1#» bis «#ABFRAGE5#» eingebunden werden