Assign step icons and titles for the Warehouse Management mobile app

This article describes how to assign step icons and step titles for new or customized task flows for the Warehouse Management mobile app.

The following illustrations shows how step icons and titles appear in the Warehouse Management mobile app.

Example of a step icon and a step title in the Warehouse Management mobile app.

Turn this feature on or off

To use the functionality described in this article, the User settings, icons, and step titles for the new warehouse app feature must be turned on for your system. As of Supply Chain Management 10.0.25, this feature is mandatory and can't be turned off. If you're running a version older than 10.0.25, then admins can turn this functionality on or off by searching for the User settings, icons, and step titles for the new warehouse app feature in the Feature management workspace.

Standard step IDs, classes, and icons

Each step in a task flow is identified by a step ID, and each step ID has a corresponding step class. The step icon and title are specified in each step class.

Step IDs and step classes

The following table lists every step ID that is currently available, and its corresponding step class. The control name of the primary input field is used as the step ID.

For an example that shows how these step IDs and classes are used, see the implementation of the WHSMobileAppStepInfoBuilder.stepId() method in the Example: Assign step icons and titles for a custom flow section later in this article.

Step ID Step Class
BatchDisposition WHSMobileAppStepBatchDisposition
Carrier WHSMobileAppStepCarrier
CatchWeight WHSMobileAppStepCatchWeight
CatchWeightQtyOutboundWeight WHSMobileAppStepCatchWeight
CatchWeightTag WHSMobileAppStepCatchWeightTag
CatchWeightTagWeight WHSMobileAppStepCatchWeightTagWeight
ChangeWarehouseSuccess WHSMobileAppStepChangeWarehouseSuccess
CheckDigit WHSMobileAppStepCheckDigit
ClusterId WHSMobileAppStepClusterId
ClusterPickQtyVerification WHSMobileAppStepQtyVerification
ClusterPosition WHSMobileAppStepClusterPosition
ConfigId WHSMobileAppStepConfigId
Confirmation WHSMobileAppStepConfirmation
ConsolidateFromLicensePlateId WHSMobileAppStepConsolidateFromLicensePlateId
ConsolidateLPConfirmation WHSMobileAppStepConsolidateLPConfirmation
ConsolidateToLicensePlateId WHSMobileAppStepConsolidateToLicensePlateId
ContainerType WHSMobileAppStepContainerType
CountingReasonCode WHSMobileAppStepCountingReasonCode
CycleCountingAddLPOrFinish WHSMobileAppStepCycleCountingAddLPOrFinish
CycleCountQty1 WHSMobileAppStepCycleCountQty
CycleCountQty2 WHSMobileAppStepCycleCountQty
CycleCountQty3 WHSMobileAppStepCycleCountQty
CycleCountQty4 WHSMobileAppStepCycleCountQty
Disposition WHSMobileAppStepDisposition
DriverCheckInConfirmation WHSMobileAppStepDriverCheckInConfirmation
DriverCheckInId WHSMobileAppStepDriverCheckInId
DriverCheckOutConfirmation WHSMobileAppStepDriverCheckOutConfirmation
DriverCheckOutId WHSMobileAppStepDriverCheckOutId
ExpDate WHSMobileAppStepExpDate
FromBatchDisposition WHSMobileAppStepFromBatchDisposition
FromInventoryStatus WHSMobileAppStepInventoryStatusFrom
FullQty WHSMobileAppStepFullQty
InboundPut WHSMobileAppStepInboundPut
InventBatchId WHSMobileAppStepBatch
InventColorId WHSMobileAppStepInventColorId
InventLocation WHSMobileAppStepInventLocation
InventLocationId WHSMobileAppStepWarehouse
InventSerialId WHSMobileAppStepInventSerialId
InventSizeId WHSMobileAppStepInventSizeId
InventStatusId WHSMobileAppStepInventStatus
InventStyleId WHSMobileAppStepInventStyleId
InventVersionId WHSMobileAppStepInventVersionId
ItemId WHSMobileAppStepItem
ITMContainerID ITMMobileAppStepContainerId
ITMShipmentID ITMMobileAppStepShipmentId
KanbanCardId WHSMobileAppStepKanbanCard
KanbanCardToEmpty WHSMobileAppStepKanbanCardToEmpty
KanbanOrCardId WHSMobileAppStepKanbanCard
LicensePlateId WHSMobileAppStepLicensePlate
LoadId WHSMobileAppStepLoadId
LocationLicensePlatePosition WHSMobileAppStepLocationLicensePlatePosition
LocOrLP WHSMobileAppStepLocOrLP
LocOrLP_From WHSMobileAppStepLocOrLPFrom
LocOrLP_To WHSMobileAppStepLocOrLPTo
LocOrLPCheck WHSMobileAppStepLocOrLPCheck
LocVerification WHSMobileAppStepLocVerification
LPAdjustIn WHSMobileAppStepLPAdjustIn
LPBreakChildLP WHSMobileAppStepLPBreakChildLP
LPBreakParentLP WHSMobileAppStepLPBreakParentLP
LPBuildChildLP WHSMobileAppStepLPBuildChildLP
LPBuildParentLP WHSMobileAppStepLPBuildParentLP
LPVerification WHSMobileAppStepLPVerification
MergeContainerId WHSMobileAppStepMergeContainerId
MixedLPLineNum WHSMobileAppStepMixedLPLineNum
MobileDeviceQueueMessageCollectionIdentifierId WHSMobileAppStepSelectOrder
MovementConfirmCancel WHSMobileAppStepMovementConfirmCancel
NewCaptureWeight WHSMobileAppStepCatchWeight
NewQty WHSMobileAppStepNewQty
OutboundCatchWeightTag WHSMobileAppStepCatchWeightTag
OutboundPut WHSMobileAppStepOutboundPut
OutboundWeight WHSMobileAppStepCatchWeight
OverridePutNewLocation WHSMobileAppStepOverridePutNewLocation
PieceByPieceConfirmation WHSMobileAppStepQtyVerification
POLineNum WHSMobileAppStepPOLineNum
PONum WHSMobileAppStepPONum
PositionFull WHSMobileAppStepPositionFull
PositionFullQty WHSMobileAppStepPositionFullQty
Potency WHSMobileAppStepPotency
PrinterName WHSMobileAppStepPrinterName
ProdId WHSMobileAppStepProdId
ProdLastPalletConfirmation WHSMobileAppStepProdLastPalletConfirmation
ProductConfirmation WHSMobileAppStepProductConfirmation
ProductionScrapConfirmation WHSMobileAppStepProductionScrapConfirmation
Put WHSMobileAppStepPut
PutawayClusterId WHSMobileAppStepPutawayClusterId
Qty WHSMobileAppStepQty
QtyAdjust WHSMobileAppStepQtyAdjust
QtyShort WHSMobileAppStepQtyShort
QtyToConsume WHSMobileAppStepQtyToConsume
QtyToPick WHSMobileAppStepQtyToPick
QtyToPut WHSMobileAppStepQtyToPut
QtyToScrap WHSMobileAppStepQtyToScrap
QtyVerification WHSMobileAppStepQtyVerification
QtyWithScanningLimit WHSMobileAppStepQtyAdjust
ReasonString WHSMobileAppStepReasonString
RecvLocationId WHSMobileAppStepRecvLocationId
RemoveContainerId WHSMobileAppStepRemoveContainerId
ReprintLabelConfirmation WHSMobileAppStepReprintLabelConfirmation
RMANum WHSMobileAppStepRMANum
ShortPickReason WHSMobileAppStepShortPickReason
SortConOrLP WHSMobileAppStepSortConOrLP
SortLicensePlateId WHSMobileAppStepSortLicensePlateId
SortPositionId WHSMobileAppStepSortPositionId
SortVerification WHSMobileAppStepSortVerification
StartLocationId WHSMobileAppStepStartLocationId
StartProdOrderConfirmation WHSMobileAppStepStartProdOrderConfirmation
TargetLicensePlateId WHSMobileAppStepTargetLicensePlateId
TOLineNum WHSMobileAppStepTOLineNum
ToLocation WHSMobileAppStepToLocation
TONum WHSMobileAppStepTONum
ToWarehouse WHSMobileAppStepWarehouseTo
TransportLoadId WHSMobileAppStepTransportLoadId
WaveLabelId WHSMobileAppStepWaveLabelId
WaveLblQty WHSMobileAppStepWaveLblQty
Weight WHSMobileAppStepWeight
WeightToConsume WHSMobileAppStepWeightToConsume
WHSAdjustmentType WHSMobileAppStepWHSAdjustmentType
WHSReceivingException WHSMobileAppStepWHSReceivingException
WHSWorkException WHSMobileAppStepWHSWorkException
WHSWorkLicensePlateId WHSMobileAppStepWorkLicensePlateId
WMSLocationId WHSMobileAppStepLocation
WorkId WHSMobileAppStepWorkId
WorkIdToCancel WHSMobileAppStepWorkIdToCancel
WorkLPIdPutawayCluster WHSMobileAppStepWorkLPIdPutawayCluster
WorkPoolId WHSMobileAppStepWorkPoolId
ZoneId WHSMobileAppStepZoneId

