Single Saved search for fetching multiple SKUs

Saved search for fetching the items based on the SKUs
/**
 * @description Saved search for fetching the items based on the SKUs
 * @param itemArray {Array}- Array of items in each Wineye order
 * @returns {Array}
 */
function fetchItemID(itemArray) {
    var stringArr = '';
    var filter_name = 'itemid';
    for (var i = 0; itemArray.length > i; i += 1) {
        stringArr += i > 0 ? ", '" + itemArray[i] + "', 'true'" : "'" + itemArray[i] + "', 'true'";
    }
    if (itemArray.length > 0) {
        var itemSearchObj = search.create({
            type: 'item',
            filters: [
                ["formulatext: DECODE({" + filter_name + "}," + stringArr + ")", "is", 'true'],
                "AND",
                ["isinactive", "is", "F"],
            ],
            columns: [
                search.createColumn({name: "internalid", label: "Internal ID"}),
                search.createColumn({
                    name: "itemid",
                    sort: search.Sort.ASC,
                    label: "Name",
                }),
                search.createColumn({name: "displayname", label: "Display Name"}),
            ],
        });
        var result = itemSearchObj.run();
        var itemIDObj = {};
        var resultCount = itemSearchObj.runPaged().count;
        var itemArr = [];
        if (resultCount > 0) {
            itemSearchObj.run().each(function (result) {
                var internalID = result.getValue({name: "internalid"});
                var ItemSku = result.getValue({name: "itemid"});
                itemIDObj = {
                    "internalID": internalID,
                    "ItemSku": ItemSku
                }
                itemArr.push(itemIDObj);
                return true;
            });
        } else {
            itemIDObj = {
                "internalID": " ",
                "ItemSku": " "
            }
            itemArr.push(itemIDObj);
        }
        return itemArr;
    }
}

Leave a comment

Your email address will not be published. Required fields are marked *