02 – Installation

Diese Seite beschreibt Voraussetzungen, Einbau und Einbautest des Squeeze Pull-Jobs für den Mappentyp Invoice. Die Parameter und Schalter sind auf der Seite Konfiguration beschrieben.

Voraussetzungen

Feste Regeln: nur ein DOCUMENTS-System je Squeeze-Instanz, nur ein Job je Mappentyp und nur auf einem Server. SOAP und Pull nie gleichzeitig an derselben Klasse, sonst entstehen Dubletten.

Bestandteile

Kategorien: die Squeeze_*-Skripte in SqueezePull, der Job in Invoice, der Userexit in Invoice_UserExit.

Skript Aufgabe Anpassen?
Invoice_JOB_SqueezePull Job: Job-User, SuperMode, Log, liest Parameter, ruft runSqueezePull() je Mappentyp ein eigenes Job-Skript
Squeeze_Pull_Lib Ablauf, gleich für alle Mappentypen nein, nur die Schalter am Dateianfang (siehe Konfiguration)
Squeeze_FunctionApiLib REST-Aufrufe, SqueezeAPI erbt von Squeeze nein, aber abgleichen
Squeeze_CustomLib Userexit ue_Squeeze_ParseFieldValue ja, je Kunde
Squeeze_ENUM_DocFile_SqueezeStatus Standard-Enum plus Unfinished, ERROR, Processed nein
Invoice__UserExit_CustomLib ue_beforeStartWorkflow: sperrt den Workflow-Start bei Unfinished und ERROR ja, Userexit an die Kundenfassung anfügen

Unverändert bleiben die Standardskripte Squeeze_FunctionLib, DEXPRO__ImportLib, Invoice__ImportLib, Invoice_JOB_StartWorkflow und DEXPRO_ENUM_DocFile_SqueezeStatus (bei Kunden oft verschlüsselt).

Einbau

Sicherung

Vor dem Einspielen exportieren:

Skripte

Den Userexit ue_beforeStartWorkflow an die Kundenfassung von Invoice__UserExit_CustomLib anfügen, den Rest nicht ändern.

Enthält das Skript schon ein ue_beforeStartWorkflow, dann muss die Prüfung in die vorhandene Funktion eingebaut werden.

Parameter

Squeeze_DocumentClassName und bei Bedarf Squeeze_StartWorkflow anlegen, wie auf der Seite Konfiguration beschrieben. Angelegt werden die Parameter über die Weboberfläche.

Übersetzungen

In der Weboberfläche unter Übersetzungen drei Einträge anlegen.

Feld Eintrag 1 Eintrag 2 Eintrag 3
Applikation Documents Documents Documents
Typ Properties Properties Properties
Unterkategorie Squeeze Squeeze Squeeze
Name SqueezeStatus_Unfinished SqueezeStatus_Error SqueezeStatus_Processed
Projektspezifische Anpassung nein nein nein
Deutsch Übernahme läuft / unvollständig Übernahme fehlgeschlagen Übernommen
Englisch Transfer incomplete Transfer failed Transferred

Danach die Properties erzeugen, sonst zeigt das Feld die neuen Werte nicht übersetzt an.

Mappentyp Invoice

Das Feld SqueezeStatus im Manager bzw. im Webclient nach der Umstellung:

04_mappentyp_squeezestatus.png

Squeeze

  1. SOAP-Export der Klasse ausschalten.
  2. Export-Interface „Pull“ an der Klasse anlegen und aktivieren.
  3. Prüfen, dass der Queue-Step „Export“ heißt.
  4. Mapping in der Spalte Name (Zielsystem) prüfen: jedes DOCUMENTS-Feld nur einmal zugeordnet (Details auf der Seite Konfiguration).

Das Export-Interface „Pull“ an der Klasse:

05_squeeze_exportinterface_pull.png

Jobs

Invoice_JOB_SqueezePull mit der Eigenschaft thread=1 anlegen und erst nach dem Test viertelstündlich einplanen.

07_job_squeezepull.png

Invoice_JOB_StartWorkflow nicht ändern. Er wird nur gebraucht, wenn der Parameter Squeeze_StartWorkflow nicht auf true steht.

Vor dem ersten Start von Invoice_JOB_StartWorkflow, auch im Einbautest Schritt 2, prüfen, ob es alte Vorgänge mit leerer WorkflowID gibt. Sie würden ebenfalls gestartet werden.

Einbautest

Der Test läuft mit einem einzelnen Beleg in zwei Durchgängen: zuerst ohne Rückmeldung an Squeeze, dann mit. Vorher in Squeeze_Pull_Lib TEST_KEEP_IN_EXPORT = true und MAX_DOCS_PER_RUN = 1 setzen.

# Aktion Erwartung
0 Invoice-Vorgang öffnen SqueezeStatus bietet zusätzlich „Übernahme läuft / unvollständig“, „Übernahme fehlgeschlagen“ und „Übernommen“ an.
1 Invoice_JOB_SqueezePull von Hand starten Der Vorgang wird angelegt und steht auf „Unfinished“, keine FEHLT-Zeile im Log. Der Beleg bleibt in Squeeze im Export, weil der Testmodus kein FINISHED meldet.
2 Invoice_JOB_StartWorkflow von Hand starten Prüft die Workflow-Sperre: Der Vorgang aus Schritt 1 bekommt keinen Workflow, im Log steht ue_beforeStartWorkflow() -> false.
3 In Squeeze_Pull_Lib TEST_KEEP_IN_EXPORT = false setzen, Invoice_JOB_SqueezePull erneut starten Jetzt die echte Übernahme: FINISHED im Log, Vorgang auf „Processed“, Beleg in Squeeze aus dem Export verschwunden.
4 Workflow prüfen Mit Squeeze_StartWorkflow = true: im Pull-Log „Workflow … gestartet“. Sonst Invoice_JOB_StartWorkflow starten, der Vorgang bekommt jetzt seinen Workflow.

Nach dem Test in Squeeze_Pull_Lib MAX_DOCS_PER_RUN wieder auf 100 setzen (TEST_KEEP_IN_EXPORT steht seit Schritt 3 auf false). Dann Invoice_JOB_SqueezePull viertelstündlich einplanen und, falls der Workflow nicht direkt im Pull-Lauf startet, auch Invoice_JOB_StartWorkflow.


Revision #5
Created 2026-11-09 09:39:07 UTC by Julian Kurtz
Updated 2026-11-09 11:57:54 UTC by Julian Kurtz