Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
When the mobile device sends a request to get the order lines for a particular order it can receive the following information for each line (not all fields are mandatory)Header and their Filters/Fields are generated during Reference Data
Code Block | |||||
---|---|---|---|---|---|
| <?xml version
| ||||
<headerConfiguration> <lines> <add id="1.0" encodingname="utf-16FromWarehouse"?> <response messageid="147db121-f664-4fb7-8d08-019ddf7405b1" status="Completed" xmlns="http://schemas.microsoft.com/Dynamics/Mobile/2007/04/Documents/Response"> <description /> <responseData> <registrationCollectorConfiguration> <steps> <add id="1" name="PackingSlip" inputType="Text" header="Packing slip" label="Packing slip" helpLabel="" length="20" eanAi="label="From warehouse" labelWidth="100" inputType="List" dataTable="WarehouseList" dataKeyColumn="InventLocationId" dataDisplayColumn="InventLocationId" linkedElement="2" linkColumn="InventLocationId" clearOnClear="false" acceptBarcode="false" minValue="0" maxValue="0" length="0" optional="false" /> <add </steps> </registrationCollectorConfiguration> <BaseOrderLine xmlns="http://schemas.taskletfactory.com/MobileWMS/BaseDataModel"> <OrderBackendID>RE000007</OrderBackendID> <LineNumber>10000</LineNumber> <ItemNumber>TF-003</ItemNumber> <Attachment>0</Attachment> <FromBin /> <ToBin /> <ValidateFromBin>false</ValidateFromBin> <ValidateToBin>false</ValidateToBin> <ItemNumber>1150</ItemNumber> <ItemBarcode>03661103036043;068U0439-03;08008203800764;1010154;12345678901231;2222555;3046920028752</ItemBarcode> <RegisterSerialNumber>false</RegisterSerialNumber> <RegisterLotNumber>false</RegisterLotNumber> <RegisterQuantityByScan>false</RegisterQuantityByScan> <RegisterExpirationDate>false</RegisterExpirationDate> <SerialNumber /> <LotNumber /> <Description>Front Hub</Description> <Quantity>100</Quantity> <RegisteredQuantity>0</RegisteredQuantity> <UnitOfMeasure>PCS</UnitOfMeasure> <Status>0</Status> <Sorting>0</Sorting> <DisplayLine1>1150</DisplayLine1> <DisplayLine2>Front Hub</DisplayLine2> <DisplayLine3>UoM: PCS</DisplayLine3> <DisplayLine4>Shipment: SH000005</DisplayLine4> <DisplayLine5 /> <UnderDeliveryValidation>Warn</UnderDeliveryValidation> <OverDeliveryValidation>Warn</OverDeliveryValidation> <RegisterExpirationDate>false</RegisterExpirationDate> <AllowBinChange>true</AllowBinChange> <ItemImage>22-02-2021 15:23:03.077Item: TF-003</ItemImage> <ReferenceID>Warehouse Activity Line: Pick,PI000003,30000</ReferenceID> <Destination>SH000005</Destination> <Priority>0</Priority> <PriorityValidation>None</PriorityValidation> <!-- Optional --> <RewindToStepOnIncompleteLine>LotNumber</RewindToStepOnIncompleteLine> <!-- End optional --> </BaseOrderLine> </responseData> </response> |
Elements of the response is used in conjunction with the setup in UserRole.xml - in special how lines are shown. There the "listConfiguration" - "dataMember" is a references to display fields, defined here.
These are also called "Header Steps". One collection is collected for all lines.
See Whitepaper Understanding Steps
Boolean "true"/"false", control field.
Special field to specify a RegEx - for barcode validation.
Example: <BarcodeFormat>{[frombin][^\w{1,10}$]}</BarcodeFormat>
Field FromBin the barcode must be validated against the specified RegEx.
String (RegEx), control field.
Vaild fields to add regex: frombin, lot, serial, tobin, tote
Example: {[serial][regex1]}{[serial][regex2]}{[lot][regex3]}{[bin][regex4]}
A list of valid barcode - quantites.
Used when RegisterQuantityByScan is true or by itself.
Example: <BarcodeQuantity>PAPER1BOX{5};PAPER1PL{240}</BarcodeQuantity>
Barcode "PAPER1BOX" will bump the picked quantity with 5, "PAPER1PL" bump with 240.
Optional, String list (";" is seperator, quantity specified in {}), control field.
String, display field.
Defined as nvarchar(max) so can contain a lot of text.
String, display field.
String, display field.
String, display field.
String, display field.
String, display field.
Value of the FromBin.
It is possible to specify options for this field. E.g. a value of "@type=location;" and the value after.
Valid types are "location" or "pallet".
String, control field.
Dynamics AX: From Location
A list of valid barcodes, identifying the current line.
Optional, String list (";" is sepeator), control field. See Select Line by scan (scanToSelectBehaviour)
Mandatory valule, String, control field.
It is possible to specify options for this field. E.g. a value of "@type=location;" and the value after.
Valid types are "location" or "pallet"
String, control field.
Dynamics AX: To Location
String, control field
Dynamics AX: Batch number
Mandatory value, String, control field.
Enum "None","Warn","Block", control field.
If true, then the end-user is prompted for specifying a serialnumber.
Boolean "true"/"false", control field.
See also RegisterSerialNumberQuantity
Boolean "true"/"false", control field.
Boolean "true"/"false", control field.
This is a control - to add extra steps to the current line.
Example: <RegisterExtraInfo>ReturnDisposition{[CauseId][defaultValue][51]}</RegisterExtraInfo>
It has a special setup, "ReturnDisposition" is a reference to a registrationCollectorConfiguration defined in GetReferenceData. The "CauseId" is a reference to a step in the collector - and "51" is the value to set. The field is not fully described here.
The collected values is returned in a "ExtraInfo" element per Line/Registration.
Optional field, String, control field.
The default behaviour of the mobile device when registering serial numbers is to assume a quantity of 1.
In some cases it may prove desirable to have a different quantity associated with the serial number.Boolean "true"/"false", control field.
Integer/Decimal, control field.
Boolean "true"/"false", control field.
Use this element to have the registration collector return to a named step in the registration collector after performing a registration which is below the Quantity of the order line.
If set to LotNumber, and there is a remaining Quantity on the order line after completing a registration, the registration collector will not close, but return to the LotNumber step.
String, control field.
Integer, control field.
Mandatory, Integer, control field.
Enum "None","Warn","Block", control field.
String, display field.
Should a specified FromBin be validated.
Boolean "true"/"false", control field.
Boolean "true"/"false", control field.
Integer/Decimal, control field.
TODO
<<--- Consolidate the two lists
The unique identifier of the order in the backend system.
The line number of the order line in the backend system.
This is where the item should be taken from. E.g. a bin code (NAV) or a location (AX).
This is where the item should be placed. E.g. a bin code (NAV) or a location (AX).
True: The mobile user must scan the correct FromBin value before he is allowed to perform the registration.
False: The mobile user can start the registration without validating the FromBin
True: The mobile user must scan the correct ToBin value before he is allowed to perform the registration. If the ToBin element is blank the user can scan any value. This will make the user register where the items are placed (the user decides).
False: The mobile user can start the registration without validating the ToBin
This is the unique identifier of the item in the backend system. The user can scan this value on the order lines screen to select the line.
The (short) description of the item.
This is the unique barcode value for this item. The user can scan this value on the order lines screen to select the line. If multiple barcodes are associated with the item a list of barcodes can be transferred. The default separator for barcodes is “;”.
E.g. barcode1;barcode2;barcode3
This can be helpful if items are packaged inside a box and the item barcodes are not visible unless the box is opened. Typically the box will have another barcode on it (because it’s a different unit of measure). If this barcode is also sent out it can be used to select the order line.
True: The mobile user must scan the serial numbers of the items to handle. Each scan of increments the registered quantity by one.
False: A quantity can be entered directly.
True: The mobile user must first scan a lot number and then enter a quantity.
False: A quantity can be entered directly.
This flag is used in combination with the RegisterLotNumber flag. If the lot is associated with an expiration date then this date can be captured on the mobile device by setting this flag.
The mobile user is allowed to register the expiration date in the short date format of the current regional settings on the mobile device, but the date format on the registration is always:
dd-MM-yyyy (e.g. 24-12-2009)
True: The mobile user must enter the expiration date after entering the lot number (before entering the quantity).
False: The user does not have to enter an expiration date
RegisterQuantityByScan
True: The user must scan the item number / barcode to register a quantity. Every scan adds 1 to the total quantity.
This setting is used in scenarios where it is very important that the handled items are correct.
An example of this is when picking medicine that does not use item tracking. Here the user must scan each individual packet / bag to verify that they match the ordered.
False: The user is allowed to enter a quantity.
If the RegisterSerialNumber element is true and this element holds a value, the mobile application will verify that the user handles this particular serial number.
If the RegisterLotNumber element is true and this element holds a value, the mobile application will verify that the user handles this particular lot number.
The quantity to handle on the mobile device.
Not used at the moment – always set this value to 0.
The unit of measure.
Not used at the moment – always set this value to 0.
When the order lines are displayed they are sorted by this column.
This value is displayed on line 1 on the ”Order Lines” screen. The line is displayed in bold.
DisplayLine2 [string100]
This value is displayed on line 2 on the ”Order Lines” screen.
DisplayLine3 [string100]
This value is displayed on line 3 on the ”Order Lines” screen.
UnderDeliveryValidation [string]
This element determines how the application behaves when the user tries to post the order. It determines if the user will receive a warning or be blocked if an incomplete order is being posted. You can also turn off validation completely.Thevalid values are:
None
The order lines are not checked before posting.
Warn
The user is warned if incomplete lines are discovered. The user can ignore the warning and post anyway. This setting is useful as a check to see if the user has missed a line unintentionally.
Block
The user cannot post orders with unfinished lines. This setting is useful if posting of an incomplete order will cause problems in other work processes. E.g. picking for a production order.OverDeliveryValidation [string]
- The user is allowed to proceed with the over delivery without any interference.
- The user is warned and asked whether to proceed when trying to register a quantity that exceeds the expected. This is to make sure the user is doing so intentionally.
AllowBinChange [boolean]
This flag determines if the user is allowed to register other bins / locations than specified by the ERP system.
True: The user is allowed to use other bin / locations. When another bin / location is scanned the user will get a warning message, but he can ignore the warning and proceed with the registration.
False: The user is not allowed to use other bins / location. When another bin / location is scanned the user will get a message telling that changing bin / location is not allowed.
id="2" name="ToWarehouse" label="To warehouse" labelWidth="100" inputType="List"
dataTable="WarehouseList2" dataKeyColumn="InventLocationId" dataDisplayColumn="InventLocationId"
clearOnClear="false" acceptBarcode="false" minValue="0" maxValue="0" length="0" optional="false" />
<add id="3" name="ItemNumber" label="Item number" labelWidth="100" inputType="Text" clearOnClear="true"
acceptBarcode="true" minValue="0" maxValue="0" length="100" eanAi="02,01" optional="false" />
</lines>
</headerConfiguration>
|
Order Lines list