define(['N/search','N/record','N/runtime','N/task'],
(search,record,runtime,task) => {
/**
* Defines the Scheduled script trigger point.
* @param {Object} scriptContext
* @param {string} scriptContext.type - Script execution context. Use values from the scriptContext.InvocationType enum.
* @since 2015.2
*/
const execute = (scriptContext) => {
try{
var script = runtime.getCurrentScript();
var startIndex = script.getParameter({name:'custscript_jj_start_index'});
log.debug('start index',startIndex);
var endIndex = script.getParameter({name:'custscript_jj_end_index'});
log.debug('endIndex',endIndex);
var itemSearchObj = search.create({
type: "item",
filters:
[
["formulatext: {custitem_jj_item_image}","isempty",""],
"AND",
["subsidiary","anyof","2","1","11"]
],
columns:
[
search.createColumn({
name: "itemid",
sort: search.Sort.ASC,
label: "Name"
}),
search.createColumn({name: "displayname", label: "Display Name"}),
search.createColumn({name: "type", label: "Type"}),
search.createColumn({name: "internalid", label: "Internal ID"}),
]
});
var searchResultCount2 = itemSearchObj.runPaged().count;
log.debug("itemSearchObj result count",searchResultCount2);
var myResultSet = itemSearchObj.run();
var resultRange = myResultSet.getRange({
start: startIndex,
end: endIndex
});
for (var i = 0; i < resultRange.length; i++) {
var itemName = resultRange[i].getValue(itemSearchObj.columns[0]);
log.debug('itemName',itemName);
}
var remainingUsage = script.getRemainingUsage();
log.debug('remainingUsage',remainingUsage)
if(remainingUsage<10000){
reSchedule(endIndex +1,endIndex +150)
}
}
catch (e) {
log.debug('catchError', e)
}
}
function reSchedule(endRange,nextRange){
try{
log.debug('in reSchedule')
var ssTask = task.create({
taskType: task.TaskType.SCHEDULED_SCRIPT,
scriptId: 2842,
deploymentId: "customdeploy_jj_ss_populate_img",
params: {
custscript_jj_start_index: endRange,
custscript_jj_end_index: nextRange
}
});
var scriptTaskId = ssTask.submit();
}
catch (e) {
log.debug('catchError', e)
}
}
return {execute}
});