Sep 1, 2017
With SuiteScript you can add a powerful level of customization to your NetSuite business applications. Customizing your workflow processes, generating email notifications, and automatically creating or updating records are just some of the things SuiteScript offers you the ability to do.
There are currently three different types of SuiteScript that can be created:
- User Event: This script is executed upon pre-defined events on records such as after creation of a record or before an update of a record. User event scripts are useful for customizing the workflow and association between your NetSuite entry forms. These can also be used for doing additional processing before records are entered or for validating entries based on other data in the system.
- Scheduled: This script is executed on demand or via a user-configurable schedule. Scheduled scripts are useful for bulk processing of records.
- Dashboard: This script is used to create custom dashboard portlets. For example, you can use SuiteScripts to create a portlet and populate with company messages based on data within the system on the fly.
Some of the API exposed in Server SuiteScript is also available in Client SuiteScript. For example, you can use the nlapiLoadRecord or nlapiSaveRecord functions to manipulate record objects client-side.
In order to optimize Netsuite application and database servers, we have implemented the following two mechanisms to govern the usage of SuiteScript scripts:
- Time-Based Governance: a script is terminated during execution once a pre-defined time period has elapsed as follows:
- User Event and Dashboard scripts: 30 seconds
- Scheduled scripts: 15 minutes
- Usage-Based Governance: a script is terminated during execution if it exceeds a predefined amount of usage. Usage is metered depending on the type of script and type of call as follows:
- nlapiDeleteRecord, nlapiSubmitRecord: 20 units
- nlapiLoadRecord, nlapiCopyRecord, nlapiCreateRecord, nlapiTransformRecord, nlapiSearchRecord, nlapiRequestURL, nlapiMergeEmail, nlapiSendEmail: 10 units
- User Event and Dashboard scripts: 300 units
- Scheduled scripts: 3,000 units
Using SuiteScript, you must first create a script record and then define the deployments for that script record.