Introduction
...
Description
Collected values can of course be validated during posting, but sometimes you want the response to to instant.
A 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.
- 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.
- 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
Supported validations
Code Block | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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.
How to enable using Windows
Supported validations
Code Block | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2009/01/ServiceConfiguration.xsd">
<ServiceType>Pick</ServiceType>
...
<validation>
<lotNumber enabled="true" requestDocumentName="ValidateLotNumber"/>
</validation>
</configuration> |
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 | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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.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 | ||
---|---|---|
| ||
<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".