How to get all field values and store it in a string field

Pravallika9
Tera Expert

Hi,

As part of some requirement I want to store the complete form details first in a different table field as a backup.

eg. for suppose we have a incident ticket and it is in work in progress

Once it reached that state I want to have a backup of all the field values stored in some other field.

var grINC = new GlideRecord('incident');
grINC.query();
grINC.next();
var fields = grINC.getFields();
for (var i = 0; i < fields.size(); i++) {
  var glideElement = fields.get(i);
  if (glideElement.hasValue()) {
var obj = {};
    // here I am confused how exactly i can bring all the values in the array.
  }
}
gs.print('');
1 ACCEPTED SOLUTION

Voona Rohila
Kilo Patron
Kilo Patron

Hi Pravalika

Try this:

var grINC = new GlideRecord('incident');
grINC.addQuery('sys_id','incident_sysid_here'); //map record sysid here.
grINC.query();
if(grINC.next())
{
    var arr={};
var elements = grINC.getElements();
       for (var i=0; i<elements.size(); i++) {


               var element = elements.get(i);

                arr[element.getLabel()] = grINC.getValue(element.getName());
               //gs.info("Element label is {0}, name is {1}, value is {2}", element.getLabel(), element.getName(), grINC.getValue(element.getName()));


       }
       gs.print(JSON.stringify(arr));

}

Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

View solution in original post

6 REPLIES 6

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

is that a business requirement?

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

yes it is

Script shared by Rohila should work

Try that and share the feedback

Regards
ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Voona Rohila
Kilo Patron
Kilo Patron

Hi Pravalika

Try this:

var grINC = new GlideRecord('incident');
grINC.addQuery('sys_id','incident_sysid_here'); //map record sysid here.
grINC.query();
if(grINC.next())
{
    var arr={};
var elements = grINC.getElements();
       for (var i=0; i<elements.size(); i++) {


               var element = elements.get(i);

                arr[element.getLabel()] = grINC.getValue(element.getName());
               //gs.info("Element label is {0}, name is {1}, value is {2}", element.getLabel(), element.getName(), grINC.getValue(element.getName()));


       }
       gs.print(JSON.stringify(arr));

}

Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP