Versions Compared

Key

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

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 

 

...

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 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.

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

...

processing codeunit.

Pleas use (or take inspiration from) Codeunit 6181379 "MOB WMS Whse. Inquiry"

Image Added


Step 3: 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:

Image Added 


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);