Scenario:
Need to create an IF record based on the line level ship date in the Sales Order. If committed lines have different ship dates, should be able to fulfil the lines with ship date today and before. Future line-level ship dates can be fulfilled on future dates only.
var IFRec = record.transform({
fromType: record.Type.SALES_ORDER,
fromId: SALESORDER_ID,
toType: record.Type.ITEM_FULFILLMENT, isDynamic: true
});
var itemArr=salesOrderItem(SALESORDER_ID);
// log.debug("item Array in IF Creation",itemArr);
var ITEM_LINECOUNT = IFRec.getLineCount({
sublistId: 'item'
});
for(var i=0;i<ITEM_LINECOUNT;i++){
var flag=0;
IFRec.selectLine({sublistId: 'item', line: i});
var item = IFRec.getCurrentSublistValue({
sublistId: 'item',
fieldId: 'item'
});
//log.debug("item",item);
var lineId=IFRec.getCurrentSublistValue({
sublistId: 'item',
fieldId: 'orderline'
});
// log.debug("orderline",lineId)
for(var j=0;j<itemArr.length;j++){
// log.debug("itemarray j item",itemArr[j].item +" ff"+ j)
// log.debug("itemarray j line",itemArr[j].lineID +" ff"+ j)
if(item===itemArr[j].item && lineId===itemArr[j].lineID){
flag=flag+1;
}
}
if(flag <= 0){
IFRec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
value: false,
});
IFRec.commitLine({
sublistId: 'item'
});
}
}
IFNum = IFRec.save()
log.debug('IFNum', IFNum);