James,
You can use a repeat while segmentName.fieldName to determine if the message consists of a certain frl.
You can use a condition on previousSegmentName.fieldName to determine if a message consists of a certain frl based on the existence of a previous segment.
These allows us to parse the following structure:
HL
[TRN]
[NM1]
[EQ]
[AMT]
[III]
[REF]
[N3]
[N4]
[PER]
[PRV]
[DMG]
[INS]
[DTP]
by doing
Top.hrl
HL Segment (with repeat while HL.Field6-8 is ‘HL ‘) pointing to HL.frl
Group Segment (with condition HL.Field6-8 is ‘HL ‘) pointing to Group.hrl
Group.hrl
TRN Segment (with repeat while TRN.Field6-8 is ‘TRN’) pointing to TRN.hrl
.
.
.
I have trouble adding another layer of repeatition to handle the outer loop though. I will get back to this board if I have any new insights. And please let me know if you found out anything. Thanks.