How to avoid search result limit exceeding error in NetSuite saved search

NetSuite has a limit of 4000 results at a time for every saved search result execution (run function). If the search result returns more than 4000 results this can lead to a search limit exceeding the error.
The error message will be: ‘SSS_SEARCH_FOR_EACH_LIMIT_EXCEEDED’:


This error can be avoided by using a paging function for running the search. The ‘page size’ option can be used to limit the number of results in a ‘searchObj.run()’ function
Use the following function for executing the search object:

/*****************************************************************************************
//To iterate over and initiate format of each saved search result
*****************************************************************************************/
const iterateSavedSearch = (searchObj) => {
var response = [];
var searchPageRanges;
try {
searchPageRanges = searchObj.runPaged({
pageSize: 1000
});
} catch (err) {
return [];
}
if (searchPageRanges.pageRanges.length < 1)
return [];

var pageRangeLength = searchPageRanges.pageRanges.length;
log.debug('pageRangeLength', pageRangeLength);

for (var pageIndex = 0; pageIndex < pageRangeLength; pageIndex++)
searchPageRanges.fetch({
index: pageIndex
}).data.forEach(function(result) {
response.push(result);
});

return response;
}

Leave a comment

Your email address will not be published. Required fields are marked *