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

1003

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)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


ABAP in der Praxis - Test Driven Development

Kategorie - ABAP

Wie funktioniert eigentlich TDD in der Praxis und gibt es einfache Beispiele zum Lernen in ABAP? In dieser Übung gehen wir auf den praktischen Teil ein.

24.09.2024

ABAP in der Praxis - Datenmenge zusammenführen

Kategorie - ABAP

Wir führen wir zwei unterschiedliche Datenmengen in ABAP zusammen, vor allem im Hinblick auf das Moderne ABAP? Eine praktische Aufgabe zum Thema.

17.09.2024

ABAP in der Praxis - Modern ABAP

Kategorie - ABAP

In dieser kleinen Aufgabe schauen wir uns bestehenden klassischen ABAP Quellcode an und versuchen diesen nach Modern ABAP zu optimieren.

27.08.2024

ABAP Tipp - Performance Datenfilterung

Kategorie - ABAP

Welche Anweisung verwendest du in ABAP zur Filterung von internen Tabellen und ist diese performant? In diesem Artikel mehr dazu.

13.08.2024

ABAP in der Praxis - Typkonvertierung

Kategorie - ABAP

Wie würdest du diese Typkonvertierung in ABAP durchführen? Ein Beispiel aus der Praxis und ein Lösungsvorschlag.

16.07.2024