ワークフローとの統合
ユーザー・インターフェース・フレームワークを使用すると、アプリケーション Maximo ® ビジネス・オブジェクト (MBO) の保存時にワークフローを自動的に開始できます。
以下の Python の例では、Maximo Integration Framework インバウンドを使用して新規作業指示書が作成されたときに割り当てを作成するワークフローを開始します。 これを行うには、ワークフローを開始するオブジェクト構造スクリプトを作成します。 自動化スクリプト・アプリケーションから、 を選択します。 「統合のスクリプトの作成」 ダイアログで、 「オブジェクト構造」を選択します。 「オブジェクト構造」フィールドにオブジェクト構造名を入力します (例: MXWODETAIL)。 「インバウンド処理」を選択します。
from psdi.server import MXServer
def afterProcess(ctx):
mbo = ctx.getPrimaryMbo()
if mbo.isNew():
MXServer.getMXServer().lookup("WORKFLOW").initiateWorkflow("WOSTATUS",mbo)ctx 変数は、グローバル暗黙的変数 service と同じですが、オブジェクト構造処理のための関数が追加されています。
これをテストする簡単な方法は、以下の REST JSON API を使用することです。
POST http://host:port/maximo/oslc/os/mxwodetail?lean=1
{
“wonum”:”MYLABWO11”,
“siteid”:”BEDFORD”,
“description”:”Invoke workflow test”
}この JSON を POST すると、スクリプトが呼び出され、ログイン・ユーザーの割り当てが作成されます。 その割り当ては、「割り当て」ポートレットから確認できます。
このワークフロー開始が、ステータスが「承認待ち」のトランザクションに対してのみ実行されるように、スクリプトを拡張することができます。 ctx.getPrimaryMbo( を使用して、それを確認することができます。