Skip to main content

04 – Betrieb und Fehlersuche

Diese Seite beschreibt Log, typische Fehlerbilder und die Parallel-Sperre des Squeeze Pull-Jobs.

Log

Das Log liegt monatlich unter:

<DEXPRO>\Logs\Invoice\JOBS\Invoice_JOB_SqueezePull_JJJJMM.log

Typische Fälle

Thema Vorgehen
Fehler finden Filterordner Unfinished/ERROR öffnen. Diese Vorgänge bekommen keinen Workflow, bis der Pull für sie klappt.
Feld fehlt Log: „Hinweis: Feld 'X' gibt es am Mappentyp … nicht“ → Name (Zielsystem) in Squeeze korrigieren oder entfernen.
Register fehlt Konfigurationsfehler: Der Lauf für die Klasse bricht ab, die restlichen Belege bleiben im Export. Parameter prüfen.
Processed nicht speicherbar Log: „… bitte SqueezeStatus von Hand auf 'Processed' setzen“ → von Hand setzen, der Beleg ist in Squeeze schon abgeschlossen.
Processed, aber noch im Export Squeeze nimmt den Beleg nach FINISHED mit kurzer Verzögerung aus dem Export, das erledigt sich von selbst. Bleibt er liegen, im Log nach der SqueezeID suchen (auf FINISHED gesetzt).
Erneut übergeben Vorgang in DOCUMENTS löschen, in Squeeze den Export-Status „Pull“ zurücksetzen. Der nächste Lauf legt einen neuen Vorgang an.
Zahlen und Datum Zahlen: letztes Trennzeichen = Dezimaltrenner (wie Squeeze /formatValueAs). Datum nur dd.mm.yyyy; ungültige Werte bleiben leer, der Beleg wird nicht angehalten.

Parallel-Sperre

Damit nie zwei Läufe denselben Mappentyp bearbeiten, setzt der Job ein Laufkennzeichen im propCache (Arbeitsspeicher, nach einem Neustart leer):

SqueezePullLock_Invoice = <Lauf-ID>|<Zeitstempel>

Der Lauf erneuert den Zeitstempel vor jedem Beleg. Wird er 10 Minuten nicht erneuert, übernimmt der nächste Lauf.

Nur im Notfall von Hand entfernen: propCache.removeProperty("SqueezePullLock_Invoice"). Vorher sicherstellen, dass kein Lauf aktiv ist.

Bekannte Einschränkungen

Punkt Stand
HTTP-Timeout für Squeeze-Aufrufe erst ab DOCUMENTS 6.1,1 nach Go-live über Hooks in Squeeze_FunctionApiLib.möglich. Bis dahin schützt thread=1 die übrigen Jobs.
getActivityList() ab DOCUMENTS 6.3, eingebaut, schreibt bisher nur ins Log
Standard-Bug Invoice_Action_StartWorkflow cnt undefiniert, wenn der Userexit false liefert → Skriptfehler statt Meldung; der Workflow startet trotzdem nicht
PosQuantity in Squeeze als Text angelegt mit Squeeze-Admin klären; derDer Wert wird trotzdem als Zahl übernommenübernommen.
Invoice_Posting_Head wird bei Updates nicht nachgeführt mit DEXPRO klären; fürFür die Dublettenprüfung unkritisch, Gadgets/Gadgets und Reports zeigen ggf. einen veralteten StatusStatus.