Table of Contents

ZPL Layouts

In 3PL Dynamics, it is possible to create your own ZPL layout. Based on a source table, you can collect all (related) information for the ZPL layout. When you print a label, the ZPL string is generated.

Ribbon

Sample

Run a sample from the designed label, using the referenced record, on labelary.com.

ZPL Code to Clipboard

Copy the designed label, in the form of ZPL code, to your clipboard.

Print your designed label directly on your printer. The printer must be available on the print server first.

Analyze Performance

Analyze the performance of the function set(s) used on the ZPL lines.

Download ZPL Code

Download a text file containing the designed ZPL label.

Header Fields

Please note: all values set in the header fields are default settings. These will be overridden if a different value is set for the same field on the ZPL line.

You can define the following settings in the layout header:

General

Code

The name of the defined label, used as a reference when called by another object in Business Central.

Description

General description of what this label contains or its intended purpose.

Source Table No.

The table referenced to retrieve or calculate (field) values set on the label.

Source Table Caption

The actual (translated) name of the table referred to in the Source Table No. field.

Source Table Filter

Set filters on the table defined in the Source Table No. field to create a smaller subset of records. Constant values and wildcards are allowed.

Type

  • ' ' : For generic labeling
  • SSCC: Defined as Serial Shipping Container Code label. SSCC is a globally unique identifier for logistics units like pallets or containers.

Status

Specifies the status of the ZPL layout:

  • Open: The layout is not yet released.
  • Released: The layout is released and can be used.

Address Type

Specifies the address type for the label. Used for the Custom Format ZPL. Select the source field from the referenced record:

  • Company: Use the address information found in Company Information (cogwheel in the top right).
  • Customer: Use the address information found in the Sell-to Customer No. field of the document.
  • Ship-to Address: Use the address information found in the Ship-to Address No. field of the document.

No. of Copies

Specifies the number of copies generated when the label is referenced by report 11155036 "WMS Dynamic ZPL Label".

⚠️ Note: This is not the default.

Picture

End of life: Replaced by the "Import ZPL String" option on the ZPL layout line.

Position Settings

Left / Top Margin

Define the default spacing between the edge of the label and the actual print, based on X and Y coordinates. (0, 0) equals the top-left corner.

Grid Type

Specifies the type of grid used to align fields on the label.

⚠️ Only editable if Type is set to SSCC.

  • Auto: Coordinates are calculated automatically.
  • Auto (Two Columns Vert.): Creates two columns on the X-axis.
  • Auto (Two Columns Horz.): Creates two columns on the Y-axis.
  • Manual: Coordinates are taken from the ZPL layout lines.

Font Settings

Font settings apply per option. A caption or value is assigned font properties based on Font Name, Font Height, and Font Width.

Name

The font type (e.g., A, B, GS, R). Refer to the ZPL manual for font definitions.

Height

The height of the font (integer value).

Width

The width of the font (integer value).

Caption

Plain text fields on the ZPL line use this setting.

Value

Calculated or retrieved fields on the ZPL line use this setting.

Preview Settings

Sample Record ID

The selected sample record. Required to generate a preview.

Preview DPMM

Select the DPI of the printer used for the label.

Preview Width

Enter the label width in mm (integer).

Preview Height

Enter the label height in mm (integer).

Line Fields

Layout Code

Code defined in the header field.

Line No.

Automatically assigned based on line position.

Type

Select the type of ZPL Layout Line:

  • Text: Plain text, field value, or calculated value.
  • Barcode: Create a barcode.
  • Repeater: Print multiple records.
  • ZPL: Insert custom ZPL string.
  • Image: Insert an image as ZPL text, either imported on the line (Picture Text) or retrieved at print time with a value function set from the ZPL Repository.

Description

Description of what the ZPL Layout Line represents.

Caption

Specifies the caption to be printed (plain text).

Value Function Set

Retrieve or calculate values using a function set. For the functions that are available for ZPL layouts, such as IDENTIFIER for GS1 application identifiers on SSCC labels, refer to WMS ZPL Functions.
The IDENTIFIER function can print the EAN code and the quantity of the order unit of measure instead of the line unit, see Order Unit of Measure on SSCC Labels.
On a line of type Image, the value function set returns the complete ZPL text of the image, for example with GETZPLREPOSITORY from the ZPL Repository. The text is printed at the X Coordinate and Y Coordinate of the line. When the function returns an empty value, the image line is skipped and the rest of the label is printed; with Value Mandatory set to Mandatory (Error When Empty) an error is raised instead. Image lines without a value function set print their Picture Text as before.

