BAM Activities Created to Track EDI-AS2 Messages

BizTalk Server includes BAM activities that have been created for EDI and AS2 status reporting. These activities determine the data that is displayed in the status reports. This topic describes the BAM activities and the fields that are defined in them, and describes the enumeration values that are defined for certain fields in the BAM activities.

You can create a custom status report by creating a custom BAM activity. The custom activity can be based upon one of the standard activities. You can also display the contents of the message from the custom status report by querying the EdiMessageContent table in the BizTalkDTADb database. For more information, see the "Querying the EdiMessageContent Table" section below.

Caution

Modifying a BAM activity may affect processing of the BizTalk EDI and AS2 runtimes, which depend upon the activities.

BAM Activities Used in Status Reporting

The BAM activities created to track EDI/AS2 messages are included as views in the BAMPrimaryImport database. The following table lists the BAM activities and the columns within them:

BAM Activity Fields
AS2InterchangeActivity RecordID

ActivityID

InterchangeControlNo

ReceiverID

SenderID

ReceiverQ

SenderQ

InterchangeDateTime

Direction

MessageID

AS2From

AS2To

TimeCreated

RowFlags

LastModified
AS2MdnActivity RecordID

ActivityID

AS2PartyRole

AS2From

AS2To

MessageID

MdnDateTime

MdnDispositionType

DispositionModifierExtType

DispositionModifierExtDescription

MdnEncryptionType

MdnSignatureType

MdnPayloadContentKey

MdnWireContentKey

MdnMicValue

TimeCreated

RowFlags

LastModified
AS2MessageActivity RecordID

ActivityID

ReceiverPartyName

SenderPartyName

AS2PartyRole

AS2From

AS2To

MessageID

MessageDateTime

BTSInterchangeID

BTSMessageID

MdnProcessingStatus

MessageEncryptionType

IsMdnExpected

MicAlgorithmType

MessageSignatureType

MessagePayloadContentKey

MessageWireContentKey

MessageMicValue

TimeCreated

RowFlags

IsAS2MessageDuplicate

DaysToCheckDuplicate

FileName

TrackingActivityID

LastModified
BatchingActivity RecordID

ActivityID

BatchStatus

DestinationPartyID

DestinationPartyName

ActivationTime

BatchOccurrenceCount

EdiEncodingType

BatchType

TargetedBatchCount

ScheduledReleaseTime

BatchElementCount

RejectedBatchElementCount

BatchSize

LastBatchAction

CreationTime

ReleaseTime

BatchReleaseType

BatchServiceID

ActivationMessageID

ReleaseMessageID

TimeCreated

RowFlags

BatchCorrelationID

BatchName

BatchID

LastModified
BatchInterchangeActivity RecordID

ActivityID

InterchangeControlNo

ReceiverPartyName

SenderPartyName

ReceiverID

SenderID

ReceiverQ

SenderQ

InterchangeDateTime

Direction

TimeCreated

RowFlags

BatchCorrelationID

LastModified
BusinessMessageJournal RecordID

ActivityID

MessageTrackingID

ActionType

ContainerActivityID

ContainerType

BTSInterchangeID

BTSMessageId

BTSServiceInstanceId

BTSHostName

RoutedToPartyName

LinkedMessageTrackingID

TimeCreated

LastModified
FunctionalAckActivity RecordID

ActivityID

InterchangeActivityID

GroupControlNo

InterchangeControlNo

ReceiverID

SenderID

ReceiverQ

SenderQ

InterchangeDateTime

Direction

AckProcessingStatus

AckStatusCode

DeliveredTSCount

AcceptedTSCount

AckIcn

AckIcnDate

AckIcnTime

ErrorCode1

ErrorCode2

ErrorCode3

ErrorCode4

ErrorCode5

TimeCreated

RowFlags

LastModified
FunctionalGroupInfo RecordID

ActivityID

InterchangeActivityID

GroupControlNo

FunctionalIDCode

TSCount

LastModified
InterchangeAckActivity RecordID

ActivityID

InterchangeControlNo

ReceiverID

SenderID

ReceiverQ

SenderQ

InterchangeDateTime

Direction

AckProcessingStatus

AckStatusCode

AckIcn

AckIcnDate

AckIcnTime

AckNoteCode1

AckNoteCode2

TimeCreated

RowFlags

AckCorrelationId

LastModified
InterchangeStatusActivity RecordID

ActivityID

InterchangeControlNo

ReceiverID

SenderID

ReceiverQ

SenderQ

