- Create the custom Transaction Line Field in the UI.
- Apply the custom Transaction Line Field to Item Fulfillment and Sales Order record.
- Using a UserEvent script, on the beforeSubmit trigger, follow the sample code below:
function beforeSubmit(scriptContext) {
let newRecord = scriptContext.newRecord;
let oldRecord = scriptContext.oldRecord;
let lineItem = newRecord.getLineCount({
sublistId: 'item'
})
let salesOrder = record.load({
type: record.Type.SALES_ORDER,
id: newRecord.getValue({
fieldId: 'createdfrom'
}),
isDynamic: true
})
let soLineItem = salesOrder.getLineCount({
sublistId: 'item'
})
for(let currentLine = 0; currentLine < lineItem - 1; currentLine++){
let fItem = newRecord.getSublistValue({
sublistId: 'item',
fieldId: 'item',
line: currentLine
})
let customLineFieldValue = newRecord.getSublistValue({
sublistId: 'item',
fieldId: 'custcol_testfield',
line: currentLine
})
for(let soLines = 0; soLines < soLineItem - 1; soLines++){
let sItem = salesOrder.getSublistValue({
sublistId: 'item',
fieldId: 'item',
line: soLines
})
if(fItem==sItem){
salesOrder.selectLine({
sublistId: 'item',
line: soLines
})
salesOrder.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'custcol_testfield',
value: customLineFieldValue
})
salesOrder.commitLine({
sublistId: 'item'
});
salesOrder.save();
}
}
}
}