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 rules

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.

If no (applicable) routing lines are configured for the matched header, no printing will take place. Once Document routing header is matched, the matching process is finished, regardless of the status of the related routing lines.

Condition Query

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),
(B) reprinted.

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

Abbreviations:
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).

However, if we want to use a single DR for multiple users, we CANNOT use DRQ (e.g. with criteria for multiple users), because its query range is matched only against Label user (and not Printing user). So, using single DR for multiple Printing users is not possible! For each combination (user, printer), a new DR needs to be created.

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.

When a license plate label is printed, the user who prints the label and the label data are first matched against Document routing header conditions. After finding the first header match, only those child Document routing lines, whose Mobile device user IDs and the condition Query match the printing user and label, will get executed.

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.

Improved Document routing printers with Label layouts

In 10.0.36 D365FO version, Microsoft delivered new Label layouts improving License plate labels and Dynamic printer selection improving Document routing for License plate labels (and Container labels).

From version 3.4.8, Docentric supports new Label layouts in exactly the same way as Document routing layouts, as described in this manual. All setup and printing improvements are seamlessly applied regardless of which of them is used. Also, Dynamic printer selection is supported for Docentric templates as well as for both ZPL-based Document routing layouts and Label layouts.

New Label layouts can be used instead of Document routing layouts by turning on the Use label layouts for license plate labels option in the Warehouse management parameters > the General tab > the License plates fast tab. Dynamic printer selection is turned on by default.

Learn more about Label layouts and Dynamic printer selection >>

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

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.

Docentric templates

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.

You can select among all Docentric templates configured in Docentric report setup, whose DSP class inherits from DocWHSLicensePlateLabelDSPBase (for example, the DocWHSLicensePlateLabelDSP class with a description License plate label DSP provided by Docentric), regardless of the parent report.

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.

Check how to setup and design Docentric templates >>

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

Supported options:

  • 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).

To add a custom additional token for label language to be resolved dynamically, subscribe to a delegate resolveWhsLabelLanguageDelegate() in the DocWHSLicensePlateLabelController class.

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.

Number of copies for ZPL layouts can be implemented via a ZPL command.

Page orientation

From v3.4.9, Docentric supports setting up page orientation to Portrait or Landscape, by configuring the new Orientation field in a Document routing line setting. So far, the default printer settings have always been used when printing a license plate label to the network printer configured in the Docentric Document routing printers setup.

Test setup

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

 

The Test Document routing setup dialog above provides the following:

  • All possible combinations of printers and layouts (ZPL layouts and Docentric templates) that will be used if a given mobile device user prints the selected label ID from the Warehouse mobile app. Each line in the Document routing printers result and Docentric Document routing printers result represents one applicable combination.
  • Information if a printer is resolved as a result of the dynamic printer selection or is specifically selected in the Document routing printers setup.
  • Information if resolving the printer name based on the dynamic printer selection failed.
  • Open Document routing setting button: it opens the matched Document routing header.
  • Print label using setup button: it prints the selected license plate label on behalf of the selected mobile device user, using all matched Document routing settings.
  • Dynamic printer selection button: it provides useful shortcuts for configuring the dynamic printer selection.

Print

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.

 

As explained above, in the Warehouse mobile app license plate labels can be either created and printed (which is an atomic operation) or reprinted. On the other hand, in the D365FO rich client app, they cannot be neither created & printed nor reprinted. With this Docentric enhancement, now they can be reprinted from D365FO.

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.

 

Troubleshooting

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.

See Also

Label Layouts and Dynamic Printer Selection >>
Using Docentric Templates with License Plate Labels >>
How to Add Additional Data to License Plate Labels >>
How to Turn On License Plate Labels Feature >>
Import/Export License Plate Labels >>

IN THIS ARTICLE