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}
});