Performance Optimization

Last updated

Maximum Number of Transactions to Process

Maximum number of transactions to be updated by one User Event script session in real time. If number of transactions exceeds this limit, transactions will be updated by background process.

This only applies on update of Invoices created from Sales Order (setting of header and line margin) and Project related Purchase Orders and Vendor Bills (setting of project related SO on the lines).

For example, if a Sales Order has 10 invoices linked, SMT must update all 10 invoices after it finishes margin calculation. This can cause longer processing times and negatively impact user experience. If you set this limit to a number less than 10, the update of the invoices will be deferred to a background processing which will improve the response time.

Minimum value: 0 - all transactions will be processed in background.

Maximum value: 20

This option only applies if "Always Defer Margin Calculation to Background Process" is not enabled or if the triggering transaction is not selected in "Transaction Types to Defer".

Item/Cost Limit

If anchor transaction has more item lines or SMT Purchase Costs child records than this limit, SMT calculation will be processed by scheduled script instead of User Event or Map/Reduce.

Having substantial number of item lines or SMT Purchase Costs records negatively impacts processing time. All NetSuite scripts must finish their execution within a certain time limit which depends on the script type. Processing these transactions with many lines with User Event or Map/Reduce script might result into timing out, therefore the processing will be deferred to a scheduled script (that is using the same logic) which has the greatest time limit of all script types.

Always Defer Margin Calculation to Background Process

Enable this option to process margin calculations in the background rather than attempting to recalculate in real time.

If this option is enabled, the margin calculation is always deferred and the “Transaction Types to Defer” and “Transaction Events to Defer” are ignored.

Transaction Types to Defer

Margin calculation will be deferred to background process if it was triggered by transactions selected here.

This selection must be used together with "Transaction Events to Defer". The transaction type selection will be ignored if no transaction event is selected.

This selection is ignored if "Always Defer Margin Calculation to Background Process" is enabled.

Transaction Events to Defer

Select Transaction Events that should be deferred for background margin calculation.

The selection must be used together with "Transaction Types to Defer", otherwise it will be ignored.

The event selection will be ignored if "Always Defer Margin Calculation to Background Process" is enabled.

Possible Options (multiple allowed):

  • Create/Approve - Defer margin calculation when a selected transaction type is created (as approved) or approved. This also covers edit events when the approval status is changed to Approved; dropship and special order events for Purchase Order; Ship event for Item Fulfillment.
  • Edit - Defer margin calculation when a selected transaction type is edited.
  • Delete/Unapprove - Defer margin calculation when a selected transaction type is deleted, unapproved (prior approval revered), voided.
var _glc =_glc || []; _glc.push('all_ag9zfmNsaWNrZGVza2NoYXRyDwsSBXVzZXJzGMTP7pYDDA'); var glcpath = (('https:' == document.location.protocol) ? 'https://my.clickdesk.com/clickdesk-ui/browser/' : 'http://my.clickdesk.com/clickdesk-ui/browser/'); var glcp = (('https:' == document.location.protocol) ? 'https://' : 'http://'); var glcspt = document.createElement('script'); glcspt.type = 'text/javascript'; glcspt.async = true; glcspt.src = glcpath + 'livechat-new.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(glcspt, s);