For delimited separation types, a delimiter is used to separate data fields, but there are no tags present. The data fields need to be given in the correct order in the bit stream and elements cannot be omitted from the middle of the bit stream.
data1*data2*data3*data4
data1*data2*data3*data4where Delimiter is *
data1**data3*data4
data1*data2That is, the delimiters have been suppressed from the end of this group or complex type.
data1*data2**That is, the delimiters have to be present to indicate absent (zero-length) elements.
An exception to the above rule occurs in the case of the same delimiters being used at multiple levels in the model.
data1*data2*element3Data1*element3Data2*element3Data3*data4
If element3Data2 and element3Data3 were missing, and the delimiters were suppressed, then it would not be possible for the parser to determine which elements were missing.
data1*data2*element3Data1***data4
This restriction also applies where Group Indicators and Group Terminators use the same character strings as delimiters, otherwise the bit stream is not clear to the parser.
data1*data2*data3*data4*data5where Delimiter is *
All Elements Delimited makes no use of tags or their associated parameters. Lengths are also ignored.
{data1*data22222*data3}where:
If an element needs to be repeated in a type of All Elements Delimited, then the Repeating Element Delimiter (RED), is used to separate the repeated elements.
data1*data2:data2:data2:data2:data2*data3*data4where:
data1*data2*data3*data4
data1*data2::::*data3*data4
data1*data2**data3*data4
A Variable Elements Delimited separation type containing only variable length elements resembles an All Elements Delimited type. If it contains only fixed length elements, it resembles a Fixed Length type.
data1*data2*data3*data4000data5where:
{data1*data22222*data3*data4000data5}where:
The action of a repeating element in a Variable Elements Delimited environment is dependent on the minimum and maximum number of repeats and whether the element has a length.
If a delimited element (that is, an element with no length) is repeated, then a Repeating Element Delimiter (RED) is required and the rules for All Elements Delimited are followed. A delimiter is therefore required after the last repeat. Delimiter suppression of this repeat can also occur.
data1*data2:data2:data2:data2:data2:data2*data3*data4000data5where:
If the Suppress Absent Element Delimiters field is set to End of Type then you can use delimiter suppression.
data1*data2*data3*data4000data5
data1*data2:::::*data3*data4000data5
data1*data2**data3*data4
This also applies for a non-fixed length complex type or group inside a Variable Elements Delimited environment.
If an element with a defined length (a fixed length element) is repeating and the minimum occurrences is not the same as maximum occurrences, then an RED is not required, but a delimiter is required after the last repeat. Delimiter suppression of this repeat can occur.
data1*data2*data3*data400data400data400data400*data5where Delimiter is *
data1*data2*data3*data4000data4000*data5
If an element with a defined length (a fixed length element) is repeated, and the minimum occurrences is the same as maximum occurrences, then an RED is not required. A delimiter is also not required after the last repeat. Truncation of this repeat cannot occur and all elements need to be present.
data1*data2*data3*data4000data4000data4000data4000data5where Delimiter is *
data1*data2*data3*data4000data40000000000000000000data5
This also applies for a non-fixed length complex type or group inside a Variable Elements Delimited environment.