Skip to content

Commit 85fa831

Browse files
author
ecfan
committed
Draft update
1 parent 88c221b commit 85fa831

File tree

3 files changed

+164
-27
lines changed

3 files changed

+164
-27
lines changed

articles/logic-apps/monitor-track-b2b-transactions-standard.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Set up monitoring and tracking for B2B transactions or messages in
44
services: logic-apps
55
ms.topic: how-to
66
ms.reviewer: estfan, divswa, pravagar, azla
7-
ms.date: 02/28/2025
7+
ms.date: 03/07/2025
88
# As a B2B integration solutions developer, I want to learn how to monitor and track B2B transactions in my Standard workflows created with Azure Logic Apps.
99
---
1010

@@ -99,7 +99,7 @@ For more information, see the following documentation:
9999
- [Add agreements between partners in integration accounts](/azure/logic-apps/logic-apps-enterprise-integration-agreements)
100100
- [Add trading partners to integration accounts](/azure/logic-apps/logic-apps-enterprise-integration-partners)
101101

102-
### Troubleshoot tracking problems
102+
### Troubleshoot tracking setup problems
103103

104104
For tracking to work correctly, make sure that all the following conditions are met:
105105

@@ -134,27 +134,29 @@ For tracking to work correctly, make sure that all the following conditions are
134134

135135
:::image type="content" source="media/monitor-track-b2b-transactions/example-x12-message-details.png" alt-text="Screenshot shows Premium integration account with B2B tracking selected, and a table with details about collected X12 messages.":::
136136

137-
### Message properties
137+
## Message properties
138138

139139
The following tables list the properties available for each message type that B2B currently supports:
140140

141-
#### AS2 message properties
141+
### AS2 message properties
142142

143143
| Column name | Expanded name |
144144
|-------------|---------------|
145145
| **AgreementName**| Agreement name |
146146
| **SenderParternerName** | Sender partner |
147147
| **ReceiverPartnerName** | Receiver partner |
148148
| **MessageStatus** | Message status |
149-
| **MessageDirection** | Message direction (send or receive) |
149+
| **MessageDirection** | Message direction (**`send`** or **`receive`**) |
150150
| **MessageTime** | Message time |
151151
| **MessageClientTrackingId** | Message client tracking ID |
152152
| **MessageId** | Message ID from the message header |
153153
| **IsMdnExpected** | Is a Message Disposition Notification (MDN) expected (**`true`** or **`false`**) |
154154
| **AckStatus** | Acknowledgment status |
155155
| **CorrelationMessageId** | An ID that correlates the message with an MDN |
156156

157-
#### X12 message properties
157+
For more information about the JSON schema for these properties, see [Table schemas for tracking B2B transactions](tracking-table-schemas-standard.md).
158+
159+
### X12 message properties
158160

159161
| Column name | Expanded name |
160162
|-------------|---------------|
@@ -174,23 +176,23 @@ The following tables list the properties available for each message type that B2
174176
| **TransactionSetAckStatus** | Transaction set acknowledgment status |
175177
| **FunctionalAckStatus** | Functional acknowledgment status |
176178

