EDI Context Properties
The message context properties in the EDI global property schema are publicly exposed so you can use them in operations such as message routing. These context properties are defined in PropertySchema.xsd in the Microsoft.BizTalk.Edi.BaseArtifacts assembly. The namespace for the properties is http://schemas.microsoft.com/ Edi/PropertySchema
. If they are promoted, these message context properties are available as Edi.<Property Name> in the Filters page of the Send Port Properties Dialog Box in the UI guidance and developers API namespace reference.
Context properties list
The EDI context properties are also available in an orchestration, as long as a reference to the Microsoft.BizTalk.Edi.BaseArtifacts assembly has been added to the orchestration project.
Name | Type | Description |
---|---|---|
AK901 | string | Indicates whether the functional group identified in the AK1 segment of the acknowledgment was accepted or rejected (X12 997 ACK only). |
AttachmentId | String | The ID of the message attachment. |
AgreementID | Int | Written by EDI receive pipeline. Specifies the ID of the agreement to which the inbound message is resolved. For a fallback agreement this value is 0. |
AgreementName | String | Written by EDI receive pipeline. Specifies the name of the agreement to which the inbound message is resolved. For a fallback agreement this value is BTSGuestParty. |
AgreementNameForSend | String | Used by the EDI send pipeline for agreement resolution for outbound document. |
AgreementPartIDForSend | Int | Used by the EDI send pipeline for agreement resolution for outbound document. This value is written by the Batching Orchestration. |
AgreementPartIDOnReceive | Int | Written by EDI receive pipeline. Specifies the one-way agreement ID of the agreement to which the inbound message is resolved. For a fallback agreement this value is 0. |
BatchElementValidationFailure | boolean | An indication that an error was promoted by the batching system when a batch element failed validation. |
BatchEncodingType | string | The type of encoding that BizTalk Server must use to encode an outgoing batched interchange. |
BatchId | Int | The batch ID of the batch configuration to use when processing this document, if the document only matches one batch filter. |
BatchIds | String | A list of the batch IDs of the matching batch filter sets, if the document matches more than one batch filter. |
BatchingError | string | A description of the error promoted by the batching system when it suspended a batch element. |
BatchName | String | The name of the batch configuration to use when processing this document. |
CodePage | string | The code page to be used to validate the interchange. |
CONTRL_UCI4 | string | The Action Code field of a CONTRL acknowledgment, indicating whether the interchange was accepted (a value of "8") or rejected because of an error in the UNA or UNB segment (a value of "4") (EDIFACT CONTRL ACK only). |
DestinationPartyID (deprecated in BizTalk Server) | int | The ID of the destination party that the message should be sent to. |
DestinationPartyName (deprecated in BizTalk Server) | string | The name of the destination party that the message should be sent to. |
DestinationPartyReceiver Identifier |
string | The identifier of the destination party that the message should be sent to. This property can be promoted in a custom component to enable party resolution in the send pipeline. |
DestinationPartyReceiver Qualifier |
string | The qualifier of the destination party that the message should be sent to. This property can be promoted in a custom component to enable party resolution in the send pipeline. |
DestinationPartySender Identifier |
string | The identifier of the party sending the message to the destination party. This property can be promoted in a custom component to enable party resolution in the send pipeline. |
DestinationPartySender Qualifier |
string | The qualifier of the party sending the message to the destination party. This property can be promoted in a custom component to enable party resolution in the send pipeline. |
EncodingType | short | The type of encoding that BizTalk Server must use to encode an outgoing message. |
ErrorDescription | string | For a suspended message, contains a copy of the error message (similar to the message in the EventViewer). |
GS_Segment | string | The complete GS (functional group) segment (X12). The EDI receive pipeline writes this property to the context when the interchange is split as transaction sets, not when the interchange is preserved. |
GS01 | string | The Functional Identifier Code (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
GS02 | string | The Application Sender Code (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
GS03 | string | The Application Receiver Code (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
GS07 | string | The Responsible Agency (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
GS08 | string | The Version/Release/Industry Identifier Code (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
ISA_Segment | string | The complete ISA (interchange control header) segment (X12). BizTalk Server writes this property to the context when the interchange is split as transaction sets, not when the interchange is preserved. This property contains security/authorization information (ISA2, Authorization Information, and ISA4, Security Information) that may lead to information disclosure. You can use the Mask security/authorization/password information property (in the Validation and ACK Generation page) to replace each character in the ISA2 and ISA4 fields with a “#” character. This is a one-way process: the “#” characters cannot be converted to actual characters. The EDI receive pipeline writes this property to the context when the interchange is split as transaction sets, not when the interchange is preserved. |
ISA05 | string | The Interchange Sender Qualifier (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
ISA06 | string | The Interchange Sender ID (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
ISA07 | string | The Interchange Receiver Qualifier (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
ISA08 | string | The Interchange Receiver ID (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
ISA15 | string | The Usage Indicator (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched being preserved). |
IsResendControlMessage | int | Used by the AS2 engine to indicate that an AS2 message send should be retransmitted, as an MDN response has not been received within the configured time. |
IsSystemGeneratedACK | boolean | Indicates that the message is an acknowledgment (X12 TA1 or 997, or EDIFACT CONTRL) that was generated by the system. Can be set to True or False. This is a message context property that is available as EDI.IsSystemGeneratedACK in the Filters page of the Send Port Properties dialog box. |
ReceiverPartyName | String | Written by EDI receive pipeline. Specifies the name of the destination partner provided in the agreement to which the message is resolved. For a fallback agreement this value is RECEIVE-PARTNER. |
ReceiverPartyNameForSend | String | Used by the EDI send pipeline for agreement resolution for outbound documents. |
ReuseEnvelope | boolean | Indicates whether an interchange is preserved or split. If the interchange is preserved, BizTalk Server will reuse the envelope when processing the interchange for sending. |
SenderPartyName | String | Written by EDI receive pipeline. Specifies the name of the source partner provided in the agreement to which the inbound message is resolved. For a fallback agreement this value would be BTS-SENDER. |
SenderPartyNameForSend | String | Used by the EDI send pipeline for agreement resolution for outbound documents. |
ST01 | string | The Transaction Set Identifier Code (X12) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
ST03 | string | The Version/Release/Industry Identifier Code (X12) You can write and promote this property to the context and use it for message routing. |
TA1_TA104 | string | The Engine Behavior field of a TA104 acknowledgment, indicating whether the interchange was accepted (a value of "A"), accepted with errors (a value of "E"), or rejected/suspended (a value of "R") (X12 TA1 ACK only). |
ToBeBatched | boolean | Indicates whether the message should be batched with other messages by the batching orchestration. After batching an interchange, the batching orchestration sets this property to "False". |
ToBeRouted | boolean | Indicates that the message should be picked up by the routing orchestration, which creates as many copies of the batch element as there are subscriptions to that element, and then routes the copies to the MessageBox. |
UNA_Segment | string | The complete UNA (Service String Advice) segment (EDIFACT) The EDI receive pipeline writes this property to the context when the interchange is split as transaction sets, not when the interchange is preserved. |
UNB_Segment | string | The complete UNB (interchange control header) segment (EDIFACT) The EDI receive pipeline writes this property to the context when the interchange is split as transaction sets, not when the interchange is preserved. This property contains security/authorization information (UNB6.1 and UNB6.2) that may lead to information disclosure. You can use the Mask security/authorization/password information property to replace the value in the UNB6.1 and UNB6.2 fields with a “#” character. Note that the “#” character cannot be converted to actual characters. |
UNB11 | string | The Usage indicator (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNB2_1 | string | The Interchange Sender ID (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNB2_2 | string | The Interchange Sender Code Qualifier (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNB2_3 | string | The Address for Reverse Routing (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNB3_1 | string | The Interchange Recipient ID (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNB3_2 | string | The Interchange Recipient Code Qualifier (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNG_Segment | string | The complete UNG (functional group) segment (X12) The EDI receive pipeline writes this property to the context when the interchange is split as transaction sets, not when the interchange is preserved. |
UNG1 | string | The Functional Group Identification (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNG2_1 | string | The Application Sender’s Identification (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNG3_1 | string | The Application Recipient’s Identification (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNH2_1 | string | The Message Type (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNH2_2 | string | The Message Version Number (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
UNH2_3 | string | The Message Release Number (EDIFACT) The EDI receive pipeline promotes this property to the context (if the interchange is not a batched interchange being preserved). |
Extracting Individual Fields from the Segment Context Properties
Some properties are not written or promoted to the message context by the EDI receive pipelines as individual properties, but only as part of a segment string. This is done for performance reasons, because property promotion has an impact on performance. For example, the ISA5, ISA6, ISA7, ISA8, and ISA15 fields of the ISA segment are promoted by the receive pipelines as individual properties, but the rest of the ISA fields are only written to the message context as part of the ISA_Segment property. These properties are written or promoted only when ReuseEnvelope is not set to True, indicating that a received batched interchange is not being preserved.
If you need an individual field of one of the segments (ISA, GS, UNB, UNG, or UNA) to be written to the message context, but this individual field is not written to the message context by default, you will need to write a custom component to write it to the message context. This custom component needs to parse the segment fields and write an individual field to the message context.
The Message Enrichment sample shows how to use a parser to extract individual fields from the segments and write them to the context. This sample is included in the <drive>:\Program Files\Microsoft BizTalk Server\SDK\Samples\EDI\MessageEnrichment. For more information, see Message Enrichment Sample (BizTalk Server Sample).