Create task record in suitelet to pass the required parameters to map/reduce script,
var mapReduceTask = task.create({
taskType: task.TaskType.MAP_REDUCE,
scriptId: BULK_SCHEDULER_OBJECT.scriptId,
deploymentId: BULK_SCHEDULER_OBJECT.deploymentId,
params: {
“custscript_dynamicdate”: JSON.stringify(dynamicDate)
}
});
var taskID = mapReduceTask.submit();
After collecting all the information from map/reduce script send the parameters to suitelet script,
let requesturl = ExternalURL + ‘&apiType=bulkcreation&fundnumber=’ + fundNum + ‘&subsidiary=’ + subsidiarydivision + ‘¤cy=’ + currency + ‘&date=’ + date + ‘&dynamicdate=’ + dateSelected + ‘&user=’ + user;
let response = https.post({ url: requesturl, body: {}, headers: headerObj });
To pass the response back to map/reduce write the context response to return the status,
if (checkForParameter(recordID)) {
return context.response.write(JSON.stringify({
status: ‘SUCCESS’,
reason: ‘JOURNAL_CREATED’,
input_parameters: {
record_id: recordID
}
}));
} else {
return context.response.write(JSON.stringify({
status: ‘FAILURE’,
reason: ‘FAILED_TO_CREATE_JOURNAL’,
error_parameters: {
error: ERROR
}
}));
}