How can i bulk update date value in servicenow

IamAmolB
Tera Guru

Hi Experts,

I want to copy some date value from another table in bulk. i want to set a   value for almost 4k records.

tried with,

1. rec.u_test_cancel_date = rec.u_project_id.end_date.getGlideObject();

2. rec.u_test_cancel_date = rec.u_project_id.end_date.getDisplayValue();

3. rec.u_test_cancel_date.setValue(rec.u_project_id.end_date);

but when i run this for bulk update in background script it will run for only one record and update only one record.

Do we have any other way to resolve this as it is not able to update all the records in a single run.

Regards,

Amol Bavaskar.

+91-9405444404

1 ACCEPTED SOLUTION

Hi Julian,



Here is the script :




var rec = new GlideRecord('u_test_plan');


rec.addQuery('u_request_status','canceled');


rec.addQuery('u_test_cancel_date','');


//rec.setLimit(3);


rec.query();



gs.print("row :: "+rec.getRowCount());



while(rec.next()) {


      rec.u_test_cancel_date = rec.u_project_id.end_date;


      gs.print('Project_ID :: '+rec.u_project_id);


      gs.print('End Date     :: '+rec.u_project_id.end_date);


      rec.update();


   


}


View solution in original post

20 REPLIES 20

preddy
Kilo Guru

Hi Amol,


You can update Data one table to Another table using Background Script.



First map that two table and Use "while" condition it will update bulk data.



Pls HIT/like correct this is halpful..


Hi Pavan,



I used while loop i just have posted my code


please check



Regards,


Amol


IamAmolB
Tera Guru

Here is the script :




var rec = new GlideRecord('u_test_plan');


rec.addQuery('u_request_status','canceled');


rec.addQuery('u_test_cancel_date','');


//rec.setLimit(3);


rec.query();



gs.print("row :: "+rec.getRowCount());



while(rec.next()) {


      rec.u_test_cancel_date = rec.u_project_id.end_date;


      gs.print('Project_ID :: '+rec.u_project_id);


      gs.print('End Date     :: '+rec.u_project_id.end_date);


      rec.update();


 


}


Hi Amol,



Are you trying to get field value from one table and you are updating it in one table. Can you please let me know based on what condition you are trying to query. Also please tell the source table,field, Destination table, field so that I can get you a script.



Regards


Param


IamAmolB
Tera Guru

Hi All,



var rec = new GlideRecord('u_test_plan');


  1. rec.addQuery('u_request_status','canceled');
  2. rec.addQuery('u_test_cancel_dateISEMPTY');

//rec.setLimit(3);


  1. rec.query();


  1. gs.print("row :: "+rec.getRowCount());



while(rec.next()) {


var dt = new GlideDateTime(rec.u_project_id.end_date);


gs.print('dt ' + dt.getDisplayValue());


rec.u_test_cancel_date = dt;


gs.print('Request id :: '+rec.u_request_id);


gs.print('Project_ID :: '+rec.u_test_cancel_date.getDisplayValue());


//rec.u_test_cancel_date.setValue(today);  


gs.print('Project_ID :: '+rec.u_project_id.number);


gs.print('End Date     :: '+rec.u_project_id.end_date.getDisplayValue());


rec.update();


}  



It work for me..



Thank you for your help..



Regards,


Amol