SAP Export
Falls der Export eines Auftrags nicht durchgeführt werden konnte wird dies über eine Standard-Fehlermeldung (“Toaster”) signalisiert.
In diesem Falle verbleibt der Auftag im Status “Export” und wird nicht nach “Archiviert” verschoben. Im diesem Fall sollte auch maximal einer der beiden Exportzeitpunkte gesetzt sein:

Folgende Schritte sollten in diesem Fall durchgeführt werden:
1. Prüfung der Systemmeldungen
Falls der Export fehlschlägt sollte diesbezüglich eine Systemmeldung vom Typ export.sap.orderjob.transmiterror hinterlegt sein.

Diese Fehlermeldung an sich sollte bereits genügend Informationen enthalten, um das Problem zu identifizieren.
1a. Prüfung der Backend-Systemlogs
Falls Schritt 1 nicht ausreicht, sollten die backend-Systemlogs geprüft werden. Es empfiehlt sich hier case-insensitive nach dem Stichwort export zu suchen.
Das Backend läuft unter dem Containernamen apiserver. Ein Möglicher Query wäre bspw. logcli query --since 48h --limit 999 --colored-output '{container="apiserver"} |~ "(?i)export"'
2025-01-07T13:48:56Z {
detected_level="error",
filename="/var/log/pods/kalibriscript_kalibri-api-9d877875b-sslvr_25cec446-1dbb-4389-9f89-60bb6e4ea507/apiserver/1.log",
pod="kalibri-api-9d877875b-sslvr",
stream="stderr"
}
{
"startTime":"2025-01-07T13:48:56.608Z",
"categoryName":"TSED",
"level":"ERROR",
"method":"POST",
"url":"/api/jobs/d5a3ba02-eb8a-4656-a544-f3f3bb6c494e/state/export",
"route":"/api/jobs/:id/state/export",...
},
"body":{
"exportTag":"KI",
"exportEmployeeNumber":"2826"
},
"query":{},
"params":{},
"reqId":"d6c2f36d75f0491ca7af68df6e5947ac",
"time":"2025-01-07T13:48:56.608Z",
"duration":85,
"error":{
"name":"Error",
"message":"Timebooking (UUID 76c003be-0eb0-4047-9dcc-c6eaff9f0b2e) cannot be exported, because referenced user with UUID a44be3e8-4dc2-447a-b1a9-05386490c8fd does not exist!",
"status":500,
"errors":[],
"stack":"Error: Timebooking (UUID 76c003be-0eb0-4047-9dcc-c6eaff9f0b2e) cannot be exported, because referenced user with UUID a44be3e8-4dc2-447a-b1a9-05386490c8fd does not exist!\n at SAPExportProvider.getOrderJobTimeBookingExportEntry (/app/dist/providers/SAPExport.js:244:19)\n at runMicrotasks (<anonymous>)\n at processTicksAndRejections (node:internal/process/task_queues:96:5)\n at async SAPExportProvider.getOrderJobStatusAndTimeBookingZCONF (/app/dist/providers/SAPExport.js:277:44)\n at async SAPExportProvider.exportSAP (/app/dist/providers/SAPExport.js:383:97)"
},
"data":[]
Im obigen Beispiel konnten bspw. die Zeitbuchungen nicht exportiert werden, da diese durch einen Benutzer gebucht wurden, der im System nicht existiert (aus welchen Gründen auch immer). Dies ist ein schwerwiegender Fehler, da bei jeder Zeitbuchung im Export eine Personalnummer dabei stehen muss.
2. Prüfung des SAP
Da bei einem Exportfehler möglicherweise falsche Daten an der SAP Exportiert wurden ist es unerlässlich, im SAP zu prüfen, ob etwas exportiert wurde und falls ja, ob die exportieren Daten korrekt sind oder korrigiert werden müssen.
3. Entscheiden des weiteren Vorgehens
Abhängig von den genauen Umständen bieten sich, ggf. nach der Behebung des zugrunde liegenden Fehlers, verschiedene Wege an um weiter vorzugehen.
3a. Re-Export nicht nötig
Dieser Weg ist zu wählen falls das OLP den Export nicht erneut probieren soll.
Hier sollte der Auftrag manuell in den Status “Archiviert” verschoben werden. Dies ist über die Detailseite des Auftrags möglich.
Optional kann ebenfalls über die Detailseite das Exportdatum überschrieben werden, falls dies gewünscht ist.
3b. Re-Export nötig, Exportdatum gesetzt
Dieser Weg ist zu wählen falls das OLP den Export erneut probieren soll, aber das Exportdatum gesetzt ist (bspw. etwas falsches exportiert wurde).
Zuerst muss sichergestellt werden, dass der Auftrag in einem exportfähigen Zustand ist. Exportfähig ist der Status “SAP-Export” sowie “Abgeschlossen”. Falls der Auftrag sich bspw. in “Archiviert” befindet, muss dieser zuerst nach “Abgeschlossen” zurückverschoben werden.
Anschließend muss über die Detailseite das Exportdatum zurückgesetzt werden. Hierzu einfach den Inhalt des jeweiligen Exportdatum-Feldes löschen und bestätigen.
Das Vorgehen ist analog zu Ansatz 3c: Daraufhin muss der SAP-Export erneut angestoßen werden. Dazu muss der SAP-Export Button betätigt und im anschließenden Dialog die entsprechende Personalnummer für den Export eingetragen und der Export bestätigt werden.
3c. Re-Export nötig, Exportdatum nicht gesetzt
Dieser Weg ist zu wählen falls das OLP den Export erneut probieren soll und das Exportdatum nicht gesetzt wurde.
Hierzu muss der SAP-Export erneut angestoßen werden. Dazu muss der SAP-Export Button betätigt und im anschließenden Dialog die entsprechende Personalnummer für den Export eingetragen und der Export bestätigt werden.