目次

Search

  1. はじめに
  2. タスクフローとリニアタスクフロー
  3. タスクフロー
  4. リニアタスクフロー

タスクフロー

タスクフロー

通知タスクステップのルールおよびガイドライン

通知タスクステップのルールおよびガイドライン

通知タスクステップで
[コンテンツ]
オプションを使用して電子メール本文を指定し、
[HTML]
オプションを使用して電子メールのコンテンツタイプを指定した場合、特定の制限を受けます。
次のガイドラインを考慮します。
  • HTMLコンテンツを使用すると、有効な形式の電子メールを受信できない場合があります。変数を使用してHTMLコンテンツを定義し、式エディタで変数をシリアル化する必要があります。
    例として、HTMLコンテンツが次のような場合を考えます。
    <html> Order {$output.OrderID} has been submitted for {$input.CustomerEmail}. <br/> <b>Order details for your records.</b> <br/><br/> Item Cost: {$temp.InventoryDetails[1]/ItemCostPrice} Item Count: {$temp.InventoryDetails[1]/ItemCount } Item Sell Price: {$temp.InventoryDetails[1]/ItemSellingPrice } Commission Percentage: {$temp.InventoryDetails[1]/SalesCommissionInPercentage } <br/><br/> <b>Margins</b> Overall Profit: {$output.Calculate_Margin_ServiceResponse[1]/MarginBeforeCommission} Sales Commission: {$output.Calculate_Margin_ServiceResponse[1]/SalesCommission} Profit after Commission: {$output.Calculate_Margin_ServiceResponse[1]/MarginAfterCommission} </html>
    式エディタで次のコンテンツを使用して、HTMLコンテンツの変数を定義し、変数をシリアル化して、有効な形式の電子メールを受信します。
    let $doc := <html> Order {$output.OrderID} has been submitted for {$input.CustomerEmail}. <br/> <b>Order details for your records.</b> <br/><br/> Item Cost: {$temp.InventoryDetails[1]/ItemCostPrice} Item Count: {$temp.InventoryDetails[1]/ItemCount } Item Sell Price: {$temp.InventoryDetails[1]/ItemSellingPrice } Commission Percentage: {$temp.InventoryDetails[1]/SalesCommissionInPercentage } <br/><br/> <b>Margins</b> Overall Profit: {$output.Calculate_Margin_ServiceResponse[1]/MarginBeforeCommission} Sales Commission: {$output.Calculate_Margin_ServiceResponse[1]/SalesCommission} Profit after Commission: {$output.Calculate_Margin_ServiceResponse[1]/MarginAfterCommission} </html> return serialize($doc)
  • HTMLコンテンツに有効なXMLが含まれる場合は、式エディタでXQuery関数
    util:toXML
    を使用して、コンテンツを文字列形式にシリアル化します。
    例として、HTMLコンテンツが次のような場合を考えます。
    <html> <head>TaskDetails</head> <body> <table> <tbody> <tr> <td>Task Name</td> <td>Job Id</td> <td>Status</td> <td>Start Time</td> <td>End Time</td> </tr> <tr> <td>Williams</td> <td>John</td> <td>{fn:current-date()}</td> </tr> </tbody> </table> </body> </html>
    式エディタで次のコンテンツを使用して、このコンテンツを文字列形式にシリアル化します。
    util:toXML(<html> <head>TaskDetails</head> <body> <table> <tbody> <tr> <td>Task Name</td> <td>Job Id</td> <td>Status</td> <td>Start Time</td> <td>End Time</td> </tr> <tr> <td>Williams</td> <td>John</td> <td>{fn:current-date()}</td> </tr> </tbody> </table> </body> </html>)
  • HTMLコンテンツに有効なXMLが含まれていない場合は、HTMLコンテンツを有効なXMLに変換する必要があります。HTMLコンテンツに有効なXMLが含まれていても、有効な形式の電子メールを受信しない場合があります。この場合、String Concat関数を使用する必要があります。
    例として、HTMLコンテンツが次のような場合を考えます。
    <html> <table> <tr> <th>Task Property</th> <th>Property Value</th> </tr> <tr> <td>Task Name</td> <td>{$temp.DataTask1[1]/output[1]/Object_Name}</td> </tr> <tr> <td>Task Status</td> <td>{$temp.DataTask1[1]/output[1]/Task_Status}</td> </tr> <tr> <td>Error Message</td> <td>{$temp.DataTask1[1]/output[1]/Error_Message}</td> </tr> </table> </html>
    式エディタでString Concat関数を使用して次のコンテンツを使用し、有効な形式の電子メールを送信します。
    fn:concat(fn:concat(fn:concat(fn:concat(fn:concat("Task Details: <br/><br/>",$temp.DataTask1[1]/output[1]/Object_Name), "<br/><br/>"), $temp.DataTask1[1]/output[1]/Task_Status), "<br/><br/>"), $temp.DataTask1[1]/output[1]/Error_Message)
  • HTMLコンテンツに有効なXMLが含まれない場合は、HTMLコンテンツを有効なXMLに変換するか、エスケープ文字を使用して文字列連結関数を使用する必要があります。
    次の例は、エスケープ文字と一緒に文字列連結関数を使用する方法を示します。
    fn:concat("&lt;html&gt;
    &lt;head&gt;TaskDetails&lt;/head&gt;
    &lt;body&gt;
    &lt;table&gt;
    &lt;tbody&gt;
    &lt;tr&gt;
    &lt;td&gt;Task Name&lt;/td&gt;
    &lt;td&gt;Job Id&lt;/td&gt;
    &lt;td&gt;Status&lt;/td&gt;
    &lt;td&gt;Start Time&lt;/td&gt;
    &lt;td&gt;End Time&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
    &lt;td&gt;Williams&lt;/td&gt;
    &lt;td&gt;John&lt;/td&gt;
    &lt;/tr&gt;
    &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;/body&gt;
    &lt;/html&gt;","")