So verhindern Sie Probleme durch Steuerzeichen im SAP MDG Änderungsantrag
Wenn Sie oder Ihre Mitarbeiter Daten in einem MDG Änderungsantrag erfassen, ist es vielleicht schon einmal passiert, dass es bei der Weiterverarbeitung in Modulen oder anderen Systemen plötzlich zu verschiedenen Abbrüchen kommt. Dies kann daran liegen, dass ein User versehentlich diverse Steuerzeichen aus einer PDF-Datei kopiert und unbemerkt in den Änderungsantrag einfügt. Doch wieso haben die Steuerzeichen solche Auswirkungen und wie kann das verhindert werden? In diesem Beitrag erkläre ich Ihnen, wie Sie die Steuerzeichen aus den Änderungsanträgen herausfiltern können, damit diese in Zukunft keine Abbrüche mehr auslösen.
Ausgangssituation
Ein Mitarbeiter von Ihnen möchte Daten im MDG Änderungsantrag erfassen, einen neuen Lieferanten hinzufügen oder etwas abändern. Manchmal werden dabei Daten aus einem Dokument wie bspw. aus einer PDF-Datei herauskopiert und dann in den Antrag eingesetzt. Leider kann es dabei passieren, dass Ihr Mitarbeiter Steuerzeichen aus der Datei mitkopiert und diese dann ebenfalls im ausgefüllten Textfeld landen:
Wie Sie sehen, werden die Steuerzeichen hinter der Ortsangabe „Bielefeld“ normalerweise nicht wahrgenommen, da sie visuell nicht dargestellt werden. Nur wenn der User das Feld markiert, fällt auf, dass hinter dem Wort noch etwas Unsichtbares markiert wurde, wie auf folgendem Bild zu erkennen ist. Im Alltag macht sich aber kaum ein Mitarbeiter die Mühe, jedes Feld nochmal zu überprüfen.
Meistens wird also nicht bemerkt, dass sich Steuerzeichen im Feld befinden und so werden sie mit abgespeichert. Das führt zu zwei Problemen:
- Die Steuerzeichen werden in der GUI als Rauten angezeigt. Das ist ist zwar ärgerlich, hat aber keine weiteren Auswirkungen.
- Wenn die Stammdaten in weiteren Modulen oder anderen Systemen weiterverarbeitet werden sollen, so werden auch die eingespeicherten Steuerzeichen über potenzielle Interfaces mitgeschickt. Die Module und Systeme können allerdings häufig nicht mit den Steuerzeichen umgehen und es kann zu verschiedensten Abbrüchen kommen.
So filtern Sie die Steuerzeichen heraus
Um dieses Problem zu umgehen, können Sie über eine Custom MDG Handler Klasse die Steuerzeichen herausfiltern lassen. Dafür müssen Sie folgendermaßen eine Handler Klasse erstellen:
Nun müssen folgende Interfaces eingebunden werden:
Da die Superklasse abstrakt ist, müssen ohne Ausnahme alle Methoden von IF_MDG_BS_BP_ACCESS_HANDLER redefiniert werden. Diese können zuerst auch leer bleiben, es muss jedoch eine Redefinition existieren.
Als nächstes muss die Klasse in der View V_MDG_BS_BP_HDL registriert werden:
Nun, da die Klasse registriert ist, können Sie die Redefinition der Methode derive_data nutzen. Diese Methode hat Zugriff auf bestehende, neue und geänderte Daten des Änderungsantrags. Die Daten können direkt manipuliert werden, sodass die Steuerzeichen herausgefiltert werden können, bevor der Änderungsantrag gespeichert wird.
Der Importparameter IO_CHANGED_DATA beinhaltet die Daten, die sich gerade zur Laufzeit in einer Änderung befinden:
Die gelesenen Daten können nun bearbeitet werden, z. B. durch eine eigene separate Methode:
Über den Importparameter IO_WRITE_DATA können die Daten in den Änderungsantrag zurückgeschrieben werden.
Hier sehen Sie eine beispielhafte Methode, um Steuerzeichen zu entfernen:
Keine Steuerzeichen – kein Problem
Durch das Einrichten des Filters können Sie sich von Problemen durch Steuerzeichen verabschieden. Ihre Mitarbeiter müssen nicht mehr manuell nach den Steuerzeichen suchen und es treten keine Fehler bei der weiteren Nutzung der Informationen auf.
Haben Sie Fragen oder Probleme beim Einrichten? Gerne können Sie sich bei mir melden und ich helfe Ihnen dabei.