ReceiverPartyName

SenderPartyName

InterchangeDateTime

Direction

AckStatusCode

GroupCount

EdiMessageType

PortID

IsInterchangeAckExpected

IsFunctionalAckExpected

TimeCreated

RowFlags

AckCorrelationId

TsCorrelationId

LastModified
ResendJournalActivity RecordID

ActivityID

TrackingActivityId

ResendIndex

ResendStatus

BTSInterchangeID

LastModified
ResendTrackingActivity RecordID

ActivityID

CorrelationId

AdapterPrefix

ResendCount

MaxResendCount

ResendInterval

MaxRetryCount

RetryInterval

MessageContentID

ResendTimeout

RetryTimeout

BTSInterchangeID

LastModified
TransactionSetActivity RecordID

ActivityID

InterchangeControlNo

ReceiverID

SenderID

ReceiverQ

SenderQ

InterchangeDateTime

Direction

ReceiverPartyName

SenderPartyName

ApplicationSender

ApplicationReceiver

GroupDateTime

GroupControlNo

TransactionSetId

DocType

TransactionSetControlNo

AckStatusCode

BatchProcessing

ProcessingDateTime

GroupOrdinal

TransactionSetOrdinal

MessageContentKey

TimeCreated

RowFlags

TsCorrelationId

LastModified

Data Enumerations in the BAMPrimaryImport Database

Some EDI and AS2 data is saved as enumerations in the tables of the BAMPrimaryImport database. When displayed in the status report, the data is shown as text. These values are as follows:

Field Enum Values
AckProcessingStatus NotExpected = -1

Expected = 0

Received = 1

Sent = 2

Generated = 3
AS2PartyRole All = 0

Receiver = 1

Sender = 2
BatchAction Creation = 0

Activation = 1

ElementReference = 2

Release = 3

Override = 4

Termination = 5

Sent = 6

ToBeReleased = 7
BatchStatus All = -1

Defined = 0

Active

Released

Completed
BatchType ScheduleBased = 0

MessagesCountInGroup = 1

MessagesCountIn
Interchange = 2

CharacterCount = 3

ExternalTrigger = 4
Direction All = 0

Receive = 1

Send = 2
DisplayAckStatusCode All = 100

Accepted = 0

PartiallyAccepted = 1

Rejected = -1

AckExpected = 500

AckNotExpected = 600
DispositionModifierExt
Description
Not Valued = 1

Authentication Failed = 2

Decryption Failed = 3

Insufficient Message
Security = 4

Integrity Check Failed = 5

Unexpected Processing
Error = 6
DispositionModifierExt
Type
Not Valued = 1

Error = 2

Warning = 3
EdiMessageType X12,

Edifact,

Unknown
IsMdnExpected MDN is not expected = 0

MDN is expected = 1
MdnDispositionType Processed = 1

Failed = 2
MdnProcessingStatus All = 0

Processed = 1

Failed = 2

Expected = 3

Not Expected = 4
MessageEncryptionType Message is not encrypted = 0

Message is encrypted = 1
MessageSignatureType Message is not signed = 0

Message is signed = 1
MicAlgorithmType Unknown type = -1

SHA1 = 1

MD5 = 2

BusinessMessageJournal BAM Activity

The BusinessMessageJournal BAM activity enables BizTalk Server to correlate a received EDI interchange containing a transaction set with an outgoing batched interchange that contains the same transaction set. For more information, see Correlating an Incoming Transaction Set with an Outgoing Batch.

Querying the EdiMessageContent Table

The EdiMessageContent table in the BizTalkDTADb database stores the message payload, along with message metadata. From a custom status report, you can query the EdiMessageContent table to display the message contents. This is similar to how some of the status reports in the product enable you to display message contents, for example, how the AS2 Message and Correlated MDN status report enables you to display the message wire format.

You link from a custom BAM activity to the EdiMessageContent table by using the key columns in the BAM activity that correspond to the ContentKey column in the EdiMessageContent table. For example, to link from the AS2MessageActivity BAM activity to the EdiMessageContent tablme, you would use either the MessagePayloadContentKey column or the MessageWireContentKey column to link to the ContentKey column.

Table Columns
EdiMessageContent

(in the BizTalkDTADb database)
ContentKey

MessageFormat

ContentType

Charset

TimeCreated

TimeInserted

IsOrphaned

ContentBinary

See Also

How Data Is Stored for EDI and AS2 Status Reports
Correlating an Incoming Transaction Set with an Outgoing Batch