Nachträgliche Archivierung von Nachrichten
Viele Unternehmen sind aufgrund gesetzlicher, regulatorischer oder eigendefinierter Anforderungen dazu verpflichtet, ihre Dokumente zu archivieren. Aber was passiert, wenn Nachrichten nicht korrekt oder gar nicht archiviert wurden und die Masse der Nachrichten zu groß ist, um sie nun per Hand zu archivieren? In diesem Fall ist es angebracht, die fehlerhaft archivierten Nachrichten über einen Report zu archivieren. Wie diese nachträgliche Archivierung von Nachrichten funktioniert, erfahren Sie in diesem Artikel.
Druck-Funktionsbausteine mit Archivparametern versehen
Externe Archivsysteme werden vom SAP ERP wie ein weiterer logischer Drucker behandelt. Die Nachrichten werden also wie beispielsweise bei der gewohnten Druckausgabe in das Archivsystem gedruckt. Beim Aufruf der Druck-Funktionsbausteine müssen lediglich die entsprechenden Archivparameter mitgegeben werden. Mithilfe des ArchiveLinks werden die Nachrichten mit den archivierten Dokumenten verknüpft.
Wie bereits im Blogbeitrag zur Nachrichtensteuerung beschrieben, können Sie den Ablagemodus einer Nachrichtenart in der Nachrichtensteuerung konfigurieren. Sie können dabei einstellen, ob eine Nachrichtenart nur gedruckt, nur archiviert oder gedruckt und archiviert werden soll. Viele Webinhalte und Fachbücher beschränken sich hinsichtlich dieser Thematik auf eben aufgeführten Informationen. Ich möchte Ihnen erklären, was zu tun ist, wenn Nachrichten nicht korrekt oder gar nicht archiviert wurden und die Masse der Nachrichten zu groß ist, um diese per Hand zu archivieren. Hier bietet sich das Archivieren über einen Report an. Mehr zu Nachrichtenarten finden Sie auf unserer Expertise-Seite.
Standard-Werkzeuge der SAP
Eine Möglichkeit, die nächträgliche Archivierung von Nachrichten vorzunehmen, ist die Benutzung der Boardmittel des SAP ERP-Standards. Mithilfe des Programms RSNAST00 können Sie Nachrichten aus der nast-Tabelle selektieren und anschließend wiederholen. Die nast-Tabelle beinhaltet den Nachrichtenstatus. Hier finden Sie alle Nachrichten, die über die Nachrichtensteuerung ausgegeben wurden, aufgeschlüsselt nach Applikation, Objektschlüssel, Nachrichtenart, Partner, Rolle und Entstehungszeitpunkt. Der Objektschlüssel entspricht im Regelfall der Belegnummer. In einigen Fällen ist er eine Kombination der Belegnummer und einem anderen Wert wie z. B. dem Geschäftsjahr.
Die Wiederholung mit dem RSNAST00-Reports kann sich allerdings als problematisch erweisen, wenn Sie die Archivierung beim Mail- oder Faxversand ansteuern. Mit Sicherheit wollen Sie die fehlerhaft archivierten Belege nicht noch einmal an Ihre Kunden mailen oder faxen. Wenn Sie die Archivierung bei der Druckausgabe durchführen, können Sie an dieser Stelle das Ausgabegerät auf LP01 stellen. Dieser Drucker ist ein virtueller Testdrucker. Somit werden die Belege nicht erneut auf einem echten Drucker ausgegeben.
Mögliche Eigenentwicklung zur Archivierung von Nachrichten
Wenn der RSNAST00-Report nicht fehlerfrei durchläuft oder aufgrund des derzeitigen Customizings die Nachrichten nicht in ihrer jetzigen Form wiederholt werden können, empfehlen wir, einen Report zu entwickeln, der streng genommen die Funktionalität RSNAST00 aufweist, aber das entsprechende Druckprogramm mit zur Laufzeit manipulierten Parametern aufruft.
Zunächst können Sie alle zu archivierenden Nachrichten aus der nast-Tabelle selektieren. Mithilfe der Nachrichtenart (KSCHL), des Sendemediums (NACHA) und der Applikation (KAPPL), können Sie anschließend das Customizing der Nachrichtensteuerung eindeutig aus der tnapr-Tabelle lesen. Um die Nachrichten ohne weitere Auswirkung archivieren zu können, empfehle ich die Umsetzung einer der folgenden zwei Alternativen.
Entweder kopieren Sie in der Nachrichtensteuerung die entsprechende Nachrichtenart, konfigurieren den Ablagemodus entsprechend auf “Nur Ablegen” und ändern die Nachrichtenart zur Laufzeit oder Sie behalten die Nachrichtenart bei und ändern den Ablagemodus zu Laufzeit Ihres Reports. Beide Alternativen sorgen dafür, dass später das richtige Formular durch das richtige Druckprogramm mit den richtigen Parametern gedruckt wird. Natürlich können Sie auch das Customizing eines anderen Sendemediums aus der tnapr-Tabelle lesen oder alte Formulare und Druckprogramme aufrufen, die nicht mehr in der Nachrichtensteuerung gepflegt sind.
Bevor das Druckprogramm aufgerufen werden kann, müssen allerdings die Archivierungsparameter gelesen werden. Hierfür kann analog zum Lesen der tnapr-Tabelle die Programmlogik der RSNAST00 übernommen werden. Um die Archivierung abzuschließen, ist nach Aufruf des Druckprogramms ein COMMIT WORK notwendig. Auf die Protokollierungsfunktionen der RSNAST00 sollten Sie bei Ihrem Report verzichten, da die Auswirkungen der nast-Tabelle nicht immer vollständig bekannt sind. Den Erfolg der Archivierung können Sie im externen Archivierungssystem überprüfen. Alternativ können Sie überprüfen, ob ein neuer Eintrag in der toa01-Tabelle angelegt wurde. Wenn Sie den Report ausführen und merken, dass die Archivierung von Nachrichten nicht funktioniert hat, kann das am COMMIT WORK liegen, der einen sy-subrc = 4 zurückgibt. In diesem Fall empfehle ich den Workaround über den Ablagemodus “Drucken und Ablegen” und der Druckausgabe über den virtuellen LP01-Drucker.
Fragen
Hatten Sie bereits Probleme bei der SAP Archivierung von Nachrichten? Wie sind Sie dabei vorgegangen? Anmerkungen und Fragen können Sie gerne in den Kommentaren hinterlassen. Wir freuen uns auf Ihre Fragen, Erfahrungen und Anregungen.