Change status of a record using Suitelet script

The suitelet script to set the status of a record using the POST action.

/**
 * @NApiVersion 2.1
 * @NScriptType Suitelet
 */
define(['N/record'],
    /**
 * @param{record} record
 */
    (record) => {
        /**
         * Defines the Suitelet script trigger point.
         * @param {Object} scriptContext
         * @param {ServerRequest} scriptContext.request - Incoming request
         * @param {ServerResponse} scriptContext.response - Suitelet response
         * @since 2015.2
         */
        const onRequest = (context) => {
            try {
                if (context.request.method == 'POST') {
                    if (context.request.parameters.apitype == 'set_status') {
                        try {

                            let pendingDonationRecordId = context.request.parameters.pendingdonation;
                            let linkedIF = context.request.parameters.custbody_jcs_linkedif;
                            let status = context.request.parameters.transtatus;
                            let currentUser = context.request.parameters.currentuser;

                            if (linkedIF && status) {
                                record.submitFields({
                                    type: 'customsale_jcs_pendingdonation',
                                    id: pendingDonationRecordId,
                                    values: {
                                        custbody_jcs_linkedif: linkedIF,
                                        transtatus: status,
                                        custbody_jcs_current_user: currentUser
                                    }
                                });
                            }
                            return context.response.write(JSON.stringify({
                                status: 'SUCCESS',
                                reason: 'STATUS_UPDATED',
                            }));
                        } catch (er) {
                            log.debug('error@response', er);
                            return context.response.write('CANNOT_CHANGE_STATUS'), true;
                        }
                    }
                }
            } catch (er) {
                log.debug('error@onRequest', er);
            }
        }
        return { onRequest }
    });

Leave a comment

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