ZPL Format

Custom ZPL code, can include % placeholders for values.

Value Mandatory

Specifies if the value is mandatory.

Source Table No.

Field defined in the header.

Blocked

Specifies if the line is blocked. Blocked lines will not be printed.

X Coordinate

Specifies the X coordinate of the value or caption.

Y Coordinate

Specifies the Y coordinate of the value or caption.

Caption Width

Overrides the default font width for the caption.

Alignment

Adds a third parameter to the ^FO command for additional alignment options.

Orientation

Specifies the orientation of the value or caption.

Barcode Height

Specifies the height of the barcode.

Barcode Width

Specifies the barcode module width (1–100 dots).

Barcode Width Ratio

Specifies the ratio between wide and narrow bars (2.0–3.0, in 0.1 increments). Larger values reduce scan failures.

Barcode Mode

Specifies the barcode mode for the line.

Barcode Type

Dropdown with available barcode types.

Font Name (Caption)

Overrides the default font name for the caption.

Font Height (Caption)

Overrides the default font height for the caption.

Font Name (Value)

Overrides the default font name for the value.

Font Height (Value)

Overrides the default font height for the value.

Table No.

Select the table used for the repeater.

X Step Value

Specifies the X step value for the repeater.

Y Step Value

Specifies the Y step value for the repeater.

Font Width (Caption)

Overrides the default font width for the caption.

Font Width (Value)

Overrides the default font width for the value.

Line Height (Caption)

Specifies the line height for the caption.

Line Height (Value)

Specifies the line height for the value (FunctionSet).

Repeater Type

Specifies the repeater type and how to group the repeater values.

Hide Barcode Text

Specifies if the barcode text should be hidden, e.g., barcode only without its translated value.

Custom Repeater Values

Use Batch No. format to create a unique value filter.

Repeater Size

If you are using a repeater in your ZPL layout, this specifies how many lines will fit on a layout. If there are more lines than the repeater size, additional layouts will be created.
For example: 25 lines with a repeater size of 5 results in 5 ZPL layouts.

Picture Text

Allows importing a picture converted to a text file into the line. Please refer to the ribbon on the line.
The picture text is the same for every label printed with the layout. To print a different image per record, for example the product photo of each customer item, store the image in the ZPL Repository and retrieve it on the image line with a value function set.

Order Unit of Measure on SSCC Labels

Customers can order in a different unit than the unit in which the warehouse handles the goods. On the shipment line, Order Quantity and Order Unit of Measure Code determine the Quantity and Unit of Measure Code of the line, and all logistic processes work with that line unit. On the SSCC label, however, you may want to show the EAN code and the quantity of the order unit.

The value function IDENTIFIER of the function set WMS ZPL Functions offers the parameter USEORDERUOM for this. Set it to true on the layout lines that print GS1 application identifier 01 or 02 (GTIN/EAN) and 37 (count of trade items).

Prerequisites

  • The order unit exists as a unit of measure of the customer item, with an EAN Code and a Qty. per Unit of Measure.
  • The label is printed from a shipment detail line or from a handling unit of a shipment. For VAL orders, the order unit of the VAL process line is used when the detail line has none.
  • The Order Unit of Measure Code of the line differs from its Unit of Measure Code. When both are equal, the label prints the values of the line unit as before.

Result

  • AI 01 / AI 02: the EAN Code of the order unit, left-padded with zeros to 14 positions. When the order unit has no EAN code, the EAN code of the line unit is printed as before.
  • AI 37: the quantity converted to order units, i.e. the base quantity of the line divided by the Qty. per Unit of Measure of the order unit. For example, a shipment line of 60 PCS that was ordered as 5 BOX (12 PCS per BOX) prints 5.
  • Layout lines without USEORDERUOM, and all other identifiers, are not affected.
Note

When the label is printed from a handling unit that holds several customer items or units of measure, the EAN code and quantity are taken from the shipment detail line with the same customer item and unit of measure as the handling unit content.