Structure template in CSV format

These are external CSV templates and not the internal ones that already exist. See section Working with templates. Both the source and the target structure of a mapping can be exported as a structure template in the form of a UTF8-encoded CSV file (see option "Export structure as CSV" in the source structure menu and the target structure menu).


If you want to create a complex structure, it may be easier to create such a CSV structure template manually instead of creating the structure directly in the GUI. The structure template must be built as follows.

  • Comment lines must begin with a "#".

  • The delimiter is a semicolon ";".

  • Empty lines initiate a new node. If the line following the empty line is also an empty line or a comment line, the empty line is ignored. Otherwise, empty lines are to be avoided.


Each line of the CSV file contains a maximum of nine columns.

  • Parent node name. If no value or the value root is entered here, the top level is referenced.

  • Name of the current field or node.

  • Minimum number (Not important for fixed-length structures. Since each field must occur in that case, the values are overwritten with "1").

  • Maximum number (Not important for fixed-length structures. Since each field must occur in that case, the values are overwritten with "1").

  • Description (in quotes, see example).

  • Match codes (in quotes). Multiple match codes have to be separated by a "§" (see example below). Match codes do not have to be specified for fields. However, you can specify them, for example, for XML. The conditions have to be specified as follows. If no condition is specified, "Starts with" is used.

    Condition

    Encoded with

    Starts with

    @@type:startsWith:

    Equals

    @@type:equals:

    Ends with

    @@type:endsWith:

    Contains

    @@type:contains

    Regular expression

    @@type:regEx:

    Is not

    @@type:not:

    Does not start with

    @@type:startsNotWith:

  • Datatype. The values "Integer", "String", "Float", "Double", "Date", "Timestamp", "BigInteger", "BigDecimal" und "Boolean" are allowed. You only have to use as many characters until the type can be uniquely recognised. So int could be used for type Integer, for example.

  • Length. This value is only mandatory for fixed-length structures. If no value is specified here, value "0" is used by default.

  • Template. You can specify a format template for fields of the type "BigDecimal", "Date" or "Timestamp". If not specified, default values will be used.


If a line describes a node, only the first six columns must be specified.

The imported structure template is used to create a source structure. An existing source structure will be overwritten.

Example


The following screenshot shows an example of a source structure.


images/download/attachments/189459305/488-version-1-modificationdate-1737092814162-api-v2.png


Following is the CSV file structure template.


#
# format description (UTF-8 encoded)
# node name of parent;fieldname;min;max;description;matchcodes;type;length;format
#
 
root;Header;0;99999;;@@type:startsWith:K
Header;RecordTypeK;0;99999;;;String;0;
Header;Date;0;99999;;;String;0;
Header;InvoiceNo;0;99999;;;String;0;
Header;CustomerNo;0;99999;;;String;0;
 
root;ItemNode;0;99999;;@@type:startsWith:P@@type:startsWith:T
 
ItemNode;Item;0;99999;;@@type:startsWith:P
Item;RecordTypeP;0;99999;;;String;0;
Item;Number;0;99999;;;String;0;
Item;ArticleNo;0;99999;;;String;0;
Item;Amount;0;99999;;;String;0;
 
ItemNode;ItemText;0;99999;;@@type:endsWith:T
ItemText;RecordTypeT;0;99999;;;String;0;
ItemText;Text;0;99999;;;String;0;


If you want to create a CSV structure template manually, it is recommended to first export an existing structure and to study details in this file.

Note on the encoding of the CSV structure template: Although the encoding UTF8 can be used, umlauts in node and field names, for example, make no sense because they are not allowed in structures. When importing the structure, an "ö" would automatically be converted to "oe". However, you can use umlauts for match codes.

Import


A structure template as described here can be imported on subpage Import structure.