Available step icons

The system includes a collection of standard step icons that you can also use for your custom steps. You can't currently upload custom step icons. Therefore, you must always select one of the standard step icons.

The following table shows every standard step icon that is currently available, and its name.

About step icon
About
Add license plate or item step icon
AddLpOrItem
Batch disposition step icon
BatchDisposition
Carrier step icon
Carrier
Catch weight tag step icon
CatchWeightTag
Catch weight tag weight step icon
CatchWeightTagWeight
Check digit step icon
CheckDigit
Check in or out ID step icon
CheckInOutId
Child license plate step icon
ChildLP
Cluster ID step icon
ClusterId
Cluster position step icon
ClusterPosition
Config ID step icon
ConfigId
Configured field step icon
ConfiguredField
Con or LP step icon
ConOrLP
Consolidate from license plate ID step icon
ConsolidateFromLicensePlateID
Consolidate to license plate ID step icon
ConsolidateToLicensePlateID
Container type step icon
ContainerType
Counting step icon
Counting
Counting reason code step icon
CountingReasonCode
Country of origin code step icon
CountryOfOrigin
Disposition step icon
Disposition
Done step icon
Done
Driver check in confirmation step icon
DriverCheckInConfirmation
Driver check in ID step icon
DriverCheckInId
Driver check out ID step icon
DriverCheckOutId
Expiration date step icon
ExpDate
Field step icon
Field
From batch disposition step icon
FromBatchDisposition
From inventory status step icon
FromInventoryStatus
ID attribute step icon
IdAttribute
Inventory batch ID step icon
InventBatchID
Inventory color ID step icon
InventColorID
Inventory location step icon
InventLocation
Inventory serial ID step icon
InventSerialID
Inventory size ID step icon
InventSizeID
Inventory status ID step icon
InventStatusID
Inventory style ID step icon
InventStyleID
Inventory version ID step icon
InventVersionID
Item ID step icon
ItemID
ITM container ID step icon
ITMContainerID
ITM shipment ID step icon
ITMShipmentID
Kanban card ID step icon
KanbanCardID
Kanban or card ID step icon
KanbanOrCardID
License plate ID step icon
LicensePlateID
Load ID step icon
LoadId
Location license plate position step icon
LocationLicensePlatePosition
Location or license plate step icon
LocOrLP
Location or license plate check step icon
LocOrLPCheck
Location or license plate from step icon
LocOrLPFrom
Location or license plate to step icon
LocOrLPTo
Long process completed step icon
LongProcessCompleted
LP break parent LP step icon
LPBreakParentLP
Merge container ID step icon
MergeContainerId
Mixed license plate line number step icon
MixedLPLineNum
Outbound weight step icon
OutboundWeight
Owner step icon
Owner
Parent license plate step icon
ParentLP
Please confirm step icon
PleaseConfirm
Purchase order line number step icon
POLineNum
Purchase order number step icon
PONum
Position full step icon
PositionFull
Potency step icon
Potency
Printer name step icon
PrinterName
Prod ID step icon
ProdId
Product confirmation step icon
ProductConfirmation
Put step icon
Put
Putaway cluster ID step icon
PutawayClusterId
Quantity step icon
Qty
Quantity adjust in step icon
QtyAdjustIn
Quantity short step icon
QtyShort
Quantity to consume step icon
QtyToConsume
Quantity to put step icon
QtyToPut
Quantity to scrap step icon
QtyToScrap
Quantity confirmation step icon
QuantityConfirmation
Report as finished end job step icon
RAFEndJob
Receive location ID step icon
RecvLocationID
Remove container ID step icon
RemoveContainerID
RMA number step icon
RMANum
Select order step icon
SelectOrder
Short pick reason step icon
ShortPickReason
Sort position ID step icon
SortPositionId
Target license plate ID step icon
TargetLicensePlateId
To line number step icon
ToLineNum
To location step icon
ToLocation
To number step icon
ToNum
To warehouse step icon
ToWarehouse
Transport load ID step icon
TransportLoadId
Vendor batch ID step icon
VendBatchId
Wave label ID step icon
WaveLabelId
Wave label quantity step icon
WaveLblQty
Weight step icon
Weight
Weight to consume step icon
WeightToConsume
WMS adjustment type step icon
WHSAdjustmentType
WMS receiving exception step icon
WHSReceivingException
WMS location ID step icon
WMSLocationID
Work ID step icon
WorkId
Work ID to cancel step icon
WorkIdToCancel
Work license plate ID step icon
WorkLicensePlateId
Work license plate ID putaway cluster step icon
WorkLPIDPutawayCluster
Work pool ID step icon
WorkPoolID
Zone ID step icon
ZoneID

