In EDI (Electronic Data Interchange), element terminators and segment terminators are both special characters used to separate data, but they operate at different levels of the message structure.


1. Element Terminator

  • Purpose: Separates individual data elements within a segment.
  • Example character: * (asterisk) in X12 or + in EDIFACT.
  • Think of it as: A comma in a CSV file — it divides values within the same “line” (segment).


Example (X12):

N1*ST*ABC COMPANY*92*12345

Here:

  • N1 → Segment ID (Name)
  • ST → Entity Identifier Code
  • ABC COMPANY → Name
  • 92 → Identification Code Qualifier
  • 12345 → Identification Code
     Element terminator: * (separates each piece of data within the N1 segment)

2. Segment Terminator

  • Purpose: Marks the end of an entire segment.
  • Example character: ~ (tilde) in X12 or ' (apostrophe) in EDIFACT.
  • Think of it as: The newline at the end of a CSV row — it says “this row is done.”


Example (X12):

N1*ST*ABC COMPANY*92*12345~

Here:

  • The ~ tells the system that the N1 segment is complete, and the next segment will follow.


Example (X12)

ISA*00*          *00*          *12*SENDERID      *12*RECEIVERID    *230814*1234*U*00401*000000001*0*T*:~
  • Element terminator: * → separates ISA00, , etc.
  • Segment terminator: ~ → says “end of the ISA segment.”


Recommended Action: Review and validate the segment terminator for this file. Confirm it is a valid character, and the same character is not being used as another delimiter. Correct and resend.