04 – Betrieb und Fehlersuche Diese Seite beschreibt Log, typische Fehlerbilder und die Parallel-Sperre des Squeeze Pull-Jobs. Log Das Log liegt monatlich unter: \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 Meist eine Verzögerung in Squeeze, das erledigt sich von selbst. Bleibt der Beleg liegen, überspringt der Job ihn bei jedem Lauf ohne FINISHED (Log: uebersprungen (SqueezeStatus ist Processed) ). Dann den Beleg über „Erneut übergeben“ neu holen oder in Squeeze von Hand abschließen. 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. Achtung: 1.000 in einem Squeeze-Textfeld wird als 1 gelesen, im Log steht dazu ein Hinweis. Parallel-Sperre Damit nie zwei Läufe denselben Mappentyp bearbeiten, setzt der Job ein Laufkennzeichen im propCache (Arbeitsspeicher, nach einem Neustart leer): SqueezePullLock_Invoice = | Der Lauf erneuert den Zeitstempel vor jedem Beleg. Findet ein Lauf ein gültiges Kennzeichen, endet er sofort ohne Abholung. Wird der Zeitstempel 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 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 Der Wert wird als Zahl übernommen. Eine Menge 1.000 wird dabei als 1 gelesen (letztes Trennzeichen = Dezimaltrenner). Invoice_Posting_Head wird bei Updates nicht nachgeführt Für die Dublettenprüfung unkritisch, Gadgets und Reports zeigen ggf. einen veralteten Status.