...
In the following text, the most basic Link document processing terms and 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 your own distributions.
Before diving into the building blocks, an important thing to understand is It is worth mentioning 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. You might find this topic a bit too technical - if so, just skip to the “Essential building blocks” section.
Canonical Data Model
In short, this integration pattern means that a format-in-the-middle is introduced for type of data that is exchanged. A CDM is an XML structure that a developer must create and make available in Link. For each of your document types (i.e. Orders, Invoices, Price catalogues etc.), you need to have one CDM format implemented. Before this is done, the document type will not be visible in Link. Understanding how to set up new document types is described in the /wiki/spaces/L300/pages/2478806904.
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).
The most essential Link building blocks
...
Essential terms in relation to setting up distributions
The terms 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.
...
AX Sales Invoice Xml
D365 Purchase Order Xml
Edifact DESADV D96A
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 examples
Standard (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.
Examples
1.0
2.0
3.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.
Examples
Purchase Invoice
Sales Invoice
Sales Order
Sales Order Response
Transport Instruction
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.
...
in relation to setting up new distributions in Link.
Note that all the terms mentioned in the following (except distributions) should be made ready by developers / advanced users. There is much more information about how to set them up in
the /wiki/spaces/L300/pages/2478806904.
Document type
A document type is used to define a business document entity. Some B2B integrations examples are Purchase Invoice, Sales Invoice, Sales Order, Sales Order Response, Transport Instruction - but any type of data entity can be reflected as a Document type in Link.
A developer should create a CDM schema for each document type and make them available for regular users.
Format, variant and version
When (later) setting up a distribution in Link, you need to choose format, variant and version of the outgoing document.
A format is a specific data format for one specific document type.
Note that it is a good idea to give names to your formats that reflect both the digital standard used and the document type.
E.g. for an Invoice document type, common example formats could be named:
EDIFACT D96A Invoice
PEPPOL Invoice
cXML Invoice
CSV Invoice
Custom XML Invoice
The variant is default set to “Standard”, but new ones can be created - e.g. supporting deviating mappings in case certain business partners has special requirements. In this case, a variant could be created and named after the specific business partner - e.g. “Contoso”.
The version is default set to “1.0” and it is pretty rare that the need arises to create more. The main use-case for creating new versions is if you are in a transition period between a certain integration - moving away from version 1.0 towards version 2.0.
Like with the document type, format/variant/versions should be made available for you by your developers / technical users. The developer will create a mapping between the CDM and each combination of the three and this will be selectable when creating distributions for the relevant document type.
Document Configuration and itinerary steps
When you have your document types and their associated formats/variant/versions ready, you are almost ready to use them for making distributions.
However, one last thing needs to be in place before you can do so - you must create so-called document configurations.
Remember that a full document flow (a distribution) consists of two mappings:
1) One from the inbound file format to CDM
2) One from CDM to the outbound format
The Document configuration is the entity that associates your document type and format/variant/version with the direction (inbound or outbound), and when you create your distributions, you need to select both and inbound and outbound document configuration. This way, you can flexibly configure mappings to and from CDM on your distributions.
Note that this is not all a document configuration does. On a document configuration, an advanced topic called itinerary steps is also configured - this is where several other (and even custom) functionalities like validation, disassembling, assembling, batching etc. can be configured.
Setting up document configurations is for advanced users or developers and will not be covered in the User Guide - there is much more information about this in the /wiki/spaces/L300/pages/2478806904.
As a regular user you should note, that the exact setup of a document configuration, could result in more options (fields, drop-downs, check-boxes) for you to consider when selecting the document configurations for your distributions.
Distribution
The distribution is the actual setup of a document flow of one document type moving from one partner to another partner.
Hopefully, this chapter has given you an understanding of the basic underlying data entities necessary to have in place before setting up distributions.
An important goal (normally) for a Link-setup is to make your document configurations reusable, so that regular users can set up distributions themselves for similar or near-similar integrations. Read more about this in the Make your integrations reusable chapter.