function validateLine(scriptContext){
let recCurrent = scriptContext.currentRecord;
if(scriptContext.currentRecord.type == “creditmemo”){
log.debug(“scriptContext.mode”,mode);
var lineCount = recCurrent.getLineCount({
sublistId: ‘item’
}) || 0;
var lineNum = Number(lineCount);
log.debug(“lineNum……….****”,lineNum);
let existingNumber = recCurrent.getCurrentSublistValue({
sublistId: ‘item’,
fieldId: ‘custcol_mhi_ibs_cust_line_num’
});
log.debug(“existingNumber……….”,existingNumber);
let existingLineNumber = recCurrent.getCurrentSublistValue({
sublistId: ‘item’,
fieldId: ‘line’
});
log.debug(“existingLineNumber……”,existingLineNumber);
log.debug(“insertLine……”,insertLine);
let lineHash = recCurrent.getCurrentSublistValue({
sublistId:‘item’,
fieldId: ‘custcol_mhi_ibs_line_number’
});
log.debug(“lineHash……”,lineHash)
let nextLineNumber = lineCount + 1;
if ((!existingNumber && !existingLineNumber) || (existingNumber && !existingLineNumber) || (existingLineNumber < 0)) {
if (!lineHash && scriptContext.mode == ‘create’ && !existingNumber && !existingLineNumber && insertLine == 0) {
log.debug(‘Setting Line Number (Scenario 1)’, nextLineNumber);
}
else if(lineHash && !existingNumber){
log.debug(‘Setting Line Number (Scenario 2)’, nextLineNumber);
}
else if (existingLineNumber < 0) {
nextLineNumber = lineCount;
log.debug(‘Setting Line Number (Scenario 3)’, nextLineNumber);
}
else if (!existingNumber && !existingLineNumber && insertLine == 1) {
insertLine = 0;
nextLineNumber = lineCount;
log.debug(‘Setting Line Number (Scenario 4)’, nextLineNumber);
} else if (existingNumber && !existingLineNumber && insertLine == 0) {
log.debug(“return true”)
return true;
} else if (!existingNumber && !existingLineNumber && insertLine == 0) {
log.debug(‘Setting Line Number (Scenario 5)’, nextLineNumber);
}
else {
nextLineNumber = lineCount;
log.debug(‘Setting Line Number (Default)’, nextLineNumber);
}
recCurrent.setCurrentSublistValue({
sublistId: ‘item’,
fieldId: ‘custcol_mhi_ibs_cust_line_num’,
value: nextLineNumber
});
}
return true;
}else{
return true;
}
}