Create a Library Function

/**

 * @NApiVersion 2.x

 * @NScriptType Suitelet

 * @NModuleScope Public

 */

define([

    ‘../Library.FHL.2.0.js’

,   ‘N/record’

,   ‘N/search’

],

function(Library, Record, Search)

{

    /**

     * Initialise function for suitelet

     *

     * @param {Object} context

     * @return {Any} data

     */

    function getCommissionInformation(context)

    {

        var request = null;

        var data = “”;

        try

        {

            request = context.request;

            if(request.method == “GET”)

            {

                switch(request.parameters.requestType)

                {

                    case ‘getSupportPrice’:

                        data = getSupportPrice(request);

                        break;

                }

            }

            data = JSON.stringify(data);

        }

        catch(e)

        {

            Library.errorHandler(‘getCommissionInformation’, e);

        }

        return context.response.write(data);

    }

    /**

     * Get the valid support price for a customer, item and date range

     *

     * @param {Object} request

     * @return {Object} record

     */

    function getSupportPrice(request)

    {

        var customer = null;

        var item = null;

        var date = null;

        var filters = [];

        var columns = [];

        var search = null;

        var results = null;

        var result = null;

        var record = {};

        try

        {

            customer = request.parameters.customer;

            item = request.parameters.item;

            date = request.parameters.date;

            filters = [ Search.createFilter({name: “custrecord_customer”, operator: “anyof”, values: customer}),

                        Search.createFilter({name: “custrecord_item”, operator: “anyof”, values: item}),

                        Search.createFilter({name: “custrecord_startdate”, operator: “onorbefore”, values: date}),

                        Search.createFilter({name: “custrecord_enddate”, operator: “onorafter”, values: date})];

            columns = [ Search.createColumn({name: “internalid”}),

                        Search.createColumn({name: “custrecord_rebate”})];

            search = Search.create({type: ‘customrecord_supplierpricesupport’, filters: filters, columns: columns});

            search = search.run();

            results = search.getRange({start: 0, end: 1});

            if(results && results.length > 0)

            {

                result = results[0];

                record = {

                    id: result.getValue({name: “internalid”}),

                    rebate: result.getValue({name: “custrecord_rebate”}),

                };

            }

            else

            {

                record = {id: , rebate: };

            }

        }

        catch (e)

        {

            Library.errorHandler(‘getSupportPrice’, e);

        }

        return record;

    }

    return {

        onRequest: getCommissionInformation

    };

});

Leave a comment

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