Skip to main content

01 – Übersicht

Der Squeeze Pull-Job holt fertig gelesene Belege per Squeeze REST-API v2 nach DOCUMENTS ab und ersetzt den SOAP-Export. Diese Seite beschreibt Funktionsweise und Statuswerte für den Mappentyp Invoice. Stand 09.11.2026.

Was ist der Pull-Job

Bisher hat Squeeze fertig gelesene Belege per SOAP nach DOCUMENTS geschoben. Beim Pull holt DOCUMENTS die Belege selbst über die REST-API v2 von Squeeze ab. Je Mappentyp gibt es ein eigenes Job-Skript, das im Scheduler viertelstündlich läuft und die generische Bibliothek Squeeze_Pull_Lib aufruft.

Der Job fragt im Queue-Step „Export“ nur die Belege der konfigurierten Squeeze-Klasse ab. Je Beleg legt er eineeinen AkteVorgang an oder aktualisiert eineeinen vorhandene.vorhandenen. Er schreibt Kopffelder, Positionen (Gentable) und Anhänge und meldet den Beleg danach über das Export-Interface „Pull“ als FINISHED an Squeeze. Erst dann gilt dieder AkteVorgang als fertig und darf in den Workflow.

Die Zuordnung Beleg → AkteVorgang läuft ausschließlich über das Feld SqueezeID.

Ablauf je Beleg

  1. AkteVorgang suchen: über SqueezeID.
  2. AkteVorgang anlegen: Gibt es keinekeinen Akte,Vorgang, wird sieer neu angelegt und sofort mit SqueezeID und SqueezeStatus = Unfinished gespeichert. EineEinen AkteVorgang auf Processed überschreibt der Job nie.
  3. Daten schreiben: Kopffelder, Positionen und Anhänge, danach speichern. Felder, die es am Mappentyp nicht gibt, werden übersprungen (Hinweis im Log). Der Beleg wird trotzdem übernommen.
  4. Abschließen: Bei Erfolg geht FINISHED an Squeeze, dann wird SqueezeStatus = Processed gesetzt, optional mit direktem Workflow-Start. Bei einem Fehler wird SqueezeStatus = ERROR gesetzt und kein FINISHED gemeldet. Der Beleg bleibt im Export und der nächste Lauf versucht es erneut.

Häufigkeit und Menge je Lauf

Beides ist einstellbar:

  • Ausführungshäufigkeit: über die Einplanung des Jobs Invoice_JOB_SqueezePull im Scheduler.
  • Belege je Lauf: über den Schalter MAX_DOCS_PER_RUN in Squeeze_Pull_Lib, im Paket 100. Was ein Lauf nicht schafft, übernimmt der nächste.

Empfehlung: viertelstündlich mit 100 Belegen starten. Staut sich der Export, zuerst das Intervall verkürzen (z.B. auf 5 Minuten), statt MAX_DOCS_PER_RUN stark zu erhöhen. Kurze Läufe machen Fehler schneller sichtbar, und bis DOCUMENTS 6.1 gibt es keinen HTTP-Timeout für die Squeeze-Aufrufe.

MAX_DOCS_PER_RUN ist kein Parameter, sondern eine Konstante in Squeeze_Pull_Lib und gilt damit für alle Mappentypen. Läuft ein Lauf länger als das Intervall, startet der nächste nicht parallel, sondern wartet über die Parallel-Sperre (siehe Betrieb und Fehlersuche).

SqueezeStatus anam der AkteVorgang

Wert Bedeutung Workflow Nächster Lauf
Unfinished wird übernommen oder Lauf abgebrochen nein macht mit derselbendemselben AkteVorgang weiter
ERROR Fehler erkannt, Grund im Log nein versucht es erneut
Processed fertig, FINISHED von Squeeze bestätigt ja überspringt, überschreibt nie

Die Werte New, Analyze, Split usw. stammen aus SOAP bzw. der Analyse. Der Pull-Job setzt sie nicht.

Wichtig: Den Workflow-Start für Unfinished und ERROR sperrt der Userexit ue_beforeStartWorkflow in Invoice__UserExit_CustomLib. Fehlt er, startet Invoice_JOB_StartWorkflow auch unfertige Akten.Vorgänge.