Chapter 4. Channels
Overview
This section gives you the high-level view of how the messages are processed by the Babelway system.In Babelway words, the messages are processed by Channels. A channel defines the full path that a message follows within Babelway, from the external s ...
Channels List
The List of Channels screen shows you all the channels defined in your environment, and is the starting point for editing them, create new ones or deploy them to the production systems. Channel List ScreenThe list can contain the following: Name: A ...
Creation of a New Channel
This screen allows you to create a new channel from scratch.It is accessible from the channels list screen.The screen will just prompt you for a name and a description for your channel. When filled, just click on Create. The channel will then be crea ...
Deployment
Main features of Deployment V2 Deployment occurs on the element (Gateway, Message, etc.) level Deployments can occur independently (easier for multiple users in one environment) Visual changes to channels and elements noting completeness and status C ...
Delete a Channel
To delete a channel, just click on Delete in the general tab of the channel detail screen.This action is not available if the channel is currently deployed (You will find the Delete button is grey and can't be clicked on ). If it is the case and you ...
Duplicate a Channel
This operation allows you to easily create a channel similar to an existing one.By default, the created channel will be completely independent from the source one : all referenced elements (gateways, message definitions and transformations) will also ...
Gateways
This section contains all the tools needed to manage your gateways. A simplified edition of the gateways is directly available in the channels overview, but you need to come to this section to have access to all functionalities.Gateways are used in B ...
Gateways List
The List of Gateways screen shows you all the gateways defined in your environment, even if they have not been used in any channel. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on Manage & Build sectio ...
Creation of a Gateway
To create a gateway, you have two main options: Create the gateway from scratch. Duplicate an existing gateway that you already created, or from the Babelway catalogue. You can access this choice by clicking on Create New in the gateways list screen, ...
Gateway Detail
This page shows all the details about a gateway, and gives access to all operations that can be made on gateways.This page can be accessed from the gateways list, or by following any link that refers to a gateway.The page contains the following tabs. ...
Gateway Types: Part 1
Gateway In Email Gateway In: Incoming messages are attached to email messages and sent to a specific Babelway email address and processed as soon as they arrive. FTP Client Gateway In: Incoming messages are polled and retrieved from a remote ftp serv ...
Gateway Types: Part 2
Rest Gateway In: Allows you to implement a REST api and it is using asynchronous request. X.400 Gateway In: Incoming messages are transferred to a Babelway specific X.400 server and processed as soon as they arrive. Scheduler Gateway In: Create new m ...
Gateway Types: Part 3
zPEPPOL Gateway In: Incoming messages are received from the PEPPOL network. RosettaNet Gateway In: Incoming messages are received from a RosettaNet server. ePrior Gateway In: Incoming messages are received from ePrior requests. Simpl.ePrior Gateway I ...
Gateway Types: Part 04
OFTP Server Gateway Out: With an OFTP Server Out Gateway, outgoing messages are available from a Babelway OFTP server. OFTP Client Gateway Out: With an OFTP Client Out Gateway, outgoing messages are transferred to an external OFTP server. Http Gatewa ...
Gateway Types: Part 5
Internal Gateway Out: The internal gateways in / out are used to transfer messages between 2 channels inside the same Babelway environment. Null Gateway Out: The outgoing messages are not sent anywhere. Splitter Gateway Out: A gateway used to split y ...
Message Definitions
This section contains all the tools needed to manage your message definitions. A simplified edition of the message definitions is directly available in the channels overview, but you need to come to this section to have access to all functionalities. ...
Message Definitions List
The List of Message definitions screen shows you all the message definitions defined within your environment, even if they are not used in any channel. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on t ...
Creation of a message definition
To create a new message definition, you have two main options: Create it from scratch. Duplicate an existing message definition (from your environment, or from the Babelway catalogue). You can access this choice by clicking on Create new in the messa ...
Message Definition Detail
This page shows all the details about a message definition, and gives access to all operations that can be made on a message definition.This page can be accessed from the message definitions list, or by following any link that refers to a message de ...
Update the message definition tree
Once a new message format has been saved or during edition of existing messages, the message tree is rendered in the Visual Editor in a hierarchical and graphical form as illustrated below.In Visual Editor, you can further configure and set up messag ...
Message definition formats: Part 1
This list shows main message formats supported by the application. CSV EDIFACT X12 Odette XML Excel Message In of type PDF PDF based on XHTML template Serving Xml Multirecord Tradacom Json Rest SAP Idoc flat file Not Defined UBLRosetta Net CSVA CSV o ...
Message Definition Formats: Part 2
JSON Message FormatJSON Wizard screen allows you to define your JSON message format according to your own file format.JSON (JavaScript Object Notation) is a lightweight text-based open standard designed for human-readable data interchange. It is deri ...
Common Message Definition Properties
Message DefinitionThis file is Babelway's internal representation of your message definition tree. You can view and modify its contents through here for troubleshooting purposes. However, we highly recommend you use the graphical editor (tree) as thi ...
Support for 997 Acknowledgements
997 is the functional acknowledgement in X12. It will typically: indicate if the original X12 message is structurally valid or not optionally describe the errors found (data element too long, invalid control numbers etc.) provide an acknowledgement c ...
Choosing an X12 (EDI) Communication ID
If this is your first time exchanging X12 documents, you may be wondering which communication identifiers to supply your trading partner. Identifiers can be requested for ISA (interchange envelope) and GS segments (functional group) and can differ be ...
Transformations
This section covers all sections related to transformations.Transformations are used to convert a message in into a message out.The transformation is the place in Babelway where you indicate how we should convert your incoming message into your messa ...
Transformations List
The list of transformations screen shows you all the transformations defined in your environment, even if they are not used in any channel. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on the Channels ...
Transformation Detail
GeneralThe general tab contains the general information of the gateway, and offers actions that act on the whole transformation. Message IN: The message definition of the input message related to this transformation. Message OUT: The message definit ...
Drag and Drop Transformation
This transformation visual editor is divided into the following zones: Top bar allows you to edit all of your formulas, when a mapping rule is selected. In other circumstances, it just guides you with contextual help. Left panel displays the struct ...
Viewing and Selecting Mapping Rules
An icon (chain mark) shows, at a glance, all the fields that are used in the transformation.To see how a field is used in the transformation, you can simply click on it.Click on mapped field If you click on a node that is already used in the transfor ...
Nodes Mapping
You can initiate new mappings via the following methods : Drag-and-dropJust drag your source field to the target field. A simple mapping will be defined. This mapping states that the target field must be filled with the value that was in the source f ...
Edit Formula
Formula barBy default, when you just make your mappings by dragging and dropping your source fields to the corresponding target fields, the values are associated without any transformation. Formula BarFor advanced users, the formula language is xpat ...
Understanding Functions
Functions are used in formulas to calculate the wanted output starting from your input fields.IntroductionA function is an operation that takes values as input (the parameters), and computes an output value (the result). Functions can be written for ...
User-defined functions
Babelway offers many functions to make the calculations in your mappings. These functions should be enough for most of your needs. Anyway, in some situations, you could want to define additional functions, to simplify your mappings. Specialize existi ...
Sub-formulas
Sub-formulas are parts of formulas that you can name and reuse later.Sub-formulas are another way to simplify the writing of very long formulas. When you work on this part of the formula, you only see this part (instead of the whole formula), and do ...
Working with formulas - frequent scenarios
This section explains in detail some frequent scenarios when working with formulas. It gives a lot of examples, and also emphasizes some traps in which you should not fall. Working with numbers When you have to do some calculations, you must always ...
Mapping loops
Loops from the input message must be mapped to the output if you want to map one of its enclosed fields. Otherwise the mapper cannot resolve the reference to the field since there can be more than one occurrence. The "loop mappings" tell the mapper ...
Multi nodes mapping
Visual mapping is able to map two message definition tree structures, when they have the same fields. This is very valuable when dealing with complex and often similar XML messages like in soap messages, IDOC or UBL…To map the 2 structures, drag-and- ...
Using or changing metadata
In drag and drop transformation you can use metadata associated with the incoming message (such as fileName, receive date, ...). You can also store whatever info in a metadata for future use. Using metadata Accessing metadata can be done in your form ...
Drag and Drop transformation properties
The following properties are available : Mapping definition This file is the definition of the visual mapping. You normally edit it via the mapping tree editor. Xslt This file is the xslt transformation that will be applied on the internal xml ...
Xslt Transformation
Xslt transformation test editor enables to define transformation rules and implement transformation functions directly in Xslt language.To specify a new XSLT transformation type or change its current type,you will go to transformation part , you may ...
No Transformation
The No transformation option is used when Babelway interface is used to transfer an unchanged message from one gateway to another.If you are only transfering messages that do not require transformation from a gateway to another, for example from a ma ...
Notifications
This section contains all you need to manage your notifications. A simplified edition of the notifications is directly available in the channels overview, but you need to come to this section to have access to all functionnalities.Message notificatio ...
Notification detail
This page shows all the details about a notification, and gives access to all operations that can be made in notifications.This page can be accessed from the notifications list, the Notifications tab of the channels detail page, or by following any l ...
Partners
The Partners are the entities that communicate via Babelway.For example, when Babelway is used to transfer an invoice from Coca-Cola to Colruyt, the 2 partners involved in the communication are Coca-Cola and Colruyt. Coca-Cola is the sender, or Partn ...
Defining partners manually
To define your partners, the easiest way is to go to the Partners section. As for all sections, you will first come to a main screen with the list of all your partners.Partners sectionThe action button Create Partner, at the bottom of the list allows ...
Assigning partners to messages
Assigning partners to the messages is automatically interesting, because it will allow you to view the partners directly involved in a message, make searches, e.g.: "give me all messages exchanged with partner X" or "make stats by partners", ... See ...
Using partners
Partner information can be used in many places within the application. View or search in your messages In the table of your messages, you can directly view the identified partners. You can also search these fields or sort them.Partners IN and OUT in ...
Be compliant to GS1.
Babelway offers all the tools needed to be compliant with GS1.You have access to the partner GS1 tab, with all the info required by GS1. You also have access to the generation of all reports asked by GS1.Partners - GS1 tab ...
Automatic Population of your Partners List
The import partners page allows you to import all your partners from a CSV file.Importing Partners From CSV - General SV File The CSV file contains the list of partners you wish to import. The first line must contain the column headers for the ...
Lookup tables
Lookup tables are tables of values, that can be accessed by transformations to replace incoming values by corresponding outgoing values (For example, when your B2B partner is using item codes that differ from your own item codes).Lookup tables are no ...
Lookup tables list
The List of lookup tables screen shows you all the lookup tables defined in your environment. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on the menu Channels, then the sub-menu Lookup tables List of ...
Create a lookup table
This page explains how to create a new lookup table.Just click on the Create New action button at the bottom of the lookup tables list screen.The creation screen will ask you to choose a name and description for the table, and a name for each column ...
Lookup table detail - General
his page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. General This tab contains the signaletic information of the lookup table, and offers actions that a ...
Lookup table detail - Structure
This page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. Structure This tab allows you to edit the columns of the lookup table. Lookup table detail - tab S ...
Lookup table detail - Content
This page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. Content This tab allows you to view and edit content of the lookup table. Lookup table detail - ...
Lookup table detail - Related items
This page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. Related items This tab allows you to see in which transformations the lookup table is used. Note t ...
Use your lookup tables
The lookup tables are almost exclusively used in transformations, to translate incoming values to outgoing values contained in the table.This is explained in detail in the in the help section about drag-and-drop transformations. ...
Automatic Population of Lookup table from CSV
Automatic Population of Lookup table allows you to import the lookup table data directly from a CSV file without the need to create a channel to do so.After creation of a lookup table you can import data from a CSV file by clicking on Import from CSV ...
Automatic Population of Lookup table using Channel
Automatic Population of Lookup table allows you to import the lookup table data from outside data source.After creation of a lookup table you can create a data import channel by clicking on Create a channel to import data in the table as illustrat ...
Routing
Routing is used to choose which channel must process a message when different channels share the same gateway in.Routing is done at the first step that is different for channels sharing the same gateway in. So if 2 channels use the same gateway in bu ...
Routing list
The List of routings shows all the routings existing in your environment, one by line.This screen is accessible by clicking on the Components menu, then on the Routings sub-menu List of routings The first five columns illustrate, in that order, the ...
Routing detail
The detail of the routing allows you to edit all the rules to choose the next element to process. Routing detail The first part of the screen just summarizes when this routing will be used, by clearly showing which preceding steps are shared by all t ...
Editing routings from channels section
It is also possible to edit the routing rules directly from the channel detail screen.The edition is done exactly like in the routing detail screen. There are only a few differences, that will be explained here. Edit routing in channel detail The ma ...
Test cases
Testing allows you to easily test channel operations to validate it before deployment. Ideally, all channels should include a few basic test cases to confirm that their configuration covers the basic use cases.After configuring a channel, its operati ...
Test case detail
Describes all the fields and actions of all tabs. Name A name that you can set and/or modify to easily retrieve and manage your element. Type Either to be Transformation type OR channel type Description A free text field that you can set and/ ...
Certificates
The keystore is the page where you can modify the keystore specific to your account. Each Babelway account environment has its own keystore and is able to add or remove certificates without affecting other users.A key is private information that is o ...
Certificate`s Details
The certificate's details page regroups and displays all the useful information about a certificate, and gives access to several actions such as revoking the certificate, or downloading it. Alias An alias to easily identify the certificate. Dist ...
Trust new certificate
To trust the new certificate in your environment follow the below steps.1-From "Certificate" page click on the "Trust new certificate" button, as shown below. Certificate page 2-Provide the Alias for your certificate then you can select to Trust the ...
Add a certificate
1-From "Certificate" page click on the "Add key certificate" button, as shown below. Add key certificate 2-Provide the Alias for your certificate then upload the Pkcs12 file and provide its corresponding password, as shown below. Add certificate pag ...
Certificate Update
This page allows you to replace one certificate by another existing certificate on selected gateway(s) or message definition(s). Note that it only updates the properties of the gateways/message definitions that reference the certificate and it requir ...
Extra processings
An extra processing is an additional operation that must be applied on all messages.Some examples are: extract a message from a zip file, sign a message, reject a message if it is a duplicate, ...The extra processings can take place before of after e ...
Extra processings on message definition IN
Save input file Allows you to save your input file as a metadata, for future use as explained in the next steps. The parameters are : Metadata The metadata in which you want to be saved in the input file. Duplicate incoming message Allows to duplica ...
Extra processings on Transformation
Automatically retry transformation on error This extra-processing allows to define criteria to automatically retry a transformation if an error occurs. The parameters are : Error message patterns The patterns that will be tested against the error me ...
Extra processings on message definition OUT
How to reach Extra Processing Click on "More details" in the Message OUT as shown: Properties of Message Out Now you can reach the Extra Processing as shown: Extra Processing Xslt transformer Applies an xslt to correct your message. It is applied on ...
Extra processings on gateway OUT
Delay execution Allows to pause the execution for some minutes before delivering the message. The parameters are : Minutes to wait The number of minutes that the system must wait before delivering the message. Note: This extra processing is not e ...
Metadata
Metadata are data that are associated with the processing of the message, on top of the processed input and output files.For example, metadata can be the date and time when the message was received, the channel that processed the message, information ...
Metadata usage
This page shows you some examples of locations in the application where metadata can be used.Changing value assigned to a system metadata in drag and drop transformationSee details in Using or changing metadata. Using metadata to customize messages a ...
System Metadata
System metadata is metadata that is defined in the system and contains useful information relating to the message being processed. See the Metadata chapter for reference and examples of use. Table 4.1. List of System Metadata Code Name Description Ex ...
Change Log
Each time you click on the "save" button in a component, a revision is created, that keeps track of all the changes done. This allows to know the state of your components at any given point in time. The Revert function uses those revisions in order t ...
Environment change Log
Each time you click on the "save" button in a component, a revision is created. This allows you to know the state of your components at any given point in time. The Revert function uses those revisions in order to go back in time and put your compone ...
Elements change Log
Each time you click on the "save" button in a component, a revision is created. This allows you to know the sate of your components at any given point in time. The revert function allows you to restore the configuration of an element at a given point ...
Reuse and save time
The reuse and save time zone allows you, when you need to configure some element, to fully configure it in just one click, by reusing elements that have been previously defined.In this zone, the system will always try to make the suggestions that are ...
Search and Reuse
To filter the elements, you simply need to type your criteria in the search bar, at the top of the zone. In the following example, only entries that match "Colruyt" will be returned. Reuse search. If you use multiple words, like 'Colruyt Order', all ...
Using or duplicating elements that you already defined
In the results section " You already defined ", you will find elements that you have already defined in your current environment, and be able to use them again. Reuse - already defined elements. If you are creating a new item ( in gateway creation s ...
Using the Babelway catalogue
The catalogue is a large repository of elements predefined by Babelway. These elements are ready to use, and you can just copy them into your environment and use them.The catalogue contains many message definitions or gateways used by main retailers, ...
Accessing elements from other environments.
You can also access and reuse elements from other environments you are allowed to access.These elements are not returned by default by the pertinence algorithm. To use them, you will always have to use the advanced search (click on Reuse and save tim ...
Using examples or suggestions
When you are making your first steps with the application, you will have access to some examples. These examples are ideal to be able to setup a first channel in a few seconds, and being able to test the application. Use element from another env - Cl ...