177-
## Tracking table schema
179+
For more information about the JSON schema for these message properties, see [Table schemas for tracking B2B transactions](tracking-table-schemas-standard.md#).
178180

179-
In your Azure Data Explorer cluster, the database stores transaction data in a structured format.
181+
## Database tables
182+
183+
In your Azure Data Explorer cluster, the database stores transaction data in a table-structured format. This table structure provides the capability for you to efficiently query and retrieve B2B tracking data, provide structured insights into message flow, processing status, and troubleshoot problems.
180184

181185
- The table named **AS2TrackRecords** stores AS2 transactions.
182186
- The table named **EdiTrackRecords** stores X12 and EDIFACT transactions.
183187

184-
This table structure provides the capability for you to efficiently query and retrieve B2B tracking data, provide structured insights into message flow, processing status, and troubleshoot problems.
185-
186188
> [!NOTE]
187189
>
188190
> If you want to [create a tracking store](#manage-with-rest-api) using the Azure Logic Apps REST API,
189191
> you must first manually create the two tables named **AS2TrackRecords** and **EdiTrackRecords** in your
190192
> Azure Data Explorer database using specific [B2B tracking table schemas](tracking-table-schemas-standard.md).
191193
> Your database must also grant **Ingester** permissions to your integration account resource.
192194
193-
For more information, see [Tracking table schemas for B2B transactions - Standard workflows](tracking-table-schemas-standard.md).
195+
For more information, see [Table schemas for tracking B2B transactions - Standard workflows](tracking-table-schemas-standard.md).
194196

195197
<a name="manage-with-rest-api"></a>
196198

@@ -206,8 +208,8 @@ Create a tracking store or update an existing one.
206208
>
207209
> In this release, your integration account currently supports only one tracking store.
208210
> Before you create a tracking store using the Azure Logic Apps REST API, you must first
209-
> manually create the two tables named **AS2TrackRecords** and **EdiTrackRecords** in your Azure
210-
> Data Explorer database using specific [B2B tracking table schemas](tracking-table-schemas-standard.md).
211+
> manually create the two tables named **AS2TrackRecords** and **EdiTrackRecords** in your
212+
> Azure Data Explorer database using specific [table schemas for tracking B2B transactions](tracking-table-schemas-standard.md).
211213
> Your database must also grant **Ingester** permissions to your integration account resource.
212214
213215
`PUT https://management.azure.com/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Logic/integrationAccounts/{integration-account-name}/groups/default/trackingstores/{tracking-store-name}?api-version=2016-06-01`
@@ -294,4 +296,4 @@ Return a success response for a successfully deleted tracking store.
294296

295297
## Related content
296298

297-
- [Tracking table schemas for B2B transactions - Standard workflows](tracking-table-schemas-standard.md)
299+
- [Table schemas for tracking B2B transactions - Standard workflows](tracking-table-schemas-standard.md)

articles/logic-apps/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ items:
499499
href: enable-enhanced-telemetry-standard-workflows.md
500500
- name: Monitor and track B2B transactions
501501
href: monitor-track-b2b-transactions-standard.md
502-
- name: Tracking table schemas for B2B transactions
502+
- name: Table schemas for tracking B2B transactions
503503
href: tracking-table-schemas-standard.md
504504
- name: Reliability
505505
items:

articles/logic-apps/tracking-table-schemas-standard.md

Lines changed: 147 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
---
2-
title: B2B tracking table schemas - Standard workflows
3-
description: Learn more about the schemas for tracking tables that store B2B transaction data for Standard workflows in Azure Logic Apps.
2+
title: Table schemas for tracking B2B transactions - Standard workflows
3+
description: Learn about table schemas to use for tracking B2B transactions data for Standard workflows in Azure Logic Apps.
44
services: logic-apps
55
ms.topic: how-to
66
ms.reviewer: estfan, divswa, pravagar, azla
7-
ms.date: 02/28/2025
8-
# As a B2B integration solutions developer, I want to better understand the structures for the tables that store B2B transaction data for Standard workflows in Azure Logic Apps.
7+
ms.date: 03/07/2025
8+
# As a B2B integration solutions developer, I want to better understand the table structures used fo storing B2B transaction data for Standard workflows in Azure Logic Apps.
99
---
1010

11-
# B2B tracking table schemas for Standard workflows in Azure Logic Apps
11+
# Table schemas for tracking B2B transactions for Standard workflows in Azure Logic Apps
1212

1313
[!INCLUDE [logic-apps-sku-standard](../../includes/logic-apps-sku-standard.md)]
1414

1515
Azure Logic Apps includes built-in tracking that you can enable for parts of your Standard workflow. To help you monitor the successful delivery or receipt, errors, and properties for business-to-business (B2B) messages, this guide helps you better understand the tables that store B2B tracking data for your transactions.
1616

17+
> [!NOTE]
18+
> ### WorkflowRunOperationInfo type Uses a specific JSON schema
19+
1720
<a name="as2-table"></a>
1821

1922
## AS2 tracking table - AS2TrackRecords
@@ -23,7 +26,7 @@ The Azure Database Explorer table named **AS2TrackRecords** stores all AS2 track
2326
```kusto
2427
.create table AS2TrackRecords (
2528
IntegrationAccountSubscriptionId: string, // Subscription ID for the integration account.
26-
IntegrationAccountResourceGroup: string, // Resource ID for the integration account.
29+
IntegrationAccountResourceGroup: string, // Resource group for the integration account.
2730
IntegrationAccountName: string, // Name for the integration account.
2831
IntegrationAccountId: string, // ID for the integration account.
2932
WorkflowRunOperationInfo: dynamic, // Operation information for the workflow run.
@@ -41,13 +44,89 @@ The Azure Database Explorer table named **AS2TrackRecords** stores all AS2 track
4144
As2To: string, // Name for the AS2 message receiver in the AS2 headers.
4245
ReceiverPartnerName: string, // Partner name for the AS2 message receiver.
4346
SenderPartnerName: string, // Partner name for the AS2 message sender.
44-
MessageId: string, // AS2 message ID in the AS2 message headers.
47+
MessageId: string, // AS2 message ID.
4548
OriginalMessageId: string,// Original AS2 message ID.
4649
CorrelationMessageId: string, // Message ID for correlating AS2 messages with Message Disposition Notifications (MDNs).
47-
IsMdnExpected: bool // Whether to use the default value, if unknown.
50+
IsMdnExpected: bool // Whether the Message Dispoition Notification (MDN) is expected.
4851
)
4952
```
5053

54+
### AS2 MessageProperties type
55+
56+
The **MessageProperties** column has a **dynamic** type structure, which uses a different JSON schema based on the tracking record type.
57+
58+
#### AS2 message tracking record - MessageProperties schema
59+
60+
```json
61+
{
62+
"direction": "",
63+
"messageId": "",
64+
"dispositionType": "",
65+
"fileName": "",
66+
"isMessageFailed": "",
67+
"isMessageSigned": "",
68+
"isMessageEncrypted": "",
69+
"isMessageCompressed": "",
70+
"correlationMessageId": "",
71+
"incomingHeaders": {},
72+
"outgoingHeaders": {},
73+
"isNrrEnabled": "",
74+
"isMdnExpected": "",
75+
"mdnType": ""
76+
}
77+
```
78+
79+
| Property | Type | Description |
80+
|----------|------|-------------|
81+
| **direction** | String | Message flow direction (**`send`** or **`receive`**) |
82+
| **messageId** | String | AS2 message ID from AS2 message header |
83+
| **dispositionType** | String | Disposition type for the Message Disposition Notification (MDN) |
84+
| **fileName** | String | File name from the AS2 message header |
85+
| **isMessageFailed** | Boolean | Whether the AS2 message failed |
86+
| **isMessageSigned** | Boolean | Whether the AS2 message was signed |
87+
| **isMessageEncrypted** | Boolean | Whether the AS2 message was encrypted |
88+
| **isMessageCompressed** | Boolean | Whether the AS2 message was compressed |
89+
| **correlationMessageId** | String | Message ID for correlatating AS2 messages with Message Disposition Notifications (MDNs) |
90+
| **incomingHeaders** | JToken dictionary | Header details for the incoming AS2 message |
91+
| **outgoingHeaders** | JToken dictionary | Header details for the outgoing AS2 message |
92+
| **isNrrEnabled** | Boolean | Whether Non-Repudiation of Receipt (NRR) is enabled |
93+
| **isMdnExpected** | Boolean | Is the Message Disposition Notification (MDN) expected |
94+
| **mdnType** | Enum | Allowed values: **`NotConfigured`**, **`Sync`**, and **`Async`** |
95+
96+
#### AS2 MDN tracking record - MessageProperties schema
97+
98+
```json
99+
{
100+
"direction": "",
101+
"messageId": "",
102+
"originalMessageId": "",
103+
"dispositionType": "",
104+
"isMessageFailed": "",
105+
"isMessageSigned": "",
106+
"isNrrEnabled": "",
107+
"statusCode": "",
108+
"micVerificationStatus" "",
109+
"correlationMessageId": "",
110+
"incomingHeaders": {},
111+
"outgoingHeaders": {},
112+
}
113+
```
114+
115+
| Property | Type | Description |
116+
|----------|------|-------------|
117+
| **direction** | String | Message flow direction (**`send`** or **`receive`**) |
118+
| **messageId** | String | AS2 message ID from AS2 message header |
119+
| **originalMessageId** | String | Message ID for the original AS2 message |
120+
| **dispositionType** | String | Disposition type for the Message Disposition Notification (MDN) |
121+
| **isMessageFailed** | Boolean | Whether the AS2 message failed |
122+
| **isMessageSigned** | Boolean | Whether the AS2 message was signed |
123+
| **isNrrEnabled** | Boolean | Whether Non-Repudiation of Receipt (NRR) is enabled |
124+
| **statusCode** | Enum | Allowed values: **`Accepted`**, **`Rejected`**, and **`AcceptedWithErrors`** |
125+
| **micVerificationStatus** | Enum | Allowed values: **`NotApplicable`**, **`Succeeded`**, and **`Failed`** |
126+
| **correlationMessageId** | String | Correlation ID, which is the ID for the original message that has the MDN configured |
127+
| **incomingHeaders** | JToken dictionary | Header details for the incoming AS2 message |
128+
| **outgoingHeaders** | JToken dictionary | Header details for the outgoing AS2 message |
129+
51130
<a name="x12-table"></a>
52131

53132
## X12 tracking table – EdiTrackRecords
@@ -57,15 +136,15 @@ The Azure Database Explorer table named **EdiTrackRecords** stores all X12 track
57136
```kusto
58137
.create table EdiTrackRecords (
59138
IntegrationAccountSubscriptionId: string, // Subscription ID for the integration account.
60-
IntegrationAccountResourceGroup: string, // Resource ID for the integration account.
139+
IntegrationAccountResourceGroup: string, // Resource group for the integration account.
61140
IntegrationAccountName: string, // Name for the integration account.
62141
IntegrationAccountId: string, // ID for the integration account.
63142
WorkflowRunOperationInfo: dynamic, // Operation information for the workflow run.
64143
ClientRequestId: string, // Client request ID.
65144
EventTime: datetime, // Time of the event.
66145
Error: dynamic, // Error, if any.
67146
RecordType: string, // Type of tracking record.
68-
Direction: string, // Message low direction, which is either 'receive' or 'send'.
147+
Direction: string, // Message flow direction, which is either 'receive' or 'send'.
69148
IsMessageFailed: bool, // Whether the message failed.
70149
MessageProperties: dynamic, // Message properties.
71150
AdditionalProperties: dynamic, // Additional properties.
@@ -78,8 +157,8 @@ The Azure Database Explorer table named **EdiTrackRecords** stores all X12 track
78157
ReceiverQualifier: string, // Qualifier for the partner X12 message receiver.
79158
ReceiverIdentifier: string, // Identiifer for the partner X12 message receiver.
80159
TransactionSetControlNumber: string, // Control number for the transaction set.
81-
FunctionalGroupControlNumber: string, // Functional group control number for the functional acknowledgment.
82-
InterchangeControlNumber: string, // Interchange control number for the functional acknowledgment.
160+
FunctionalGroupControlNumber: string, // Functional group control number.
161+
InterchangeControlNumber: string, // Interchange control number.
83162
MessageType: string, // Transaction set or document type.
84163
RespondingTransactionSetControlNumber: string, // Control number for the responding transaction set, in case of acknowledgment.
85164
RespondingFunctionalGroupControlNumber: string, // Control number for the responding functional group, in case of acknowledgment.
@@ -88,6 +167,62 @@ The Azure Database Explorer table named **EdiTrackRecords** stores all X12 track
88167
)
89168
```
90169

170+
### X12 MessageProperties type
171+
172+
The **MessageProperties** column has a **dynamic** type structure, which uses a different JSON schema based on the tracking record type.
173+
174+
#### X12 transaction set tracking record - MessageProperties schema
175+
176+
```json
177+
{
178+
"direction": "",
179+
"interchangeControlNumber": "",
180+
"functionalGroupControlNumber": "",
181+
"transactionSetControlNumber": "",
182+
"correlationMessageId": "",
183+
"messageType": "",
184+
"isMessageFailed": "",
185+
"isTechnicalAcknowledgmentExpected": "",
186+
"isFunctionalAcknowledgmentExpected": "",
187+
"needAk2LoopForValidMessages": "",
188+
"segmentsCount": ""
189+
}
190+
```
191+
192+
| Property | Type | Description |
193+
|----------|------|-------------|
194+
| **direction** | String | Message flow direction (**`send`** or **`receive`**) |
195+
| **interchangeControlNumber** | String | Interchange control number for the functional acknowledgment |
196+
| **functionalGroupControlNumber** | String | Functional group control number for the functional acknowledgment |
197+
| **transactionSetControlNumber** | String | Control number for the transaction set |
198+
| **correlationMessageId** | String | Message correlation ID, which combines these values: {**AgreementName**}{**FunctionalGroupControlNumber**}{**TransactionSetControlNumber**} |
199+
| **messageType** | String | Transaction set or document type |
200+
| **isMessageFailed** | Boolean | Whether the X12 message failed |
201+
| **isTechnicalAcknowledgmentExpected** | Boolean | Whether the technical acknowledgment is configured in the X12 agreement |
202+
| **isFunctionalAcknowledgmentExpected** | Boolean | Whether the functional acknowledgment is configured in the X12 agreement |
203+
| **needAk2LoopForValidMessages** | Boolean | Whether the AK2 loop is required for a valid message |
204+
| **segmentsCount** | Integer | Number of segments in the X12 transaction set |
205+
206+
#### X12 transaction set acknowledgement - MessageProperties schema
207+
208+
```json
209+
{
210+
"direction": "",
211+
"interchangeControlNumber": "",
212+
"functionalGroupControlNumber": "",
213+
"transactionSetControlNumber": "",
214+
"correlationMessageId": "",
215+
"messageType": "",
216+
"isMessageFailed": "",
217+
"isTechnicalAcknowledgmentExpected": "",
218+
"isFunctionalAcknowledgmentExpected": "",
219+
"needAk2LoopForValidMessages": "",
220+
"segmentsCount": ""
221+
}
222+
```
223+
224+
225+
91226
## Related content
92227

93228
- [Monitor and track B2B transactions - Standard workflows](monitor-track-b2b-transactions-standard.md)

0 commit comments

Comments
 (0)