Ich hab das damals über eine Bedingung gelöst, da ich keinen anderen Weg gefunden habe (was nicht heißt, dass es diesen nicht gibt!).markus1234 hat geschrieben:Ich würde ungern über eine Bedingung gehen, da in beiden bereits eine Bedingung definiert ist und diese müsste ich erweitern, was aber nur die letzte Möglichkeit sein soll.
Beides parallel funktioniert, aber ich möchte, wenn Nachricht zum E-Mailversand gefunden wurde, die Nachricht zum Druck nicht mehr gefunden wird.
Code: Alles auswählen.
IF t683s-kschl = 'ZDRUCK'. "nur für genau diese Nachricht prüfen!
* Zuerst die neuen/aktuellen Nachrichten prüfen
LOOP AT nnast TRANSPORTING NO FIELDS WHERE objky = msg_objky "Enthält aktuellen Beleg
AND kschl = 'ZMAIL'. "Mail-Nachricht wurde gefunden
EXIT.
ENDLOOP.
IF sy-subrc = 0. "Es gibt eine neue ZMAIL-Nachricht für den Beleg
sy-subrc = 4. "dann wird kein Ausdruck erzeugt
ELSE.
* Dann in den alten Nachrichten schauen
LOOP AT ynast TRANSPORTING NO FIELDS WHERE objky = msg_objky "Enthält aktuellen Beleg
AND kschl = 'ZMAIL'. "Mail-Nachricht wurde bereits gefunden
EXIT.
ENDLOOP.
IF sy-subrc = 0. "Es gibt eine alte Mail-Nachricht für den Beleg
sy-subrc = 4. "dann wird kein Ausdruck erzeugt
ELSE.
sy-subrc = 0. "kein Mail, also kann gedruckt werden
ENDIF. "2.Loop
ENDIF. " 1.Loop
ENDIF.