手順 1: インポート イベントを処理するためのプロセス マップを作成する
ドキュメントのインポートに成功したかどうかを識別し、失敗したドキュメントのインポートを処理するためにメインのプロセス マップに埋め込むことができるプロセス マップを作成するには、次の手順を実行します。
- [新規] をクリックします。 に移動し、
- プロセス マップの [名前] を「インポート イベントの処理」などと指定します。
- [カテゴリ] リストで、[デフォルト カテゴリ] を選択します。
- 文字列型のプロセス変数「ErrorMessage」を作成します。「プロセス変数の作成」を参照してください。
- 3 つのプロセス イベント(IMPORTRUN、IMPORTDUPLICATE、CHECKEVENT) を作成します。「プロセス イベントの作成」を参照してください。
- このプロセス マップ用に次の 3 つのプロセス フローを追加します。
成功したインポート イベントのフローを作成する
ドキュメントを正常にインポートしたことを示すフローを作成するには、次の手順を実行します。
-
[開始] ノードを選択し、サテライトの [アクティビティ] アイコン
をクリックします。
アクティビティ ノードが追加されます。
- このアクティビティ ノードを選択し、[名前] に「成功したインポート」と入力します。
- [タイプ] リストで、[同期] を選択します。
- [アクティビティ プロパティ] パネルで、[依存先] タブをクリックします。
- ルール エディタを右クリックして、[プロセス イベント] を選択します。
- イベントのリストで、[IMPORTRUN] を選択します。
- ルール エディタで、条件を IMPORTRUN > 0 と設定します。
- 成功したインポート ノードを選択し、サテライトの [終了] アイコンをクリックします。
プロセス マップは次のようになります。
重複するドキュメント インポート イベントのフローを作成する
重複したドキュメントがインポートされていないことを確認するためのイベントをトリガーするフローを作成するには、次の手順を実行します。
-
インポート イベントの処理マップで、[開始] ノードを選択し、サテライトの [アクティビティ] アイコン
をクリックします。
アクティビティ ノードが追加されます。
- このアクティビティ ノードを選択し、[名前] に「重複するインポート」と入力します。
- [タイプ] リストで、[同期] を選択します。
- [アクティビティ プロパティ] パネルで、[依存先] タブをクリックします。
- ルール エディタを右クリックして、[プロセス イベント] を選択します。
- イベントのリストで、[IMPORTDUPLICATE] を選択します。
-
重複するインポート ノードを選択し、サテライトの [アクティビティ] アイコン
をクリックします。
アクティビティ ノードが追加されます。
- このアクティビティ ノードを選択し、[名前] に「エラー メッセージの設定」と入力します。
- [タイプ] リストで、[.Net] を選択します。
-
[構成] をクリックします。
[.Net アクティビティの構成] ダイアログ ボックスが表示されます。
- [アセンブリ ファイルのパス] リストで、[TotalAgility.Sdk.Dll] を選択します。
- [クラス] リストで、[TotalAgility.Sdk.JobService] を選択します。
- [メソッド] リストで、[UpdateJobVariables] を選択します。
- [sessionId] で、[サーバー変数] をクリックし、[SPP_SYSTEM_SESSION_ID] を選択します。
- [UpdatedVariable] の をクリックします。
- [Id] リストで、[サーバー変数] をクリックし、[ErrorMessage] を選択します。
- [VariableType] に 8 と入力します。
- [値] に、カスタム エラー メッセージ 「重複するインポートのエラーを強制終了しました」を入力して、[OK] をクリックします。
-
エラー メッセージの設定ノードを選択し、サテライトの [アクティビティ] アイコン
をクリックします。
アクティビティ ノードが追加されます。
- このアクティビティ ノードを選択し、[名前] に「ジョブの強制終了」と入力します。
- [タイプ] リストで、[.Net] を選択します。
-
[構成] をクリックします。
[.Net アクティビティの構成] 画面が表示されます。
- [アセンブリ ファイルのパス] で、[TotalAgility.Sdk.Dll] を選択します。
- [クラス] で、[TotalAgility.Sdk.JobService] を選択します。
- [メソッド] で、[UpdateJobVariables] を選択します。
- [sessionId] で、[サーバー変数] をクリックし、[SPP_SYSTEM_SESSION_ID] を選択します。
- [OK] を選択します。
-
ジョブの強制終了ノードを選択し、サテライトの [終了] アイコン
をクリックします。
プロセス マップは次のようになります。
タイムアウトのフローを作成する
設定されたタイムアウトに対してイベント (IMPORTRUN または IMPORTDUPLICATE) がトリガーされない場合にプロセスがマップで次のノードに移動するようにフローを作成するには、次の手順を実行します。
-
インポート イベントの処理マップで、[開始] ノードを選択し、サテライトの [アクティビティ] アイコン
をクリックします。
アクティビティ ノードが追加されます。
- このアクティビティ ノードを選択し、[名前] に「タイムアウト」と入力します。
- [タイプ] リストで、[同期] を選択します。
- [アクティビティ プロパティ] パネルで、[時間とコスト] タブをクリックします。
- [トリガー] で、[プロセス] の をクリックします。
- [目標期間] で [後] を選択し、[分] の値を [30] に設定します。
- [プロセス] リストで、重複インポートのイベント発生を選択します。「イベントを発生させるためのマップを作成する」を参照してください。
- [OK] をクリックします。
- [アクティビティ プロパティ] パネルで、[依存先] タブをクリックします。
- ルール エディタを右クリックして、[プロセス イベント] を選択します。
- イベントのリストで、[CHECKEVENT] を選択します。
- ルール エディタで、条件を CHECKEVENT > 0 と設定します。
-
タイムアウト ノードを選択し、サテライトの [終了] アイコン
をクリックします。
最終的なプロセス マップは次のようになります。