Wave

A wave transaction is used to consolidate orders for release to the warehouse. When you release a wave, the items from the order become available for picking and further fulfillment processing on a mobile device. Released waves display pick tickets and pick tasks generated from items in the orders, as well as status updates that enable tracking of fulfillment tasks.

The wave transaction is available when the Warehouse Management feature is enabled. For help working with this record in the UI, see Creating Wave Transactions.

The internal ID for this transaction is wave.

See the SuiteScript Records Browser for all internal IDs associated with this transaction.

Note:

For information about using the SuiteScript Records Browser, see Working with the SuiteScript Records Browser in the NetSuite Help Center.

For information about scripting with this record in SuiteScript, see the following help topics:

Supported Script Types

The wave transaction is scriptable in both client and server SuiteScript.

Supported Functions

The wave transaction is fully scriptable. It can be created, updated, deleted, and searched using SuiteScript.

Usage Notes

For search operations, the wave record supports the search.create(options) method. It does not support the search.load(options) method.

See the following sections for more details about working with this transaction:

Fields

Note the following usage notes for specific fields on this transaction:

  • The following fields are read-only: Wave #, Wave Type, Location, Created Date, Released Date, and Completed Date.

  • The Custom Form field is shown only in edit mode.

  • The Wave Type field is sourced automatically from the Transaction Type field on the Wave Criteria form during wave creation.

  • The Picking Type and Status fields cannot be updated on a wave transaction in Released and later statuses.

  • The Released Date field initially appears on a wave in Released status.

  • The Completed Date field is shown on a wave in Completed status only.

Subtabs

The Pick Tasks subtab initially appears on a wave in Pending Release or Released status. On this subtab, the Assign Selected Pick Tasks To field is shown only if a wave is in Pending Release status.

The Custom subtab serves as the default placeholder when additional custom or standard fields are not displayed on other subtabs or sections of the wave transaction.

Sublist

The Pick Task sublist displays the list of pick task records generated from the wave transaction. On this sublist, the Assigned Picker column can be updated only if a wave is in Pending Release status, and is not scriptable in create. The values in the following columns match the values in fields on the associated pick task records: Status and Recommended Bin.

Code Samples

The following sample code in SuiteScript 2.x includes creating and updating wave transactions.

            require(['N/record'], function (record) {

    var locationId = 9;

    var salesOrderId = 316;

    var pickerId = 77;



    function createWave() {

        var wave = record.create({type: record.Type.WAVE, isDynamic: true});

        wave.setValue({fieldId: 'location', value: locationId});

        wave.setValue({fieldId: 'wavetype', value: 'SalesOrd'}); // 'TrnfrOrd' for Transfer Orders

        wave.setValue({fieldId: 'priority', value: '1'});

        wave.setValue({fieldId: 'picktype', value: 'MULTI'}); // 'SINGLE' for single order line picking

        wave.setValue({fieldId: 'newwavestatus', value: 'PENDING'}); // "RELEASED" by default






        wave.setValue({fieldId: 'searchtemplateid', value: 'default'}); // For searchtemplateid, you must provide the internal ID of a custom wave criteria template.

        wave.save();

    }



    function editWave() {

        var wave = record.load({type: record.Type.WAVE, isDynamic: true, id: 346});

        wave.setValue({fieldId: 'priority', value: '3'});

        wave.setValue({fieldId: 'newwavestatus', value: 'RELEASED'});



        wave.selectLine({sublistId: "picktasks", line: 0});

        wave.setCurrentSublistValue({sublistId: "picktasks", fieldId: "picker", value: pickerId});

        wave.commitLine({sublistId: "picktasks"});



        wave.save();

    }



    function getFirstSalesOrderLineId() {

        var salesOrder = record.load({type: record.Type.SALES_ORDER, id: salesOrderId});

        return salesOrder.getSublistValue({sublistId: 'item', line: 0, fieldId: 'id'}).split('_')[1];

    }



    createWave();

    // editWave();

}); 

          

Related Topics

General Notices