ナビゲーションに戻る

LaunchManager クラス メソッド

アプリケーション開発者は、このクラスをコンポーネント有効範囲付き変数としてインスタンス化する必要があります。このクラスを初期化する最適な場所は、コンポーネント事後ビルド イベント内です。このセクションでは、LaunchManager クラス メソッドについて説明します。メソッドは、アルファベット順で説明します。

構文

LaunchManager(&awprcs_id, &hdr_ , &requester_)

説明

承認フレームワーク プロセスを起動します。

パラメータ

パラメータ

説明

&awprcs_id

トランザクション レジストリに定義した承認プロセス ID を文字列として指定します。

&hdr_

トランザクション レジストリ内のトランザクション承認レベルの承認プロセスに対して定義したヘッダー レコードをレコードとして指定します。

&requester_

承認プロセスを開始するユーザーのユーザー ID を文字列として指定します。

戻り値

なし。

VoucherApproval に対して承認フレームワークを起動する例を示します。

import EOAW_CORE:*;
Component EOAW_CORE:LaunchManager &launchMgr;

If VOUCHER.VCHR_APPRVL_FLG = "W" Then
   &vchrRecord = CreateRecord(Record.VCHR_AF_HDR_VW);   GetLevel0()(1).GetRecord(Record.VOUCHER).CopyFieldsTo(&vchrRecord);
   &launchMgr = create EOAW_CORE:LaunchManager("VoucherApproval", &vchrRecord, %OperatorId);

構文

DoSubmit()

説明

承認を得る目的で新しいトランザクションを送信するために使用します。submitEnabled プロパティが true でない場合、例外がスローされます。

パラメータ

なし。

戻り値

なし。

トランザクションを送信する例を示します。

import EOAW_CORE:*;

Component EOAW_CORE:LaunchManager &launchMgr;

&launchMgr.DoSubmit();

構文

DoReSubmit()

説明

トランザクションが以前に送信され、以前の承認プロセスが完了している (承認、却下、または終了された) 場合に、このトランザクションを再送信するために使用します。resubmitEnabled プロパティが false の場合、例外がスローされます。

パラメータ

なし。

戻り値

なし。

プロセスを再送信する例を示します。

import EOAW_CORE:*;

Component EOAW_CORE:LaunchManager &launchMgr;

&launchMgr.DoReSubmit();

構文

DoRestart()

説明

現在実行中の承認プロセスを再実行するために使用します。restartEnabled プロパティが false の場合、例外がスローされます。

たとえば、eProcurement-調達管理では、調達依頼は承認後に変更されることがあります。これは承認済であるため、承認フレームワークでは終了したものと見なされ、再送信は許可されません。そうするための方法は、トランザクションを再実行することだけです。再実行すると、全ての承認アクションはリセットされ、以前の承認と関係なく、最初の承認者に転送されます。

パラメータ

なし。

戻り値

なし。

構文

PrepareToSubmit()

説明

このメソッドでは、承認プロセスがインスタンス化されますが、そのプロセスが保存または開始されることはありません。承認プロセスが既にインスタンス化されている、または承認プロセスが実行中である場合、このメソッドを繰り返し呼び出しても何も起きず、元の状態に戻ります。この要点は、依頼者は DoSubmit() で開始されたプロセスの内容を事前に確認しながら、アドホック承認者を追加できることです。DoSubmit()、DoResubmit()、DoPreview() および DoRestart() の各メソッドは、全てこのメソッドを呼び出します。そのため、DoPreview() を使用して初期化する全ての承認プロセスは、前述のメソッドによって再利用されます。この動作が用途に合わない場合、アプリケーション開発者は Reset() メソッドを使用します。

注: 送信準備のための呼出しを繰り返すと、パフォーマンスに問題が発生する可能性があります。通常このメソッドは、送信準備の際、または確認が必要なときにのみ使用します。

パラメータ

なし。

戻り値

なし。

構文

SetHeader(&hdr_)

説明

新しいアプリケーション トランザクションを作成するときに、アプリケーションによっては、トランザクションを保存するまでは、キー フィールドが完全にはロードされないことがあります。たとえば、eProcurement-調達管理では、生成された ID 番号を調達依頼に使用しますが、この ID フィールドは、新しいトランザクションを保存するまではロードされません。アプリケーションは、このコンポーネントの事後ビルド イベント コード内で LaunchManager オブジェクトを初期化する必要があるため、この対応が課題になります。このような場合、アプリケーション開発者は、このメソッドを呼び出すことでヘッダー レコードを安全にリセットした後で、承認用に新しいトランザクションを送信できます。渡されるヘッダー レコードが有効であるかぎり、常にこのメソッドを呼び出すのが安全です。ただし、このメソッドによって承認プロセスが再インスタンス化される場合、プレビューされたインスタンスをキャッシュすることで得られるパフォーマンスの向上効果はなくなります。

パラメータ

パラメータ

説明

&hdr_

トランザクション レジストリ内のトランザクション承認レベルの承認プロセスに対して定義したヘッダー レコードをレコードとして指定します。

戻り値

なし。

&reqRecord = CreateRecord(Record.PV_REQHDR_AW_VW);
GetLevel0()(1).GetRecord(Record.REQ_HDR).CopyFieldsTo(&reqRecord);
&launchMgr.SetHeader(&reqRecord);
&launchMgr.DoSubmit();

構文

Reset()

説明

このメソッドでは、DoPreview() メソッドによってキャッシュされた承認プロセス インスタンスがクリアされます。承認プロセス インスタンスは、DoPreview() 呼出しと DoSubmit() 呼出しの間キャッシュされます。これは、依頼者が承認プロセスをプレビューし、プロセスの送信前にアドホック承認者を追加できるようにするためです。アドホック承認者が追加された場合、DoSubmit() を使用して承認プロセス インスタンスを再生成すると、アドホック承認者は失われます。しかし、アプリケーション開発者は、依頼者が DoPreview() 呼出しと DoSubmit() 呼出しの間に重要なフィールドに変更を加えた場合、Reset() を呼び出して対処する必要があります。重要なフィールドが承認フレームワークで特定されるわけではないため、この責任はアプリケーション開発者にあります。このような状況を全て把握できるかどうかに懸念があれば、開発者は、常に Reset() を呼び出してから DoSubmit() を呼び出す方法や、これに類した方法を採用できます。その場合、この方法には、依頼者がプレビュー中に追加したアドホック承認者が失われるリスクがあります。最後に、依頼者の変更をアプリケーションが許可している場合 (ユーザーが別のユーザーの代理でトランザクションを送信する場合など)、LaunchManager の requester プロパティが更新される必要があります。requestor プロパティを更新すると、Reset() メソッドが自動的に呼び出されます。

パラメータ

なし。

戻り値

なし。

構文

FindDefinitionID()

説明

このメソッドでは、照合条件を持つ全ての定義 ID が返されます。開発者は、definitionID プロパティを使用して定義 ID を設定できます。このプロパティの設定前に、DoSubmit または DoResubmit などのメソッドが呼び出される場合、承認フレームワークは、優先度に基づいて最初に返された定義 ID を使用します。

パラメータ

なし。

戻り値

レコードの配列。

構文

TerminateRunningProcess()

説明

実行中のプロセスを終了します。

パラメータ

なし。

戻り値

なし。