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:
- ein
POSTaufapi/v2/masterData/tablesfür die Tabelle, der mit ihrer Id antwortet, - danach ein
POSTje Spalte auf.../tables/<id>/columns.
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.
IDgeht nie mit. Eine Squeeze-Stammdatentabelle zählt ihre Zeilen selbst und bringt eine eigene Id mit; eine zweite daneben bedeutete dasselbe und sagte etwas anderes, sobald beide Seiten schreiben.Licencebleibt im Angebot – welchem Mandanten eine Zeile gehört, weiß Squeeze von sich aus nicht.- Zeichenvorrat: Squeeze nimmt höchstens 45 Zeichen aus Buchstaben, Ziffern,
Unterstrich und Bindestrich. Eine Spalte mit Punkt, Leerzeichen oder Umlaut bekommt
darum ein Feld für einen Ersatznamen; der Rückweg in die Tabelle bleibt über
sourceColumnerhalten, das die SQL-Spalte behält. Kurze Namen wiedeoderensind in Ordnung.
Ü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.