Mass Update Script to update Line Location in sales Order

REQUIREMENT

Update the line level location of a sales order using mass update scirpt.

SOLUTION

/**
 /**
 * @NApiVersion 2.1
 * @NScriptType MassUpdateScript
 */

 define(['N/record', 'N/search'],
 /**
* @param{record} record
* @param{search} search
*/
 (record, search) => {
     /**
      * Defines the Mass Update trigger point.
      * @param {Object} params
      * @param {string} params.type - Record type of the record being processed
      * @param {number} params.id - ID of the record being processed
      * @since 2016.1
      */
     const each = (params) => {
         try{
            log.debug("Internal Id",params.id)
             var objRecord = record.load({
                 type: 'salesorder',
                 id: params.id,
                 isDynamic: false,
             });
 
             let itemLineCount=objRecord.getLineCount({
                 sublistId: 'item'
             })
          
          for(let i=0;i<itemLineCount;i++){
           
                 objRecord.setSublistValue({
                     sublistId: 'item',
                     fieldId: 'location',
                     line: i,
                     value: '17'
                 });
                 objRecord.setSublistValue({
                    sublistId: 'item',
                    fieldId: 'noautoassignlocation',
                    line: i,
                    value: false
                });
              
            }
            
             objRecord.save();
  
         }
         catch(err){
             log.debug("error@",err)
         }

     }

  
     return {each}

 });

Leave a comment

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