Relation

Dawid Kaczmarek Updated by Dawid Kaczmarek

Tab on the Global data management form.

Relations are used to replicate related tables, satisfying the criteria given.

Relations are used to replicate related tables, satisfying the criteria given.

In this case customer group, contact persons and customer bank accounts will be replicated when synchronizing customers.

It is important to consider the order of data tables in the Relation FastTab as they will be replicated in this order.

Table relation

Table relation points from the main table to the related table. In this example CustGroup has a table relation to PaymTerm.

Embedded Image

Embedded Image

Query relation

A Query relation is a one-to-many relation that points from the related table to the main table. An example is VendTable and VendBankAccount where the related table (VendBankAccount) has a defined relation back up to the main table (it is possible to have more bank accounts for each vendor).

Embedded Image

Embedded Image

Language Txt setup

LanguageTxt can be setup to be maintained globally using relations on the main tables.

Example: LanguageTxt on PaymentTerm
Enter the table LanguageTxt in the Management form.

Enter the table LanguageTxt in the Management form.

On the table PaymTerm make a relation to the table LanguageTxt

On the table PaymTerm make a relation to the table LanguageTxt

Single Field relation

A single field relation requires a one-to-one relation. This is the case for VendTable and VendGroup as there can only be one group on a vendor.

The Data field name is the name of the field in the main table. The Related field name is the name of the field in the related table.

Embedded Image

Embedded Image

Multiple relations between two tables

There is an opportunity to reflect multiple table relations between two tables. It might be useful, in case when a table has at least two fields related to the other table.

For example: the Sales order form (SalesTable) and the Customer account and Invoice account fields (both field from CustTable).

Embedded Image

Embedded Image

The Preinitialize related record parameter may be enabled on a record to ensure that for a particular field, the related record is initialized in the local company before the record is initialized on the main table, and the validation is skipped. This allows the main record to be pushed, including the required related field, without any error.

Example: If a Primary contact is specified on a vendor, and this vendor is pushed to a local company for the first time, this Primary contact is required to exist in local company in order for GDM to insert it on the vendor. Due to standard validations, synchronization of this vendor would fail, unless the validation is skipped. This is not always wanted for the entire table, but the Preinitialize related record parameter will solve this issue by skipping the validation for this field only, and then initialize the contact person prior to the vendor, in order to be able to assign it as Primary contact on the vendor once the vendor is created.

Example: If a Primary contact is specified on a vendor, and this vendor is pushed to a local company for the first time, this Primary contact is required to exist in local company in order for GDM to insert it on the vendor. Due to standard validations, synchronization of this vendor would fail, unless the validation is skipped. This is not always wanted for the entire table, but the Preinitialize related record parameter will solve this issue by skipping the validation for this field only, and then initialize the contact person prior to the vendor, in order to be able to assign it as Primary contact on the vendor once the vendor is created.

Inactive

Relation is not active, can be useful in system startup phase.

How did we do?

Recreate company updates

Table browser

Contact