Forum

sp_send_dbmail
 
Bildirimler
Hepsini Temizle

sp_send_dbmail

3 Yazılar
3 Üyeler
0 Likes
568 Görüntüleme
(@erenyurekli)
Gönderiler: 34
Trusted Member
Konu başlatıcı
 

Merhaba arkadaşlar herkese kolay gelsin.

Aşağıdaki sorgudan gelen sonuçları html formatında mailin içeriğine ekleterek mail gönderebiliyorum fakat ben bu maili excel dosya eki olarak göndermek istiyorum.Sorgu sonucu ne kadar çok gelirse mail o kadar geç açılıyor çünkü.

Konu hakkında bilgisi olan arkadaşlar yardımcı olabilirlerse sevinirim.

 

 

declare @sayi int

set @sayi = (        

      SELECT COUNT (sip_evrakno_seri)                         

      FROM SIPARISLER SIP with (nolock)                      

      LEFT  JOIN MV4_SIPARISPLANLAMA PP  with (NOLOCK) on PP.siprecno = SIP.sip_RECno  and PP.siparistipi = 0                       

      left  join MV4_KUTUICERIK K with (nolock) ON PP.recno = toplamarecno                      

      left  join MV4_YUKLEME Y with (nolock) ON  K.takipno = Y.kutuno 

      left join STOK_HAREKETLERI with (nolock) ON sth_sip_recid_recno = SIP.sip_RECid_RECno

      left join CARI_HESAP_HAREKETLERI with (nolock) ON sth_fat_recid_recno = cha_recid_recno                     

      where                  

      sip_kapat_fl = 0                    

      AND PP.sondurum in (7,8)       

      AND Y.yuklemetarihi > = CAST (GETDATE  () AS dATE)             

      AND K.rampa like 'K%'                

      and sip_depono = 1 )               

        

            

                  

                 

      if @sayi  > 0

begin

DECLARE @xml NVARCHAR(MAX)

DECLARE @body NVARCHAR(MAX)

SET @xml = 

CAST (( 

       

          SELECT Distinct                      

     

                    

      isnull (dbo.Fn_YuklemeTarihibulErenMmx(PP.siprecno),'Yuklenmedi') as 'td','',                      

                 

      sip_evrakno_seri As 'td','',                      

      sip_evrakno_sira As 'td','',

        isnull (cha_evrakno_seri,'İrsaliye') as 'td','',

        isnull (cha_evrakno_sira,0) 'td','',  

      sth_evrakno_seri as 'td','' ,sth_evrakno_sira as 'td',''

      ,                  

                            

      sip_musteri_kod As 'td','',                      

                  case  PP.sondurum                      

                                  

                  when 0 then 'Planli'                      

                  when  1 then 'Toplaniyor'                      

                  when 2 then 'Toplanti'                      

                  when 3 then 'Kutulaniyor'                      

                  when 4 then 'Kutulandi'                       

                  when 5 then 'Faturakesildi'                      

                  when 6 then 'Rampada'                      

                  when 7 then 'Araçta'                      

                  WHEN 8 THEN  'Teslimedildi'                      

                  when 9 then 'Eksikbekliyor'                      

                  when 10 then 'Toplamaaskiyaalindi'                      

                  when 11 then 'ToplamaSirasinda'                      

                  when 12 then 'KutulamaAskiyaAlindi'                      

                  when 13 then 'KutulamaSirasinda'                      

                  when 14 then 'Rampalandi'                      

                  when 15 then 'Aracayükleniyor'                      

                  when 16 then 'Irsaliyekesiliyor'                      

                  when 17 then 'Irsaliyekesildi'                      

                  when 18 then 'Transitsiparisbekliyor'                      

                  when 19 then 'Rezerve = 19'                      

                  when 254 then 'Planlanmamis' end as 'td',''  ,                      

                  isnull (Y.sofor,'Y.Yapilmadi') aS 'td',''                      

      FROM SIPARISLER SIP with (nolock)                      

      LEFT  JOIN MV4_SIPARISPLANLAMA PP  with (NOLOCK) on PP.siprecno = SIP.sip_RECno  and PP.siparistipi = 0                       

      left  join MV4_KUTUICERIK K with (nolock) ON PP.recno = toplamarecno                      

      left  join MV4_YUKLEME Y with (nolock) ON  K.takipno = Y.kutuno 

      left join STOK_HAREKETLERI ON sth_sip_recid_recno = SIP.sip_RECid_RECno

      left join CARI_HESAP_HAREKETLERI ON sth_fat_recid_recno = cha_recid_recno                     

      where                  

       sip_kapat_fl = 0                    

      AND PP.sondurum in (7,8)       

      

     AND Y.yuklemetarihi > = CAST (GETDATE  () AS dATE)             

      AND K.rampa like 'K%'                

      and sip_depono = 1                

        

             group by                

                         

             K.rampa,            

            

                  dbo.fn_TemsilciBulEren(sip_musteri_kod),                      

                              

                  convert(nvarchar(10),(PP.createtime),120),                      

                  dbo.Fn_YuklemeTarihibulErenMmx(PP.siprecno)                      

                  ,convert(nvarchar(10), (K.rampatarihi),120),                      

                  sip_evrakno_seri,                      

                  sip_evrakno_sira,                      

                  sip_musteri_kod,                      

PP.sondurum,                      

                  PP.createuser,                      

                  convert (nvarchar(10),(Y.teslimtarihi),120),                      

                  Y.sofor    , cha_evrakno_seri,cha_evrakno_sira, sth_evrakno_seri,sth_evrakno_sira

                  

                  order by 19

    

FOR XML PATH('tr'), ELEMENTS ) AS nvarchar(MAX))

