高度なカスタマイズ > Info*Engine ユーザーガイド > Info*Engine のタスク > タスクのネスト
  
タスクのネスト
1 つのタスクにはいくつでも Webject を含めることができますが、繰り返しの多いタスクが実行される場合があります。ネストするタスクになる可能性があるのは、複数の条件下で使用できる一般的なタスクです。動的置換 (ダイナミックパラメータ値の置換で説明しています) を使用することにより、複数回使用できるタスクを簡単に構築できます。
タスクは、タスク内で Info*Engine カスタム task タグを指定することによりネストできます。
タスクをネストするための task タグの規則
Info*Engine の task タグの操作については、以下の規則が適用されます。
ほかのタスクにタスクをいくつでもネストすることができ、ネストされたタスクにもほかのネストされたタスクを含めることができます。
参照されるタスクファイルにも、タスクの Webject およびタスクで使用可能なカスタムタグをいくつでも含めることができます。
ネストしたタスクが失敗したときのエラーを検出するために、タスク内には常に例外処理を指定する必要があります。
task タグの構文および詳細な説明については、task タグを参照してください。
ネストされたタスクの簡単な例
以下のタスクには、"QueryTask.xml" という別のタスクを実行する task タグが含まれています。
<%@page language="java" session="false"%>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
           prefix="ie" %>
<process name="Embedded Task Example with exception handle">
<ie:unit>
  <ie:task uri="infoengine/examples/QueryTask.xml"/>
  <!-- If task fails, print message to stderr and
       throw exception-->
 <ie:failure>
    <%
    System.err.println("FAILURE when calling QueryTask.xml");
    %>
    <ie:webject name="ThrowException" type="MGT"/>
  </ie:failure>
</ie:unit>
</process>
QueryTask.xml ファイルには以下の内容が記述されているものとします。
<%@page language="java" session="false"%>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
           prefix="ie" %>
<ie:webject name="Query-Objects" type="OBJ">
  <ie:param name="INSTANCE"  data="com.myHost.Adapter"/>
  <ie:param name="CLASS"     data="salesemp"/>
  <ie:param name="WHERE"     data="()"/>
  <ie:param name="GROUP_OUT" data="sales"/>
</ie:webject>
ネストされたタスクで使用できるほかの Webject の例については、ダイナミックパラメータ値の置換を参照してください。