今週のテクニカルTips: メールメッセージのクエリー文字列(Query String)における変数の利用

PLMの達人からAras PLMの利用者へテクニカルTipをお届けするコーナーです。
今回は、よく問い合わせのあるテーマ、メールメッセージのクエリー文字列(Query String)における変数の利用について触れたいと思います。これはメールメッセージをカスタマイズするための上級手法です。とはいえ、Arasではアイテム内のどんなデータでもメールに添えることが可能ですから、どんなデータを、どんな標準文章と共に、どのような目的で埋め込むのか、そのためにどうAML (Adaptive Markup Language)を記述すれば良いのか、という事さえ分かればこのカスタムクエリーも完成です。

例えば、購買リクエストのメッセージにコスト情報と現在の状況が記載された部品表が追加されてきたり、設計変更レビューの依頼メッセージに不具合報告書が追加されてきたら便利です。Innovatorなら、これが実現できます。

非常に多くの開発者からAras Innovatorのデータを利用したメールメッセージの作成方法について問い合わせが来るため、ここでサンプルをご紹介します。


メールメッセージのクエリー文字列における変数の利用

クエリー文字列を用いると、メッセージの本文や件名に使用する情報を動的に取得することが可能です。以下では、このクエリー文字列内で変数を利用する方法について、例を用いてご紹介します。

メールメッセージのクエリー文字列

例えば、PEソリューションデータベースから設計変更要求(ECR)を新規作成し、不具合報告書 (PR)を1つ添付するとします。ワークフロー通知から送付されるメッセージ本文には、該当PR番号とタイトルが含まれると良いでしょう。

メールメッセージのクエリー文字列でパラメータを利用するには、XPath及びXSLT言語の知識が若干必要です。また、Aras AML言語にも親しんでいただけると理解が容易となります。

不具合報告書 (PR)の番号(item_number)とタイトル(title)プロパティにアクセスするには、対象ECRからPRへのリレーションシップ(“ECR PR”)を取得する必要があります。以下のクエリー文字列により、これが可能です。

<Item type=”ECR PR” action=”get”>
<source_id>${Item/@id}</source_id>
<related_id>
<Item type=”PR” action=”get”/>
</related_id>
</Item>

source_idの値がXSLTパラメータで指定されている点にご注意ください。置換パラメータは必ず$ { } で囲んでください。このメールメッセージはECRに関連しているため、Item/@idは該当のECRのIDに置き換えられます。

メールメッセージ内でPRアイテムのプロパティにアクセスするには、読み込まれたXMLに記述されている値を特定する必要があります。以下は、メールメッセージ本文内でPR番号(item_number)とタイトル(title)を表示する例です。

添付のPRと共に、ECRのレビューをお願いします。
PR # : ${Item[@type=”ECR PR”]/related_id/Item[@type=”PR”]/item_number}
Title : ${Item[@type=”ECR PR”]/related_id/Item[@type=”PR”]/title}

クエリー文字列では、複数のクエリーを記述することも可能です。それらはメールが作成される際に順次実行されます。以下のクエリーは、データベースから該当ECRのitem_numberを読み出します。

<Item type=”${Item/@type}” id=”${Item/@id}” action=”get”
select=”item_number”/>

メールの本文や件名でECR番号にアクセスするには、以下の変数を使用します:

ECR ${Item[@type=”ECR”]/item_number} のレビューをお願いします。

以上をまとめると、メールメッセージのクエリー文字列の全体は以下のようになります:

<Item type=”${Item/@type}” id=”${Item/@id}” action=”get”
select=”item_number”/>
<Item type=”ECR PR” action=”get”>
<source_id>${Item/@id}</source_id>
<related_id>
<Item type=”PR” action=”get”/>
</related_id>
</Item>

また、メッセージ本文は以下のようになります。

ECR ${Item[@type=”ECR”]/item_number} のレビューをお願いします。
添付PR:
PR # : ${Item[@type=”ECR PR”]/related_id/Item[@type=”PR”]/item_number}
Title: ${Item[@type=”ECR PR”]/related_id/Item[@type=”PR”]/title}

その他のメールメッセージにおけるXLSTパラメータ利用例については、ソリューションデータベース内の「CM Activity Notification」アイテムをご参照ください。

さて、今回のTipsはこれで終了です。
今後もリクエストに応じてどんどんTipsを紹介して参りますので、お楽しみに!
ご不明な点がございましたら、info@aras.jpまでご連絡ください。

Arasについての詳細・ダウンロードはこちらから
Aras_Logo_2013