Bug 15659

Summary: PREPARE - Error- statt Info-Meldung - Abbruch PREPARE, wenn eine Error-Message ausgelöst wurde
Product: [SCX/Suite] Controlling Reporter: cbr
Component: DatenaufbauAssignee: Kohl, Lukas <Lukas.Kohl>
Status: VERIFIED FIXED QA Contact: Lenz, Florian <florian.lenz>
Severity: major    
Priority: P2 CC: cbr, Christof.Weyand, Kamill.Garstka, Lukas.Kohl, Marc.Bertelmann, Tim.Kolb
Version: 22.0Keywords: Taurus, Vorabkorrektur
Hardware: All   
OS: All   
Whiteboard:
Kundennummer: Bestellnummer:
PV Übergabe: --- Phase Roadmap: ---
Erledigt mit: Taurus SAP Release: ---
Transport: FE0K909245;E74K909915;M65K900576;M55K900491;M63K901590;M53K901352;M62K901901;M52K901617 CRM-ID/Ticket: 025409,026375
Bug Depends on:    
Bug Blocks: 6101, 17793    
Deadline: 2023-05-31   

Description cbr 2023-02-27 12:42:45 CET
PREPARE - Error- statt Info-Meldung: (Zeitraum geändert - Prepare erst nach Bereinigung der Datenbasis möglich)

PREPARE - Error- statt Info-Meldung: 
Message: /GIB/DCC 193 (Zeitraum geändert - Prepare erst nach Bereinigung der Datenbasis möglich)

Der PREPARE erkennt, das die Zeiträume (Bestandsanalyse, Lagerhüter, Reichweiten,...) geändert wurden und der daraus ermittelte "längste Zeitraum" größer als der PREPARE-Zeitraum (globale Daten) ist.

Es wird eine Info-Meldung (/GIB/DCC 193 siehe oben) ausgegeben.
Das Programm läuft weiter, ermittelt/Speichert aber keine Materiabewegungen mehr (Tabelle /GIB/DCC_MSEGH wird nicht weiter versorgt...).

In der Folge ist die Ermittlung der Kennzahlen im Report /GIB/DCC_HISTORY_KF (Kennzahlenaufbau zur Periodizität) nicht mehr konsistent. Es fehlen Zu-Abgänge (Menge/Wert), Verbrauchsmengen/-werte. 
Alle Kennzahlen, die die o.g. Kennzahlen konsumieren (z.B. Bodensatz, Lagerhüter, Reichweiten,...) , sind durch die nicht korrekten Mengen/Werte inkonsistent.

Das Problem ist, dass diese "Unschärfen" nicht unbedingt sofort auffallen und es dazu führen kann, dass beim Kunden aufgrund dieser falschen Zahlen falsche Maßnahmen getroffen werden.

Lösung:
Die Message /GIB/DCC 193 muss zwingend als Abbruch-Meldung ausgegeben werden.
Damit wird vermieden, dass der Kennzahlenaufbau weiterläuft und, dass hier Handlungsbedarf (Analyse Zeiträume...) besteht.
Comment 4 Kohl, Lukas intern 2023-07-03 08:12:03 CEST
Weitere Informationen und Auswirkungen der Änderungen:

Im Prepare wird ein Message-Objekt verwendet in das Meldungen, die während bestimmter Abschnitte der Ausführung auftreten, gesammelt und dann gebündelt ausgegeben werden können.

Im Programm wird an den Stellen an denen Meldung auftreten das Programm nicht abgebrochen. Aus historischen Gründen wird an diesen Stellen zusätzlich die Meldung noch einmal direkt als S(Erfolgs)-MESSAGE abgesetzt (online verschwindet diese bei der nächsten Message, im Batch wird sie an dieser Stelle als S-Message ins Job-Log geschrieben).
Zusätzlich wird die Meldung in die Queue des Message-Objekts geschrieben. Dabei wird der Typ (S, I, W, E, A, X) der Meldung durch explizites Setzen im Quellcode mitgegeben.
Die Meldungen in der Queue des Meldungsobjekts werden dann an einer Stelle zusammen ausgegeben/angezeigt. Online werden sie zusammen in einem Popup in einer Liste dargestellt. Den Typ der Meldung erkennt man dort an einem farbigen Icon am Anfang jeder Meldung. Im Batch werden die Meldungen an dieser Stelle nacheinander ins Job-Log geschrieben. Damit das Programm dabei nicht abbricht werden sie allerdings unabhängig vom gespeicherten Typ als S-Meldungen geschrieben.

An dieser Stelle greift dann die Korrektur ein, die im Zusammenhang mit diesem Bug erstellt wurde. Vorher lief das Programm einfach weiter, egal ob Meldungen im Message-Objekt die hier ausgegeben werden einen Typ haben der eigentlich zum Abbruch führt (Typen E, A und X).
Mit der Korrektur wird im Batch nun überprüft, ob es eine oder mehrere Nachrichten vom Typ E, A oder X in der Queue des Message Objekts gibt. Wenn ja, wird mit der Fehlermeldung /GIB/DCV 316: „Es sind Fehler aufgetreten. Details im Job-Log oder Spool.“ der Job abgebrochen/beendet.
Da die gesammelten Meldungen direkt vor dieser Meldung ausgegeben werden, sollte man im Fall eines Abbruchs zur Analyse die letzten Meldungen betrachten.
Comment 3 Kohl, Lukas intern 2023-04-13 15:13:14 CEST
Bei einem Fehler im Prepare wird im Batch nun ein Fehlermeldung ausgegeben, die das Programm/den Job abbricht.