ライフサイクルイベント (LE) に関する FAQSummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } ライフサイクルイベント (LE) FAQ 製品ドキュメント: ライフサイクルイベント 企業のライフサイクルイベント LE ライフサイクルイベントのベストプラクティスとパフォーマンスへの期待: KB1307612 (ライフサイクルイベントのベストプラクティスとパフォーマンス期待) トラブルシューティングのヒント - どこから始めればよいか: LE の問題のトラブルシューティングを行う最良の方法の 1 つは、LE ワークフローの実行とアクティビティセットの実行コンテキストを確認することです (LE ケースの [ワークフローを表示] および [アクティビティセットの実行] 関連リンク)。また、各アクティビティセットには、ワークフローアクティビティ履歴を表示するアクティビティセットコンテキストが関連付けられています。これにより、LE ワークフローで何が起こっていたかをかなりよく把握できます。 よくある質問: 1.トリガー条件が満たされていても アクティビティセットが トリガー待ち ステータスのままになる (アクティビティは起動されなかった)。 考えられる理由: a.同じ LE タイプを使用する既存の LE ケースがまだ進行中に、構成が変更されました。 たとえば、アクティビティセットのトリガータイプが 他のアクティビティセットに依存 から 詳細 に変更されます。この変更の前に作成された LE ケースには、親アクティビティセットの完了を待機するアクティビティセットワークフローコンテキストがあります。したがって、詳細スクリプトが true を返しても、アクティビティセットはトリガーされません。 考えられる回避策は、アクティビティセットの実行レコードを手動で エラー ステータスに設定してから、LE ケースで 再開 機能を使用することです。注意:これは、 再開 機能の意図したユースケースではありません。また、アクティビティが既に完了している場合、または HR タスクが既に作成されている場合、これは機能しません。影響を受けるすべてのケースにこの回避策を適用する前に、いくつかの LE ケースをテストしてください。 本番環境で実行する前に、準本番環境で徹底的にテストしてください。 注意:次のアクティビティセット構成を変更する場合は注意してください。 対象者トリガータイプアクティビティセットへの新しいアクティビティの追加 このような構成変更は、次の状況では既存の LE ケースでは選択されません。 既にトリガーされているアクティビティセット既に生成されているアクティビティ既に完了したアクティビティ まだトリガーされていないアクティビティセット、アクティビティ、または LE ケースのみが、新しい構成を使用します。 既存の LE ケースの進行中に上記の構成のいずれかを変更する場合は、準本番インスタンスで徹底的にテストすることを強くお勧めします。 b.カスタマイズ LE ワークフローとそのアクティビティ、フロー、または関連するスクリプトインクルード (メインのスクリプトインクルードはhr_ActivitySet) のカスタマイズを確認します。 スクリプトインクルードを変更すると、制限付き発信者アクセス (RCA) レコードが無効になる可能性があることに注意してください。無効/要求済み ステータスの関連する RCA レコードがあるかどうかを確認し必要に応じて 許可 ステータスに移行します。 c.構成ミス たとえば、アクティビティセット AS1 に依存するアクティビティセット AS2 があり、AS1 が非アクティブ化された場合、AS2 は キャンセルを取得するまで、無期限に (または 5000 WF 実行の間トリガー待ち のままになります。 AS1 が非アクティブ化されている場合、AS2 のトリガータイプは「AS1 に依存」するのではなく、 即時にする必要があります。 d. 対象者は、アクティビティの開始時に対象者と会っていなかった可能性があります。 3)その時点でアクティビティが非アクティブであった可能性があります。 2.フィルターで [完了] チェックボックスのみが選択されている場合、LE チケットページに To Do が表示されない 設計上、アクティビティセットのタスクリストにタスクを表示するには、ユーザーが以下を選択する必要があります。 [必須] または [オプション] チェックボックスから少なくとも 1 つ および [完了] または [予定] チェックボックスから少なくとも 1 つ これをよりユーザーフレンドリーにするための拡張がロードマップにあります。 3.ワークフローコンテキストがキャンセルされたのはなぜですか? ワークフローの 最大アクティビティ数 に達した可能性があります。これは、実行時間が長い LE ケースがある場合や、アクティビティセットの 評価間隔 が小さすぎる場合に発生する可能性があります。ワークフローアクティビティの最大数を増やすには、以下の#4を参照してください。この増加は、新しいワークフローコンテキストにのみ適用されます。実行中のワークフローコンテキストでは、引き続き以前の値が使用されます。 4.ワークフローアクティビティの最大数を増やすにはどうすればよいですか? ワークフローアクティビティの最大数を更新するには、[ HR アクティビティセットランチャー ワークフローをチェックアウトし、ワークフローのプロパティアイコン ([アクティビティ] タブの下) を開きます。 5.アクティビティセットのトリガー条件の評価を迅速化 (または即時) して、アクティビティをより早く開始するにはどうしたらよいか? デフォルトでは、評価間隔は 4 時間です。アクティビティセットをより早くトリガーするには、次の 2 つの方法があります。 1.イベント BR 付き条件 (デモ) アクティビティセットを使用します。これは、トリガー条件が満たされると (評価間隔を待つ必要なく) アクティビティセットをトリガーする機能を提供します。詳細については、こちらのドキュメントを参照してください: [イベント BR 付き条件 (デモ) (Condition with Event BR (Demo))] アクティビティセット。 2.アクティビティセット 評価間隔 を減らし(#6を参照)、最大ワークフローアクティビティ数を増やします(#4を参照)。ワークフローアクティビティの最大数に達する可能性があるため、これは推奨されません (#3 を参照)。 6.アクティビティセットの評価間隔を変更するにはどうすればよいですか? a.アクティビティセットの 評価間隔 フィールドを更新します (注意:デフォルトでは、このフィールドはアクティビティセットフォームにはありません。表示するようにフォームを設定します)。 OR b.[システムプロパティ] sn_hr_leを設定します。evaluation_interval列が null の場合すべてのアクティビティセットのクローズタイマー (ライフサイクルイベントのプロパティを参照)。これは従来のプロパティであり、インスタンスに存在しない可能性があることに注意してください。その場合は、オプション A に従い、すべてのアクティビティセットに対して 評価間隔 フィールドが入力されていることを確認します。 7.アクティビティセットまたはアクティビティが多すぎる場合、LE テスト機能で [HR アクティビティセットランチャー] ワークフローでエラーが発生するのはなぜですか? 多くのアクティビティセットやアクティビティがある場合、HR アクティビティセットランチャー ワークフロー入力 [アクティビティセット入力] が最大長 (デフォルトは 4000) を超えることがあります。 「KB1156535 (ライフサイクルイベントテスト機能で HR アクティビティセットランチャーワークフローでエラーが発生する)」を参照してください。 解決策は、ワークフロー入力の「アクティビティセット入力」の最大長を増やすことです(例:4000から8000)。 8.フロータイプのアクティビティから生成されたレコードが ESC のアクティビティセットに表示されない カスタムフローから生成されたレコードを特定できないため、フローから生成されたタスクは ESC のアクティビティセットに関連付けられません。ただし、カスタムフローから生成されたタスクを ESC のアクティビティセットの下に表示する場合は、 アクティビティステータス [sn_hr_le_activity_status] レコードの [生成されたレコード ] フィールドをフローから生成されたレコードに設定する必要があります。これは、以下のフィルターを使用してアクティビティステータスレコードを検索することにより、カスタムフローで設定する必要があります /sn_hr_le_activity_status_list.do?sysparm_query=activity_set_context.hr_case=<sys_id Parent LE Case>^activity=<sys_id of the activity with flow> 9.エラーメッセージ「ワークフローにエラーがあります。LE ケースフォームの上部に ケースを再開 してワークフローを再開する」と表示され、1 つ以上のアクティビティセットの実行でエラーが発生しています。 ログには、次のスタックが記録される場合があります。 WARNING *** WARNING *** Evaluator: org.mozilla.javascript.EcmaError: "parent" is not defined.Caused by error in sys_script_include.088df2fe534a22003066a5f4a11c08de.script at line 700WARNING *** WARNING *** Evaluator: org.mozilla.javascript.EcmaError: "parent" is not defined.Caused by error in sys_script_include.088df2fe534a22003066a5f4a11c08de.script at line 610WARNING *** WARNING *** Evaluator: org.mozilla.javascript.EcmaError: "parent" is not defined.Caused by error in sys_script_include.088df2fe534a22003066a5f4a11c08de.script at line 544WARNING *** WARNING *** Evaluator: org.mozilla.javascript.EcmaError: "parent" is not defined.Caused by error in sys_script_include.088df2fe534a22003066a5f4a11c08de.script at line 252WARNING *** WARNING *** Evaluator: org.mozilla.javascript.EcmaError: "parent" is not defined.Caused by error in sys_script_include.d3669766c0a8016901828e92d1202ac5.script at line 104WARNING *** WARNING *** Evaluator: org.mozilla.javascript.EcmaError: "parent" is not defined.Caused by error in sys_script_include.088df2fe534a22003066a5f4a11c08de.script at line 1705WARNING *** WARNING *** Get for non-existent record: sn_hr_core_template:76c7eaa9dbebc950859143d91396196c, initializingWARNING *** WARNING *** Get for non-existent record: sn_hr_core_template:76c7eaa9dbebc950859143d91396196c, initializingSEVERE *** ERROR *** sn_hr_le (hr_ActivitySet): org.mozilla.javascript.EvaluatorException: GlideRecord.setTableName - empty table name (Launch Activities - advanced script; line 11) OOB クエリービジネスルール "SNC Template Query" (sys_script.do?sys_id=f5ab8f060a0a0bc50013f5ab4b8315c1) sys_templateテーブル (sn_hr_core_template は sys_template から拡張されることに注意してください) で、エンコードされたクエリーを追加します。 global=true^ORuser=" + gs.getUserID() + "^ORgroups=javascript:gs.getUser().getMyGroups()アドミン以外のユーザーの場合、上記のクエリ BR は、上記のクエリに応じて、ユーザーがクエリされている現在のテンプレートにアクセスできない場合があります。 解決策は、LE ケースを送信するユーザーがsys_template内のデータにアクセスできるようにすることです。 10.ライフサイクルイベントのアクティビティで定義されたタイプ「通知」のメールが送信されていません。 この問題の最も一般的な原因は、OOB 通知 "ライフサイクル アクティビティ通知" (/sysevent_email_action.do?sys_id=de49d5a9537232003585c3c606dc344f) が非アクティブ化されている可能性があることです。 その場合、イベント「sn_hr_le.notification_activity」が発生したときにトリガーするように他のカスタム通知が設定されていない場合、ライフサイクルイベントからメールは送信されません。 ライフサイクルイベント通知の仕組みの詳細については、「 KB1633397 (ライフサイクルイベント通知の仕組み)」を参照してください。 11.アクティビティセットがエラーになり、エラー「{Activity_Set_name}」アクティビティセットのステータスがエラーに変更されました。ErrorMethodName:_isActivityCompleted ## java.lang.NullPointerException」がケースの作業メモに表示されます。 エラーのあるアクティビティセットのアクティビティセット実行レコードを開き、そのアクティビティステータスレコードのリストを確認します。そのうちの 1 つは、存在しないアクティビティを参照している可能性があります。 この問題の最も一般的な原因は、LE ケースがまだ処理中にアクティビティセット定義からアクティビティが削除されていることです。唯一の解決策は、欠落しているアクティビティを回復することです。 12.トリガータイプが [その他のアクティビティセット] または [組み合わせ] であるアクティビティセットは、無期限に [トリガー待ち] のままになります。 この問題は通常、タイプの組み合わせの 1 つのアクティビティセットが別のアクティビティセットと日付に依存する長期の LE ケース (6+ か月) に影響します。 指定した日付に達する 6 か月以上前に最初のアクティビティセットが完了した場合、元のアクティビティセットのwf_contextが削除される可能性があるため、待機中のアクティビティセットが「トリガー待ち」ステータスから進むことはありません。 「wf_context」テーブルの OOB テーブルクリーナーは 15,552,000 秒 (180 日) に設定されています https://instance_name.service-now.com/nav_to.do?uri=sys_auto_flush.do?sys_id=552f483c0a0a0b900082121e6ea5b65e「wf_context」テーブルのテーブルクリーナーの 一致フィールド は「ended」で、条件は「Active is false」です。これは、「終了」フィールドが 180 日より古い値に設定されている非アクティブなwf_contextレコードが削除されることを意味します。 元のアクティビティセットのwf_contextがなくなったため、現在のロジックは依存するActivtySetが終了したかどうかを確認するwf_contextに依存しているため、依存するアクティビティセットは進行できません。 LE ケースが 6 か月以上続くと予想される場合は、上記のテーブルクリーナーの値を更新して (システムメンテナンス>テーブルのクリーンアップ)、アクティブな LE ケースのwf_contextレコードが削除されないようにする必要があります。 現在影響を受けているLEケースの簡単な修正はありません。 また、「 KB1650793 (依存アクティビティセットが完了していても、アクティビティセットコンテキストが「トリガー待ち」でスタックする)」も参照してください。 13.同じアクティビティセット内で重複するアクティビティが生成されています。 影響を受けるアクティビティセットのワークフローコンテキスト「HR アクティビティランチャー」のワークフローログを見ると、次のようなエラーが表示されます。 ワークフロー「HR アクティビティランチャー」、コンテキスト 9d88f9e6ebe30a50540df3a2dad0cdb6 は 2024 年 7 月 25 日午前 7 時 23 分 47 秒 (UTC) で終了しました: トランザクションがキャンセルされました:最大実行時間を超過しました この問題は、ケースを作成して「人事アクティビティランチャー」をトリガーするトランザクションに時間がかかりすぎる場合に発生する可能性があります。対処措置は通常、次のようになります。1.ケースが作成され、同じトランザクションで LE がトリガーされます (OOB LE ケースはドラフトで作成され、その後 [準備完了] に移行し、LE がトリガーされます。このシナリオでは、ケースは直接 [準備完了] ステータスで作成されます)2.ワークフロー「HR アクティビティランチャー」が開始3.WF アクティビティ「アクティビティを開始」を開始4.アクティビティの作成が開始されます。これには時間がかかる場合があります5.元のトランザクション (ケースを作成して WF をトリガーしたトランザクション) は、WF アクティビティ「アクティビティを開始」がまだ実行されている間に、開始から 5 分後にタイムアウトする (クォータルールに従って - 詳細は後述)6.「トランザクションがキャンセルされました:最大実行時間を超えました」というエラーメッセージがWFコンテキストログに表示されることがある7.元のトランザクションが終了します (開始から 5 分後)8.ワークフロー設計上、ワークフローは元のトランザクションがタイムアウトしてもエラーを出さず、単に現在のアクティビティを最初から再実行します。したがって、この場合、現在のアクティビティは「アクティビティを開始」です9.「アクティビティを起動」アクティビティが (場合によっては別のノードで、別のトランザクションで) 再開され、重複するアクティビティが生成されますケースを生成して WF を添付するトランザクションは、OOB トランザクションクォータルールのいずれかが原因でタイムアウトする可能性があります。ほとんどの場合、次のようになります。 クォータルール「REST と JSON すべてをキャッチ」(sysrule_quota.do?sys_id=84622fa19f1122005cf3ffa4677fcf1f) を 300 秒 (5 分) に設定 または クォータルール「REST バッチ API 要求のタイムアウト」(sysrule_quota.do?sys_id=39e96633e7170300917484fa03f6a93b) を 30 秒に設定解決策は、関連するトランザクションクォータルールの最大期間 (秒) を、予想されるケース作成期間よりも大きい値に増やすことです。トランザクションクォータルールはプラットフォーム全体に適用されるため、注意してください。 14.アクティビティセットコンテキストが [実行中のアクティビティ] ステータスでスタックしています。 これは、アクティビティセットに「カタログアイテム」または「自動注文ガイド」タイプのアクティビティが含まれている場合に発生する可能性があります。 アクティビティステータスレコードのいずれかのgenerated_recordが空で、関連するアクティビティの「生成されたタスクが完了するまで待機 = true」の場合、永久に待機します。 [generated_record] フィールドは、HR タスクタイプが [アイテム/注文ガイドを送信] の場合に入力されます。これは、関連アイテム/注文ガイドが ESC ポータルの To Do から送信された場合にのみ入力されます。 LE 関連のカタログアイテム/注文ガイドは、必ず従業員センターのhrm_todos_pageページからのみ送信してください。 15.アクティビティセットコンテキストがエラーで完了し、'null' のプロパティ "rootParent" を "<sys_id>" に設定できません」というエラーメッセージが表示される。 ライフサイクルイベントのアクティビティセットの 1 つが エラーで完了する場合があります。失敗したアクティビティセットの実行に関連するワークフローコンテキストを見ると、次のエラーが表示される場合があります。 Wait to reevaluate Trigger Script(b819b98a73d51010e9b37de86cf6a75e): org.mozilla.javascript.WrappedException: Wrapped org.mozilla.javascript.JavaScriptException: TypeError: Cannot set property "rootParent" of null to "0320ec431b21bc10bd9bdc25cc4bcb81" (// Check if the trigger type is not "script (advanced)". For type script, the condition is already evaluated as false in the previous WF activity and therefore, no need to create a future to-do'// Also, check if the future-todo API is already invoked. (for trigger type 'date', this WF activity may run multiple times)try {var regId = workflow.scratchpad.registration;var trigger_type = '';var grContext = new GlideRecord('sn_hr_le_activity_set_context');if (grContext.get(regId))trigger_type = grContext.activity_set.trigger_type;if (!workflow.scratchpad.futureRecordCreated && trigger_type != "script") {// This script will create JSON representing future to-dos for the Activity Set which are not triggeredvar util = new sn_hr_le.hr_ActivitySet().createFutureTodos(workflow.scratchpad.registration,workflow.variables.subject_person_id);workflow.scratchpad.futureRecordCreated = true;}// Set 'answer' to the number of seconds this timer should waitanswer = new hr_ActivitySet(regId).getLoopInterval();} catch (err) {workflow.scratchpad.errMessage = err.message;workflow.scratchpad.err = err;throw err;}; line 23) (<refname>; line 273) 例外に記載されている「rootParent」がスクリプトインクルード「hr_ActivitySet」の関数「_updateFutureJSON」で使用されているsys_script_include.do?sys_id=088df2fe534a22003066a5f4a11c08de このメソッドのロジックを見ると、将来の To Do の 1 つを正しく作成できません。 影響を受けるアクティビティセット/HR ケースの今後の To Do のリストを確認します。/sn_hr_le_future_todo_list.do そして、それらのいずれかに空の [将来の JSON] フィールドがあるかどうかを確認します。 上記の将来の To Do で参照された LE アクティビティが、インスタンスに存在しない「HR テンプレート」を指している可能性があります。 UI では空として表示されますが、XML から見ると、その値は次のとおりです。<hr_template display_value="">3e426d7f1b362410309fff7e034bcb59</hr_template> 問題は、sys_id=3e426d7f1b362410309fff7e034bcb59 のsn_hr_core_templateレコードがインスタンスに存在しないことです。 解決策: - 「壊れた」アクティビティで参照されている人事テンプレート [sn_hr_core_template] レコードを別のインスタンスからインポートします (どこで開発されたかがわかっていて、まだ持っている場合)又は- インスタンスに存在する人事テンプレートを指す LE アクティビティの人事テンプレートを更新します。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } }