How to: Set Up Legacy Field Compatibility

In this article

When to use legacy field compatibility

To activate a legacy field pair

Fields

Some Business Central fields are obsoleted and replaced with a new field as the product evolves. If a point of sale (POS) is running an older version than head office, it may not recognize a field that head office has already replaced, and this can raise an error when the POS communicates with head office over the web service. Such compatibility issues are exceptions and should not normally occur. The Legacy Field Compatibility page is a workaround for this: instead of upgrading every POS system, you can configure a specific field so the web service sends its value under the field's old, legacy name, letting an older POS still process it.

This is a tradeoff: keep the values in that field within the legacy length, or leave the pair switched off and upgrade the POS to a compatible version instead.

When to use legacy field compatibility

Use this page only when a connected POS is running an older version than head office. When you switch a pair on, the web service sends the old field name instead of the new one, with the new field's value, using the old field's length.

Important: The list of field pairs on this page is fixed. You cannot add, change, or remove a pair yourself — a pair is added only when a specific compatibility issue needs it.

Pairs currently defined:

Table New Field Legacy Field Resolves
Membership Card Number Series No. Series The error ‘Field Name Number Series cannot be converted to Field No.’ that occurs when selecting a new membership card for a new member account in POS menu Member Contact.

To activate a legacy field pair

  1. Click the icon, enter Legacy Field Compatibility, and select the relevant link.
  2. In the list, find the row for the table and field pair you want to make legacy-compatible.
  3. In the Active field, select the check box. The system scans all records on the owning table for values in the New Field that exceed the Legacy Field Length, and refreshes Over-length Records with the result.

    If no over-length values are found, the pair is saved as active, and Over-length Records shows 0.

    If any records are found with a value too long for the legacy field, activation is refused. An error names the field and table, the number of offending records, the legacy field length, and up to ten of the offending records, and Active stays cleared. Do one of the following:

    • Shorten the offending values to fit the legacy field length, then select Active again.
    • Leave the pair switched off, and upgrade the older POS to a version that knows the new field name instead.

Fields

Field Description
Table Specifies the table that owns the field pair.
New Field Specifies the current field name. While the pair is active, this field's value travels on the wire under the legacy field name.
Legacy Field Specifies the obsolete field name that the new field replaced. While the pair is active, this is the name actually sent on the wire.
Legacy Field Length Specifies how many characters the legacy field holds. A value longer than this cannot be sent to an older POS.
Active Specifies whether the pair runs in legacy-compatible mode. This is the only field you can edit directly. Turning it on triggers a scan for over-length values, as described in To activate a legacy field pair.
Over-length Records Specifies how many records held a value too long for the legacy field, as of the last scan. This number is refreshed automatically whenever you try to switch Active on.