How to stop user events to run on CSV Import in Netsuite?


Netsuite Context API
Netsuite Context API




Hi All,

Most of the time when we wrote user event script means it should work for all except delete, but in some scenario business requirement is to run user event script for all except csv import.

        For this type of requirement netsuite provide us Context APIS. Developer should use context apis to stop user event execution on some particular type.Use Context api and get Execution Context for getting context from where script is getting triggered.

      
function aftersubmit(type)
{
   var context = nlapiGetContext();   
   if( (context.getExecutionContext() == 'csvimport'))
   { 
       //add your logic here.
   }
}
 
 
Addition to this there are few other types:
  • userinterface - Client SuiteScript or user event triggers invoked from the UI
  • webservices - User event triggers invoked from webservice calls
  • csvimport - User event triggers invoked during CSV imports
  • portlet - Portlet script or user event triggers invoked via portlet scripts
  • scheduled - Scheduled script or user event triggers invoked via scheduled scripts
  • suitelet - Suitelet or user event triggers invoked via suitelets
  • custommassupdate - Mass update script triggers invoked via custom Mass Update scripts
  • workflow - Workflow action script triggers invoked via Workflow Action scripts
  • webstore - User event triggers invoked from the web store.
  • userevent - This context type represents cases in which records are generated in the backend.

    Please note here that user event script can not trigger user event scripts.
    Example : if you are creating any record inside user event script then other user event scripts on that record will not get triggered. If you need such functionality then use workflow and workflow action scripts or schedule script to overcome this limitation.


 
Thanks
Abhi

Comments