Fehlermeldung BadI

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

Fehlermeldung BadI

Beitrag von christof (Specialist / 122 / 6 / 0 ) »
Hallo zusammen

Ich habe ein BadI erstellt das bei Fehlerhaften Rückmeldungen eine Fehlermeldung ausgibt.
Die Fehlermeldung klappt ganz gut, nun ist aber das Problem, dass die Rückmeldung trotzdem gesichert wird.
Mit LEAVE TO TRANSACTION 'xxxxx' funktioniert dies leider nicht, da ich auf die Transkation zurückspringen will aus der ich auch die Eingaben gemacht habe.
Hat jemand eine Idee? Ist sicher nur etwas einfaches das ich noch nicht kenne.
Danke euch allen

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


Re: Fehlermeldung BadI

Beitrag von christof (Specialist / 122 / 6 / 0 ) »
Hier noch ein kleiner Code-Ausschnitt

Code: Alles auswählen.

IF   Istmenge <> wa_itab01-MGVRG and endrueck = 'X'.

            message 'Rückmeldemenge entspricht nicht der Soll Menge' type 'I'.
leave screen.


    ENDIF.

Re: Fehlermeldung BadI

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Hi!

Normalerweise haben Prüf-Badis ein eigenes Rückgabefeld um die weitere Verarbeitung abzubrechen.
"Früher" zu User-Exit Zeiten war es auch möglich mit einer 'E'-Message die Verarbeitung abzubrechen.

Welches BAdI hast du denn implementiert?

lg ADT
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: Fehlermeldung BadI

Beitrag von christof (Specialist / 122 / 6 / 0 ) »
Hallo

Danke

Ich arbeite mit WORKORDER_CONFIRM und mit der Methode IF_EX_WORKORDER_CONFIRM~BEFORE_UPDATE

Gruss

Re: Fehlermeldung BadI

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Hab das BAdI (zufällig) auch auf unserem System gefunden und muss dir leider sagen, dass damit vermutlich keine "Prüfung" auf Korrektheit und Abbruch im Fehlerfall möglich ist. Da ich aber auch kein Experte im PP bin kann ich dir leider nicht sagen ob man hier mit anderen Mitteln (z.B. globalem Errorhandler) die gewünschte Funktionalität erreichen kann.
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: Fehlermeldung BadI

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Ich revidiere hiermit meine Aussage von vorhin:
Hab mir die vorhandenen (Standard-)Implementierungen des Interfaces IF_EX_WORKORDER_CONFIRM gerade angeschaut und da werden sehrwohl Prüfungen über Error- bzw. Abbruch-Messages realisiert.

lg ADT
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: Fehlermeldung BadI

Beitrag von christof (Specialist / 122 / 6 / 0 ) »
Danke

Also wenn ich dies so schreibe kommt eine ABAP-Laufzeit-Fehlermeldung,

Code: Alles auswählen.

message 'Rückmeldemenge entspricht nicht der Soll Menge' type 'E'.
Wie löse ich dies am besten? Mit einer Methode?



Hier die Fehleranalyse:

In dem Programm "SAPLCORB" wurde durch eine RAISE-Anweisung die Exception
(Ausnahmebedingung) "DUPREC" ausgelöst.
Da die Exception nicht durch ein in der Aufrufhierarchie darüber-
liegendes Programm abgefangen ist, wurde die Verarbeitung abgebrochen.

Kurztext zur Ausnahmebedingung:
Eine ausführliche Dokumentation der Ausnahmebedingung finden Sie
über Transaktion SE37 (Funktionsbibliothek). Den gerufenen
Funktionsbaustein können Sie der Anzeige der aktiven Aufrufe
entnehmen.

Re: Fehlermeldung BadI

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Das ist ja das was du wolltest: Das die Verarbeitung abbricht.

Welchen Funktionsbaustein aus der SAPLCORB rufst du denn auf?
Bei dem musst du das Errorhandling (EXCEPTIONS-Abschnitt beim Aufruf) für den Fehler DUPREC aktivieren.

lg ADT
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: Fehlermeldung BadI

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
Hm, also ich würde ja mal als aller erstes die Dokumentation zum Badi lesen...könnte sein das da alles drin steht...
...entwickelnder Berater...beratender Entwickler

Re: Fehlermeldung BadI

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
stimmt :oops:
Weitere Hinweise

Bitte beachten Sie, daß in den Methoden keine Systemmeldungen gesendet werden dürfen. Die einzige Ausnahme bilden hier die Methoden AT_SAVE und AT_CANCEL_CHECK. Innerhalb dieser Methoden darf eine Systemmeldung ausgegeben werden, allerdings nur bei gleichzeitigem Auslösen der Ausnahmen ERROR_WITH_MESSAGE (Methode AT_SAVE) bzw. NOT_ALLOWED (Methode AT_CANCEL_CHECK).

