blocks in a fix message version 4.3

Imported from previous forum

Hi,
it is mentioned in the FIX document that if a message contains a repetitive block, first tag is always mandatory (the logic being, it would tell the program that another of block has started).
But while defining the messages, wherever there are blocks, the first tag is not shown as mandatory. so, what is the catch ?
another query is for some repetitive blocks it is written that one of 3 tags (say tag number 1,2,and 3) is mandatory and those 3 tags are the first 3 tags in the block. in this case, if a message has 1=somevalue<SOH>2=somevalue<SOH>, then would "2=somevalue" would start a new block or would it be continuation of the previous one ?
please clarify.
thanks.

Q ->
it is mentioned in the FIX document that if a message contains a repetitive block, first tag is always mandatory (the logic being, it
would tell the program that another of block has started). But while defining the messages, wherever there are blocks, the first tag is not shown as mandatory. so, what is the catch ?

A ->
the first tag is mandatory provided one or more of the repeating group tags are mandatory …
When the repeating group tags are not compulsory then of course there is no use of the number of instances tag to be declared as mandatory …


Q ->
another query is for some repetitive blocks it is written that one of 3 tags (say tag number 1,2,and 3) is mandatory and those 3 tags are
the first 3 tags in the block. in this case, if a message has 1=somevalue<SOH>2=somevalue<SOH>, then would "2=somevalue" would start a new block or would it be continuation of the previous one ?
please clarify.

A -> u r saying one of the 3 tags is mandatory , so we have the following 3
scenarios :

  1. Tag 1 is mandatory. In such a case I would suggest that if the next tag
    is not 1 ( in ur case it is 2 ) then it is the continuation of the same
    block, since ther MUST hav been another 1 to start the next repeating block
    since it is a required tag…

  2. Tag 2 is mandatory. This is as simple as it looks :). Parsing a tag
    numbered 2 after tag 1 indicates the continuation of the same message block
    since 2 is a neccessary tag.

  3. Tag 3 is mandatory. Now in such a scenario getting 2 after 1 is only
    possible if its the same block since we cannot miss out on a required tag
    i.e. 3 …


AND I CONCLUDE MY THESIS BY STATING THAT :

IT IS THE SAME BLOCK … HENCE PROVED :stuck_out_tongue:

NP.