function execute() {
var sqlQueryParameter = runtime.getCurrentScript().getParameter({name: 'custscript_sql_query_in_file_cabinet'});
var savedSearch = runtime.getCurrentScript().getParameter({name : 'custscript_saved_search'});
var format = runtime.getCurrentScript().getParameter({name : 'custscript_format_txt_or_csv'});
var folderToSave = runtime.getCurrentScript().getParameter({name: 'custscript_folder_to_save_the_results'});
if(format === 'CSV'){
var fileCreated = file.create({
name : 'task_data_export' + new Date() + '.csv',
fileType : file.Type.CSV,
//contents : content,
folder : folderToSave
});
var fileID = fileCreated.save();
log.debug('File Created', fileID);
}else if(format === 'TEXT'){
var fileCreated = file.create({
name : 'task_data_export' + new Date() + '.txt',
fileType : file.Type.PLAINTEXT,
//contents : content,
folder : folderToSave
});
var fileID = fileCreated.save();
log.debug('File Created', fileID);
}
if(sqlQueryParameter){
var sqlQuery = file.load({id : sqlQueryParameter}).getContents();
log.debug('format',format);
log.debug('sql',sqlQuery);
var results = query.runSuiteQL({
query : sqlQuery,
params : []
}).asMappedResults();
var fieldNames = Object.keys(results[0]);
log.debug('fieldnames',fieldNames);
var header = fieldNames.join(',');
log.debug('header',header);
var rows = results.map(function (task) {
return fieldNames.map(function (fieldName) {
return task[fieldName];
}).join(',');
});
log.debug('rows',rows);
var content = rows.join('\n');
log.debug('content',content);
var loadedFile = file.load({id : fileID});
loadedFile.contents = content;
var loadedFileID = loadedFile.save();
log.debug('filecreated with content',loadedFileID);
}else if(savedSearch){
var searchTask = task.create({
taskType : task.TaskType.SEARCH
});
searchTask.savedSearchId = savedSearch;
searchTask.fileId = fileID;
log.debug('searchtask',searchTask);
var searchTaskId = searchTask.submit();
}