Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

New Device Support

This release adds support for the DOTH-300 device.

Configuration

In order to enable the DOTH-300 support the Mobi package Dotel Scanner Libraries needs to be installed in addition to the Mobile WMS release. It is important that this package is installed after Mobile WMS since it needs to override the Symbol.dll library distributed as part of the Mobile WMS package.

A small change needs to be done to the CommonConfiguration section of the app.config configuration file, where the <scanTrigger> elements is added to enable the center scan button.

Common Configuration - Enable the scan trigger
<!-- Service containing common configuration -->
<add type="TaskletFactory.WMS.Services.CommonConfigurationService, TaskletFactory.WMS.Services.CommonConfiguration"
     factory="TaskletFactory.WMS.Services.Configuration.CommonConfigurationServiceFactory, TaskletFactory.WMS.Services.CommonConfiguration"
     startup="true">
  <configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2010/10/CommonConfigurationServiceConfiguration.xsd">
    ...
    <tasklet>
      <scanTrigger enabled="true" keyName="152" />
      ...
    </tasklet>
    ...
  </configuration>
</add>

Generic Order Service

As something new it is now possible to create an arbitrary number of services; one is no longer forced to choose from the predefined pick, receive, etc services but can e.g. create a pick_extra_validation service and enable extra validation for new employees.

Service Configuration

The following configuration example shows how to convert the pick service and tasklets into using the new generic versions. It could just as well be an entirely new service type. The change has to be applied to the whole chain: service, filter, order list, order lines and registration tasklets.

To setup the service add the new ServiceManager service in app.config and move the pick service configuration into the list of <services> provided by the manager.

Service Manager
<add type="TaskletFactory.WMS.Services.ServiceManager, TaskletFactory.WMS.Services.Base"
           factory="TaskletFactory.WMS.Services.ServiceManagerFactory, TaskletFactory.WMS.Services.Base"
           startup="true">
  <configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2015/01/ServiceManagerConfiguration.xsd">
    <services>
      <add id="Pick">
        <configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2009/01/ServiceConfiguration.xsd">
          <DatabaseName>AppDatabase</DatabaseName>
          <PostOrderRequestDocumentName>PostPickOrder</PostOrderRequestDocumentName>
          <GetOrdersRequestDocumentName>GetPickOrders</GetOrdersRequestDocumentName>
          <GetFilteredOrdersRequestDocumentName>GetFilteredPickOrders</GetFilteredOrdersRequestDocumentName>
          <GetOrderLinesRequestDocumentName>GetPickOrderLines</GetOrderLinesRequestDocumentName>
          <GetBackendInfoRequestDocumentName>GetBackendInfo</GetBackendInfoRequestDocumentName>
          <LockOrderRequestDocumentName>LockOrder</LockOrderRequestDocumentName>
          <UnlockOrderRequestDocumentName>UnlockOrder</UnlockOrderRequestDocumentName>
          <UseOrderLocking>true</UseOrderLocking>
          <ScanBehaviourWhenRegisteringQuantity>SCAN_NEXT_ITEM</ScanBehaviourWhenRegisteringQuantity>
          <DataSource>ONLINE</DataSource>
          <ExpirationDateSeparator>,</ExpirationDateSeparator>
          <BarcodeSeparator>;</BarcodeSeparator>
          <AddOrderLineRequestDocumentName>AddOrderLine</AddOrderLineRequestDocumentName>
          <AutoPostWhenAllLinesComplete>true</AutoPostWhenAllLinesComplete>
          <ServiceType>Pick</ServiceType>
        </configuration>
      </add>
    </services>
  </configuration>
</add>

To add a service simply use the <add id="serviceName"> syntax and the service is referenced through its id. Copy the <configuration> section from the existing pick service.

Finally remove the existing pick service configuration.

Tasklet Configuration

The next step is to convert the accompanying tasklets from using the specific PickFilterPickOrderList, etc. types to the GenericFilterGenericOrderList, etc. versions instead by modifying the UserRole.xml configuration file.

Generic Pick Filter
<tasklet name="PickFilter" text="Pick filter"
         type="TaskletFactory.WMS.Tasklets.GenericFilter, TaskletFactory.WMS.Tasklets.Filter">
  <configuration>
    <appSettings>
      <add key="okMenuItem" value="filterMenuOk"/>
    </appSettings>
    <filterConfiguration>
      <service id="Pick" />
    </filterConfiguration>
  </configuration>
  <actions>
    <open name="filterMenuOk" tasklet="PickList" priority="110" text="OK_" context=""></open>
    <exitTasklet name="unplanRegMenuBack" text="Back" priority="1" icon="Arrow Left.bmp" context="The text on the softkey that goes back to the previous tasklet"></exitTasklet>
  </actions>
