- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-27-2024 11:10 PM
Hi All,
I have written the below code. Output is coming correctly. How should I return the sys_id so that it should visible in the reference qualifier field.
getProduct: function() {
var accounts = current.account;
var platform = current.u_platform;
var subProd = current.getDisplayValue("u_sub_products");
var ur = new GlideRecord("u_sub_product");
ur .addEncodedQuery('u_sub_product=' + subProd + '^u_platform=' + platform);
ur .query();
while (ur .next()) {
var user_array = [];
var product_array = user_array.push(ur.u_product);
}
var dee = new GlideRecord("sn_install_base_sold_product");
dee.addEncodedQuery("u_platform=" + platform + "^account=" + accounts);
dee.query();
while (dee.next()) {
var prod_array = [];
var arr = prod_array.push(dee.name);
if (JSON.stringify(product_array) == JSON.stringify(arr)) {
gs.log("OUTPUT RESULTS" + dee.sys_id);
} else {
gs.log("FALSE RESULT");
}
}
return dee.sys_id;
},
The return value should populate in the Product field(reference to Sold Product table (sn_install_base_sold_product).
Please help me.
Thanks,
Sam
Solved! Go to Solution.
- Labels:
-
compliance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 10:31 AM
Hi @Samiksha2 ,
In the above you are comparing the jason, try comparing the arrays and also print the product array and the arr and attach the screen shot of the result,
getProduct: function() {
var accounts = current.account;
var platform = current.u_platform;
var subProd = current.getDisplayValue("u_sub_products");
var ur = new GlideRecord("u_sub_product");
var user_array = [];
ur.addEncodedQuery('u_sub_product=' + subProd + '^u_platform=' + platform);
ur.query();
while (ur.next()) {
user_array.push(ur.u_product.toString());
}
var dee = new GlideRecord("sn_install_base_sold_product");
dee.addEncodedQuery("u_platform=" + platform + "^account=" + accounts);
dee.query();
var arrForSysID = [];
var prod_array = [];
while (dee.next()) {
prod_array.push(dee.name.toString());
function areArraysEqual(array1, array2) {
for (var i = 0; i < array2.length; i++) {
if (array1.indexOf(array2[i]) === -1) {
return false;
}
}
return true;
}
var result = areArraysEqual(user_array, prod_array);
if (result == true || result == 'true') {
gs.log("OUTPUT RESULTS" + dee.sys_id);
arrForSysID.push(dee.getValue('sys_id'));
} else {
gs.log("FALSE RESULT");
}
}
gs.info('Product array ' + user_array);
gs.info('arr ' + prod_array);
gs.info('Final sysId ' + arrForSysID);
return 'sys_idIN' + arrForSysID;
},
please share the logs,
Please mark this comment as Correct Answer/Helpful if it helped you.
Regards,
Swathi Sarang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 04:55 AM
Hi @Badrinarayan ,
Still single value is returning.
Thanks,
Sam
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 04:57 AM
please see the logs. two values are coming in the output.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-29-2024 12:04 AM
getProduct: function() {
var accounts = current.account;
var platform = current.u_platform;
var subProd = current.getDisplayValue("u_sub_products");
var product_array = [];
var ur = new GlideRecord("u_sub_product");
ur.addEncodedQuery('u_sub_product=' + subProd + '^u_platform=' + platform);
ur.query();
while (ur.next()) {
product_array.push(ur.u_product.toString());
}
var sysIdArray = [];
var dee = new GlideRecord("sn_install_base_sold_product");
dee.addEncodedQuery("u_platform=" + platform + "^account=" + accounts);
dee.query();
while (dee.next()) {
if (product_array.indexOf(dee.name.toString()) !== -1) {
gs.log("OUTPUT RESULTS: " + dee.sys_id);
sysIdArray.push(dee.sys_id.toString());
} else {
gs.log("FALSE RESULT");
}
}
if (sysIdArray.length > 0) {
return 'sys_idIN' + sysIdArray.join(',');
} else {
return 'sys_idINnone'; // No matching records found
}
},
Try this Approach , Let me know if this is Helpful
share the logs
Thanks

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 03:14 AM
@Samiksha2 Could you please describe in words what exactly your script does. Specially the part which compares
if (JSON.stringify(product_array) == JSON.stringify(arr)) {
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 04:47 AM
Hi @Sandeep Rajput ,
I am getting the product value from Sub product table and Product value form Sold product.
Matching the values and if values are equal in sold product table and sub product table the return the equal product value.
Thanks,
Sam