REQUIREMENT
Update the line level location of a sales order using mass update scirpt.
SOLUTION
/**
/**
* @NApiVersion 2.1
* @NScriptType MassUpdateScript
*/
define(['N/record', 'N/search'],
/**
* @param{record} record
* @param{search} search
*/
(record, search) => {
/**
* Defines the Mass Update trigger point.
* @param {Object} params
* @param {string} params.type - Record type of the record being processed
* @param {number} params.id - ID of the record being processed
* @since 2016.1
*/
const each = (params) => {
try{
log.debug("Internal Id",params.id)
var objRecord = record.load({
type: 'salesorder',
id: params.id,
isDynamic: false,
});
let itemLineCount=objRecord.getLineCount({
sublistId: 'item'
})
for(let i=0;i<itemLineCount;i++){
objRecord.setSublistValue({
sublistId: 'item',
fieldId: 'location',
line: i,
value: '17'
});
objRecord.setSublistValue({
sublistId: 'item',
fieldId: 'noautoassignlocation',
line: i,
value: false
});
}
objRecord.save();
}
catch(err){
log.debug("error@",err)
}
}
return {each}
});