Beachten Sie ferner, daß innerhalb der Methoden nicht die Anweisung 'commit work' ausgeführt werden darf, da dies zu Datenschiefständen auf der Datenbank führen würde.
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: Fehlermeldung BadI

Beitrag von christof (Specialist / 122 / 6 / 0 ) »
Hab ich nun auch gelesen...
Da habe ich wohl ein bisschen in die sch.... geritten. :D

Ich habe die Methode BEFORE_UPDATE verwendet.
Mit AT_SAVE müsste es sicherlich gehen.

Nun müsste ich dies ja ändern, leider habe ich ein Problem mit dem deklarieren der Felder.
In BEFORE_UPDATE habe ich dies so gelöst:
Gibt es irgendwo eine Anleitung. bei diesen Deklarationen verstehe ich nur Bahnhof...

Code: Alles auswählen.

*Daten auslesen von der aktuellen Rückmeldung
  DATA: ld_number TYPE n LENGTH 6,              "Rückmeldenummer
        ld_aufnr  TYPE c LENGTH 12,             "Auftragsnummer
        endrueck  TYPE c LENGTH 1,              "Endrückmeldung
        vorgang   TYPE c LENGTH 4,              "Vorgangsnummer

        pernr     TYPE n LENGTH 8,              "Personalnummer
        gutmenge  TYPE p LENGTH 7 DECIMALS 3,   "Anzahl Gutmenge aus aktueller Rückmeldung
        ausschuss TYPE p LENGTH 7 DECIMALS 3,   "Anzahl Ausschuss aus aktueller Rückmeldung
        nacharb   TYPE p LENGTH 7 DECIMALS 3,   "Anzahl Nacharbeit aus aktueller Rückmeldung
        ld_aplzl  TYPE n LENGTH 8.              "Vorgang Zähler


  FIELD-SYMBOLS: <ls_confirmation> LIKE LINE OF it_confirmation.

  LOOP AT it_confirmation ASSIGNING <ls_confirmation>.
    ld_number = <ls_confirmation>-rueck.
    endrueck  = <ls_confirmation>-aueru.
    vorgang   = <ls_confirmation>-vornr.
    pernr     = <ls_confirmation>-pernr.
    ld_aufnr  = <ls_confirmation>-aufnr.

    gutmenge  = <ls_confirmation>-lmnga.
    ausschuss = <ls_confirmation>-xmnga.
    nacharb   = <ls_confirmation>-rmnga.
    ld_aplzl  = <ls_confirmation>-aplzl.
  ENDLOOP.

Re: Fehlermeldung BadI

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
christof hat geschrieben:Hab ich nun auch gelesen...
Da habe ich wohl ein bisschen in die sch.... geritten. :D

Ich habe die Methode BEFORE_UPDATE verwendet.
Mit AT_SAVE müsste es sicherlich gehen.

Nun müsste ich dies ja ändern, leider habe ich ein Problem mit dem deklarieren der Felder.
In BEFORE_UPDATE habe ich dies so gelöst:
Gibt es irgendwo eine Anleitung. bei diesen Deklarationen verstehe ich nur Bahnhof...
Ich verweise hier mal auf meine Antwort auf Deine Frage vom 02. April diesen Jahres. Insbesondere den 2. Absatz solltest Du Dir nochmal genau durchlesen.

http://www.abapforum.com/forum/viewtopi ... 779#p74779

Viele Grüße,
...entwickelnder Berater...beratender Entwickler

Re: Fehlermeldung BadI

Beitrag von christof (Specialist / 122 / 6 / 0 ) »
Okay, nach wie vor gebe ich dir recht.
Ist so viel schlimmes daran, dass ich programmiere, dies eine Firma kontrolliert und transportiert und ich alle protokolliere?

Aber danke trotzdem

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1084
Views
Fehlermeldung
von Janni » 25.01.2006 18:23 • Verfasst in Material Management & Produktionsplanung
2
Antw.
1684
Views
Fehlermeldung
von phil1982 » 24.09.2007 09:26 • Verfasst in ABAP® für Anfänger
7
Antw.
2453
Views
Fehlermeldung
von 1337 » 06.12.2013 09:01 • Verfasst in ABAP® für Anfänger
1
Antw.
1308
Views
Job Fehlermeldung
von moppel251 » 26.06.2009 12:39 • Verfasst in ABAP® für Anfänger
1
Antw.
2773
Views
Fehlermeldung
von Anfänger » 15.11.2010 15:44 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140