We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

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
Tera 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
5x ServiceNow MVP

View solution in original post

6 REPLIES 6

Ankur Bawiskar
Tera Patron

Hi,

is that a business requirement?

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 10x 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  ||  ✨ 10x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Voona Rohila
Tera 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
5x ServiceNow MVP