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 |
| 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 | |
| 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 |
| |
PosQuantity in Squeeze als Text |
mit Squeeze-Admin klären; der Wert wird trotzdem als Zahl übernommen |
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 |
| |