User event script is used to store the PO details in file cabinet and send it to SFTP server in Excel format.
/**
 * @NApiVersion 2.1
 * @NScriptType UserEventScript
 */
define(['N/file', 'N/record', 'N/search', 'N/sftp', 'N/encode'],
    /**
 * @param{file} file
 * @param{record} record
 * @param{search} search
 * @param{sftp} sftp
 */
    (file, record, search, sftp,encode) => {
        function getOrderData(salesOrderId) {
            try{
                var orderDetails = '';
                log.debug('salesOrderId',salesOrderId)
                var salesorderSearchObj = search.create({
                    type: "salesorder",
                    filters:
                        [
                            ["type","anyof","SalesOrd"],
                            "AND",
                            ["item.isdropshipitem","is","T"],
                            "AND",
                            ["internalid","anyof",salesOrderId]
                        ],
                    columns:
                        [
                            search.createColumn({name: "internalid", label: "Internal ID"}),
                            search.createColumn({name: "otherrefnum", label: "PO/Cheque Number"}),
                            search.createColumn({name: "datecreated", label: "Date Created"}),
                            search.createColumn({name: "entity", label: "Name"}),
                            search.createColumn({name: "shipaddress1", label: "Shipping Address 1"}),
                            search.createColumn({name: "shipaddress2", label: "Shipping Address 2"}),
                            search.createColumn({name: "shipaddress3", label: "Shipping Address 3"}),
                            search.createColumn({name: "shipcity", label: "Shipping City"}),
                            search.createColumn({name: "shipcountry", label: "Shipping Country"}),
                            search.createColumn({name: "shipzip", label: "Shipping Zip"}),
                            search.createColumn({name: "shipphone", label: "Shipping Phone"}),
                            search.createColumn({name: "email", label: "Email"}),
                            search.createColumn({name: "memomain", label: "Memo"}),
                            search.createColumn({name: "quantity", label: "Quantity"}),
                            search.createColumn({
                                name: "mpn",
                                join: "item",
                                label: "MPN"
                            }),
                            //  search.createColumn({name: "paymentoption", label: "Payment Option"})
                        ]
                });
                var searchResultCount = salesorderSearchObj.runPaged().count;
                log.debug("salesorderSearchObj result count",searchResultCount);
                return salesorderSearchObj;
            }catch(error){
                log.error("Error @getOrderData",error);
                return '';
            }
        }
        function createCSVFileRequest(poid,results){
            try{
                // var myContent;
                var columns = results.columns;
                var content = new Array();
                var headers = new Array();
                var temp = new Array();
                var x = 0
                results.run().each(function (result) {
                    content[x] = "";
                    var internalid= result.getValue(result.columns[0]);
                    var otherrefnum= result.getValue(result.columns[1]);
                    var datecreated= result.getValue(result.columns[2]);
                    var entity= result.getText(result.columns[3]);
                    var shipaddress1= result.getValue(result.columns[4]);
                    var shipaddress2= result.getValue(result.columns[5]);
                    var shipaddress3= result.getValue(result.columns[6]);
                    var shipcity= result.getValue(result.columns[7]);
                    var shipcountry= result.getText(result.columns[8]);
                    var shipzip= result.getValue(result.columns[9]);
                    var shipphone= result.getValue(result.columns[10]);
                    var email= result.getValue(result.columns[11]);
                    var memo= result.getValue(result.columns[12]);
                    var quantity= result.getValue(result.columns[13]);
                    var mpn= result.getValue(result.columns[14]);
                    temp.push('"'+internalid+'"')
                    temp.push('"'+otherrefnum+'"');
                    temp.push('"'+datecreated+'"');
                    temp.push('"'+entity+'"');
                    temp.push('"'+shipaddress1+'"');
                    temp.push('"'+shipaddress2+'"');
                    temp.push('"'+shipaddress3+'"');
                    temp.push('"'+shipcity+'"');
                    temp.push('"'+shipcountry+'"');
                    temp.push('"'+shipzip+'"');
                    temp.push('"'+shipphone+'"');
                    temp.push('"'+email+'"');
                    temp.push('"'+memo+'"');
                    temp.push('"'+quantity+'"');
                    temp.push('"'+mpn+'"');
                    content[x] += temp;
                    log.debug("temp", temp);
                    log.debug("content[x]", content[x]);
                    x++;
                    log.debug("x",x);
                    return true;
                });
                var contents = '';
                for (var z = 0; z < content.length; z++) {
                    contents += content[z].toString() + '\n';
                }
                log.debug("contents",contents);
                let fileObj = file.create({
                    name: 'Maze-stock of ' + poid+'.csv',
                    fileType: file.Type.CSV,
                    contents: contents,
                    folder: '1886'//Netsuite-Maze Dropship Orders
                });
                let fileId = fileObj.save();
                log.debug('fileId',fileId)
                return {fileId: fileId,fileObj: fileObj};
                //}
            }catch(error){
                log.error("Error @createCSVFileRequest",error);
            }
        }
        function uploadFileToServer(fileObj){
            try{
                const myPwdGuid = "e21d84c31ebd4bb897a5b2930c90136a";
                const myHostKey = "AAAAB3NzaC1yc2EAAAADAQABAAABAQDW5s75gHDWU9IGQTKpBe3XTEh6ISYz/8cRlPpoIR+3J7BoMMTInx9v2MAbERMV+gWSW8qWAQOoC3VnF3wnNQXvsJgeINsvnRjG50FpAbzq9FAUzPxyxNBgLGQuBs1YCb12u+vI77FpnXeI1RPvuz7cHq1MGoIz5YUYT9EIZBmkrVsrKL3sEW6sacNdjW7w+O/OpzBQpM87A+K6hgGcV5vJCWoQO4ghacO7LolEebDYMv3PnWK6bVgMcGYFCdN2haK0/8TwRl242eLMv59R1AWUmB7qSW4b/OlIv2UeTRsOQhZY4lNcz7KvfgxKtX+xd6IPufkRf+OXxMmpj8IpkebH";
                // Establish a connection to a remote SFTP server
                let connection = sftp.createConnection({
                    username: 'MazeUser',
                    passwordGuid: myPwdGuid,
                    url: 's-7e1df0f0dc9148c9a.server.transfer.eu-west-2.amazonaws.com',
                    hostKey: myHostKey,
                    directory:'/maze-hl-bucket/Order Waiting to Import'
                });
                log.debug('connection',connection)
                // Upload the file to the remote server
                try{
                    fileObj && connection.upload({
                        // directory: '/maze-hl-bucket/Order Waiting to Import',
                        // filename: 'Maze-Stock of ' + internalID + '.csv',
                        file: fileObj,
                        replaceExisting: true
                    });
                }catch(e){
                    log.debug("error @connection upload",e);
                }
            }catch(error){
                log.error("Error @UploadFileToServer",error);
            }
        }
        /**
         * Defines the function definition that is executed before record is loaded.
         * @param {Object} scriptContext
         * @param {Record} scriptContext.newRecord - New record
         * @param {string} scriptContext.type - Trigger type; use values from the context.UserEventType enum
         * @param {Form} scriptContext.form - Current form
         * @param {ServletRequest} scriptContext.request - HTTP request information sent from the browser for a client action only.
         * @since 2015.2
         */
        const beforeLoad = (scriptContext) => {
        }
        /**
         * Defines the function definition that is executed before record is submitted.
         * @param {Object} scriptContext
         * @param {Record} scriptContext.newRecord - New record
         * @param {Record} scriptContext.oldRecord - Old record
         * @param {string} scriptContext.type - Trigger type; use values from the context.UserEventType enum
         * @since 2015.2
         */
        const beforeSubmit = (scriptContext) => {
        }
        /**
         * Defines the function definition that is executed after record is submitted.
         * @param {Object} scriptContext
         * @param {Record} scriptContext.newRecord - New record
         * @param {Record} scriptContext.oldRecord - Old record
         * @param {string} scriptContext.type - Trigger type; use values from the context.UserEventType enum
         * @since 2015.2
         */
        const afterSubmit = (scriptContext) => {
           log.debug("scriptContext.type", scriptContext.type);
            var salesOrderId = scriptContext.newRecord.getValue('createdfrom');
            log.debug("inside afterSubmit dropship", salesOrderId);
            const poRecord = scriptContext.newRecord;
            const poid = poRecord.id;
            let vendor = poRecord.getValue({
                fieldId: 'entity'
            });
            log.debug("vendor", vendor);
            let soId = poRecord.getValue({
                fieldId: 'createdfrom'
            });
            log.debug('soId',soId);
            // let soNum = poRecord.getText({
            //     fieldId: 'createdfrom'
            // });
            // log.debug('soNum',soNum);
            // let soArr=soNum.split('#')
            // var soType=soArr[0].toString().trim();
            // log.debug('soType',soType);
           // var field= search.lookupFields({type:'purchaseorder',id:soId,columns:['createdfrom.type']});
           // log.debug('field',field);
             if (/*((scriptContext.type == 'dropship' ||(scriptContext.type == 'create' && soId)) && vendor == '653')*/ /* Vendor: VEN_0187 Maze Rattan Limited *//*|| */((scriptContext.type == 'dropship' ||(scriptContext.type == 'create' && soId)) && vendor == '834')) {
           // if (scriptContext.type == 'edit' && vendor == '834') {
                let orderDetails = getOrderData(salesOrderId);
                log.debug("orderDetails", orderDetails);
                if (orderDetails) {
                    let file = createCSVFileRequest(poid, orderDetails);
                    log.debug("File", file);
                    // file &&  uploadFileToServer(file.fileObj);
                }
            }
            // Pacific Lifestyle Integration Part
            if ((scriptContext.type == 'dropship' ||(scriptContext.type == 'create' && soId)) && vendor == '834') {//65249  65249
             //   if (((scriptContext.type == 'edit'||(scriptContext.type == 'create' && soId)) && vendor == '834')) {
                log.debug("inside condition", true);
                let pacificOrderDetails = getPacificOrderData(poid);
                log.debug("orderDetails", pacificOrderDetails);
                if (pacificOrderDetails) {
                    let pacificFile = createPacificCSVFileRequest(poid,pacificOrderDetails);
                    log.debug("File", pacificFile);
                    pacificFile &&  pacificuploadFileToServer(pacificFile.fileObj);
                }
            }
        }
        function getPacificOrderData(poid) {
            try{
                var orderDetails = '';
                var purchaseorderSearchObj = search.create({
                    type: "purchaseorder",
                    filters:
                        [
                            ["type","anyof","PurchOrd"],
                            "AND",
                            ["item.isdropshipitem","is","T"],
                            "AND",
                            ["internalid","anyof",poid]
                        ],
                    columns:
                        [
                            search.createColumn({name: "tranid", label: "Document Number"}),
                            search.createColumn({
                                name: "formulatext",
                                formula: "'HARB004'",
                                label: "Customer Account No"
                            }),
                            search.createColumn({name: "item", label: "Item"}),
                            search.createColumn({name: "quantity", label: "Quantity"}),
                            search.createColumn({
                                name: "altname",
                                join: "customer",
                                label: "Name"
                            }),
                            search.createColumn({name: "shipaddress1", label: "Shipping Address 1"}),
                            search.createColumn({name: "shipaddress2", label: "Shipping Address 2"}),
                            search.createColumn({name: "shipaddress3", label: "Shipping Address 3"}),
                            search.createColumn({name: "shipcity", label: "Shipping City"}),
                            search.createColumn({name: "shipcountry", label: "Shipping Country"}),
                            search.createColumn({name: "shipzip", label: "Shipping Zip"}),
                            search.createColumn({name: "shipphone", label: "Shipping Phone"}),
                            search.createColumn({
                                name: "formulatext",
                                formula: "TO_CHAR({trandate}, 'DD/MM/YYYY')",
                                label: "Formula (Text)"
                            }),
                            search.createColumn({
                                name: "formulatext",
                                formula: "CASE TO_CHAR({trandate} + 3, 'D') WHEN '1' THEN TO_CHAR({trandate} + 5, 'DD/MM/YYYY') WHEN '7' THEN TO_CHAR({trandate} + 5, 'DD/MM/YYYY') ELSE TO_CHAR({trandate} + 3, 'DD/MM/YYYY') END",
                                label: "Formula (Text)"
                            }),
                            search.createColumn({
                                name: "otherrefnum",
                                join: "createdFrom",
                                label: "PO/Cheque Number"
                            })
                        ]
                });
                var searchResultCount = purchaseorderSearchObj.runPaged().count;
                log.debug("purchaseorderSearchObj result count",searchResultCount);
                return purchaseorderSearchObj;
            }
            catch(error){
                log.error("Error @getOrderData",error);
                return '';
            }
        }
        function getPacificOrderData(poid) {
            try{
                var orderDetails = '';
                var purchaseorderSearchObj = search.create({
                    type: "purchaseorder",
                    filters:
                        [
                            ["type","anyof","PurchOrd"],
                            "AND",
                            ["item.isdropshipitem","is","T"],
                            "AND",
                            ["internalid","anyof",poid]
                        ],
                    columns:
                        [
                            search.createColumn({name: "tranid", label: "Document Number"}),
                            search.createColumn({
                                name: "formulatext1",
                                formula: "'HARB004'",
                                label: "Customer Account No"
                            }),
                            search.createColumn({name: "item", label: "Item"}),
                            search.createColumn({name: "quantity", label: "Quantity"}),
                            search.createColumn({
                                name: "altname",
                                join: "customer",
                                label: "Name"
                            }),
                            search.createColumn({name: "shipaddress1", label: "Shipping Address 1"}),
                            search.createColumn({name: "shipaddress2", label: "Shipping Address 2"}),
                            search.createColumn({name: "shipaddress3", label: "Shipping Address 3"}),
                            search.createColumn({name: "shipcity", label: "Shipping City"}),
                            search.createColumn({name: "shipcountry", label: "Shipping Country"}),
                            search.createColumn({name: "shipzip", label: "Shipping Zip"}),
                            search.createColumn({name: "shipphone", label: "Shipping Phone"}),
                            search.createColumn({
                                name: "formulatext2",
                                formula: "TO_CHAR({trandate}, 'DD/MM/YYYY')",
                                label: "Formula (Text)"
                            }),
                            search.createColumn({
                                name: "formulatext3",
                                formula: "CASE TO_CHAR({trandate} + 3, 'D') WHEN '1' THEN TO_CHAR({trandate} + 5, 'DD/MM/YYYY') WHEN '7' THEN TO_CHAR({trandate} + 5, 'DD/MM/YYYY') ELSE TO_CHAR({trandate} + 3, 'DD/MM/YYYY') END",
                                label: "Formula (Text)"
                            }),
                            search.createColumn({
                                name: "otherrefnum",
                                join: "createdFrom",
                                label: "PO/Cheque Number"
                            })
                        ]
                });
                var searchResultCount = purchaseorderSearchObj.runPaged().count;
                log.debug("purchaseorderSearchObj result count",searchResultCount);
                var poArray = [];
                purchaseorderSearchObj.run().each(function (result) {
                    var poObj = {};
                    // poObj.itemname = escapeXml(result.getText({
                    // {name: "tranid", label: "Document Number"}
                    // }));
                    poObj.internalId = result.getValue({
                        name: "tranid",
                        label: "Document Number"
                    });
                    poObj.accountNo = result.getValue({
                        name: "formulatext1",
                        formula: "'HARB004'",
                        label: "Customer Account No"
                    });
                    poObj.item = escapeXml(result.getText({
                        name: "item",
                        label: "Item"
                    }));
                    poObj.quantity = result.getValue({
                        name: "quantity",
                        label: "Quantity"
                    });
                    poObj.entity = result.getValue({
                        name: "altname",
                        join: "customer",
                        label: "Name"
                    });
                    poObj.shipaddr1 = result.getValue({
                        name: "shipaddress1",
                        label: "Shipping Address 1"
                    });
                    poObj.shipaddr2 = result.getValue({
                        name: "shipaddress2",
                        label: "Shipping Address 2"
                    });
                    poObj.shipaddr3 = result.getValue({
                        name: "shipaddress3",
                        label: "Shipping Address 3"
                    });
                    poObj.shipCity = result.getValue({
                        name: "shipcity",
                        label: "Shipping City"
                    });
                    poObj.shipCountry = result.getText({
                        name: "shipcountry",
                        label: "Shipping Country"
                    });
                    poObj.zip = result.getValue({
                        name: "shipzip",
                        label: "Shipping Zip"
                    });
                    poObj.phone = result.getValue({
                        name: "shipphone",
                        label: "Shipping Phone"
                    });
                    poObj.trandate = result.getValue({
                        name: "formulatext2",
                        formula: "TO_CHAR({trandate}, 'DD/MM/YYYY')",
                        label: "Formula (Text)"
                    });
                    poObj.promiseDate = result.getValue({
                        name: "formulatext3",
                        formula: "CASE TO_CHAR({trandate} + 3, 'D') WHEN '1' THEN TO_CHAR({trandate} + 5, 'DD/MM/YYYY') WHEN '7' THEN TO_CHAR({trandate} + 5, 'DD/MM/YYYY') ELSE TO_CHAR({trandate} + 3, 'DD/MM/YYYY') END",
                        label: "Formula (Text)"
                    });
                    poObj.orderNo = result.getValue({
                        name: "otherrefnum",
                        join: "createdFrom",
                        label: "PO/Cheque Number"
                    });
                    poArray.push(poObj);
                    return true;
                });
                return poArray;
            }
            catch(error){
                log.error("Error @getOrderData",error);
                return '';
            }
        }
        function escapeXml(param) {
            try {
                return param.replace(/[<>&'"]/g, function (c) {
                    switch (c) {
                        case '<':
                            return '<';
                        case '>':
                            return '>';
                        case '&':
                            return '&';
                        case '\'':
                            return ''';
                        case '"':
                            return '"';
                    }
                });
            } catch (e) {
                log.debug("Error@escapeXml", e);
            }
        }
        function createPacificCSVFileRequest(poid,results){
            try {
                var excelArr = []
                var XML = '';
                XML = XML + '<?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">'
                XML = XML + '<Styles><Style ss:ID="Default" ss:Name="Normal"><Alignment ss:Vertical="Bottom"/><Borders/><Font ss:FontName="Arial" x:CharSet="204" ss:Color="#000000"/><Interior/><NumberFormat/><Protection/></Style><Style ss:ID="s62"><Alignment ss:Horizontal="Left" ss:Vertical="Top"/><Borders/><Interior/></Style><Style ss:ID="s72"><Alignment ss:Horizontal="Left" ss:Vertical="Top"/><Borders/><Font ss:FontName="Arial" x:Family="Roman" ss:Size="10" ss:Color="#000000"/><Interior/></Style><Style ss:ID="s73"><Alignment ss:Horizontal="Right" ss:Vertical="Top"/><Borders/><Font ss:FontName="Arial" x:Family="Roman" ss:Size="10" ss:Color="#000000"/><Interior/></Style></Styles>';
                XML = XML + '<Worksheet ss:Name="Purchase Order"> ' +
                    '<Table ss:ExpandedColumnCount="100" ss:ExpandedRowCount="7000" x:FullColumns="1" x:FullRows="1" ss:StyleID="s62" ss:DefaultColumnWidth="40.5"> <Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="58.5"/> ' +
                    '<Row ss:AutoFitHeight="0" ss:Height="13"> ' +
                    '<Cell ss:Index="1"  ss:StyleID="s72"><Data ss:Type="String">PO Number</Data></Cell> ' +
                    '<Cell ss:Index="2"  ss:StyleID="s72"><Data ss:Type="String">Customer Acc No</Data></Cell> ' +
                    '<Cell ss:Index="3"  ss:StyleID="s72"><Data ss:Type="String">Part Number</Data></Cell> ' +
                    '<Cell ss:Index="4"  ss:StyleID="s72"><Data ss:Type="String">Quantity</Data></Cell> ' +
                    '<Cell ss:Index="5"  ss:StyleID="s72"><Data ss:Type="String">Customer Name</Data></Cell> ' +
                    '<Cell ss:Index="6"  ss:StyleID="s72"><Data ss:Type="String">Delivery Address 1</Data></Cell> ' +
                    '<Cell ss:Index="7"  ss:StyleID="s72"><Data ss:Type="String">Delivery Address 2</Data></Cell> ' +
                    '<Cell ss:Index="8"  ss:StyleID="s72"><Data ss:Type="String">Delivery Address 2</Data></Cell> ' +
                    '<Cell ss:Index="9"  ss:StyleID="s72"><Data ss:Type="String">Delivery Town</Data></Cell> ' +
                    '<Cell ss:Index="10"  ss:StyleID="s72"><Data ss:Type="String">Delivery Country</Data></Cell> ' +
                    '<Cell ss:Index="11"  ss:StyleID="s72"><Data ss:Type="String">Delivery Post Code</Data></Cell> ' +
                    '<Cell ss:Index="12"  ss:StyleID="s72"><Data ss:Type="String">Telephone Number</Data></Cell> ' +
                    '<Cell ss:Index="13"  ss:StyleID="s72"><Data ss:Type="String">Order Date</Data></Cell> ' +
                    '<Cell ss:Index="14"  ss:StyleID="s72"><Data ss:Type="String">Promised Date</Data></Cell> ' +
                    '<Cell ss:Index="15"  ss:StyleID="s72"><Data ss:Type="String">Order Number</Data></Cell> ' +
                    '</Row> ';
                for (var itemRow = 0; itemRow < results.length; itemRow++) {
                    XML += '<Row ss:AutoFitHeight="0" ss:Height="13">'
                        + '<Cell ss:Index="1"  ss:StyleID="s72"><Data ss:Type="String">' + results[itemRow].internalId + '</Data></Cell>'
                        + '<Cell ss:Index="2"  ss:StyleID="s72"><Data ss:Type="String">' + results[itemRow].accountNo + '</Data></Cell>'
                        + '<Cell ss:Index="3"  ss:StyleID="s72"><Data ss:Type="String">' + results[itemRow].item + '</Data></Cell>'
                        + '<Cell ss:Index="4"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].quantity + '</Data></Cell>'
                        + '<Cell ss:Index="5"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].entity + '</Data></Cell>'
                        + '<Cell ss:Index="6"  ss:StyleID="s72"><Data ss:Type="String">' + results[itemRow].shipaddr1 + '</Data></Cell>'
                    //  if(itemRow == 0){
                    XML += '<Cell ss:Index="7"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].shipaddr2 + '</Data></Cell>'
                        + '<Cell ss:Index="8"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].shipaddr3 + '</Data></Cell>'
                        + '<Cell ss:Index="9"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].shipCity + '</Data></Cell>'
                        + '<Cell ss:Index="10"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].shipCountry + '</Data></Cell>'
                        + '<Cell ss:Index="11"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].zip + '</Data></Cell>'
                        + '<Cell ss:Index="12"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].phone + '</Data></Cell>'
                        + '<Cell ss:Index="13"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].trandate + '</Data></Cell>'
                        + '<Cell ss:Index="14"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].promiseDate + '</Data></Cell>'
                        + '<Cell ss:Index="15"  ss:StyleID="s73"><Data ss:Type="String">' + results[itemRow].orderNo + '</Data></Cell>'
                    //    }
                    XML += '</Row>';
                }
                XML = XML + '</Table> </Worksheet></Workbook>';
                var strXmlEncoded = encode.convert({
                    string: XML,
                    inputEncoding: encode.Encoding.UTF_8,
                    outputEncoding: encode.Encoding.BASE_64
                });
                var objXlsFile = file.create({
                    name: 'Pacific-Order of ' + poid+'.xlsx',
                    fileType: file.Type.EXCEL,
                    folder:'7459',
                    contents: strXmlEncoded
                });
                log.debug('objXlsFile', objXlsFile);
                let fileId = objXlsFile.save();
                log.debug('fileId',fileId)
                return {fileId: fileId,objXlsFile: objXlsFile};
                // return objXlsFile;
            } catch (e) {
                log.debug({
                    title: e.name,
                    details: e
                });
            }
        }
        function pacificuploadFileToServer(fileObj){
            try{
                const myPwdGuid = "e21d84c31ebd4bb897a5b2930c90136a";
                const myHostKey = "AAAAB3NzaC1yc2EAAAADAQABAAABAQDW5s75gHDWU9IGQTKpBe3XTEh6ISYz/8cRlPpoIR+3J7BoMMTInx9v2MAbERMV+gWSW8qWAQOoC3VnF3wnNQXvsJgeINsvnRjG50FpAbzq9FAUzPxyxNBgLGQuBs1YCb12u+vI77FpnXeI1RPvuz7cHq1MGoIz5YUYT9EIZBmkrVsrKL3sEW6sacNdjW7w+O/OpzBQpM87A+K6hgGcV5vJCWoQO4ghacO7LolEebDYMv3PnWK6bVgMcGYFCdN2haK0/8TwRl242eLMv59R1AWUmB7qSW4b/OlIv2UeTRsOQhZY4lNcz7KvfgxKtX+xd6IPufkRf+OXxMmpj8IpkebH";
                log.debug('myPwdGuid',myPwdGuid)
                // Establish a connection to a remote SFTP server
                let connection = sftp.createConnection({
                    username: 'MazeUser',
                    passwordGuid: myPwdGuid,
                    url: 's-7e1df0f0dc9148c9a.server.transfer.eu-west-2.amazonaws.com',
                    hostKey: myHostKey,
                    directory:'/maze-hl-bucket/Pacific-Order Waiting to Export'
                });
                log.debug('connection',connection)
                // Upload the file to the remote server
                try{
                    fileObj && connection.upload({
                        // directory: '/maze-hl-bucket/Order Waiting to Import',
                        // filename: 'Maze-Stock of ' + internalID + '.csv',
                        file: fileObj,
                        replaceExisting: true
                    });
                }catch(e){
                    log.debug("error @connection upload",e);
                }
            }catch(error){
                log.error("Error @UploadFileToServer",error);
            }
        }
        return {beforeLoad, beforeSubmit, afterSubmit}
    });