ServiceNow スコープ対象 GlideSchedule whenNextの使い方

概要
スコープ対象 GlideSchedule – whenNext(GlideDateTime time, 文字列 timeZone)
次のスケジュールアイテムの開始時間までの時間 (ミリ秒) を指定します。
この関数は、GlideSchedule オブジェクト (cmn_schedule テーブル) が
現在スケジュールウィンドウにない場合に呼び出されることを意図しています。

パラメーター
time GlideDateTime 評価する時間
timeZone 文字列 タイムゾーン

サンプルコード1
var startDate = new GlideDateTime('2024-11-25 09:10:20′);
var glideSchedule = new GlideSchedule(’08fcd0830a0a0b2600079f56b1adb9ae’, 'UTC’);
gs.info(glideSchedule.whenNext(startDate));

サンプルコード2

testScript();
function testScript(){
 var now = new GlideDateTime();//現在日時
 var sch = new GlideSchedule('xxxx')//スケジュールのsys_id
 if(sch.isInSchedule(now)){
 gs.info('現在アクティブなスケジュールウィンドウにいるため、whenNext() は役に立ちません'); 
 }else {
   gs.info('Not currently in schedule so call whenNext()'); 
   var msUntilNext = sch.whenNext(new GlideDateTime(),'US/Pacific');
   gs.info('Next schedule starts in '+msUntilNext+' milliseconds'); 
 }


}

 

IT

Posted by arkgame