Benötige Hilfe bei einer Abfrage für E-Mail Funktion
Meike Schlenker
Hallo allerseits,in der Printdefinition für meine Angebote möchte ich die Funktion freigeben, den jeweiligen beleg per E-Mail zu versenden.
Das ist auch soweit kein Problem...
Jedoch brauche ich für den E-Mail-Text eine Abfrage.
Meine sieht bisher so aus:
SELECT
Case OCPR.Gender
WHEN 'M' THEN 'Sehr geehrter Herr ' + OCPR.Name + ','
WHEN 'F' THEN 'Sehr geehrte Frau ' + OCPR.Name + ','
ELSE 'Sehr geehrte Damen und Herren,'
END,
'[@U0000211]' + nchar(13) + [@U0000212] + nachar(13) + Replace('[@U0000213]','@@telefon',OUSR.Tel1)
FROM OCPR, OUSR, OR@@DR WHERE OUSR.U_NAME = $[userid]
(In der WHERE-Klausel möchte ich im Prinzip die Telefonnummer desjenigen abfragen, der im moment angemeldet ist)
Leider funktioniert die Abfrage nicht so wie ich will....
Kann mir jemand helfen?
Vielen Dank
Sascha Balke
Hallo Meike,denke daran deine Query das nächste Mal in den entsprechenden Container zu stellen. Aber das nur mal am rande.
Wieso möchtest du über den angemeldeten User an dessen Telefonnummer kommen? Einfacher ist es doch den, im Beleg hinterlegten, Mitarbeiter herauszufinden.
Ich habe eine Query mal eben schnell angepasst und berücksichtige dabei auch den hinterlegten Anmeldeuser.
Denke aber daran, dass dies nur für Text-E-Mails funktioniert. Sobald du auf HTML gehst, muss es angepasst werden.
Teste es mal uns melde dich ggf. nochmal.
SELECT
+ cast(case T0.Gender when 'M' then 'Sehr geehrter Herr ' + T0.Name +',' when 'F' then 'Sehr geehrte Frau ' + T0.Name +',' ELSE 'Sehr geehrte Damen und Herren,' end as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ CHAR(13)+CHAR(10)
+ cast('[@U0000559]' as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ CHAR(13)+CHAR(10)
+ cast('[@U0000559]' as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ CHAR(13)+CHAR(10)
+ cast('[@U0000559]' as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ CHAR(13)+CHAR(10)
+ cast('[@T0000071]' as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ CHAR(13)+CHAR(10)
+ cast(coalesce(T2.FirstName + ' ' + T2.LastName, ' ') as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ cast(coalesce(T1.U_NAME, ' ') as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ cast('[@T0000046]' + coalesce(T2.officeTel, ' ') as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ cast('[@T0000047]' + coalesce(T2.fax, ' ') as nvarchar(max))
+ CHAR(13)+CHAR(10)
+ cast(case when T2.mobile Is not NULL then '[@T0000048]' + T2.mobile + CHAR(13)+CHAR(10) ELSE '' end as nvarchar(max))
+ cast('[@T0000045]' + ': ' + coalesce(T2.email, ' ') as nvarchar(max))
FROM
OQUT T3,
OCPR T0,
OUSR T1,
OHEM T2
where T3.DocNum = '[%DocNum]'
and T3.CntCtCode = T0.CntCtCode
and T3.SLPCode = T2.empID
and T2.empID = T1.INTERNAL_K
Viel Spass
Meike Schlenker
Hallo Sascha,vielen Dank für deine Hilfe. Die Abfrage funktioniert super.
Schönes Wochenende und Gruß
Meike
Sascha Balke
Hallo Meike,schön, dann hat sich die Arbeit ja gelohnt.
Bitte denke daran, diesen Beitrag als "gelöst" zu markieren.
user
Hallo Sascha, Hallo Meike,schöne Lösung. Das ist gnau was ich gesucht habe.
Eines ist mir jedoch aufgefallen. Wenn dem GP kein Ansprechpartner hinterlegt ist, bleibt die E-Mail leer.
Ich habe versucht, den case (when t3.CntctCode = 0 then 'Sehr geehrte Damen und Herren') so zu erweitern, jedoch ohne Erfolg.
Gibt es hierzu noch eine Idee?
0
Please sign in to leave a comment.
Comments
0 comments