Is only nested repeating group allowed in a repeating group

Imported from previous forum

I’m adding a custom group to support such kind of message:

groupA
groupB


groupC

there might be more than 1 outgroup, each with 1~n innergroup
The only solution I can think about is define a repeating group for outgroup, contains a nested repeating group and optional tag type.
The output FIX message will like:

NoOutGroup=2

->NoInnerGroup=2
–>groupName=groupA
–>groupName=groupB
->outGroupType=optionalType

->NoInnerGroup=1
–>groupName=groupC

My question is this a good way to have only mandatory nested repeating group in a repeating group? It do seems a little bit wired…

Thanks.

Julia,
standard FIX has a number of cases where an outer repeating group has not much more than an inner repeating group, e.g. PartyDetailsUpdateGrp. However, there is always something in order to distinguish the elements of the outergroup, e.g. ListUpdateAction (1324) as an attribute for each of the nested lists. What would be the reason for having just a “list of lists”. In such a case, one would rather add the attributes of the outer group into the inner group. For example, take a look at StrikeRules or MaturityRules. They both have an ID field, StrikeRuleID (1223) and MaturityRuleID (1222) which does not have to be unique inside the repeating group. It allows you to design logically separate lists within a single list without having to add a nesting level. Rule 1 could have 3 ranges and rule 2 could have 2 ranges. This would result in NoStrikeRules (1201) = 5, whereby 3 elements have StrikeRuleID (1223) = 1 and 2 elements have StrikeRuleID (1223) = 2. You can add optional attributes related to the rule inside the same group as well. You pay a little for the redundancy but can reduce complexity this way.
In general, custom groups are dangerous/forbidden unless they do not contain standard fields of the message being customized. If they do, you would require a structural change to the standard nesting levels of the message. User-defined fields must not change the standard structure, e.g. you cannot wrap part of the NewOrderSingle fields into a custom repeating group in order to use the message for a cross order.
Regards,
Hanno.

I’m adding a custom group to support such kind of message:

groupA
groupB


groupC

there might be more than 1 outgroup, each with 1~n innergroup
The only solution I can think about is define a repeating group for outgroup, contains a nested repeating group and optional tag type.
The output FIX message will like:

NoOutGroup=2

->NoInnerGroup=2
–>groupName=groupA
–>groupName=groupB
->outGroupType=optionalType

->NoInnerGroup=1
–>groupName=groupC

My question is this a good way to have only mandatory nested repeating group in a repeating group? It do seems a little bit wired…

Thanks.

Thanks very much for your reply Hanno!
I think I will revise the message into more meaningful fields instead of repeating group, to avoid confuse of grouping without identifier.