set @body = '<html>

<body>

<h4>Yüklenen Siparişlerin Detay Raporu </h4>

<table border="1">

<tr>

<th><font size=4>YuklemeSaati</th>

<th><font size=4>SiparisSeri</th>

<th><font size=4>SiparisSira</th>

<th><font size=4>FaturaSeri</th>

<th><font size=4>FaturaSira</th>

<th><font size=4>İrsaliyeSeri</th>

<th><font size=4>İrsaliyeSira</th>

<th><font size=4>MusteriKod</th>

<th><font size=4>Durum</th>

<th><font size=4>Soför</th>

</tr>'

set @body = @body + @xml +'</table></body></html>'+'<font face="Verdana" size="2" color="#333333"><p><br />Thanks,<br />Bilgislem</p><p>'

EXEC msdb.dbo.sp_send_dbmail

@recipients ='[email protected]',

@body = @body,

@body_format ='html',

@subject ='Araçtaki Faturalar',

@profile_name ='eren'

, @importance = 'LOW' 

end

go

 

 
Gönderildi : 18/11/2013 14:22

(@u-ismailyildirim)
Gönderiler: 14
Eminent Member
 

Selamlar;

Sql reporting servisini kullanmayı düşünebilirsin bence excel konusunda bilgim yok malesef bu ve benzeri raporlamalarda SQL Reporting Services kullanıyorum.

 
Gönderildi : 25/11/2013 00:06

(@Anonymous)
Gönderiler: 12
Active Member
 

Merhabalar,

illa ki excel'e alıp göndereceksiniz; SSIS de (SQL 2012 de Data Tools) package hazırlayıp belirli flowlar sonucunda istediğin formata çevirip sonunda da mail attırabilirsin veya maili attığın kişi network'de ise excel içerisinde bulunan "Power Query" Add-In kullanabilirsin ve yine Network'de ise Excel'in içinden Data bölümünden SP yi çağırabilirsin.

 

Kolay gelsin

 
Gönderildi : 25/11/2013 13:34

Paylaş: