Squeeze

Mehr → Tabelle in Squeeze Stammdaten hinzufügen

Dieser Dialog geht in die andere Richtung: nicht in die Datenbank, sondern nach Squeeze. Gewählt wird eine SQL-Tabelle – dieselbe Auswahl wie bei SQL Tabelle ändern –, und daraus entsteht über die Squeeze-API die passende Stammdatentabelle:

Die SQL-Tabelle selbst wird dabei nur gelesen.

Die Stammdatentabelle in Squeeze

Feld Bedeutung
Name in Squeeze Vorgeschlagen wird Breeze_<Tabellenname>. Wer ihn ändert, behält seine Eingabe auch beim nächsten Tabellenwechsel
Beschreibung Freier Text, den Squeeze zur Tabelle anzeigt. Bleibt das Feld leer, wird der Name der SQL-Tabelle eingetragen

Felder

Die Felder heißen in Squeeze genauso wie die Spalten der Tabelle – so kommt eine Übertragung zwischen beiden ohne Zuordnungstabelle aus.

Übertragungsskript

Die frisch angelegte Stammdatentabelle ist leer. Der nächste Schritt steht deshalb gleich in der Rückmeldung – drei Haken:

Haken Wirkung
Übertragungsskript erzeugen legt ein Portalskript nach dem Vorbild von Squeeze_UserExit_MasterData_TransferPricipalsApi an, mit einem addColumnMap() je Feld. Name: Squeeze_UserExit_Export_<Tabelle>, Kategorie Squeeze_UserExit. Gibt es den Namen schon, kommt eine Rückfrage – der Quelltext könnte von Hand geändert sein
Stammdaten gleich übertragen führt genau dieses Skript einmal aus. Dafür – und nur dafür – ist das erzeugte Skript clientExecutable, anders als die Vorlage
Täglich als Job ausführen mit einer Uhrzeit daneben (HH:MM). Das Skript bekommt RunAsJob, den festen Zeitpunkt und die Uhrzeit; ohne den Haken läuft es nur, wenn es jemand startet

Die letzten beiden Haken hängen am ersten: was nicht angelegt wird, lässt sich weder ausführen noch einplanen. Zeitpunkt und Häufigkeit lassen sich danach im DOCUMENTS-Manager ändern.

Das Breeze_ der Tabelle fällt im Skriptnamen weg, und „Export“ steht darin, weil es in diese Richtung geht: aus einer DEX-Tabelle hinaus nach Squeeze. Was von dort holt, heißt Squeeze_UserExit_MasterData_* und soll davon zu unterscheiden sein.

Wie viele Zeilen übertragen wurden, zählt das Skript nicht mit – das steht im Log unter Logs/SqueezeImport. Hat die SQL-Tabelle für diesen Mandanten keine Zeile, bleibt die Stammdatentabelle vorerst leer; das Skript überträgt beim nächsten Lauf, was dann da ist.

Die Gegenrichtung beschreibt Squeeze-Stammdaten in Tabelle laden.

Mehr → Squeeze-Stammdaten in Tabelle laden

Die Gegenrichtung zu Tabelle in Squeeze Stammdaten hinzufügen: aus einer Squeeze-Stammdatentabelle in eine Tabelle einer DEX-Datenbank.

Erzeugt wird dafür ein Portalskript Squeeze_UserExit_Import_<Zieltabelle> nach dem Vorbild von DEXPRO__UserExit_SqueezeMasterdata_FirmInformation – mit SqueezeImport, einem setTable() für die Squeeze-Seite und einem add() je Feld.

Nur in eine Tabelle, die es gibt

Angelegt wird hier nichts und geändert auch nichts. Die Zieltabelle wird aus den vorhandenen gewählt, ihre Spalten werden gelesen, wie sie sind, und zugeordnet wird nur auf sie. Fehlt die Tabelle noch, ist SQL Tabelle anlegen der Schritt davor.

Feld Bedeutung
Stammdatentabelle in Squeeze die Tabelle, aus der gelesen wird. Ihre Felder stehen danach in der Zuordnung zur Wahl
Verbindung die DEXPRO-Verbindung der Zieltabelle. Workflow, DOCUMENTS und Squeeze stehen nicht zur Wahl
Zieltabelle die Tabelle, in die geschrieben wird

Zuordnung

Zugeordnet wird spaltenweise von der Zieltabelle aus und nicht von Squeeze her: was gefüllt werden muss, steht in der DEX-Tabelle. Eine Pflichtspalte ohne Wert lässt den ersten Lauf scheitern – der Dialog sagt es als Warnung, lehnt aber nicht ab, denn ein Standardwert kann es doch noch richten.

Je Zielspalte gibt es drei Möglichkeiten:

Auswahl Bedeutung
ein Feld aus Squeeze vorbelegt ist ein Squeeze-Feld gleichen Namens
ein fester Wert bei Licence vorbelegt mit dem Mandanten. cLicence geht dabei als Konstante in den Quelltext, alles andere als Text
– nicht füllen – die Spalte bleibt leer

Die Spalte ID steht nur abgeblendet da: sie zählt sich selbst hoch.

Zieltabelle vor jedem Lauf leeren

Die einzige Stelle im ganzen Editor, die Daten zerstört. Mit diesem Haken beginnt jeder Lauf mit TRUNCATE TABLE auf der Zieltabelle. Was darin steht und nicht aus Squeeze kommt, ist danach weg.

So ist ein Stammdatenabgleich gemeint, und der Haken ist deshalb voreingestellt. Er lässt sich abwählen; das erzeugte Skript schreibt seinen Zustand ausdrücklich hin, statt sich auf den Vorgabewert der Bibliothek zu verlassen. Wer gleich ausführen lässt, bekommt vorher noch eine Rückfrage.

Anlegen, ausführen, einplanen

Skript erzeugen legt das Portalskript an; ein vorhandenes gleichen Namens wird nur nach Rückfrage überschrieben. Daneben stehen dieselben beiden Haken wie beim Export: