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.
Code: Alles auswählen.
message 'Rückmeldemenge entspricht nicht der Soll Menge' type 'E'.
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.
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.
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.christof hat geschrieben:Hab ich nun auch gelesen...
Da habe ich wohl ein bisschen in die sch.... geritten.
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...