GsSegment¶
GsSegment models the X12 GS functional group header, the envelope segment that opens a functional group of one or more transaction sets within an EDI interchange. It fixes the responsible agency code to "X" and formats the batch date/time as yyyyMMdd/HHmm on output (BR-040), pairing with a GeSegment trailer to bound the group.
Purpose¶
- Represents the GS segment identity via
SegmentIdreturning the literal"GS"(BR-020). - Carries
FunctionalCode,SenderId,ReceiverId,BatchDate,ControlNumber, andVersionControlNumber, the fields identifying the group's sender/receiver, timing, and content type. - Fixes GS07 (responsible agency code) to the literal
"X"onBuild(), and formatsBatchDateasyyyyMMdd/HHmmacross elements 4-5 (BR-040). - Reads
VersionControlNumberback from element 8 onFill(), skipping the fixed agency-code element 7 entirely.
Context¶
- Namespace:
SAIF.Common.Files.Edi.Segments - Assembly/package:
SAIF.Framework.Common.Files
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| SegmentId | string SegmentId { get; } |
Returns the literal X12 segment identifier "GS". |
| FunctionalCode | string FunctionalCode { get; set; } |
The functional identifier code for the group's content type (GS01), element 1. |
| SenderId | string SenderId { get; set; } |
The application sender's identifier (GS02), element 2. |
| ReceiverId | string ReceiverId { get; set; } |
The application receiver's identifier (GS03), element 3. |
| BatchDate | DateTime BatchDate { get; set; } |
The group's creation date/time, formatted as yyyyMMdd (element 4) and HHmm (element 5) on Build() (BR-040). |
| ControlNumber | long ControlNumber { get; set; } |
The group control number (GS06), element 6, matched by the paired GeSegment.ControlNumber. |
| VersionControlNumber | string VersionControlNumber { get; set; } |
The version/release/industry identifier code (GS08), element 8. |
| Build | IEdiSegment Build() |
Creates a SegmentBuilder("GS"), adds FunctionalCode, SenderId, ReceiverId, the split BatchDate, ControlNumber, the fixed literal "X" at element 7, and VersionControlNumber at element 8, returning the built segment (BR-040). |
| Fill | void Fill(IEdiSegment segment) |
Reads elements 1-3 via GetChildValue, combines elements 4-5 via DateMaker.MakeDateTime into BatchDate, converts element 6 to long for ControlNumber, and reads element 8 into VersionControlNumber (element 7 is not read back). |
| Parse | static GsSegment Parse(IEdiSegment segment) |
Instantiates a new GsSegment, calls Fill(segment) on it, and returns it. |
Sources¶
- Common\SAIF.Common.Files\Edi\Segments\GsSegment.cs