Introduction
A "collector step" can be Online or Offline validated During the registration - as opposed to during posting.
Limitations
- Online Validation limits the Offline capabilities of the system
See also
The Standard workflow collector steps
...
From Bin
...
To Bin
...
Tote
...
...
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"/>
<quantityValidation online="true" documentName="ValidateQuantity"/>
</validation> |
Step 1: Modify the application.cfg
Add the "<validation>" tag.
Code Block | ||
---|---|---|
| ||
<service id="Pick" type="Order" orderType="Pick">
<validation>
<lotNumberValidation online="true" documentName="ValidateLotNumber" includeCollectedValues="true"/>
</validation>
</service> |
Setting Serial Number Validation Level (optional)
When using Serial Number validation, you can also set the "ValidationLevel" for how restrictive to validating serial numbers.
Code Block | ||
---|---|---|
| ||
<service id="Pick" type="Order" orderType="Pick">
<validation>
<serialNumberValidation online="true" documentName="ValidateSerialNumber" validationLevel="Line"/>
</validation>
</service> |
The levels are:
- 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 1: Enable Online validation
See Online Validation to enable online validation.
Step 2: Add "Mobile Document Type"
Make sure a document type exists and points to a processing codeunit.
Pleas use (or take inspiration from) Codeunit 6181379 "MOB WMS Whse. Inquiry"
Step 3:
...
Edit your processing codeunit.
If the validation succeeds return the OK message:
Code Block |
---|
MobBaseToolbox.CreateSimpleResponse(XMLResultDoc,'OK'); |
If the validation fails, create an error:
Code Block |
---|
ERROR(MobWmsLanguage.GetMessage('UNKNOWN_LOT'),LotNumber); |
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 Mobile Document Type
By default the application will call the Mobile Document type "ValidateLotNumber"
in the ERP system. It is, however, possible to override the name if another document handler should be invoked.
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 (optional)
When using Serial Number validation, you can also set the "ValidationLevel" for how restrictive 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
...
...
Add "Mobile Document Type" to "Mobile Group"
Press the "Groups" action and add the new type to the relevant groups.
Failing to do so will result in the following error:
Step 4: Write you validation code
Edit your processing codeunit.
If the validation succeeds return the OK message:
Code Block |
---|
MobBaseToolbox.CreateSimpleResponse(XMLResultDoc,'OK'); |
If the validation fails, create an error:
Code Block |
---|
ERROR(MobWmsLanguage.GetMessage('UNKNOWN_LOT'),LotNumber); |
...
...