Wie setzt man das Pragma ##NO_HANDLER ein?

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Wie setzt man das Pragma ##NO_HANDLER ein?

Beitrag von DeathAndPain (Top Expert / 1944 / 257 / 413 ) »
Hallo zusammen,

Die erweiterte Programmprüfung meckert:
Fehlende Ausnahmebehandlung nach der CATCH-Anweisung.
Durch das Pragma ##NO_HANDLER deaktivierbar. Meldungscode: UNR 0247
O.g. Pragma will ich nutzen, damit die Meckerei ein Ende hat.

Also versuche ich:

Code: Alles auswählen.

TRY.
  IF LINE_EXISTS( BUFFER_PEOPLE_HEAD_USERS[ TABLE_LINE = BUFFER_UNAME[ PERNR = LV_PERNR ]-USRID ] ).
    PEOPLE_LEAD = ABAP_TRUE.
    RETURN.
  ENDIF.
  CATCH CX_SY_ITAB_LINE_NOT_FOUND. ##NO_HANDLER
ENDTRY.
(Flame Disclaimer: Trotz des LINE_EXISTS ist der TRY-Block notwendig, da hier zwei 7.40-Tabellenzugriffe ineinander geschachtelt sind und der innere trotzdem eine Exception auslösen könnte, wenn es in der Tabelle BUFFER_UNAME keine passende Zeile gibt.)

Aber die erweiterte Programmprüfung meckert trotzdem unverändert, und in der Zeile mit dem Pragma kommt (in Eclipse) links ein kleines gelbes Dreieck, dessen Mouseover lautet: "Das Pragma "NO_HANDLER" darf an dieser Stelle nicht stehen."
Wenn ich das ##NO_HANDLER einfach in eine eigene Zeile unter das CATCH setze, dann verschwindet das gelbe Dreieck. Aber die erweiterte Programmprüfung meckert auch dann weiter.

Also wo muss das Pragma hin, damit der Kram funktioniert?

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


Re: Wie setzt man das Pragma ##NO_HANDLER ein?

Beitrag von edwin (Specialist / 302 / 10 / 68 ) »
vor und nicht nach dem Punkt :

Code: Alles auswählen.

  CATCH CX_SY_ITAB_LINE_NOT_FOUND ##NO_HANDLER.

Folgende Benutzer bedankten sich beim Autor edwin für den Beitrag:
DeathAndPain


Re: Wie setzt man das Pragma ##NO_HANDLER ein?

Beitrag von tm987456 (ForumUser / 72 / 42 / 15 ) »
Mit value #( ... optional ) braucht es kein try-catch, so lange ein leerer Rückgabewert das Ergebnis beim äusseren Tabellenausdruck nicht verfälscht.

Code: Alles auswählen.

IF LINE_EXISTS( BUFFER_PEOPLE_HEAD_USERS[ TABLE_LINE = VALUE #( BUFFER_UNAME[ PERNR = LV_PERNR ]-USRID OPTIONAL ) ] ).
  PEOPLE_LEAD = ABAP_TRUE.
  RETURN.
ENDIF.

Folgende Benutzer bedankten sich beim Autor tm987456 für den Beitrag:
black_adept


Re: Wie setzt man das Pragma ##NO_HANDLER ein?

Beitrag von DeathAndPain (Top Expert / 1944 / 257 / 413 ) »
Ich weiß, OPTIONAL nutze ich auch sehr gerne, aber hier kann ich nicht zweifelsfrei garantieren, dass es in der äußeren Tabelle keinen Fund für den Initialwert geben würde.

Aber edwins Antwort war die Lösung, vielen Dank!

Seite 1 von 1

Vergleichbare Themen

5
Antw.
1064
Views
DB-Update setzt kein Subrc
von RIG » 29.07.2021 12:10 • Verfasst in ABAP® für Anfänger
3
Antw.
3409
Views
refresh_table_display setzt aktuelle zelle um :(
von SwordMaster » 13.10.2005 14:55 • Verfasst in Dialogprogrammierung
2
Antw.
8488
Views
BAPI_PO_CREATE1 setzt netto Preis auf 0 obwohl vorhanden
von elgreco » 22.05.2024 14:36 • Verfasst in ABAP® Core
1
Antw.
2016
Views
Event Handler mit OLE
von snoodels » 10.12.2005 11:27 • Verfasst in ABAP Objects®
8
Antw.
6253
Views
Handler- und ALV-Problem
von newbie007 » 10.12.2011 10:54 • Verfasst in ABAP Objects®

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 17 Stunden von black_adept gelöst 23 / 3833
User Exit EXIT_RQCPRM10_001
vor 18 Stunden von a-dead-trousers 2 / 325
Trennen Strasse und Hausnummer
Gestern von payten 13 / 10695
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1379

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 17 Stunden von black_adept gelöst 23 / 3833
User Exit EXIT_RQCPRM10_001
vor 18 Stunden von a-dead-trousers 2 / 325
Trennen Strasse und Hausnummer
Gestern von payten 13 / 10695
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1379

Unbeantwortete Forenbeiträge

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