nachträglich EXEPTION im FB

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

nachträglich EXEPTION im FB

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo,

wir haben eine selbstgestrickten FB.
der Aufruf lautet:

Code: Alles auswählen.

  CALL FUNCTION 'Z_MM_CORRECT_CURRENCY_DECIMALS'
    EXPORTING
      imp_waers             = p_waers
    CHANGING
      value                 = p_value
    EXCEPTIONS
      no_value              = 1
      no_organization       = 2
      no_compcode           = 3
      no_currency           = 4
      wrong_plant           = 5
      wrong_compcode        = 6
      no_factor             = 7
      OTHERS                = 8.
Ich möchte im FB eine zusätzliche EXEPTION: overflow = 9 einbauen. Jetzt ist der FB schon in etlichen Reports eingebaut. Muß ich dann alle bestehenden Aufrufe um die neue EXEPTION erweitern??

oder anders Ausgedrückt. Müssen bei einem FB Aufruf: keine oder alle EXEPTION angegeben werden, oder kann angeben was man will.
zB:

Code: Alles auswählen.

   EXCEPTIONS
      no_value              = 1
      no_currency           = 4
      OTHERS                = 8.
mfg
Richard

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


Beitrag von Jens (Specialist / 106 / 0 / 0 ) »
Hi Richard,

soweit ich weiß, wird ein Abbruch oder Dump ausgelöst, wenn eine Exception nicht abgefangen wird. Wenn Du also eine neue Exception auslöst, mußt Du diese in allen Programmen, wo der Baustein verwendet wird auch abfangen bzw. entgegennehmen

Gruss,
Jens

Beitrag von Dirk (ForumUser / 18 / 0 / 0 ) »
Hallo Richard,

Jens hat grundsätzllich Recht mit seiner Aussage. Es gibt aber auch Ausnahmen. Siehe Dir mal unter folgendem Link den Absatz "Ausnahmen auslösen" an.

http://help.sap.com/saphelp_erp2004/he ... ntent.htm

Gruß,
Dirk

Beitrag von Gast ( / / 0 / 3 ) »
EXCEPTIONS OTHERS = beim Aufrufer fängt alle nicht explizit aufgezählten Exceptions ab.

Und wenn der FB die Exception mit MESSAGE ... RAISING ... auslöst, wird bei nicht vom Aufrufer abgefangenen EXCEPTIONs eben die MESSAGE ausgegeben.

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo,

ich weiß, schreib immer nur das notwendigste, und drück mich dadurch vieleicht unverständlich aus. :oops:

Der FB wurde (schätze so Auge mal Pi) 150 mal eingebaut. Läuft bis jetzt tadellos.
Jetzt taucht das erste mal folgendes Problem auf.
im FB:

Code: Alles auswählen.

* Korrektur des Importwerts
  IF NOT value IS INITIAL.
    value = value * factor.
  ENDIF.
der neue value passt nicht mehr in value.
Kurzdump mit BDC_FIELD_OVERVLOW.

Diese Problem möchte ich mit CATCH BDC_FIELD_OVERVLOW abfangen und eine EXEPTION setzen.
Wenn ich das einbaue, hat mein FB 9 EXEPTION's.

Jetzt wird er aber ca 150 mal mit 8 Expetions aufgerufen. Gehen wir mal davon aus, daß bei diesen 150 mal der Fehler nicht passiert (passierte ja auch noch nie).
Kann ich die 150 Aufrufe mit 8 EXEPTION's so stehen lassen und funktioniert der Aufruf, oder muß ich bei allen 150 die 9 EXEPTION eintragen, nur damit der Aufruf funktioniert.

Die Frage ist nicht: was passiert wenn die Exeption ausgelöst wird (bisher gibt's sowieso einen Kurzdump) sondern kann ich grundsätzlich einen FB aufrufen, ohne alle EXEPTIONS anzugeben.

mfg
Richard

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo,

Dirk's antwort, 'MESSAGE..... RAISING <except>.'
dürfte genau das sein, was ich brauche.

mfg
Richard

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
RiffRaff hat geschrieben:Hallo,

Dirk's antwort, 'MESSAGE..... RAISING <except>.'
dürfte genau das sein, was ich brauche.

mfg
Richard
yup. Damit stellt Du sicher, dass eine Meldung ausgegeben wird, wenn keiner die Exception abfängt...

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Richard,

ich glaube eigentlich nicht, dass du da viel zu tun hast. Normalerweise nimmt man beim Aufruf eines Funktionsbausteines die Exception "Others" auf. Diese sollte alle nicht explizit erwähnten Exceptions beinhalten.
Du müsstest also nur die Programme anpassen, die entweder die Exception "Others" nicht enthalten oder die die neue Exception besonders behandlen wollen.

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo,

das Problem beginnt auszuarten. :shock:

Da unser Fachbereich (ich auch) gerne wissen würden, wenn ein Zahlenüberlauf eintritt währe meine neue EXEPTION die Lösung. Bei OTHERS ist nicht sichergestellt, wo der Fehler auftrat.

Und jetzt kommt's. :twisted:
OTHERS wird offensichtlich auomatisch nach allen im FuBau angegebennen EXEPTIONS plaziert. z.Z. 8.
Wenn ich jetzt eine neue EXEPTION einbaue -> wird OTHERS 9. Sollte in den bestehenden Reports jemand bewußt die 8 abgefangen haben, fängt er nun meine neue EXEPTION ab.

Ich kann euch nur sagen: Baut nie ein Werk in Chile. sch&%!&%§% Chilenische Pesos.

mfg
Richard

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2923
Views
ALV-Feldbezeichnung nachträglich ändern
von abapnewbie » 24.06.2020 15:24 • Verfasst in ABAP® für Anfänger
1
Antw.
6892
Views
TOP-Include nachträglich anlegen
von newbie007 » 05.12.2011 19:18 • Verfasst in ABAP® für Anfänger
0
Antw.
3478
Views
Lieferungsposition nachträglich hinzufügen
von alex1986 » 07.11.2011 16:17 • Verfasst in Sales and Distribution
0
Antw.
433
Views
Paket nachträglich kapseln
von der_neuling » 21.04.2023 12:08 • Verfasst in ABAP® für Anfänger
3
Antw.
7394
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1749
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2298

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1749
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2298

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 305
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 898
MS-Word als Editor
letzen Monat von tekko 1 / 4401