2017-10-30 2 views
0

OrchestratorでHTMLテンプレートから電子メールを生成して送信するプロセスを設定しようとしています。ただし、SQL Serverクエリの結果からそのテンプレートにデータを追加することもできます。例えばOrchestrator経由でSQL ServerクエリからのデータをHTMLメールテンプレートに埋め込みます

、ここで私はデータを追加するテンプレートのセクションです:

<tr> 
    <td align="right" valign="top"> 
     <font color="#2684AB" face="arial" /> 
     File: 
    </td> 
    <td align="left" valign="top"> 
     <font color="#2684AB" face="arial" /> 
     &nbsp; <!-- Data goes here (field is named FileName) --> 
    </td> 
</tr> 

唯一の問題は、私はこれについて移動するかどうかはわかりませんということです。私はクエリを呼び出す方法を知っていますが、テンプレートにデータを追加する方法はわかりません。これがまったく役に立ったら、私はデータを引き出しているすべてのフィールドも知っています。助言がありますか?また、Orchestratorでの仕事に比較的新しいことを付け加えておきます。

答えて

0

それは私のサンプルコードです:

 SET @tableHTML [email protected]+'<h3>'[email protected]+N'</h3>' + 
      N'<tr style="background-color: #248157;color: white;height: 40px;"> 
      <th style="border: 1px solid #ccc">Ext PONo</th><th style="border: 1px solid #ccc">Order ID</th> 
      <th style="border: 1px solid #ccc">Client</th><th style="border: 1px solid #ccc">Amount</th><th style="border: 1px solid #ccc">Order Date</th> 
      <th style="border: 1px solid #ccc">Status</th><th style="border: 1px solid #ccc">Hold Reason</th> 
      <th style="border: 1px solid #ccc">Hold User</th><th style="border: 1px solid #ccc">Hold Date</th> 
      </tr>'+CONVERT(NVARCHAR(max),(
       SELECT '<tr style='+CASE WHEN ROW_NUMBER()OVER(ORDER BY OrderID)%2=0 THEN '"background-color: #ffffff;"' ELSE '"background-color: #f2f2f2;"' END +'>' 
         ,[td/@style]='border: 1px solid #ccc',td=ExtPO,'' 
         ,[td/@style]='border: 1px solid #ccc',td='<a href=http://xxxxxxxxxxxx='+LTRIM(OrderID)+'>'+LTRIM(OrderID)+'</a>','' 
         ,[td/@style]='border: 1px solid #ccc',td=LTRIM(ClientID)+'-'+ClientName,'' 
         ,[td/@style]='border: 1px solid #ccc',td=ISNULL(SubTotal,0),'' 
         ,[td/@style]='border: 1px solid #ccc',td=ISNULL(CONVERT(VARCHAR,OrderDate,101),'')+'<BR><font color=red>Held '+LTRIM(HeldCount)+' time(s)</font>','' 
         ,[td/@style]='border: 1px solid #ccc',td=OrderStatus+ISNULL('<br><font color=red>In Flag:'+FlagStatus+'</font>',''),'' 
         ,[td/@style]='border: 1px solid #ccc',td=CASE WHEN HoldReasonCode='290' THEN REPLACE(HoldReason,'!',' of <a href=http://xxxxxxxxx?orderID='+LTRIM(ParentOrderID)+'>'+LTRIM(ParentOrderID)+'</a>!') ELSE HoldReason END+ISNULL('<BR><font color=red>'+Comments+'</font>','') ,'' 
         ,[td/@style]='border: 1px solid #ccc',td=HoldUser,'' 
         ,[td/@style]='border: 1px solid #ccc',td=ISNULL(CONVERT(VARCHAR,HoldDate,101),''),'','</tr>' 
       FROM #HeldOrder WHERE [email protected] ORDER BY HoldReasonCode 
       FOR XML PATH(''),TYPE 
      ))+N'</table>' 



IF LEN(@tableHTML)>0 
    BEGIN 
     SET @HTMLContent='<!DOCTYPE html> 
     <html><head> 
     <style> 
     table, td, th {border: 1px solid #ccc;font-family:Cambria} 
     table {border-collapse: collapse;width: 100%;} 
     th {background-color: #248157;color: white;height: 40px} 
     td {height: 40px;vertical-align: middle;} 
     .even {background-color: #f2f2f2;} 
     .odd {background-color: #ffffff;} 
     tr:nth-child(even) {background-color: #f2f2f2} 
     </style></head> 
     <body> 

     <p> </p>' 
     SET @[email protected][email protected]+'<BR>'+CONVERT(VARCHAR,GETDATE())+'</body></html>' 
関連する問題