Auto delete real time request

Following is a map reduce script to delete the custom records that are older than 60 days.
The Deletion process will be done once a week and can be scheduled.

/**
 * @NApiVersion 2.1
 * @NScriptType MapReduceScript
 */
define(['N/currentRecord', 'N/record', 'N/search'],
    /**
 * @param{currentRecord} currentRecord
 * @param{record} record
 * @param{search} search
 */
    (currentRecord, record, search) => {
        
        function getInputData() {
                log.debug('IN', 'Getinput stage');


            var wip_report_requesSearchObj = search.create({
                type: "customrecord_aq_422_jj_wip_report_reques",
                filters:
                    [
                        ["created","onorbefore","monthbeforelasttodate"]
                    ],
                columns:
                    [
                        search.createColumn({
                            name: "scriptid",
                            sort: search.Sort.ASC,
                            label: "Script ID"
                        }),
                        search.createColumn({name: "internalid", label: "Internal ID"}),
                        
                        search.createColumn({name: "custrecord_aq_422_jj_date", label: "Date"}),
                        search.createColumn({name: "custrecord_aq_422_jj_file_id", label: "File Id"}),
                        search.createColumn({name: "custrecord_aq_1326_ic_wip_report_request", label: "IC Wip Report Request"}),
                        search.createColumn({name: "custrecord_aq_2046_cutt_off_date", label: "Cut-Off Date"}),
                        search.createColumn({name: "created", label: "Date Created"})
                    ]
            });
            return wip_report_requesSearchObj;


        }

       

        const map = (mapContext) => {
            log.debug({title:'In map',details: mapContext });
            let dataObj = JSON.parse(mapContext.value);
            var id=dataObj.values.internalid.value;
            log.debug('id',id);
            var wipReoprtRecord = record.delete({
                type: 'customrecord_aq_422_jj_wip_report_reques',
                id: id,
            });
            log.debug('Record deleted','Successfully')
        }

        
        const reduce = (reduceContext) => {

        }


       
        const summarize = (summaryContext) => {

        }

        return {getInputData, map, reduce, summarize}

    });

Leave a comment

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