Habe es mit folgender Formel realisiert ( nicht 100% das Gelbe vom Ei, aber mein en loosern reicht es )
SentBy := @If(Principal = ""; From; Principal);
ST := @Subset(SendTo; 1);
ST2 := @If(@Contains(@Right(ST;"@");"@");@LeftBack(ST;"@");ST);
Attendees := @Trim(RequiredAttendees : OptionalAttendees);
Who := @If(DeliveredDate != ""; SentBy; @Elements(Attendees) > 0; @Subset(Attendees; 1); SendTo = ""; SentBy; ST2);
CN1 := @Trim(@Name([CN]; Who));
CN2 := @Left(@Right(Who;"/DDA:");"/" );
CN := @If(@Contains(Who;"/DDA:");CN2;@Contains(@Right(Who;"@");">") & CN1="";@Trim(Who);CN1);
G := @If(CN = ""; @Trim(@Name([G]; Who)); "");
S := @If(CN = ""; @Trim(@Name([S]; Who)); "");
Person := @If(CN != ""; CN; G != ""; G + " " + S; S != ""; S; @Trim(X400FreeForm));
Person2 := @If(@Left(Person;1)="\"" & @Right(Person;1)="\""; @LeftBack(@RightBack(Person;1);1); Person);
@If(Form = "Delivery Report" : "NonDelivery Report" : "Trace Report"; "Mail-Router"; Person2);
_name:=@Name([CN];Person2);
_lastName:=@RightBack(_name;" ");
_lenLastName:=@Length(_lastName);
_LenAll:=@Length(_name);
_diff:=_LenAll - _lenLastName;
_firstName:=@Trim(@Left(_name;_diff));
_dispName:=@If(@Contains(_name;"Zaher");
@Middle(_name;4;20) + ", " + @Left(_name;3) ;
_lastName + ", " + _firstName);
@If(@Left(_dispName;1)=",";@Middle(_dispName;2;@Length(_dispName) -1);_dispName)