Wieso denn dann noch ein left?
Mit dem middle kann ich doch den Offset, der immer gleich ist, schon an den Anfang des Usernamen gehen.
Oder lieg ich da falsch?
Ich hatte das nun so gedacht? (Nicht erschlagen ;o))
FIELD subject:=subject;
FIELD message:=message;
TempSubject:=@if(@Contains(subject;"ASA Alert (ASA-101)"););
TempUser:= @Trim(@middle(message;66;10););
@prompt([ok];"Neuer Betreff";@SetField("subject";TempSubject && TempUser););
@SetField("subject";TempSubject && TempUser);
Du meinst dann so?
FIELD Subject:=Subject;
FIELD Message:=Message;
TempSubject:=@If(@Contains(Subject;"ASA Alert (ASA-101)"));
TempUser:= @Right(message;"Username = ");
TempUser:= @Left(TempUser;", IP");
@prompt([ok];"Neuer Betreff";"@SetField(Subject;TempSubject && TempUser"));
@SetField(Subject;TempSubject && TempUser);
Hmmm,
nun stellt sich mir ein neues Problem in den Weg :-/
Ich habe nun folgendes:
Field Subject:=Subject;
Field Body:=Body;
@If(@Contains("Subject";"ASA Alert (ASA-101)"));
TempSubject:=Subject;
@If(@Contains("Body";"Username ="));
TempUser:= @Right(Body;"Username = ");
TempUser:= @Left(TempUser;", IP");
TempUser:= " - " + TempUser;
@SetField("Subject";Subject + TempUser);
SELECT @All
Soweit funktioniert es auch, solange ich es nur auf die Mails Anwende, die eben diesen Betreff haben, alle anderen werden ebenfalls bearbeitet, allerding werden die Mails dann Zerstört und es steht im Betreff eine Fehlermeldung: FEHLER: Falscher Datentyp für Operator oder @Funktion: Text erwartet
Ich dachte durch die IF Bedingung habe ich dem Script schon gesagt, dass es nur auf die ASA Meldungen reagieren soll?!?
LG KilleKalle
Dann müsste es ja prinzipiell so aussehen...
FIELD Subject:=Subject;
FIELD Body:=Body;
@If(@Contains("Subject";"ASA Alert (ASA-101)");@If(@Contains("Body";"Username =");
(TempSubject:=Subject) & (TempUser:= @Right(Body;"Username =")) &
(TempUser:= @Left(TempUser;", IP")) & (TempUser:= " - " + TempUser) &
(@SetField("Subject";TempSubject + TempUser));@Nothing);@Nothing);
SELECT @All
EDIT BK: Code-Zeile auf sinnige Breite gesetzt.
Hallo zusammen,
vielen Dank für eure Kommentare!
Mit der Designer Hilfe hat es letztlich auch funktioniert ;o)
So siehts nun aus!
Gibt es Einwände, zur Verbesserung?
FIELD Subject:=Subject;
FIELD Body:=Body;
@If(
@Contains(Subject;"ASA Alert (ASA-101)");
"";
@Return("")
);
@If(
@Contains(Body;"Username =");
@Do
(TempSubject:=Subject;
TempUser:= @Right(Body;"Username =");
TempUser:= @Left(TempUser;", IP");
TempUser:= " - " + TempUser;
@SetField("Subject";TempSubject + TempUser)
);
@Return("")
);
SELECT @All
Danke!
LG KilleKalle
Gibt es Einwände, zur Verbesserung?
Ja.
Das @Do kannst du dir schenken, wenn du die zweite @IF - Anweisung nach dem Przinzip der ersten aufbaust.
FIELD Subject:=Subject;
FIELD Body:=Body;
@If(@Contains(Subject;"ASA Alert (ASA-101)");"";@Return(""));
@If(@Contains(Body;"Username ="); ""; @Return("");
TempSubject:=Subject;
TempUser:= @Right(Body;"Username =");
TempUser:= @Left(TempUser;", IP");
TempUser:= " - " + TempUser;
@SetField("Subject";TempSubject + TempUser);
SELECT @All
Auf die Schnelle; sollte so funktionieren.
Axel