Introduction
A 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
You enable validation for steps in the standard /wiki/spaces/SD/pages/78939861
- Lot number
- Serial number
- Quantity
From Bin
To Bin
Tote
- Customized collecter steps can be added
- Expiration Date can also be validated if collected BEFORE another step, like Lot no.. (Enable the "includeCollectedValues" attribute).
How to enable using
...
These are the supported steps
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> |
1st step: 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
2nd step: 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"
3rd step: 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:
4th step: 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); |
...
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.
...
- 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.Step 3: 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); |
...