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 AktenVorgä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 AkteVorgang in DOCUMENTS löschen, in Squeeze den Export-Status „Pull“ zurücksetzen. Der nächste Lauf legt eineeinen neueneuen AkteVorgang 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, nach Go-live über Hooks in Squeeze_FunctionApiLib. 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
Mapping „Net“ doppelt (DEV)NetAmount und SumNetAmount → in Squeeze bereinigen; der Job meldet Kollisionen beim Start
D13 PosQuantity in Squeeze als Text mit Squeeze-Admin klären; der Wert wird trotzdem als Zahl übernommen
D15 Invoice_Posting_Head wird bei Updates nicht nachgeführt mit DEXPRO klären; für die Dublettenprüfung unkritisch, Gadgets/Reports zeigen ggf. veralteten Status
D14 Zeichenverlust in Invoice_Posting_Headeigener Vorgang
D5 Log-Encoding deutscher Stringskosmetisch