Let the variable requestBody contains the payload.
Sample payload.
{
"purchaseOrderPONumber": "65416981",
"item": {
"items": [
{
"itemId": "114579",//item internal id
"line":"1",
"quantity": "99",
"rate": "1.00"
}
]
}
}
Suitescript
let itemArray = requestBody.item.items;
let objRecord = record.transform({
fromType: record.Type.PURCHASE_ORDER,
fromId: requestBody?.purchaseOrderPONumber,
toType: record.Type.ITEM_RECEIPT,
isDynamic: true,
});
let lineCount = objRecord.getLineCount({ sublistId: 'item' });
for (let i = 0; i < lineCount; i++) {
objRecord.selectLine({ sublistId: 'item', line: i });
let orderLine = objRecord.getCurrentSublistValue({
sublistId: "item",
fieldId: "orderline",
});
let itemObj = itemArray.find(el => el.line === orderLine);
if (itemObj) {
objRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
value: true
});
objRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'item',
value: itemObj['itemId']
});
objRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: itemObj['quantity']
});
objRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'rate',
value: itemObj['rate']
});
} else {
objRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
value: false
});
}
objRecord.commitLine({
sublistId: 'item'
});
}
irRecordId = objRecord.save();