Skip to content

FunctionalGroup

FunctionalGroup represents one X12 functional group — the GS/GE-delimited envelope — keyed by the GS segment's group control number (GS06) (BR-034). Instances are produced exclusively by EdiGroupParser.CreateFunctionalGroups, which is invoked lazily from EdiFile.FunctionalGroups.

Purpose

  • Provides typed Header/Trailer access to the parsed GS and GE segments delimiting this group, in addition to the raw HeaderSegment/TrailerSegment inherited from GroupContainer.
  • Owns TransactionSets, the collection of ITransactionSet instances parsed out of this functional group's member segments by EdiGroupParser.CreateTransactionSets.

Context

  • Namespace: SAIF.Common.Files.Edi
  • Assembly/package: SAIF.Framework.Common.Files
  • Base class: GroupContainer
  • Also derives (transitively) from SegmentGroup and List<IEdiSegment> (framework-standard collection base)
  • Implements: IFunctionalGroup

Public members

Member Signature Purpose
Header public GsSegment Header { get; internal set; } The strongly-typed GS (functional group header) segment for this group.
Trailer public GeSegment Trailer { get; internal set; } The strongly-typed GE (functional group trailer) segment for this group.
TransactionSets public ITransactionSetContainer TransactionSets { get; internal set; } The transaction sets (ST/SE envelopes) nested within this functional group, parsed by EdiGroupParser.CreateTransactionSets.

Inherited public members

Members in this section are inherited from GroupContainer in SAIF.Framework.Common.Files. They are available on this type through inheritance.

Member Signature Purpose Origin
HeaderSegment public IEdiSegment HeaderSegment { get; internal set; } The raw GS segment that opens this group. SAIF.Framework.Common.Files — GroupContainer
TrailerSegment public IEdiSegment TrailerSegment { get; internal set; } The raw GE segment that closes this group. SAIF.Framework.Common.Files — GroupContainer
Segments public IEnumerable<IEdiSegment> Segments { get; internal set; } This group's member segments with the GS/GE control segments excluded (BR-033). SAIF.Framework.Common.Files — GroupContainer

Members in this section are also inherited from SegmentGroup in SAIF.Framework.Common.Files (the next ancestor up the chain).

Member Signature Purpose Origin
SegmentGroupId public string SegmentGroupId { get; set; } The segment tag ("GS") that this group was delimited by during parsing. SAIF.Framework.Common.Files — SegmentGroup
Index public int Index { get; set; } The sequential ordinal assigned to this functional group among its siblings. SAIF.Framework.Common.Files — SegmentGroup
Key public string Key { get; set; } The GS06 group control number value that uniquely identifies this functional group (BR-034). SAIF.Framework.Common.Files — SegmentGroup
Level public int Level { get; set; } The nesting depth of this group, defaulted to 0. SAIF.Framework.Common.Files — SegmentGroup

Sources

  • Common\SAIF.Common.Files\Edi\FunctionalGroup.cs
  • Common\SAIF.Common.Files\Edi\IFunctionalGroup.cs