Spontan wĂĽrde ich auf eine zweite systemweite Variable setzen, welche du am Ende abfragen kannst.
Mal angenommen, in der Codeunit 80 "Sales-Post" würde in Abhängigkeit dort erkannter Kriterien eine Variable SendNotificationMail auf Yes gesetzt, und die E-Mail soll nach der Codeunit 80 erst versendet werden.
In der Codeunit 80 setzt du irgendwann (möglicherweise ziemlich weit am Anfang) die Variable SendNotificationMail.
Damit der (die Codeunit 80) aufrufende Programmcode weiĂź, ob die Codeunit erfolgreich durchgelaufen ist, setzt du ganz am Ende der Codeunit 80 eine weitere Variable SalesPostFinished auf Yes.
Codeunit 80:
- Code: Alles auswählen
[...]
IFÂ Cust.Notification = Cust.Notification::"E-Mail"Â THENÂ BEGIN // z. B. irgendwo am Anfang
  GlobalVarMgt.SetVar('SendNotificationMail',''Yes');
END;
[...]
GlobalVarMgt.SetVar('SalesPostFinished','Yes'); // Ganz am Ende des OnRun-Triggers der CU 80
z. B. Codeunit 81:
- Code: Alles auswählen
[...]
CODEUNIT.RUN(CODEUNIT::"Sales-Post",SalesHeader);
IFÂ GlobalVarMgt.GetVar('SalesPostFinished')Â <>Â 'Yes'Â THENÂ BEGIN
  GlobalVarMgt.DelVar('SendNotificationMail');
END;
IFÂ GlobalVarMgt.GetVar('SendNotificationMail')Â =Â 'Yes'Â THENÂ BEGIN
  MailMgt.SendNotification(Rec);
  GlobalVarMgt.DelVar('SendNotificationMail');
END;