Reallocate committed items from Sales Order using SuiteScript.
Please Note: NetSuite SuiteAnswer says scripting is not supported for Reallocate Items record, but this is possible via Suitescript. So this might become available in future NetSuite releases as a new feature. So I advise everyone to use this with precaution for now.
var objReallocateItemRec = record.create({
type: record.Type.REALLOCATE_ITEM,
isDynamic: true
});
objReallocateItemRec.setValue("item", 252);
objReallocateItemRec.setValue("location", 2);
var recLineCount = objReallocateItemRec.getLineCount("order");
log.debug("recLineCount", recLineCount);
var matchedSOLine = objReallocateItemRec.findSublistLineWithValue({
sublistId: 'order',
fieldId: 'ordernumber',
value: 2080//Document Number
});
log.debug("matchedSOLine", matchedSOLine);
objReallocateItemRec.selectLine({
sublistId: 'order',
line: matchedSOLine
});
objReallocateItemRec.setCurrentSublistValue({
sublistId: 'order',
fieldId: 'commit',
value: true
});
objReallocateItemRec.setCurrentSublistValue({
sublistId: 'order',
fieldId: 'quantitycommitted',
value: 0
});
objReallocateItemRec.commitLine({
sublistId: 'order'
});
var matchedSOLine2 = objReallocateItemRec.findSublistLineWithValue({
sublistId: 'order',
fieldId: 'ordernumber',
value: 2280 //Document Number
});
log.debug("matchedSOLine2", matchedSOLine2);
objReallocateItemRec.selectLine({
sublistId: 'order',
line: matchedSOLine2
});
objReallocateItemRec.setCurrentSublistValue({
sublistId: 'order',
fieldId: 'commit',
value: true
});
objReallocateItemRec.setCurrentSublistValue({
sublistId: 'order',
fieldId: 'quantitycommitted',
value: 8
});
objReallocateItemRec.commitLine({
sublistId: 'order'
});
var recordId = objReallocateItemRec.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
log.debug('recordId',recordId)