Applicability

Applicable for Mobile WMS version 3.8 and above for Dynamics 365 Finance and Operations and Dynamics AX 2012

In this article we will:

  • See how to remove batch numbers from planned item registration flow from X++ code.
  • See the result from the mobile device. 

Problem

When you don't want to register batch numbers in your planned processes and your tracking dimension allows blank issues and receipts. 

Mobile WMS will detect if the batch dimension is active and put it in the registration collector. 

Removing a step in planned item registration collector

This customization covers the planned item registrations so it an easy way changing the behavior.  

You can do this without changing any code. This can be handled by changes to the application.cfg on the device. 

Locate the workflows, and find the batch step, i.e. id=32 on below code block. Here you need to add "visible=false". 


application.cfg
    <workflows>
      <workflow id="standard" itemNumberAI="01,02,91">
        <configuration scanBehaviourWhenRegisteringQuantity="ScanNextItem" autoSave="false" fastForwardMode="InputAndScanValues">
          <steps>
            <add id="10" name="FromBin" inputType="Text" header="@{RegistrationCollectorFromBinHeader}" label="'{FromBin}'" defaultValue="{FromBin}" helpLabel="@{RegistrationCollectorFromBinHelpLabel}" eanAi="00" optional="false" primaryInputMethod="Scan"/>
            <add id="20" name="ToBin" inputType="Text" header="@{RegistrationCollectorToBinHeader}" label="'{ToBin}'" defaultValue="{ToBin}" helpLabel="@{RegistrationCollectorToBinHelpLabel}" eanAi="00" optional="false" primaryInputMethod="Scan" />
            <add id="31" name="ExpirationDate" inputType="Date" header="@{RegistrationCollectorExpirationDateHeader}" label="'{ExpirationDate}'" optional="false" helpLabel="@{RegistrationCollectorExpirationDateHelpLabel}" eanAi="15,17,12"/>
            <add id="32" name="LotNumber" inputType="Text" header="@{ScanBatchNumber}" label="'{LotNumber}'" helpLabel="@{ScanBatchNumberHelp}" eanAi="10" optional="false" primaryInputMethod="Scan" defaultValue="{LotNumber}" validationWarningType="Warn" visible="false"/>
            <add id="35" name="ToteId" inputType="Text" header="@{RegistrationCollectorToteHeader}" label="" defaultValue="" helpLabel="@{RegistrationCollectorToteHelpLabel}" eanAi="98" optional="false" primaryInputMethod="Scan"/>
            <add id="40" name="SerialNumber" inputType="Text" header="@{RegistrationCollectorSerialNumberHeader}" label="" defaultValue="{SerialNumber}" helpLabel="@{RegistrationCollectorSerialNumberHelpLabel}" eanAi="21" optional="false" primaryInputMethod="Scan"/>
            <add id="50" name="Quantity" inputType="Decimal" header="@{RegistrationCollectorQuantityHeader}" label="" helpLabel="@{RegistrationCollectorQuantityHelpLabel}" optional="false" eanAi="310,30,37" minValue="0.0000000001"/>
            <add id="51" name="Quantity" inputType="QuantityByScan" header="@{RegistrationCollectorQuantityByScanHeader}" label="" helpLabel="@{RegistrationCollectorQuantityByScanHelpLabel}" optional="false" minValue="0.0000000001"/>
          </steps>


Mobile Device - Before 

Notice we have 3 steps where step number 2 is the batch number registration.


Mobile Device - After

Notice we have 2 steps, where as we had 3 steps previously. Now batch number is not a part of the registration flow.