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 SqueezeMeist nimmt den Beleg nach FINISHED mit kurzereine Verzögerung ausin dem Export,Squeeze, das erledigt sich von selbst. Bleibt erder Beleg liegen, im Log nachüberspringt der SqueezeIDJob suchenihn (aufbei jedem Lauf ohne FINISHED gesetzt(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 = <Lauf-ID>|<Zeitstempel>

Der Lauf erneuert den Zeitstempel vor jedem Beleg. Findet ein Lauf ein gültiges Kennzeichen, endet er sofort ohne Abholung. Wird erder 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 trotzdem 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.