Versions Compared

Key

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

Introduction

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
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"/>
  <quantityValidation online="true" documentName="ValidateQuantity"/>
</validation>

  

1st step: Modify the application.cfg 

Add the "<validation>" tag.

Code Block
languagexml
<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
languagexml
<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"

Image Removed

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:

Image Removed 

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 Image Modified

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>



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

Image Modified


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


...