アクション起動ポイント
Maximo アクション・フレームワークには、ワークフロー、エスカレーション、ユーザー・インターフェース・メニュー、ボタン、およびその他多くのコンポーネントから実行できるアクションの組み込みライブラリーがあります。 ただし、このライブラリーに含まれていないアクションが必要になる場合があります。 Jython および JavaScriptを使用してアクションをスクリプト化できるため、スクリプトはこの問題に対処します。
例えば、スクリプト化されたアクションを使用して、資産に対して計算された計測値を実行できます。 アクション起動ポイントを持つスクリプトを作成するには、自動化スクリプト・アプリケーションから を選択します。
その資産に関連付けられている他の計測値に基づいて資産計測値を計算するとします。 例えば、プレッシャー・メーターの最後の計測値が IN 計測値とO-PRESSUR計測値の合計になるように、IN-PRESSURおよび O-PRESSURXX_ENCODE_CASE_CAPS_LOCK_OFF 計測値に基づいて、プレッシャー・メーターの値を計算するとします。 オブジェクト起動ポイントを使用して計測値変更イベントをトラップする必要があるリアルタイムではなく、オフラインで実行することを選択したとします。 IBM® Maximo® Manage でオフライン・アクションを繰り返し実行する 1 つの方法は、Maximo ビジネス・オブジェクト (MBO) のコンテキストで事前定義アクションを実行するクーロン・ジョブであるエスカレーションを使用することです。 アクション Java コードを作成する代わりに、スクリプトを使用できます。
assetnum=:assetnum and siteid=:siteid and metername='IN-PRESSUR'| 関係名 | 関係の場所 |
|---|---|
| Assetmeterop | assetnum= :assetnum and siteid= :siteid and metername = ' O-PRESSUR' |
| Assetmeterp | assetnum= :assetnum and siteid= :siteid and metername = 'プレッシャー' |
自動化スクリプト・アプリケーションで、 をクリックします。 アクション起動ポイントを定義します。
このタスクによってアクションが作成されますが、そのアクションをエスカレーション、ワークフロー、またはユーザー・インターフェースのボタンまたはメニューに付加する必要があります。 デフォルトでは、起動ポイント名がアクションの名前として使用されますが、命名規則に合わせて値を変更することができます。 ただし、後で名前の混乱や競合が発生するため、名前を変更しないことをお勧めします。 タスクの最初のステップで、オブジェクト名がオプションであることを確認しました。これは、アクションが Maximo オブジェクトに関連付けられている場合と関連付けられていない場合がある Maximo アクション・フレームワークに対応しています。 ただし、この場合は、アクションが資産 MBO に固有であるため、オブジェクトを資産として指定する必要があります。
| 変数名 | 変数の型 | バインディング |
|---|---|---|
| IPLR | IN | assetmeterip.lastreading |
| OLR | IN | assetmeterop.lastreading |
| PLR | IN | assetmeterp.lastreading |
| PNR | OUT | assetmeterp.newreading |
iplr、または IN-PRESSURMETER の最後の計測値、olr、または O-PRESSUR の最後の計測値、および plr、または PRESSMETER の最後の計測値は、pnr、プレッシャー計測値の最後の計測値を計算するために必要な値であるため、すべて IN タイプです。 圧力計 MBO に設定し直すと、pnr のタイプは OUT になります。
y=float(iplr)+float(olr)
if y!=float(plr):
pnr=str(y)計算値が plr [圧力計の最終計測値] と同じである場合、2 番目の行の if チェックは、 pnr 値を更新しないようにします。 この計算は例として実装されています。 実際の実装環境では、お客様のビジネス要件に応じて任意の複雑な数学計算を行うことができます。これは、お客様が選択したスクリプト言語によって提供される数学的サポートによってのみ制限されます。
exists (select assetnum from assetmeter where metername='IN-PRESSUR' and
assetnum=asset.assetnum and siteid=asset.siteid) and exists (select assetnum from assetmeter
where metername='O-PRESSUR' and assetnum=asset.assetnum and siteid=asset.siteid) and
exists (select assetnum from assetmeter where metername='PRESSURE' and
assetnum=asset.assetnum and siteid=asset.siteid)このエスカレーションのアクションを選択します。 アクションの名前は、変更しない限り、起動ポイントの名前と同じです。 エスカレーションをアクティブ化すると、ジョブは完了します。 エスカレーションは、3 つの計測値を持つすべての資産に対してスクリプト化されたアクションを実行し、変更された資産計測値が保存され、エスカレーション・フレームワークによってコミットされます。
アクションを Maximo オブジェクトに関連付けないことを選択した場合、変数およびバインディングを指定するステップでは、変数を MBO 属性にバインドすることはできません。 ただし、リテラル、システム・プロパティー、および maxvar 変数バインディング・タイプを使用できます。 このユース・ケースは、例えば、Web サービスなど、MBO に固有ではないサービスを呼び出す汎用アクションを作成する場合や、MBO API の直接使用に基づいてスクリプト・コードを実行することを意図しているため、MBO 属性バインディングを必要としない汎用アクションを作成する場合に発生する可能性があります。