Tuesday, March 31, 2009

Significance of ISA11 from V4020 onwards in X12

There has been numerous changes happened between 4010 and 4020 revision of x12 standard. One such change is in the segment ISA 11.

In 4010 version, ISA 11 used to hold the "Interchange Control Standards Identifier", which means, the Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer

e.g :
ISA*00*          *00*          *ZZ*GlobalChips    *ZZ*Acme           *080630*0350*U*00401*110000001*0*P*\~GS*PO*GlobalChips*Acme*20080630*0350*1101*X*004010

Here ISA 11 holds the value "U", indicating "U.S. EDI Community of ASC X12, TDCC, and UCS"

After 4020 Onwards, ISA11 is used as the repetition separator. This is a delimiter and not a data element.
This field provides the delimiter used to separate repeated occurrences of a simple data element or a composite data structure. The value has to be different from any of the data element separator or component element separator or the segment terminator

e.g:

ISA*00*          *00*          *ZZ*Acme           *ZZ*GlobalChips    *081217*0634*^*00404*100000001*0*P*\~GS*PR*Acme*GlobalChips*20081217*0634*1001*X*004040~ST*855*1001

In the above example the ISA11 holds ^ as delimiter

Repetition seperator : ^ (ISA 11)
Data Element Separator = “*” (Character no.4 of ISA)

Note: keeping "U" as a value at ISA11 (repetition separator) as like in 4010, might not be a good option as the character "U" will be used at many places in a payload.
For example: currenecy holds the value as "CUR" in the payload and by using "U" as a repetition separator, the message will not process as expected.