Exception - MSG

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

Exception - MSG

Beitrag von HH_ABAP (Specialist / 262 / 144 / 1 ) »
Hallo,

für Exceptions vom FuBa habe ich MESSAGE wie im Screenshot geschrieben.

Ist es richtig, dass der Rest automatisch läuft? Soll ich keine Message für ID im System hinterlegen?

Bei Testing bekomme ich keine Message!

Vielen Dank im Voraus!
Vg

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Exception - MSG

Beitrag von ewx (Top Expert / 4848 / 312 / 642 ) »
Das funktioniert nur, wenn der Funktionsbaustein selbst eine Meldungsnummer mittels MESSAGE RAISING anstelle von RAISE mitgibt.
SAP-Doku hat geschrieben: Die Verwendung von MESSAGE ... RAISING ist in Fällen, in denen noch mit nicht-klassenbasierten Ausnahmen gearbeitet werden muss, der Verwendung der Anweisung RAISE vorzuziehen, da dies die Möglichkeit eröffnet, eine Ausnahme mit zusätzlichen Textinformationen zu versehen.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
HH_ABAP


Re: Exception - MSG

Beitrag von HH_ABAP (Specialist / 262 / 144 / 1 ) »
Hallo ewx,

vielen Dank für die Antwort.

1. Wie kann ich wissen, dass der FuBa selbst Meldungsnummer mittels MESSAGE RAISING anstelle von RAISE mitgibt?

2. Wie ist die einfachste und übliche lösung dafür?

Vg

Re: Exception - MSG

Beitrag von ewx (Top Expert / 4848 / 312 / 642 ) »
1a) Testen
1b) die Funktionsgruppe nach RAISE durchsuchen

2a) Wenn du sicher bist, dass der FB eine Meldung zurück gibt, dann MESSAGE mit SY-Variablen
2b) Wenn du sicher gehen willst, bzw. die Meldung an den Kontext anpassen möchtest, dann eigene Meldung verwenden
2c) Abfrage, ob SY-MSGNO gefüllt ist oder nicht und entsprechend reagieren. Dafür aber sicherstellen, dass die SY-MESSAGE Felder vorh Aufruf auch leer waren.

Re: Exception - MSG

Beitrag von a-dead-trousers (Top Expert / 4396 / 223 / 1182 ) »
ad 1b) Suche nach "RAISING" (Zusatz von Message) anstatt "RAISE".
ad 2c) Abfragen ob "SY-MSGID" gefüllt ist anstatt "SY-MSGNO" (Es gibt auch Nachrichtennummer 000).

Nachsatz:
Viele Bausteine liefern auch einen RETURN(TAB) oder ähnlichen Parameter mit, der alle während der Verarbeitung aufgetretenen Meldungen sammelt und zurückliefert.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
ewxblack_adept

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Exception - MSG

Beitrag von ewx (Top Expert / 4848 / 312 / 642 ) »
a-dead-trousers hat geschrieben:
20.06.2023 09:38
(Es gibt auch Nachrichtennummer 000).
Meine Lieblingsmeldung, die ich immer zum Testen nehme, ist 000(OO) 😁

Re: Exception - MSG

Beitrag von HH_ABAP (Specialist / 262 / 144 / 1 ) »
Hallo,
vielen Dank für die Antwort.

Im System im FuBa steht wie im Screenshot.
Wenn ich u.g. Code schreibe, das Programm bei WHEN 1 abbrecht.

Code: Alles auswählen.

  
    CASE sy-subrc.
    WHEN 1. RAISE NO_POSITION_FOUND.   --> Abbruch
    WHEN 2. RAISE wrong_access_to_archive.
    WHEN 3. RAISE time_zone_conversion_error.
    WHEN OTHERS. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDCASE.
Wie kann ich das Problem lösen?

Vielen Dank & Grüße

Re: Exception - MSG

Beitrag von Pfirsicheistee (ForumUser / 1 / 0 / 0 ) »
Hallo,
eine Frage in diesem Zusammenhang.
Bei klassenbasierten Ausnahmen gibt es im neuen ABAP-Debugger den netten Knopf "Display Trigger Location", über den man direkt zu der Codezeile springen kann, in welcher die Ausnahme ausgelöst wurde.
Gibt es bei nicht-klassenbasierten Ausnahmen eine ähnlich elegante Möglichkeit? Ich habe einen Funktionsbaustein, der ein RAISE ERROR auslöst - da dies in irgendeinem untergeordneten FuBa oder FORM innerhalb des Funktionsbausteins zu passieren scheint, konnte ich die exakte Codezeile leider noch nicht ausfindig machen.

Re: Exception - MSG

Beitrag von ewx (Top Expert / 4848 / 312 / 642 ) »
Nur: Breakpoint bei Anweisung - RAISE
Kann aber sein, dass er oft anhält, bevor der richtige kommt.
Eine andere Möglichkeit kenne ich auch nicht.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2664
Views
BSP Exception
von Moksha » 04.03.2005 12:14 • Verfasst in Web-Dynpro, BSP + BHTML
8
Antw.
4967
Views
Exception ?
von simethandreas » 21.10.2009 14:15 • Verfasst in ABAP® für Anfänger
11
Antw.
1400
Views
Langtext zur Exception
von ralf.wenzel » 28.05.2019 09:26 • Verfasst in ABAP® Core
1
Antw.
1911
Views
Exception in BOR Methode
von winter06 » 04.03.2007 19:48 • Verfasst in ABAP Objects®
3
Antw.
3724
Views
Exception Frage
von Basler84 » 23.04.2015 16:20 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 6 Stunden von black_adept gelöst 23 / 3591
User Exit EXIT_RQCPRM10_001
vor 7 Stunden von a-dead-trousers 2 / 206
Trennen Strasse und Hausnummer
vor 13 Stunden von payten 13 / 10531
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1258

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 6 Stunden von black_adept gelöst 23 / 3591
User Exit EXIT_RQCPRM10_001
vor 7 Stunden von a-dead-trousers 2 / 206
Trennen Strasse und Hausnummer
vor 13 Stunden von payten 13 / 10531
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1258

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2809
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9389