Create Wave Time-Triggered Transaction

This time-triggered transaction is used to create waves. If this transaction is called for a node, all of the shipment groups belonging to the node are processed.

Note: The Create Wave Agent should be externally-triggered at pre-defined times, instead of setting it up as self-triggered.
Note: Create Wave Agent works off a bunch of shipments that are sent to node and creates waves. This agent involves optimization logic. If set as self-triggered, it creates waves even when there are only a handful of shipments sent to node. This results in either very small waves (if configured to automatically accept all the waves) or the agent processing the same shipment repeatedly, and thus wasting machine resources (if configured not to automatically accept all the waves).

The yfs.solver.iterations.wavecreate property in the yfs.properties_wms_ext.in file is used to define the number of solver iterations for the Create Wave transaction. This setting is used to optimize the wave creation.

The default out-of-the-box shipped property in the yfs.properties_wms_ext.in file is:yfs.solver.iterations.wavecreate = 1

A wave is created for a shipment group using the following logic:

Attributes

The following are the attributes for this time-triggered transaction:

Table 1. Create Wave Attributes
Attribute Value
Transaction Name Create Wave
Transaction ID CREATE_WAVE.4001
Base Process Type Outbound Picking
Base Document Type Outbound Picking
Abstract Transaction No
APIs Called manageWave()
User Exits Called com.yantra.wms.japi.ue.WMSBeforeCreateWaveUE
com.yantra.wms.japi.ue.WMSOverrideShipmentGroupUE

Criteria Parameters

The following are the criteria parameters for this transaction:

Table 2. Create Wave Criteria Parameters
Parameter Description
Action Required. Triggers the transaction. If left blank, it defaults to Get, the only valid value.
Number of Records To Buffer Optional. Number of records to retrieve and process at one time. If left blank or specified as 0 (zero), it defaults to 5000.
Node Required. The warehouse management ship node for which records are being processed.
ShipmentGroupId Optional. If passed, waves are created only for the specified 'ShipmentGroupId'.
AgentCriteriaGroup Optional. Used to classify nodes. This value can be accepted by WMS time-triggered transactions that only perform their tasks on the nodes with a matching node transactional velocity value.

Valid values are: LOW, HIGH, and any additional values defined by the Hub from Sterling Application Platform > System Administration > Agent Criteria Groups.

SilentPeriod Optional. The amount of time (in minutes) the Create Wave Agent waits before attempting wave creation after a shipment is sent to node.
MaxIterations Optional. The maximum number of times the Create Wave Agent is in SilentPeriod before attempting wave creation.
RedetermineShipmentGroup Optional. Valid values are "Y" and "N". If left blank, this value defaults to Y.
  • Y - Based on the ForShipmentsModifiedBefore parameter, all shipments that are in the "Sent To Node" status are considered for shipment group redetermination.
  • N - The system does not redetermine the shipment group for any shipment.
ForShipmentsModifiedBefore Optional. Enter the time (in hours) before which the shipments that are in the "Sent To Node" status must be modified for shipment group redetermination.

You can also enter a fractional value. If left blank, this value defaults to 0 (zero) hours.

ColonyID Required in a multischema deployment where a table may exist in multiple schemas. Runs the agent for the colony.

Statistics Tracked

The following statistics are tracked for this transaction:

Table 3. Create Wave Statistics
Parameter Description
NumberOfWavesCreated Number of waves created.
NumberOfWavesDeleted Number of waves deleted. Waves that are in created status can be deleted and recreated if there are more shipments for that shipment group.
NumberOfShipmentLinesAssignedWaves Number of shipment lines which have been included in the created waves.
NumberOfShipmentLinesReassignedWaves Number of Shipment Lines which need to be reassigned to different waves.

Pending Job Count

For this transaction the pending job count is the number of nodes for which waves have to be processed.

Events Raised

This transaction raises events as specified under the manageWave() API in the Sterling Selling and Fulfillment Foundation: Javadocs.