Quality Management Bundle Integration

NetSuite 2020.2 enables you to use SuiteScript to interact with the Quality Management SuiteApp. These integration types can create and manage inspections on the Quality tablet to be executed in your organization.

Prior integration techniques used RESTlets to enable external applications to perform these actions, however this technique is difficult to develop and maintain. The new SuiteScript based approach enables you to leverage User Events, Suitelets, or Scheduled scripts to interact with the Quality Management SuiteApp. These methods do not require the additional overhead of authentication or concerns about bundle dependencies when the integration is delivered through the bundle.

Integration Module

To avoid server integration issues and bundle entanglement, an integration module that wraps relevant methods and exposes them for SuiteScript usage is available. The integration module file name is qm_integration_module.js and is delivered as part of the SuiteApp to maintain backward compatibility in future releases.

Usage Overview

The Quality Management Integration Module requires the following steps within the SuiteScript being developed:

  1. Confirm the presence of the Quality Management SuiteApp by attempting to locate the module.

  2. Dynamically load the module to expose its methods for interacting with Quality Management.

  3. Implement the customer-specific logic for managing unique inspections and their triggers.

  4. Use the appropriate module methods to review Quality Context records that can be used to let the customer control when the custom trigger is to fire.

  5. Use the appropriate module methods to create, find, update, or delete new inspection requests for the tablet (called Quality Inspection Queue records).

Method Descriptions

transactionTriggerListId

The ({triggerTransaction: text //trigger type}) method retrieves the internal trigger id defined in the Quality Trigger Type custom list. A trigger type could be a work Order Completion, Receipt From Purchase Order, etc.)

getContextSetByFilter

The optional getContextSetByFilter method returns all the specification contexts defined for an assembly or item.

The following JSON object is the input to the method:

            [
vendor: null,workCenter: number, //internal id of the work center
item: number, //internal id of the item //internal id of the item
contextType: number, //internal id of transactionTriggerList as
obtained from transactionTriggerListId
location: number, //internal id of the work order location
isInactive: 'F'
]; 

          

insertInspectionQueueRecord

The insertInspectionQueueRecord method inserts a new record for the Quality Management tablet (into the quality inspection queue custom record).

The following JSON object is the input to the method:

            { specificationContext: object //a specification context object obtained from getContextSetByFilter
transaction: number, //internal id of work order/Purchase Order/Sales Order
transactionLine: number, //internal id of newly created AM Production Result record
location: number, //internalid of work order location
quantity: number, //quantity built
transactionType: number, //intenral id of transactionTriggerList as obtained from transactionTriggerListId
operation: integer, //WIP work order operation number inventoryTransaction: number //internalId of an inventory transaction if already performed inventoryReference: number, //internal id of newly created AM production result record isLastOperation: boolean //For a WIP work order, if it is the last operation true, otherwise false }; 

          

updateInspectionQueueRecordByTransaction

This optional method can be called to update the quality inspection queue for changes associated with the business process being modeled. For example, a change in the quantity of items to be inspected.

The following JSON object is the input to the method:

            {
item: number, //internal id of assembly item,
transaction: number, //internal id of work order/Purchase Order/Sales Order
transactionLine: number, //internal id of edited record in AM Production Result record
location: number, //internal id of work order location
quantity: number, //quantity built
operation: integer, //WIP work order operation number inventoryTransaction: number //internalId of an inventory transaction if already performed
inventoryReference: number //internal id of edited AM production result record
}; 

          

updateInspectionQueueRecordForDeletion

If the business process being modeled calls for the cancellation of the inspection the corresponding quality management inspection queue record must be updated. The updateInspectionQueueRecordForDeletion method is used to accomplish that. The method has the effect of changing the status value to cancelled and the quantity to zero.

The following JSON object is the input to the method:

            {
location: number, //internal id of work order location
transaction: number //internal id of AM Production Result record that was deleted. } 

          

executeScheduledScript

({transaction: number //internal id of AM Production Result record created/edited)

Following a scheduled script must be run to complete the processing of the data for Quality tablet display. This is accomplished by calling the executeScheduledScript method which takes no inputs.

Usage Example

The following is a example of a User Event (UE) script that integrates the Advanced Manufacturing production result record with Quality Management. The script, after deployed against the Advanced Manufacturing Production record eses each of the module methods to create and manage tablet inspections when results are reported from the Advanced Manufacturing tablet.

The following is the AM Quality Management Trigger:

          (customscript_am_ue_qualitymanagement) 

        

General Notices