An EDML message has a hierarchical structure, which conforms closely to the structure of EDIFACT messages. The highest level is a segment group. A segment group 'groups together' all the information relating to a discrete topic: for example, the parties to a transaction (eg names and addresses, account numbers); transportation details; terms of payment. Each segment group within an EDML message has a unique identifier.
A segment group consists of a number of segments. A segment contains a set of functionally related data items. For example, date/time information; item description; price details. A segment is composed of a number of individual data elements, each of which deals with a specific item of data. For example, a name and address segment may need to contain separate data elements for person's name, company name, multiple address lines, city, post code, country. A date/time segment has to be able to handle date and time, and to specify what format is used; pricing information has to include currency as well as numerical value.
A segment group may itself include a sub-group of segments. This is a convenience to simplify the creation of messages by re-using segment groups. EDML allows nesting of segment groups to three levels: ie a segment group may be nested within a segment group which is itself nested within a segment group. The main advantage of these sub-groups is that they may be repeated within a higher level group; for example a group giving details on a particular product might have multiple sub-groups each giving pricing information in a different currency.
More than one segment group or sub-group within a message may have an identical formal structure and name. For example, in a Purchase Order message, a Tax Related Information group can appear in three different places within the message, as a main group, ie referring respectively to the whole order, as a sub-group to the Allowances & Charges group, and as a sub-group to a Line Item Details group. Each of these Tax Related Information' groups has its own unique name, and serves a different purpose in each case. But only one of these groups can be a main' group; the other can only appear as sub-groups.
To create a new form of a particular type, eg a purchase order, or an invoice, we use a standard template', which includes all of the possible segment groups and all of the possible segments which may be used within a particular type of form.
Creation of a new form involves the following steps.
step 1
First a menu of available message type will be presented: one of these should be selected (eg PURCHASE ORDER'). The possible segment groups which may occur within that message will be displayed, with checkboxes to allow selection of the desired groups. Nested sub-groups are clearly indicated: if the higher level group is not checked, then all the lower groups will be excluded; but sub-groups within a selected group must be checked individually. Any groups or sub-groups which are mandatory will be selected automatically.
Many groups and sub-groups may be repeated in a message up to a maximum number of times: for example, a Party Identifier' group may be repeated, in principle, up to 99 times; a Line Item Details' group in a Purchase Order message could be repeated up to 200,000 times. However, in practice such limits are unlikely to be reached, and you are able to define a limit which is lower than the built-in maximum value. So, for example, in a Purchase Order message, you may wish to limit the number of Party Identifier groups to, say, 5, which would allow identification of buyer, purchasing department of buyer, supplier, delivery address, freight forwarder. There is a great deal of flexibility possible when creating a message structure, and it is very easy to edit a message to include or delete groups and segments at a later stage.
Leaving the maximum number of repeats for a segment at its built-in value is not a problem, for each group or sub-group will be presented in a message as a separate page'. When filling in a message form, if a page' is left blank, it will not be re-displayed regardless of the maximum allowable repeats. The advantage of restricting the maximum number of repeats in a particular message is to allow tailoring of the message, for example with partial pre-completion of some entries.
When all groups and sub-groups have been selected, the next stage is to select the segments within the groups and sub-groups.
step 2
Each group (or sub-group) which was selected at Step 1 is displayed with the segments which may appear within that group. Some segments are mandatory; others optional: these segments which are optional can be selected via checkboxes. Many optional segments may be repeated up to a built-in maximum number of times; you can change this number for any segment. For example, the Contact Details group allows up to five Communication contact' segments, but in most applications one or two such segments would be sufficient. However, just like the segment grouops, there is not a problem if the maximum number of repeats is left unchanged: the user just has to leave a segment blank when filling in a message form to move on to the next segment.
Note that a particular type of segment may appear in several groups: for example, the Date/time/period segment appears in the References, Documentary Requirements, Transportation: Location & Date/Time, Terms of Payment, etc groups; the Place/location identification segment appears in the Party Identifiers, Tax Related Information, Terms of Delivery, etc groups.
step 3
After the segments for each group/sub-group have been selected, the data elements for each segment may be displayed. It is the data elements which actually define the specific items of data which are to be transmitted within a message. A particular type of data element may occur in many segments, and may be repeated within the same segment. In the latter case, each occurrence of the same type of data element is given a unique name, to ensure overall uniqueness of the identifying name for every item of data transferred. Display of data elements is optional when creating a message: the default data element structure for each segment may be taken. However, we recommend selection of data elements, because this can greatly reduce the size and complexity of a message form. Selection of data elements is done in the same way as with groups and with segments, by checkbox, but with the addition of a Length' field which allows definition of a maximum length for each data field. While it is possible to enter more data into a text box in a form than the box size itself, so that the default maximum values for field lengths could be taken, lower values may be selected.
Click here to select message type to create.