---
title: Ik3Segment
summary: API reference for Ik3Segment.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-15
library: SAIF.Framework.Common.Files
reference_type: package
---

# Ik3Segment

`Ik3Segment` models the X12 IK3 implementation acknowledgement segment-level error, used within a 999 functional acknowledgement to report an error found on a specific segment of the acknowledged transaction, identifying the erroring segment's position, loop, and syntax error code.

## Purpose
- Represents the IK3 segment identity via `SegmentId` returning the literal `"IK3"` ([BR-020](../../business-rules.md#br-020-first-element-is-the-segment-identifier)).
- Carries `SegmentErrorCode` classifying the type of error, `SegmentErrorPosition` locating the erroring segment, `SegmentErrorLoopCode` identifying its loop, and `SegmentErrorSyntaxCode` giving the specific syntax error.

## 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 `"IK3"`. |
| SegmentErrorCode | `string SegmentErrorCode { get; set; }` | Code classifying the type of segment-level error found (IK301), element 1. |
| SegmentErrorPosition | `string SegmentErrorPosition { get; set; }` | The position of the erroring segment within the transaction set (IK302), element 2. |
| SegmentErrorLoopCode | `string SegmentErrorLoopCode { get; set; }` | The loop identifier code containing the erroring segment (IK303), element 3. |
| SegmentErrorSyntaxCode | `string SegmentErrorSyntaxCode { get; set; }` | The specific syntax error code for the segment (IK304), element 4. |
| Build | `IEdiSegment Build()` | Creates a `SegmentBuilder("IK3")` and adds all four fields at elements 1-4, returning the built segment. |
| Fill | `void Fill(IEdiSegment segment)` | Reads elements 1-4 via `GetChildValue` into the four error-detail properties. |
| Parse | `static Ik3Segment Parse(IEdiSegment segment)` | Instantiates a new `Ik3Segment`, calls `Fill(segment)` on it, and returns it. |

## Sources
- Common\SAIF.Common.Files\Edi\Segments\Ik3Segment.cs