</tasklet>

The important bits here are type="TaskletFactory.WMS.Tasklets.GenericFilter, TaskletFactory.WMS.Tasklets.Filter" and the <filterConfiguration> element containing the service reference.

Below follows the configuration for the order list, order lines and registration tasklets. For all of these it is a matter of instantiating the correct generic type and referencing the service by id.

Generic Order List
<tasklet name="PickList"  text="Pick orders" icon="pick.bmp"
         type="TaskletFactory.WMS.Tasklets.GenericOrderList, TaskletFactory.WMS.Tasklets.OrderList">
  <configuration>
    <appSettings>
      ...
    </appSettings>
    <orderListConfiguration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Tasklets/2013/08/OrderListConfigurationSection.xsd">
      <service id="Pick" />
    </orderListConfiguration>
    <listConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Controls/2008/10/CustomizableList.xsd">
      ...
    </listConfiguration>
  </configuration>
  <actions>
    ...
  </actions>
</tasklet>
Generic Order Lines
<tasklet name="PickOrderLines" text="Pick order lines" icon="pick.bmp"
         type="TaskletFactory.WMS.Tasklets.GenericOrderLines, TaskletFactory.WMS.Tasklets.OrderLines">
  <configuration>
    <appSettings>
      ...
    </appSettings>
    <shortcut enabled="true">
      ...
    </shortcut>
    <orderLineConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Tasklets/2009/01/OrderLineConfiguration.xsd">
      <service id="Pick" />
      ...
    </orderLineConfiguration>
    <listConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Controls/2008/10/CustomizableList.xsd">
      ...
    </listConfiguration>
  </configuration>
  <actions>
    ...
  </actions>
  <outputMappings>
    ...
  </outputMappings>
</tasklet>
Generic Registration
<tasklet name="Registrations_Pick" text="Registrations" icon="Notepad.bmp"
         type="TaskletFactory.WMS.Tasklets.GenericRegistration, TaskletFactory.WMS.Tasklets.RegistrationTasklet">
  <configuration>
    <appSettings>
      ...
    </appSettings>
    <registrationConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/MobileWMS/Tasklets/2015/01/RegistrationConfiguration.xsd">
      <service id="Pick"/>
    </registrationConfiguration>
    <listConfiguration xmlns="http://Schemas.TaskletFactory.com/MDMF/Platform/Controls/2008/10/CustomizableList.xsd">
      ...
    </listConfiguration>
  </configuration>
  <actions>
    ...
  </actions>
</tasklet>

Online Bin Validation

It is now possible to enable online bin validation, separately for to and from bins. It requires a change to app.config for the service in question.

Configuration

Enable online to and from bin validation
<add type="TaskletFactory.WMS.Services.PickService, TaskletFactory.WMS.Services.Pick"
     factory="TaskletFactory.WMS.Services.Configuration.PickServiceFactory, TaskletFactory.WMS.Services.Pick"
     startup="true">
  <configuration xmlns="http://schemas.taskletfactory.com/MDMF/MobileWMS/Services/2009/01/ServiceConfiguration.xsd">
    <validation>
      <fromBin enabled="true" requestDocumentName="ValidateFromBin" />
      <toBin enabled="true" requestDocumentName="ValidateToBin" />
    </validation>
  </configuration>
</add>

The requestDocumentName has to match the document handler on the backend. The values in the example show the default values which will be used if the requestDocumentName attribute is omitted.

Request from the mobile client to the ERP system

The mobile application sends a request with the parameters shown below.

Validation request example
<?xml version="1.0" encoding="utf-16"?>
<request name="ValidateFromBin" created="2015-02-13T14:28:49+01:00" xmlns="http://schemas.microsoft.com/Dynamics/Mobile/2007/04/Documents/Request">
  <requestData name="ValidateFromBin">
    <orderType>Pick</orderType>
    <orderBackendId>PI000059</orderBackendId>
    <lineNumber>90000</lineNumber>
    <itemNumber>TF-004</itemNumber>
    <bin>W-02-0001</bin>
  </requestData>
</request>

Related JIRA Issues

type key summary

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

 

  • No labels