This is a test message to test the length of the message box.
Login
ABAP Tipp Verwendung Nachrichten
Erstellt von Software-Heroes

ABAP Tipp - Verwendungsnachweis Nachrichten

Bei der Arbeit mit BAPIs und Meldungen, kommt es meist zu einem Verlust der Auswertbarkeit bei der Verwendung von Meldungen, da diese fest in Strukturen übernommen werden.

Werbung

Für was benötigt man eigentlich den Verwendungsnachweis von Meldungen? Das kannst du dir als Entwickler wahrscheinlich schon selbst denken, wenn du mal auf der Suche nach einem Fehler warst und das Umfeld der Meldung verstehen wolltest. Wann wurde die Meldung erzeugt liefert in vielen Fällen den Kontext der Daten und der Prüfungen die zu diesen Meldungen geführt haben. Du kannst an dieser Stelle meist schon den Fehler ableiten und korrigieren.

Doch was ist wenn du die Erzeugung der Meldung nicht nachvollziehen kannst? Entweder du kennst dann den Aufrufpunkt der Meldung oder beginnst mit der Suche im Quelltext. Doch du kannst dir es dir auch einfacher machen, in dem du für die Meldungen auch Pseudo-Verwendungsnachweise integrierst.

 

Verwendungsnachweis

Der Verwendungsnachweis arbeitet über den Schlüsselbegriff MESSAGE und der Nummer, dass heißt wenn die Nachricht in einem BAPI erzeugt wird und mit den normalen BAPI Strukturen gearbeitet wird, dann funktioniert der Verwendungsnachweis nicht, da nur die Nummer und die Nachrichtenklasse als Literal nicht funktionieren.

 

Pseudo Aufrufe

Die Integration einer Nachricht  kann aber gewisse Probleme aufwerfen, da sie den Programmfluss unterbricht. In diesem Zusammenhang wirst du in Quelltexten von SAP häufiger Pseudo-Aufrufe von Nachrichten finden die aber niemals durchlaufen werden. Solltest du das erste Mal über so einen Aufruf stolpern, kann es komisch vorkommen, wieso ausgerechnet ein nicht durchlaufener Stück Quelltext an dieser Stelle ist.

Aber das ist auch genau der Sinn dieses Stücks Quellcode, er hat lediglich einen Sinn an dieser Stelle und das ist die ordentliche Funktion des Verwendungsnachweises.

 

Nachricht integrieren

Wie sieht also eine Integration des Verwendungszwecks einer Nachricht aus? Wir schlagen dir heute drei Methoden vor, die du einfach verwenden kannst.

 

Klassische Verwendung

Die klassische Verwendung wird auch von SAP in vielen älteren Reports angewandt und setzt dabei auf die Verschalung in ein IF-Statement, welches niemals durchlaufen wird. Normalerweise wird die Nachricht dabei ohne Parameter und in einer Zeile dargestellt. Nachteil hierbei ist z.B. das auf einer Zeile mehrere Statements stehen, was deinen Entwicklungskonventionen entgegen streben könnte.


" Klassische Variante
IF 0 = 1. MESSAGE S011(F5). ENDIF.

 

Inline Deklaration

Das IF-Statement fällt bei dieser Methode weg und die Nachricht wird in einer Variable im Coding gesichert. Eine visuelle Prozessierung erfolgt nicht, da der INTO Zusatz beim Aufruf verwendet wird. Nachteil ist die Deklaration einer neuen Variable, auch wenn man zum Beispiel mehrere Medlungen hintereinander hat. Dann solltest du überlegen, ob du die Variable nicht im Datenteil deklarierst oder jedes Mal einen anderen Namen verwendest, was wieder viele lokale Variablen definiert.


" Inline Deklaration
MESSAGE s012(F5) INTO DATA(ld_msg).

 

System-Parameter

Sollte man nicht auf eine Inline-Deklaration setzen wollen und auch keine lokale Variable anlegen wollen, kann man auch einen Systemparameter nutzen, um den Inhalt der Variable zu übernehmen. Dies hat den Vorteil, dass man nicht auf die definierten Variablen achten muss.


" System-Variable
MESSAGE s013(F5) INTO sy-prtxt.

 

Fazit

Der Verwendungsnachweis kann in vielen Situationen hilfreich für dich selbst oder andere Entwickler sein. Es handelt sich im ersten Augenblick um überflüssigen Code, doch wird dir die Arbeit, vor allem bei der Fehleranalyse, vereinfachen. Wenn du also dir und deinen Kollegen einen Gefallen tun möchtest, dann verwende doch einfach einen der gezeigten Tipps.


Enthaltene Themen:
TippVerwendungsnachweisNachrichten
Kommentare (0)
Werbung

ABAP Tipp - Aufbau von Testdaten

Kategorie - ABAP

Welche Herausforderungen hat man beim Aufbau von Testtabellen und Testdaten und wie kann dir die maschinelle Verarbeitung dabei helfen.

25.06.2021

ABAP Tipp - RFC Puffer

Kategorie - ABAP

Hier ein kleiner Tipp von uns, was beim Lesen über RFC mit dem Puffer so alles schief gehen kann und auf was du dabei unbedingt achten solltest.

23.04.2021

ABAP Tipp - Wait for Task

Kategorie - ABAP

Heute einmal einen Tipp für die asynchrone Verarbeitung oder wenn ihr in speziellen Situationen die Verarbeitung in einen separaten Task geben wollt. Wie geht es im Anschluss weiter?

05.03.2021

ABAP Tipp - Performance INSERT vs VALUE

Kategorie - ABAP

In diesem Artikel schauen wir uns einmal die Performance der Einfüge-Operationen APPEND, INSERT und VALUE im Hinblick auf Tabellen an und bewerten die Performance und Stabilität bei der Entwicklung.

26.02.2021

ABAP Tipp - Suche im Quellcode

Kategorie - ABAP

Manchmal ist die Suche über verschiedene Quellcode in einem System nötig. Wir zeigen dir wie es in der SAP GUI und in Eclipse funktioniert.

24.04.2020