M/R for saving the Records

This is a load and save the records associated with the saved search used in the script. This can be useful if we need to trigger a UE for a large number of records

/**
 *@NApiVersion 2.x
 *@NScriptType MapReduceScript
 */
define(["N/search", "N/record"], function (search, record) {

    const COMMITTED_SO_SEARCH = "customsearch_temp_prescription_items";
    function getInputData() {
        return search.load({
            id: COMMITTED_SO_SEARCH
        })
    }

    function map(context) {

        var presValues = JSON.parse(context.value);
        var presId = presValues.id;
        log.debug("presId: presValues", presId + " : " + presValues)
        var CR_PRESCRIPTIONITEMS = 'customrecord_vv_prescription_item';
        try {
            var soRec = record.load({
                type: CR_PRESCRIPTIONITEMS,
                id: presId
            });
            soRec.save();
        } catch (e) {
            log.debug("Error save trigger " + presId, e.message);

            var soRec = record.load({
                type: CR_PRESCRIPTIONITEMS,
                id: presId
            });
            soRec.save();
        }

    }


    return {
        getInputData: getInputData,
        map: map
    }
});

Leave a comment

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