Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

...

Description

Collected values can of course be validated during posting, but sometimes you want the response to to instant.

Collector Step can be Online or Offline -validated. That is confirming the input is valid.


During the registration as opposed to during posting .

Limitations

  • Only steps in a WorkFlow is supported

 

...

(always online).


Default behavior for a "collector step" is Offline validation, unless onlineValidation has been specifically implemented for the step.

When Offline simple field validation can be carried out using the  validationWarningType attribute.


How to enable


Add the validationWarningType attribute to the relevant Workflow element.


The options are:

  • None
    • Allow the user to enter a different value than the one suggested.

  • Warn
    • Warn the user if an other value than the suggested is entered. Allowing the user to change it by accepting the prompt.

  • Block
    • Do not allow the user to enter a different value than the suggested value.

Limitations

  • No connection to backend for advanced logic, like Online validation offers.

See also

The Standard workflow collector steps 

...

  • Lot number
  • Serial number
  • Quantity
  • From Bin

  • To Bin

  • Tote 

 

Note

If you are Online at all times, you can also use Online Validation

validationWarningType

How to enable using Android Image Removed

Supported validations

Code Block
languagexml
<validation>
  <lotNumberValidation online="true" documentName="ValidateLotNumber"/>
  <serialNumberValidation online="true" documentName="ValidateSerialNumber"/>
  <fromBinValidation online="true" documentName="ValidateFromBin"/>
  <toBinValidation online="true" documentName="ValidateToBin"/>
  <toteValidation online="true" documentName="ValidateTote"/>
</validation>

 

 

Example: Lot number validation

Step 1: Modify the application.cfg 

Add the "<validation>" tag.

Code Block
languagexml
<service id="Pick" type="Order" orderType="Pick">
  <validation>
    <lotNumberValidation online="true"/>
  </validation>
</service>

 

Optional :  Setting Serial Number Validation Level

Add the following <Validation> tag to a service.

Code Block
languagexml
<service id="Pick" type="Order" orderType="Pick">
  <validation>
    <serialNumberValidation validationLevel="Line"/>
  </validation>
</service>
  • Item: The same serial number can only be registered once per item, but multiple times across items.
  • Line: A serial number can only be registered once per order line, but multiple times per order.
  • Order (default): A serial number can only be registered once per order

 

Step 2: Add Mobile Document Type

Make sure a document type exists and points to a Processing Codeunit.

Image Removed

How to enable using  Windows Image Removed

Supported validations

Code Block
languagexml
<validation>
  <lotNumber enabled="true" requestDocumentName="ValidateLotNumber"/>
  <serialNumber enabled="true" requestDocumentName="ValidateSerialNumber"/>
  <quantity enabled="true" requestDocumentName="ValidateQuantity"/>
  <toBin enabled="true" requestDocumentName="ValidateToBin"/>
  <fromBin enabled="true" requestDocumentName="ValidateFromBin"/>
  <tote enabled="true" requestDocumentName="ValidateTote"/>
</validation>

Lot number validation

The code snippet below shows how to enable online lot number validation.

Step 1: Modify the app.config file

 

Code Block
languagexml
<configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2009/01/ServiceConfiguration.xsd">
  <ServiceType>Pick</ServiceType>
  ...

  <validation>
    <lotNumber enabled="true" requestDocumentName="ValidateLotNumber"/>
  </validation>
</configuration>

 

Image Removed

 

 

Changing the request document name

By default the application will call the document ValidateLotNumber in the ERP system. It is, however, possible to override the name if another document handler should be invoked.

Overriding the Document Name of the Request

 

 

Code Block
languagexml
 <configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2009/01/ServiceConfiguration.xsd">
   <ServiceType>Pick</ServiceType>
   ...
   <validation>
     <lotNumber>
       <!--
       It is possible to override the name of the document the application will call in the ERP system.
       By ommision it will default to the value 'ValidateLotNumber'.
       -->
      <online enabled="true" requestDocumentName="ValidateLotNumberExtended"/>
    </lotNumber>
  </validation>
</configuration>

 

Setting Serial Number Validation Level

It is possible to tweak how restrictive the application is when it comes to validating serial numbers.

Code Block
languagexml
<ServiceType>Pick</ServiceType> 
  <validation> 
  <serialNumber mode="ORDER" /> 
</validation>
  • Item: The same serial number can only be registered once per item, but multiple times across items.
  • Line: A serial number can only be registered once per order line, but multiple times per order.
  • Order (default): A serial number can only be registered once per order

 

Step 2: Add Mobile Document Type

Make sure a document type exists and points to a Processing Codeunit.

Image Removed

Example: Set Lot No. validation to "Warn" 


In the example below, we set the Lot No. validation to "Warn" instead of default Block.

Meaning the user will be Warned, but not blocked from entering a different Lot No.


Modify the application.cfg file

Find and change the following line as described below.


Code Block
languagexml
<add id="32" name="LotNumber"inputType="Text" header="@{RegistrationCollectorLotNumberHeader}" label="'{LotNumber}'" helpLabel="@{RegistrationCollectorLotNumberHelpLabel}" eanAi="10" 
optional="false" primaryInputMethod="Scan" defaultValue="{LotNumber}" validationWarningType="Warn"/>


Note how the "validationWarningType" attribute is set to "Warn".