How to Setup and Print License Plate Labels
Document routing setup
License plate labels are printed in D365FO from Warehouse mobile app, using Document routing setup. This setup contains configurations for printing license plate labels to particular network printers using particular ZPL layouts, stored in Document routing layouts, under certain conditions. The configurations are grouped by Work order type such as Purchase orders and Sales order.
Document routing header
Furthermore, Document routing setup consists of Document routing header and line settings. The purpose of Document routing header is to define a condition that serves as matching criteria against printing license plate labels. Note that only the first matched Document routing header setting from Document routing setup, associate to appropriate Work order type, will be used for printing of a single license plate label. The order of matching relies on the Sequence number field in Document routing header.
Matching a printing license plate label that is printed by a mobile device user against a Document routing header setting is done in the following way:
(1) The fields of the printing label - License plate label (the WHSLicensePlateLabel table record), are compared with the corresponding fields in the Overview tab of the Document routing header (WHSDocumentRoutingTable) table record: Work order type, Warehouse, Account number, Mobile device user ID, Carrier, Work template, From zone ID and To zone ID.
If any of matching fields is not set, it’s ignored in the matching operation.
(2) The user who prints the label (Mobile device user ID) is matched against the Mobile device user ID field in the Overview tab of the Document routing header setting, if this field is set. If not set, this field is ignored in the matching operation.
We will discuss below what’s the difference between Printing user and Label user (a user who creates the label).
If the condition (1) or (2) fails, the matching operation stops for the current Document routing header and continues for the next Document routing header that follows in Document routing setup according to Sequence number for the current Work order type. Only if both (1) and (2) conditions are met, the condition Query configured on Document routing header, described in (3), is considered for further matching.
(3) If the Run query option is turned on on the Document routing header (WHSDocumentRoutingTable) table record and the condition Query is configured, it gets executed. If the query execution results in one or more records, matching operation is successfully completed, resulting in the current Document routing header.
On the other hand, if the Run query option is turned off, matching operation has been already successfully completed, by fulfilling the conditions (1) and (2).
Once the first Document routing header is matched, no further matching is done. All related (applicable) Document routing lines, called Document routing printers, as well as all related (applicable) Docentric Document routing lines, called Docentric Document routing printers, get executed, which means that the label is printed to those printers and using those layouts as configured in each line.
The condition Query on Document routing header is based on the License plate label (WHSLicensePlateLabel) table and optionally executed as described in Matching rules.
The default condition query contains Label ID, a mandatory criteria field that is always set to the printing license plate label ID. We can change the default condition query by adding additional criteria fields from the License plate label (WHSLicensePlateLabel) or any related table.
Document routing printers (Document routing lines)
Document routing printers or Document routing line settings contain configurations that determine which ZPL layout (Document routing layout) to use to print the license plate label matched with the parent Document routing header, and to which network printer. All configurations get executed, resulting in printing the label to those printers and using those ZPL layouts as configured in each line.
Improved Document routing printers
Before explaining how Docentric improves Document routing, we will first explain how the built-in Document routing is used for printing license plate labels by Warehouse users.
Document routing and Warehouse users
License plate labels can be in the Warehouse mobile app:
(A) created and printed (atomic operation),
Warehouse users in regard to label printing can be in one of two roles:
- Printing user (i.e. Mobile device user ID),
- Label user (label creator, i.e. a user stored in the label).
In (A), Printing user = Label user.
In (B), Printing user is not necessarily equal to Label user.
Document routing (without Docentric) explained
DR = Document routing header
DRQ = Document routing header query
If DR.User is set, it is always matched against Printing user, which is in (A) equal to Label user, while in (B) it can differ from Label user. Therefore, DR.User should be configured if we want to link certain users with certain printers (and layouts).
Thus, Document routing setup should provide matching mechanism for:
- Combinations (user, printer),
- Combinations (printer, layout),
- All other combinations (warehouse, work template, account, item, etc.).
which is potentially a lot of configurations!
Docentric improvements for Document routing printers
The first Docentric improvement of Document routing setup is to enable using a single Document routing header for multiple mobile device users, i.e. users who print labels. This is done by adding a new matching field to Document routing printers setting (i.e. per Document routing line), called Mobile device user IDs, which can contain zero or multiple user IDs. This way you can more easily configure (user, printer) combinations.
The second Docentric improvement of Document routing setup is adding a condition Query per Document routing printers setting (i.e. per Document routing line) for optional use (the Run query option can be turned on/off). This way you can more easily configure (printer, layout) combinations.
This all means that you can configure matching criteria on both Document routing headers and lines against printing license plate labels and printing users, if needed.
Execution of a Document routing line means printing the license plate label to the network printer and using the ZPL layout (Document routing layout) as it is configured in this line settings.
Docentric Document routing printers
In addition to Document routing printers which can be conditionally printed (by configuring a selection query per line), we also introduced Docentric Document routing printers. These routing line settings enable:
- Printing order,
- Conditional execution via Mobile device user IDs,
- Conditional execution via configuration of a condition Query,
- Use of Docentric templates instead of ZPL layouts,
- Configuration of Label language,
- Configuration of Number of copies.
Printing order is ensured by line order in the Docentric Document routing printers grid. All applicable line settings will be executed in the order as configured in the grid. Which line settings are applicable is determined by evaluating the conditions (if those are configured): Mobile device user IDs and the condition Query, as described above.
Mobile device user IDs
Select which mobile device users can print a license plate label using the configured layout to the network printer configured in this setting. Leave empty, if Mobile device user condition should not be applied when matching the routing line against the printing license plate label.
Line condition Query
Turn on the Run query option to enable the configured condition Query for the current Document routing line setting. The conditional execution rules are the following:
- If Mobile device user condition is met or not set, Run query is turned on and the configured criteria are met against the printing license plate label, the setting will be executed.
- If Mobile device user condition is set and met, and Run query is turned off, the setting will be executed.
- If Mobile device user condition is not set, and Run query is turned off, the setting will always be executed.
You can select which Docentric template to use to print a license plate label, which meets both header and line setup conditions, to the network printer configured in the same Document routing line setting.
Note that same Template ID can be used for different template documents for particular companies and languages. Which template will be used at the moment of printing depends on the runtime company and language.
Since Docentric templates support multiple languages, multilingual license plate labels are supported OOTB. You can also set up the language to use when printing a license plate label using a specific Document routing line setting.
- Current company language (token: @COMPANY_LANGUAGE@),
- Current user language (token: @USER_LANGUAGE@),
- Account language (token: @ORDER_LANGUAGE@),
- Order language (token: @ACCOUNT_LANGUAGE@),
- Language selected explicitly such as de, es, fr, etc.
All tokens are resolved at the moment of printing a license plate label. Current company and current user language are common values, whereas Account and Order language are resolved as languages of the Vendor/Customer and Purchase/Sales order related to the printing license plate label (the WHSLicensePlateLabel table record).
Number of copies
Number of copies specifies how many label copies to print. For example, if this field is set to 3, when printing a license plate label using this setting, it will be printed 3 times.
To ensure that Document routing setup is properly configured, you can use the Test setup functionality. Instead of printing a license plate label from the Warehouse mobile app and checking if it has been printed on the network printer (usually a Zebra printer) as configured in Document routing setup, you can select this license plate label on the Test setup form and check what would be the printing result for a particular mobile device user.
Thus, on the Test setup form select a license plate label and the user who should print the selected label. This user as well as the label data will be used for matching against Document routing setup. If Mobile device user ID is left empty, the user from the selected label, which is the label creator, will be used for matching.
Click the Test button to test Document routing setup against the selected label and printing user.
The printing result consists of:
- the first matched Document routing header setting, considering Work order type, Sequence number, Mobile device user ID and criteria fields from the Overview tab, and the header condition query (if Run query is turned on), and
- all matched Document routing lines, with both ZPL layouts and Docentric templates, considering the line Mobile device user IDs and condition queries (if Run query is turned on).
You can also open the matched Document routing header by clicking the Open Document routing setting button, or you can print the selected license plate label on behalf of the selected mobile device user using all matched Document routing settings.
So, if a mobile device user prints the selected license plate label from the Warehouse mobile app, it will be printed to those printers using those designs (ZPL layouts and Docentric templates) from the resulting Document routing lines (Document routing printers result and Docentric Document routing printers result) as shown on the Test setup form.
Instead of printing a license plate label from the Warehouse mobile app, you can also print it from D365FO, from Document routing setup and the License plate labels form, which can be useful if you want to test label printing or reprint a label.
You can print a license plate label using Document routing setup, by selecting the label and mobile device user on whose behalf you will print the label. Next, you can choose whether to print the label using ZPL layouts (Document routing printers), Docentric templates (Docentric Document routing printers) or both.
Note that when printing from the Warehouse mobile app, all Document routing printers settings that are configured and matched will be executed, meaning that you cannot turn off ZPL layouts nor Docentric templates as you can on the Print using setup form.
Next, you can also print a license plate label without using Document routing setup. This way you can print a label to a specific printer using a specific layout (both ZPL layout and Docentric template), bypassing the setup.
Additionally, when printing without setup and using Docentric templates, you can also preview the label in Docentric Viewer and generate DDSP, which is needed for template design.
Print label > Print without setup (Docentric) opens a dialog Print label without setup using Docentric templates. You can preview any license plate label using a selected Docentric template, without printing it, by turning on the Print preview option. The label will be rendered and opened in Docentric Viewer.
Print preview of a particular template can also be done from Docentric report setup. Learn how >>
Document routing status
Document routing status is a table with print jobs routed to network printers via DRA agents. It contains links to both EMF documents and ZPL layouts (commands) temporarily stored on Azure Blob storage as well as the target printer names.
Learn more on how DRA works >>
When printing a license plate label, regardless of it being printed from the Warehouse mobile app or D365FO app, the corresponding print jobs will be saved in the Document routing status table and can be monitored from there.
Unfortunately, it's hard to monitor the printing status of ZPL layouts in Document routing status, since the Report name field is set to Printer name. However, you can monitor the printing status of labels printed using Docentric templates, because you can configure Report name to contain meaningful information.
If you don’t change the default configuration, Report name will be in the format: LPL: <License plate label ID> | User: <User ID> | LP: <License plate ID>, for example: LPL: LPL-00003 | User: 25 | LP: 000USMF-0000000031.
You can change this by configuring Report caption of the DocWHSLicensePlateLabel.Report report in Docentric report setup using placeholders.
For example, if we set Report caption to LP: @LicensePlateId@ Warehouse: @InventLocationId@ Order: @OrderNum@ User: @WhsUserId@ and afterwards print a sample license plate label using a Docentric template related to DocWHSLicensePlateLabel.Report, the resulting Report name in Document routing status will contain the resolved placeholder values.
When printing - (A) creating & printing or (B) reprinting - a label from the Warehouse mobile app, it may happen that no routing header in Document routing setup is matched, or a routing header in Document routing setup is matched but without matching lines (or without lines configured). In these cases, no label will get printed. The problem is that there will be no warning message on non-matching setup in the Warehouse mobile app.
So, what you can do when a label has not been printed on the expected printer while executing a particular process in the Warehouse mobile app?
- Test the setup against this label and the user who has printed it. If no Document routing header and/or lines are matched, you will get the complete warning message.
- Reprint the label from D365FO. Because of extensive messaging, you will be able to distinguish between invalid setup situation and a printing problem.
- Check Document routing status for the corresponding target printer, printing Label ID and user (i.e. Mobile device user ID). If there is a record pointing to the printed label by the particular user, this means that the label has been sent to the target printer for printing, so you can inspect DRA logs for further investigation.