Link Basic Building Blocks
Link has its own vocabulary, which is essential to understand in order to be able to configure Link. The ultimate goal for a business is to be able to send a document in a given format to a given partner, and in the following the most basic terms and the most basic building blocks will be described. The chosen order below is carefully chosen, as it will build up your understanding to ultimately be able to create what is known as a distribution between a sender-partner and a receiver-partner.
Before diving into the building blocks, an important thing to understand is that Link is largely built to support the integration pattern called Canonical Data Model. This will also be referred to as Common Data Model or in short, CDM.
Canonical Data Model
In short, this integration pattern means that a format-in-the-middle is introduced. A CDM is an XML structure that the developer must code.
The advantage of the CDM is loose coupling and flexibility: the input document is never mapped directly to an output document. This results in tremendous robustness if the input document changes.
An input document will be mapped to the CDM XML structure, and when data has been mapped to the CDM it is used as basis for mapping to the desired output documents. Therein lies the flexibility offered by the CDM format.
Having a format-in-the-middle, however, means that the developer must code two mappings: a mapping that maps the input document to the CDM XML structure, and a different mapping that maps the CDM XML to the desired output(s).
![](../__attachments/2422898778/att_8_for_2422898778.png?inst-v=a204603b-72d2-4d67-b324-401abe447902)
The most essential Link building blocks
Link is highly configurable. But the building blocks explained in the following are the most essential to understand, as they will enable you to send a document to a partner.
The goal is to be able to create a distribution based on a number of steps/building blocks which will be explained in the following.
Formats
![]() | A format is a building block used when configuring a document configuration. A format is a text string that is named according to a format that you need.
|
Variants
![]() | A variant is a building block used when configuring a document configuration. A variant is a text string that you create to be able to state a specific variant of a specific format. Naming examplesStandard (The standard version of the variant) Contoso (A customer specific variant that should only be used for a specific party) EANCOM (A Subset of the standard described by a specific organization) STRU or DAVID (A subset defined by a sector/industry – maybe even in a specific country) |
Variant versions
![]() | A variant version is a building block used when configuring a document configuration. A variant version is a number you create to be able to state a specific variant version of a specific format. A Variant Version is not to be confused with the format version, like e.g., UBL 2.1. That should be in the Format Name. Examples1.0 |
Document Type
![]() | A document type is a building block used when configuring a document configuration. A document type is used to define a business document entity. You register the Common Data Model (CDM) schema (.xsd) to the document type. ExamplesPurchase Invoice |
Document Configuration
![]() | A document configuration is a building block used when configuring a distribution. When configuring a document configuration, you must state which document type it belongs to and you must state variant, variant version, format and if the given document configuration is Inbound or Outbound relative to the CDM schema. You also configure the document configuration with a transformation map (.xsl) The term Inbound means that the document configuration has the purpose of transforming/mapping data to the CDM. The term Outbound means that the document configuration has the purpose of transforming/mapping data from the CDM. At a minimum, two document configurations are needed: 1) map the input document to CDM and 2) map the CDM to the desired output document. |
Distribution
![]() | A Distribution is where the previously configured building blocks are actually put into use. A distribution must be set up between a sender-Partner and a receiver-Partner. When you create a distribution, you must first select the document type. The document type has already been prepared in the previous steps, so you will only be presented with relevant select-options in terms of formats/variants/versions for that document type. |
Thus, a distribution in Link is where all the essential building blocks come together.
![](../__attachments/2422898778/att_7_for_2422898778.png?inst-v=a204603b-72d2-4d67-b324-401abe447902)