Verlassen der Transaktion nach MESSAGE im OO-ALV-Event

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

Verlassen der Transaktion nach MESSAGE im OO-ALV-Event

Beitrag von Timo7 (ForumUser / 21 / 0 / 0 ) »
Hallo alle zusammen,

ich habe ein kleines Problem mit einem editierbaren OO-ALV: Über das Event DATA_CHANGED_FINISHED stoße ich eine Plausibilisierung an, die im Fehlerfall eine Error-MESSAGE auf dem Dynpro ausgibt. Soweit - so gut!

Wenn ich nach dem Auslösen der Fehlermeldung allerdings noch irgendetwas mache was zur Code-Ausführung führt (also Pushbuttons drücken oder Event auslösen, etc.), dann wird automatisch die Transaktion verlassen und die Seite angezeigt, mit der man das "SAP Easy Access"-Navigationsmenü wieder starten kann.

Wenn die Message als "i" und nicht als "e" definiert wird, passiert das nicht. Allerdings will ich ja einen Fehler ausgeben und die Verarbeitung unterbrechen und keine Information anzeigen.

Weiß jemand wie man da Abhilfe schaffen kann?

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Das mit den Messages muss ich noch schauen.

Ist es nicht eigentlich schon zu spät eine Plausiprüfung erst beim Ereigis DATA_CHANGED_FINISHED zu machen?
Normalerweise macht man sowas doch bei DATA_CHANGED, oder? :wink:

EDIT:
Eigentlich hätte ich es gleich wissen müssen!

Messages des Types E werden in Methoden automatisch zum Type A!
Folglich hattest du keine E-Meldung auf dem Schirm, sondern eine A-Meldung!

Beitrag von Timo7 (ForumUser / 21 / 0 / 0 ) »
DeathGuardian hat geschrieben:Ist es nicht eigentlich schon zu spät eine Plausiprüfung erst beim Ereigis DATA_CHANGED_FINISHED zu machen?
Normalerweise macht man sowas doch bei DATA_CHANGED, oder? :wink:
:) Ja, an sich hast du recht. Aber meine Plausiprüfung checkt jetzt grad erstmal die gesamte Tabelle. Und da bei DATA_CHANGED Änderungen noch nicht in die iTab übertragen wurden, steig ich erst bei DATA_CHANGED_FINISHED ein.
DeathGuardian hat geschrieben:Messages des Types E werden in Methoden automatisch zum Type A!
Folglich hattest du keine E-Meldung auf dem Schirm, sondern eine A-Meldung!
Hmmm, okay! Aber das scheint nicht generell für Methoden zu gelten?! Zumindest verwende ich in anderen Methoden auch e-Messages und dort kann ich nach der Message noch weiter in der Transaktion arbeiten. Gilt das also nur im Kontext von Events?

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Timo7 hat geschrieben:
DeathGuardian hat geschrieben:Messages des Types E werden in Methoden automatisch zum Type A!
Folglich hattest du keine E-Meldung auf dem Schirm, sondern eine A-Meldung!
Hmmm, okay! Aber das scheint nicht generell für Methoden zu gelten?! Zumindest verwende ich in anderen Methoden auch e-Messages und dort kann ich nach der Message noch weiter in der Transaktion arbeiten. Gilt das also nur im Kontext von Events?
Hab nochmals genau nachgeschaut.
Normalerweise erzwingt eine E-Message dann ein RAISING bei Methoden und wenn diese Raising-Ausnahme abgefangen wird, kann man weiterarbeiten.
Aber leider haben Events keine Ausnahmen.

Welche SAP-Version hast du?
Ab 4.7 kann man nämlich bei Message noch ein "DISPLAY LIKE mtype " mitgeben. Habs zwar noch nicht getestet, aber sollte gehen.
Dann kannst ne I als E ausgeben und nach dem I ein EXIT machen.

Ob ne Plausiprüfung Sinn macht bei DCF?
Was wenn deine E-Meldung kommt?
Wie niehmst dann die Werte wieder zurück????

Beitrag von Timo7 (ForumUser / 21 / 0 / 0 ) »
Das mit dem "DISPLAY LIKE" wird dann wohl bei uns nicht gehen, denn wir stehen auf 4.6C :(

Das mit dem DCF ist aber eh noch nicht endgültig. Bisher läuft die Plausibilisierung auf der gesamten Tabelle, was vor allem für die einmalige Verprobung direkt vor dem Speichern gedacht ist und durch das Event jetzt noch probeweise mitgenutzt wird. Von daher muss ich sowieso noch genau schauen, was Sinn macht und dem Aufwand gerecht wird! :D

Danke für die Infos!

Re: Verlassen der Transaktion nach MESSAGE im OO-ALV-Event

Beitrag von jondahl11 (ForumUser / 79 / 0 / 0 ) »
Timo7 hat geschrieben:Hallo alle zusammen,

Wenn die Message als "i" und nicht als "e" definiert wird, passiert das nicht. Allerdings will ich ja einen Fehler ausgeben und die Verarbeitung unterbrechen und keine Information anzeigen.

Weiß jemand wie man da Abhilfe schaffen kann?
Hallo,

du kannst über den unten stehenden Code eine Message erzeugen, die zwar aussieht wie eine Error Message, sich aber verhält wie eine Messager des Typs "i".
Hoffe das hilft dir.

Code: Alles auswählen.

MESSAGE ixxx (/nachrichtenklasse) DISPLAY LIKE 'E'.

Re: Verlassen der Transaktion nach MESSAGE im OO-ALV-Event

Beitrag von Timo7 (ForumUser / 21 / 0 / 0 ) »
jondahl11 hat geschrieben:
Timo7 hat geschrieben:Hallo alle zusammen,

Wenn die Message als "i" und nicht als "e" definiert wird, passiert das nicht. Allerdings will ich ja einen Fehler ausgeben und die Verarbeitung unterbrechen und keine Information anzeigen.

Weiß jemand wie man da Abhilfe schaffen kann?
Hallo,

du kannst über den unten stehenden Code eine Message erzeugen, die zwar aussieht wie eine Error Message, sich aber verhält wie eine Messager des Typs "i".
Hoffe das hilft dir.

Code: Alles auswählen.

MESSAGE ixxx (/nachrichtenklasse) DISPLAY LIKE 'E'.
Ja, genau das geht ja nicht, da wir noch nicht bei Version 4.7 angekommen sind!

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1502
Views
double_click event verlassen
von tom1986 » 20.02.2009 09:19 • Verfasst in ABAP Objects®
2
Antw.
1602
Views
Verlassen einer Transaktion erkennen
von a-dead-trousers » 15.09.2016 10:15 • Verfasst in ABAP® Core
2
Antw.
1687
Views
Call Transaction: Wie wurde Transaktion verlassen?
von toto » 03.04.2008 15:15 • Verfasst in ABAP® Core
0
Antw.
1134
Views
Transaktion BF24 und Business Transaction Event
von ABAP_User » 03.08.2011 14:12 • Verfasst in ABAP® für Anfänger
0
Antw.
1431
Views
WebDynpro: Event Handler für externes Event
von Tommy Nightmare » 20.06.2018 09:05 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

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.