Mail-Elemente auslesen und Kontakte füllen

Welcome to the POB User Group Online Community! Forums PUG DACH Mail-Elemente auslesen und Kontakte füllen

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #2815

    Hallo Pugler,

    aus einem anderen System werden an unser Wendia automatische Mails versendet.
    Diese enthalten folgenden Textbereich:
    wurde vom Antragsteller, vor nach (Vor.Nach@xxx.de), für vor2 nach2 erstellt.

    Nun möchte ich bei Empfang der Mail(Trigger existiert schon) die Personen auslesen und setzen:

    1) Melder = “Antragsteller”

    2) Kontakt = “für”
    Im letzten Fall nur wenn der Kontakt in Wendia existiert, ansonsten soll er auch dem “Antragsteller” entsprechen.

    Am Besten eins nach dem Anderen … wie komme ich an den relevanten Mail-Part heran?

    #2816
    Stefan Reichelt
    Participant

    Ok, beim Parsing von Mailbodies muss ich passen. Wenn du dazu eine Lösung findest, bin ich selbst daran interessiert. Mir ist bislang keine Möglichkeit in Verbindung mit POB bekannt.

    Wenn du einen Einfluss auf das andere System hast, kannst du höchstens XML-Mails verschicken (da kann ich nun wieder helfen), aber das Auslesen von normalen Mails durch POB habe ich bislang selbst nicht hinbekommen.

    #2831

    Den Betreff kann ich über die Fall-Description prüfen! (>Condition)
    Kann ich ihn/ sie den parsen?

    Dann würde ich die Id’s darin übergeben …

    #2832
    Stefan Reichelt
    Participant

    Ja, das sollte gehen. Da kannst du per PQL ins Subject-Feld schauen. Das Statement könnte etwas komplizierter werden, aber ich halte es für möglich. Falls PQL in dieser Hinsicht zu unflexibel ist, hilft vielleicht gar eine virtuelle Spalte auf Mail-Ebene weiter, in der per SQL die passende ID gleich fertig zusammengebastelt wird.

    Aber wenn du schon den Betreff beeinflussen kannst – kannst du dann nicht auch gleich XML-Mails verschicken? Dann kannst du das Ticket noch viel eleganter befüllen – gleich mit allen notwendigen Standardwerten und völlig ohne Data Action…

    #2838

    In dem vorgesehenen Data Trigger gibt es nicht die customer.id zur Befüllung sondern nur den customer.

    Vorher hatte ich mir den Code
    _Right ('[Description]', LOCATE ('von ', REVERSE('[Description]') - 1)
    zusammengebastelt.

    Kann ich so etwas überhaupt in der Spalte ‘Source PQL Value’ einsetzen oder sieht es dann eher so aus:

    SELECT cus.customer_pk
    From customer cus
    INNER JOIN case ON cus.customer.id = _Right ('[Description]', LOCATE ('von ', REVERSE('[Description]') - 1)

    Vielen Dank für die nächste PQL-Lektion!

    #2839
    Stefan Reichelt
    Participant

    Wenn du es schaffst, ein funktionierendes PQL-Statement mit Extraktion der Kunden-ID zu basteln, müsstest du es dann unter Source PQL Value verwenden, um das eigentliche Objekt zurückzugeben (ich gehe davon aus, dass x.CustomerPK nicht reicht, das müsstest du ausprobieren):

    [x|Customer x|x.Id='[dein PQL]’]

    Ansonsten bietet sich wie gesagt eine virtuelle SQL-Spalte an, in der du den Zielwert fertig ausgibst. Die Spalte kannst du dann in obigem Statement unter [dein PQL] ansprechen.

    #2847

    Ich habe kurz mit Herrn Leipholz rumgebastelt.
    [x.Id|Customer x|x.Id='[Description]'] gibt dann den Wert zurück, wenn nur die id in der Beschreibung steht.

    Left, Right oder Substring laufen bei mir in sämtlichen Kombinationen auf Fehler …
    Lege das erst einmal auf Eis ohne hoffnungsvoll meinen letzten Stand zu posten:
    [x.Id|Customer x|x.Id=Substring('[Description]', 'von ' ,-1)]

    Vielleicht fühlt sich jemand berufen …

    #2848
    Stefan Reichelt
    Participant

    Es gibt da einen POB-Hilfeartikel mit dem Titel “PQL: Supported MSSQL and POB Functions”. Substring, Left und Right werden auch erwähnt:

    [_Left('[LastName]',2)|Customer|CustomerPK=[CustomerPK]]
    [_Right('[LastName]',2)|Customer|CustomerPK=[CustomerPK]]
    [Substring('[LastName]',2,2)|Customer|CustomerPK=[CustomerPK]]

    Und für Charindex
    [Locate('ls','[LastName]')|Customer|CustomerPK=[CustomerPK]]

    In deinem Substring-Statement ist der Fehler, dass du als Startparameter “von” angibst. Dort muss aber eine Zahl stehen, nämlich der Startpunkt des Ausgabestrings. Genau da brauchst du dann das Charindex/Locate-Statement.

    #2925

    Voilà:

    [c.Contact.CustomerPK|Customer c|c.Id=Substring('[Description]',Locate('von ','[Description]')+4,8)]

    Danke!

    Endlich erledigt.

Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.