The core functionality in Link is to receive and send documents (data) between different partners/systems. Link supports many different data transport methods (i.e. FTP, SMTP, File transfer, API etc.) and it is possible to use any digital format (i.e. EDIFACT, PEPPOL, cXML, flat files, etc.) in both directions.
This example diagram shows a document exchange using different formats between two business partners.
In Link, one document exchange (or document flow) between two partners is called a distribution - in the diagram, two distributions are shown: One for Orders and one for Invoices.
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.
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.
The advantage of the CDM concept is loose coupling and flexibility: an input document format is never mapped directly to an output document format. This results in tremendous robustness - should the input or output formats change, all other code will remain intact.
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).
Essential terms in relation to setting up distributions
The terms explained in the following are the most essential to understand 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.