Reference Data

Description

Static data sent to the Mobile device only once, during login.

Reference Data holds static data like:

  • Headers 
  • Steps (Line steps, not unplanned functions steps)
  • List data
    • Units of Measure
    • Reason Code
    • Location

Additional static data added with customizations by partners.

Only updated on login

  • Reference Data cannot be updated during a session:
  • It will always require logout/login at device to refresh.

For this reason transactional data like Sales Orders should never be provided as Reference Data.

 

The Reference Data request

From v. 1.8.1 the request for reference data contains a bit of device and app information. This information can be used to adjust the resolution of images send to the device, tweak messages to match the specific culture, or something completely different. When new functionality is added to the device and the backends, this will also be visible here, and allow for the backend to enable functionality based on the capabilities listed.

<?xml version="1.0" encoding="utf-8"?>
<request name="GetReferenceData" created="2023-06-12T09:23:57+02:00" xmlns="http://schemas.microsoft.com/Dynamics/Mobile/2007/04/Documents/Request">
  <requestData name="GetReferenceData">
    <capabilites>
      <application version="1.8.1" />
      <device manufacturer="Honeywell" model="EDA60K">
        <language currentCultureName="en-US" />
        <platform name="Android" version="7.1.1" />
        <screen height="533" width="320" orientation="Portrait" />
      </device>
    </capabilites>
  </requestData>
</request>

Contents

Reference Data xml file consists of two overall types of static data: Configuration and List Data
Configuration can have one of 3 subtypes: headerConfiguration, registrationCollectorConfiguration or menuConfiguration.

The types are explained below.

For reference, a sample reference data xml file can be seen here:  Reference Data Response


Configuration

  • headerConfiguration 
  • registrationCollectorConfiguration
    • Collector Steps that may be merged to workflows already defined in application.cfg
    • The document handler classes (i.e. Receive, Pick, Ship) manages which Collector Steps are in fact enabled for the document type.
    • See also: Steps

  • menuConfiguration
    • Menu items included in the main menu. Is always generated based on current data from from Mobile WMS Menu Setup.
    • Should never need be changed programmatically (and has no Business Central integration events)

List Data (used to populate drop-down boxes)

  • Location Codes, Return Reason Code, etc.. or customized data
  • To be used for data that is very unlikely to change during the mobile device session. Transactional data like Sales Orders should never be provided as reference List Data.


Example of headerConfiguration

  • Key
    • A predefined key 
      • Base functional Areas (UnplannedCountHeader, PickOrderFilters) or custom name used by a custom page/Tasklet
  • Value
    • Property Value

    <ReferenceData>
      <Configuration>
        <Key>PickOrderFilters</Key>
        <Value>
          <![CDATA[
          <headerConfiguration>
            <lines>
              <add id="1"
                   name="Route"
                   label="Tur"
                   labelWidth="50"
                   inputType="List"
                   dataTable="Route"
                   dataKeyColumn="Number"
                   dataDisplayColumn="Name"
                   clearOnClear="false"
                   acceptBarcode="false"/>
              <add id="2"
                   name="DeliveryDate"
                   label="Leveringsdato"
                   labelWidth="50"
                   inputType="Date"
                   clearOnClear="false"
                   acceptBarcode="false"/>
            </lines>
          </headerConfiguration>
          ]]>
        </Value>
      </Configuration>
    </ReferenceData>


See also: HeaderConfiguration attributes


Example of registrationCollectorConfiguration

  • Key
    • A predefined key 
  • Value
    • Property Value

<ReferenceData>
    <Configuration>
        <Key>OrderLineExtraInfo</Key>
        <Value>
          <![CDATA[
          <registrationCollectorConfiguration>
            <steps>
              <add inputType="Decimal" 
                   id="1" 
                   name="Demo" 
                   header="Demo Header" 
                   label="Demo:" 
                   labelWidth="100" 
                   helpLabel="Demo" 
                   length="3" 
                   autoForwardAfterScan="true" 
                   optional="false" 
                   visible="true" 
                   defaultValue="0" 
                   eanAi="" 
                   performCalculation="true" 
                   helpLabelMaximize="false" 
                   overDeliveryValidation="Warn" 
                   editable="true" 
                   uniqueValues="true" 
                   minValue="0" 
                   maxValue="0" 
                   primaryInputMethod="Scan"/>
            </steps>
          </registrationCollectorConfiguration>
          ]]>
        </Value>
    </Configuration>
</ReferenceData>

Example of ListData (DataTable)

<ReferenceData> 
  <UnitOfMeasure>
    <Code>BOX</Code>
    <Name>Box</Name>
  </UnitOfMeasure>
  <UnitOfMeasure>
    <Code>CAN</Code>
    <Name>Can</Name>
  </UnitOfMeasure>
  <UnitOfMeasure>
    <Code>DAY</Code>
    <Name>Day</Name>
  </UnitOfMeasure>
</ReferenceData>

This XML is automatically converted into table/list data and can be used to populate drop-down boxes by referencing the table and column names in the configuration.


Explore the Mobile WMS App