MRVS Excel sheet data pulling question

keshav77
Tera Contributor

Hi All,

 

I am creating one MRVS catalog in that MRVS the data I put through excel sheet in all rows.

 there one variable called solution center ID where data is coming through on the basis of reference variable which is referencing to solution center table when data is coming in mrvs through excel sheet I am not able to see data in  ID filed until and unless I am open the row even if I open the row and close it without save it I am not able to see the data in mrvs why?

4 REPLIES 4

danmjunqueira
Kilo Guru

This behavior with Multi-Row Variable Sets (MRVS) and Excel imports is common when you're working with reference fields inside the MRVS. Here's a breakdown of what's happening and how to address it.

Problem Summary
You are importing MRVS data via Excel upload.

One of the fields in the MRVS is a reference variable (Solution Center ID).

After import, the ID is not visible in the MRVS table view.

When you open the row (edit mode), the value is there, but it doesn't appear in the list view unless you save.

Even after saving, the value still might not appear.

Root Causes
Reference fields expect internal sys_id, not display value

Excel uploads typically carry display values (e.g., name or number) for reference fields.

But MRVS reference variables require sys_ids to properly render in the grid view.

MRVS rendering does not resolve references unless the data is stored correctly

If the data is stored as a plain string (not linked by sys_id), the list rendering cannot resolve it.

That’s why opening the row in detail shows the value (as it's interpreted contextually), but the MRVS list view stays blank.

Scripted behaviors may not trigger on Excel upload

Client scripts or reference qualifiers might not run during Excel import, especially if the import uses the attachment processor or data stream.

How to Fix It
Option 1: Use sys_id in Excel upload for reference fields
Instead of uploading display values like "Solution Center A", upload the corresponding sys_id of the record from the referenced table.

Example:

Instead of: Solution Center A

Use: 2b8f8f3f1b62c410c82f6aa1f54bcb60 (actual sys_id)

Option 2: Write a script to resolve display values after upload
After uploading the MRVS data, run a server-side script (business rule or transform map) to:

Look up the correct reference record

Set the MRVS variable to the sys_id

Example (server-side logic):

var gr = new GlideRecord('sc_item_option_mtom'); // MRVS row table
gr.addQuery('request_item', current.sys_id);
gr.query();
while (gr.next()) {
var solutionCenterName = gr.u_solution_center_id; // assuming display value came in
var ref = new GlideRecord('u_solution_center'); // your reference table
ref.addQuery('name', solutionCenterName);
ref.query();
if (ref.next()) {
gr.u_solution_center_id = ref.sys_id;
gr.update();
}
}

Update this for your exact table and field names.

Recommendations
Always try to upload sys_ids for reference fields in MRVS via Excel.

If end users are uploading the Excel file, consider:

Using a guided interface

Or adding post-processing logic to translate display values to sys_ids

 



Ankur Bawiskar
Tera Patron
Tera Patron

@keshav77 

unless you share what's the current setup, screenshots etc, can't help

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

 1st test.pngimage.png@Ankur Bawiskar  as you can see in mrvs the Id value is not visible but if the I am open single record I am able to see that value and If I don't save the row it not visible on mrvs if save the row the id start appearing for that row 

@Ankur Bawiskar  can you help me with this