Customizing Envelope Fields

This week's post is brought to us by Suraj Guarav, our EDI/AS2 development lead for R2:

A new feature coming up in Beta 2 (also in Feb CTP but with limited test coverage) is the ability to dynamically modify the list of allowed values in envelope ID fields.

A typical customer scenario could be that there is a unique sender and receiver qualifier that two trading partners use which is outside the set of values defined by the X12 standards body. In such a case, the allowable values that appear in the drop-down lists in the EDI Properties in the Partner Agreement Manager (PAM) for ISA05 and ISA07 need to be extended to incorporate the additional acceptable values.

Customization Using Extended Service Schema

The EDI system pulls the list of allowed values from static service schemas in the Microsoft.BizTalk.Edi.BaseArtifacts dll that ships with R2. There is one schema each for X12 and Edifact.  To extend the base set of values, a service schema extension needs to be developed and deployed. Service schema extension templates for X12 and Edifact ship with the product and are located at Microsoft BizTalk Server 2006\XSD_Schema\EDI. They are called X12_ServiceSchemaExtension.xsd and Edifact_ServiceSchemaExtension.xsd respectively.

To extend ISA01 field, create a Biztalk project and add the X12 Service schema to it. In case a service schema has been deployed previously, it should be used as it may contain extensions to other envelope fields.

Figure 2 - X12 Extended Service Schema

Add values to the ISA01 collection. Similarly, other fields in the schema can be modified as well. Once the changes are done, deploy the schema in the current BizTalk group. It should have the same namespace and root node name as the original extension schema that came with the product. After the schema is deployed, new values would be recognized throughout the system. They would show up in Partner Agreement Manager and runtime processing would also employ these values during validation. In addition, XML tools (e.g. validate instance) would also make use of these values for validation.

Only the list of fields that can be customized are present in the extension schemas. Addition of any new field in the schemas would not have any impact on system's behavior, they would simply be ignored. Additionally, it is not possible to delete a value from the base service schemas. Customizing envelopes is additive only!

Thanks Suraj!




Comments (4)

  1. mettlus says:

    Hello Suraj, Nice to see the Customization of Env. Fields. I am coming from a bts 2002 background, so if you can point out the new way of doing it in bts2k6 will appreciate.

    In 2002 we load a particular docdef for a partner via the selection crtieria keys on the document definition,thereafter create a new channel/port for him which has this docdef tied to it and finally message gets serialized via a custom envelope which has the right schema tied to it.

  2. d'mitre says:

    So I installed r2 and I do not see any of the new property pages for EDI?

  3. EdiBlog says:

    Please ensure that you have configured Microsoft EDI/AS2 in the BizTalk configuration tool after installation.

  4. Fuentes says:


    In these days I have been experimenting an EDI Error regarding ISA12 (interchange control version number)

    Let me explain:

    When an incoming message has the following ISA Values, Biztalk is throwing an error regarding “Invalid versionId”

    ISA*04*SW426     *00*          *02*RRDC           *02*KCS            *080512*1247*U*00503*001651461*0*P*;~

    Error: 1 (Miscellaneous error)

       17: Invalid VersionId

    Error: 2 (Field level error)

       SegmentID: ISA

       Position in TS: 1

       Data Element ID: ISA12

       Position in Segment: 12

       Data Value: 00503

       7: Invalid code value

    I have created the corresponding parties and the messages are processed successfully as long as the messages have an ISA12 value prior to 00503.

    I was looking to modify the service extension schema ( however the ISA12 is not available on that schema.

    I actually have begun to create a Custom Pipeline Component and modify the EDI envelope in order to replace the ISA12 value for 00502 version but I do not know if it is the best way to accomplish this.

    Do you know if I can modify some setting to solve this?

    Thanks in advance


Skip to main content