how to set dynamic date and time on duration filed?

pvv1045330
Tera Contributor

Hi All,

 

I have a requirement like, when we create a change request based on the type we need to set date and time on duration filed?

normal change = 4 days

expiated change = 24 hr

standard change = 12 hr

 

how can we set the date and time dynamically based on the change type.

I'm using before business rule

type: before

condition: state is of normal,expedite,standard

var chnge = new GlideRecord('change_request');
    chnge.addQuery('sys_id', 'current.sys_id');
    chnge.query();
    if(current.type=='normal'){
        var approvalDuration = 14*60*60*60;//date/hr/min/seconds
        current.u_minimum_lead_time=approvalDuration;
 }
 else if(current.type=='expedite'){
        var Duration = 48*60*60;
        current.u_minimum_lead_time=Duration;
 }
    else if(current.type=='standard'){
        var approval = 24*60*60;
        current.u_minimum_lead_time=24*60*60;
    }
1 ACCEPTED SOLUTION

Vishal Birajdar
Giga Sage

Hi @pvv1045330 

 

Can you simply try to set like below :

 

 

  if(current.type=='normal'){
        /*Days Hr:mm:ss  - As we know 14 days for normal*/
        var approvalDuration = "14 00:00:00";
        current.u_minimum_lead_time=approvalDuration;
 }
 else if(current.type=='expedite'){
        /* Days Hr:mm:ss  - As we know 48 hrs  will be converted into days automatically*/
        var Duration = "00 48:00:00";
        current.u_minimum_lead_time=Duration;
 }
    else if(current.type=='standard'){
        var approval = "00 24:00:00";
        current.u_minimum_lead_time=approval;
    }

 

 

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

View solution in original post

14 REPLIES 14

Hi @Vishal Birajdar, done the same but it's convert in to days

My Script

pvv1045330_0-1697008799944.png

 

Result:

pvv1045330_1-1697008947627.png

 

 

Hi @pvv1045330 

 

Yes....Its OOTB functionality.

The Hours will converted into days.

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

Hi @Vishal Birajdar 

You mean we can't make it as hours.

 

if we want make it as hr what are the changes we need to do?

Hi @pvv1045330 

 

Yes....

Its like ....

 

24 Hr = 1 day

So if you put 28 hrs it will be like (24 hr  + 4 hrs) & it will converted into like below

Days Hr:mm:ss

  01   04:00:00

 

if you put 15 hrs then it will be like 

Days Hr:mm:ss

 00   15:00:00

 

You can put some value manually & save the form , you will know it how it works.

 

 

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

Hi @Vishal Birajdar,

 

Thanks for helping and quick response