Example: Assign step icons and titles for a custom flow

This example explains how to set up step icons and titles for a custom task flow. The scenario is built on an example of a custom task flow that is presented and explored in more detail in the following blog post: Customizing the Warehousing Mobile App. The task flow works in the following way:

  1. The app shows a page that prompts the worker to provide a container ID (for example, by scanning a bar code).
  2. If the container ID is valid, the app opens a new page that prompts the worker for the weight. (If the container ID isn't valid, the worker is returned to the first page.)
  3. When the worker enters a valid weight, the system stores the weight and returns the worker to the first page.

The following illustration shows this task flow.

Task flow diagram.

Create a step class for the container input page

The container input page lets the worker scan or enter a container ID.

Container input page.

On the container input page, the control name of the input field is ContainerId. Because this control name isn't in the list of step IDs, you won't find an existing step that is based on it. Therefore, you must create a step class that represents the step. Here is an example.

[WHSMobileAppStepId('ContainerId')]
final internal class WHSMobileAppStepContainerId extends WHSMobileAppStep
{
    private const WHSMobileAppStepIcon PopulationIcon = 'InventBatchID';
    private const WHSMobileAppStepTitle InputNotFilledTitle = "@WAX:WHSMobileAppStepContainerID_InputNotFilled"; //Scan a container
    protected void initValues()
    {
        defaultStepIcon = PopulationIcon;
        defaultStepTitle = InputNotFilledTitle;
    }
}

The identifier of the step icon is stored in the defaultStepIcon class member, and the step title is stored in the defaultStepTitle class member.

To assign a step icon, set defaultStepIcon to one of the icon IDs that are listed in the Available step icons section earlier in this article.

Use a standard or custom step icon and title for the weight input

The weight input page lets the worker enter a weight.

Weight input page.

On the weight input page, the control name of the input field is Weight, which is in the list of step IDs. Therefore, if the step icon and title that are defined in the WHSMobileAppStepWeight class are acceptable to you, you don't have to change anything for this step.

However, if you prefer to use a different icon or title for this step, you can override either the stepId() method or the stepInfo() method in the builder class. Each task flow has its own step info builder.

Override the stepId() method

The following example shows one way that you can modify a builder class by overriding the stepId() method.

[WHSWorkExecuteMode(WHSWorkExecuteMode:: WeighContainer)]
public class WHSMobileAppStepInfoBuilderWeighContainer extends WHSMobileAppStepInfoBuilder
{
    protected WHSMobileAppStepId stepId()
    {
        WHSMobileAppStepId stepIdLocal = super();
        if (stepIdLocal == 'Weight')
        {
            return 'NewWeight';
        }
        return stepIdLocal;
    }
}

You then create a step class for the NewWeight step. The code should resemble the code for the ContainerId example that was shown earlier in this article.

Override the stepInfo() method

The following example shows one way that you can modify a builder class by overriding the stepInfo() method.

[WHSWorkExecuteMode(WHSWorkExecuteMode:: WeighContainer)]
public class WHSMobileAppStepInfoBuilderWeighContainer extends WHSMobileAppStepInfoBuilder
{
    protected WHSMobileAppStepInfo stepInfo()
    {
        if (stepId != 'Weight')
        {
            return super();
        }
        WHSMobileAppStepInfo stepInfo = WHSMobileAppStepInfo::construct();
        stepInfo.parmStepIcon('NewIcon');
        stepInfo.parmStepTitle('NewTitle');
        return stepInfo;
    }
}

You then construct a WHSMobileAppStepInfo object, and set the icon and/or title directly.