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