Activities

Activity Area Description

3PL warehouse receives picking list

EDI The 3PL warehouse receives the picking list from the seller.

3PL warehouse receives receipts list

EDI The 3PL warehouse receives the receipts list from the buyer.

3PL warehouse sends arrival journal update

EDI The 3PL warehouse sends the arrival journal update to the buyer.

3PL warehouse sends item counts

EDI The 3PL warehouse sends the item counts to Inventory management.

3PL warehouse sends picking list registration

EDI The 3PL warehouse sends the picking list registration to the seller.

Add an item cross reference

EDI
You can get validation errors or warnings on the received item number, name, or bar code in the EDI sales order. This can be another number, name, or bar code than you use for the related item. For example, a customer sends an external bar code to order the item.
In this case, you can add an item cross reference. An item cross reference indicates which item to deliver for an external item number, name, or bar code. For example, the customer has ordered paracetamol with a bar code of a brand that you don't have. But you have the same paracetamol in another brand. With the item cross reference between the bar code of the ordered brand and your item, the sales line can be approved on validation.
The search sequence for the applicable item cross reference is from specific to general:
  1. Origin, Customer, Item, External item
  2. Origin, Item, External item
  3. Item, External item

Add child record to outbound queue

Operation When the data synchronization log is processed, the Redirect event setting of the message or web service action is considered. Each table event that occurs to a record is logged in the data synchronization log for that record and related table.
On processing the data synchronization log, by default, log entries for a child record of the source document are added to the outbound queue for the root record of the source document. However, if Redirect event is set to 'No', only the logged event on the child record is added to the outbound queue. When the outbound queue is processed, the child record is exported. Based on the applicable document setup, the applicable parent records and the root record are also exported.
Example:
The source document has a root record 'Sales order' and a child record 'Sales line'. An event is logged for a sales line. If Redirect event is set to 'No', the sales line record is added to the outbound queue. When the outbound queue is processed, the sales line and the sales order are exported.
Note:
Before a record is added to the outbound queue, a check is done if already a record exists for the unique combination of:
- Record
- Message or web service action
- Event type
- State
If, in the outbound queue, already a record exists for the unique combination, the record is not added to the outbound queue

Add document record field - JSON

Design

To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.

For JSON documents, fields are always of type string, to enable type conversions.

This topic explains how to add record fields to a JSON document.

If fields are already initialized for the document, selected for the record, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document record fields - EDI

Design To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.
For EDI documents, fields are always of type string, to enable type conversions.
This topic explains how to add record fields to an EDI document.
If fields are already initialized for, selected for, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document record fields - Internal documents

Design To each document record, add the data fields which values must be exchanged. For internal documents, set up the fields in line with naming in D365 FO.
For internal documents, make sure the fields have the same type as in D365 FO.
This topic explains how to add records to documents of these types: D365 FO, Journal, or Staging.
If fields are already selected for or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document record fields - Microsoft Excel

Design To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.
For Microsoft Excel documents, fields can be of any type.
This topic explains how to add record fields to a Microsoft Excel document.
If fields are already initialized for, selected for, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document record fields - Microsoft Word

Design To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.
For Microsoft Word documents, fields are always of type string, to enable type conversions.
This topic explains how to add record fields to a Microsoft Word document.
If fields are already selected for or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document record fields - Text

Design To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.
For Text documents, fields are always of type string, to enable type conversions.
This topic explains how to add record fields to a Text document.
If fields are already initialized for, selected for, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document record fields - XML

Design

To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.

For XML documents, fields are always of type string, to enable type conversions.

This topic explains how to add record fields to an XML document.

If fields are already initialized for the document, selected for the record, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document records - EDI

Design

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to an EDI document.

Add document records - Fixed text

Design

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to a Fixed text document.

Add document records - Internal document

Design

To each document, add the data records to be exchanged. For internal documents, set up the records in line with how the data is structured and named in D365 FO.

This topic explains how to add records to documents of these types: D365 FO, Journal, or Staging.

Add document records - JSON

Design

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to a JSON document.

If records are already initialized for the document, you can review and complete the setup for these records. To do so, instead of adding a record, select the desired record.

Add document records - Microsoft Excel

Design

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to a Microsoft Excel document.

Add document records - Microsoft Word

Design

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to a Microsoft Word document.

Add document records - ODBC

Design

To each document, add the data records to be exchanged. For ODBC documents, set up the records in line with how the data is structured and named in the external database.

This topic explains how to add records to an ODBC document.

Add document records - Text

Design

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to a Text document.

Add document records - XML

Design

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to an XML document.

If records are already initialized for the document, you can review and complete the setup for these records. To do so, instead of adding a record, select the desired record.

Add document records fields - Fixed text

Design To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.
For Fixed text documents, fields are always of type string, to enable type conversions.
This topic explains how to add record fields to a Fixed text document.
If fields are already selected for or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add document records fields - ODBC

Design To each document record, add the data fields which values must be exchanged. For ODBC documents, set up the fields in line with naming in the external database.
For ODBC documents, make sure the fields have the same type as in the external database.
This topic explains how to add record fields to an ODBC document.
If fields are already initialized for, selected for, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Add file to Working folder

Design
If you want to test an import message with an external file-based source document, you need a file with test data to be imported. This file must be available in the Working folder that is defined for the source connector.
You can add the test data file to the Work folder in these ways:
  • Upload the file to the Working folder.
  • Copy or move a file from the Archive or Error folder to the Working folder.

Add GLN code to 3PL warehouse address setup

EDI For each 3PL warehouse, you can set up several addresses. For each of these addresses, you can define the Global Location Number (GLN code). You can use the GLN code in EDI to identify the unique location.

Add GLN code to customer address setup

Sure Step Design For each customer, you can set up several addresses. For each of these addresses, you can define the Global Location Number (GLN code). You can use the GLN code in EDI to identify the unique location.

Add GLN code to legal entity address setup

EDI

For each legal entity, you can set up several addresses. For each of these addresses, you can define the Global Location Number (GLN code). You can use the GLN code in EDI to identify the unique location.

Add GLN code to vendor address setup

EDI For each vendor, you can set up several addresses. For each of these addresses, you can define the Global Location Number (GLN code). You can use the GLN code in EDI to identify the unique location.

Add mapping fields

Design

Set up the field mapping for each record mapping of the message. On the field mapping, you define which target document record fields are mapped to which source document record fields. The resulting field mapping is used to get the right data from the source and get it in the right format to the right place in the target.

To set up the field mapping, you can:

  • Add fields manually.
  • Select fields from a list.

You can only use the fields, as defined for the related record in the target document.

Add message to task

Design For each task, you can define several messages. If you run a task, all defined messages are run.

Add outbound web service action to task

Design

For each task, you can define several outbound web service actions. If you run a task, all defined outbound web service actions are run.

Add root record to outbound queue

Operation
If an event is logged for the root record of the applicable source document, the Redirect event setting is not applicable. On processing the data synchronization log, the logged event on the root record of the source document is added to the outbound queue. When the outbound queue is processed, the root record is exported. If, in the applicable document, child records are defined for the root record, these child records are exported as well.
Note:
Before a record is added to the outbound queue, a check is done if already a record exists for the unique combination of:
- Record
- Message or web service action
- Event type
- Status
If, in the outbound queue, already a record exists for the unique combination, the record is not added to the outbound queue.

Add root record to outbound queue (Redirect)

Operation When the data synchronization log is processed, the Redirect event setting of the message or web service action is considered. Each applicable table event, that occurs to a record, is logged in the data synchronization log for that record and related table.
On processing the data synchronization log, by default, logged events for a child record of the source document are added to the outbound queue for the root record of the source document. When the outbound queue is processed, the root record and its child records are exported.
Example:
The source document has a root record 'Sales order' and a child record 'Sales line'. An event is logged for a sales line. If Redirect event is set to 'Yes', not the logged event on the sales line is added to the outbound queue. Instead, the event is added to the outbound queue as logged on the sales order. When the outbound queue is processed, the sales order and all its sales lines are exported by the message.
Note:
Before a record is added to the outbound queue, a check is done if already a record exists for the unique combination of:
- Record
- Message or web service action
- Event type
- State
If, in the outbound queue, already a record exists for the unique combination, the record is not added to the outbound queue.


Allow registered app to access Key Vault

EDI

For the created key vault, set up an access policy to allow the earlier registered app to access the key vault.

On creation of the access policy:

  • On permission selection, select these Secret permissions: Get and List.
  • On principal selection, select the earlier registered app.

For more information, refer to Assign a Key Vault access policy.

Analyze tracer

Design When you run a message for testing purposes, you can use a tracer to register what the message does when it is run. When the message has run using the tracer, you can review the registered actions in the tracer. Usually, you use this to find issues in the message run.

Apply custom expression (Field option)

Design

You can use an expression to modify the value. In the expression, use source fields, target fields, or mapping variables as variables.
As a variable in the expression, you can use a:

  • Field from any record of the applicable document. If you use a field from another record than the current record, make sure this record is mapped before the current record.
  • Mapping variable that is defined for the message.

Examples:

You can use an expression to:

  • Combine two fields. You can, for example, make a contact location name specific by combining it with the purpose. The expression can be: Description+'-'+Purpose. This results in, for example: Shop Main Street-Financial.
  • Calculate the unit price based on the quantity and line amount on a purchase order confirmation. The variables are from the source record: Qty (PurchLine, PurchQty field) and Amount (PurchLine, LineAmount field). The expression is: Amount/Qty.

Note: 

  • Usually, you use string and real values as variables.
  • Date calculations are not supported.
For more information on expressions, refer to: Expression.

Apply custom handler (Field option)

Design

You can use a handler class to set the target field value. Several handler classes are available. For example, to get the current date, to add the time to a date, or to get the current company.

Apply dimension set (Field option)

Design

On D365 FO tables, a financial dimension is expressed in a RecId to a financial dimensions table. So, it does not reflect the financial dimension name and value. You can use the Dimension set option to get or set the financial dimension value based on the RecId and the dimension name (or number) as defined for the field option. If the message is used to:

  • Import, you receive the dimension value. Based on the RecId in the target field and the name (or number), the value is set in the relevant financial dimensions table. Note: On import, the target field type must be other than String.
  • Export, based on the RecId in the source field and the name (or number), the dimension value is gotten from the relevant financial dimensions table. Note: On export, the source field type must be int64.

Note:

Only use the Dimension set field option if one of these fields is part of the field mapping:

  • DefaultDimension: This field is used to store default dimensions for, for example, customers, vendors, or customer groups.
  • LedgerDimension or OffsetLedgerDimension: These fields are used to store financial dimensions for ledger journals of the 'Main account' account type.
  • DefaultDimension or OffsetDefaultDimension: These fields are used to store financial dimensions for ledger journals of other account types.
This field must be the:
  • Target field of the field mapping for imports.
  • Source field of the field mapping for exports.
For each financial dimension that you want to set or get, use a separate field mapping. So, in the field mapping, you can have the same financial dimension field several times.

Apply display method (Field option)

Design

You can use a display method to get the applicable value. For example, you can use a display method to calculate a value.

Apply edit method (Field option)

Design

You can use an edit method to set the target field value. On import, the edit method changes the value in the target field of the D365 FO table.

Apply external code

Design

In a field mapping, you can apply an external code as defined for the related entity.

As a result, on:

  • Import, the external code is replaced with the related code in your D365 FO environment.
  • Export, the code in your D365 FO environment is replaced with the related external code.

You can only use the external code setup in messages that are run in EDI studio.

To use the external code functionality, in EDI studio, additional external code setup is required for the EDI parties or EDI groups. For each EDI party or EDI group, you can define an external code definition as set up for a:

  • Currency
  • Released product
  • Charge codes of miscellaneous charges
  • Modes of delivery
  • Terms of delivery
  • Unit

Apply external reference (Field option)

Design

You can link an external ID to a record ID in D365 FO. Together with the external ID, you can also link an external revision number to a record ID.
The application, as defined for the connector, is used to store the link between the reference table and record ID in D365 FO and the external ID and revision number.
If you:

  • Export data, the applicable external ID or revision is searched for in the target connector application. If a record exists for the reference table and the source field (RecId) combination, the external ID or revision of this record is as the output value of this option.
  • Import data, the applicable target record ID is searched for in the source connector application. If a record exists for the combination of reference table and external ID and revision, the reference record ID of this record is the output value of this option. If no record exists for the combination, a record is created. The reference record ID of this record is the output value of this option.

Note: 

  • You can only link an external ID or revision number to a record ID if, on the applicable document, the External reference field and the Revision field are filled in for the source field or target field of the current field mapping.
  • You can only link a revision to a record ID in D365 FO if you also link the external ID. The external ID field mapping must precede the revision field mapping.
  • Usually, you use the External reference option on a field mapping where the source field (export) or target field (import) is the RecID.

Apply inventory dimension (Field option)

Design

On several D365 FO tables, inventory dimensions exist. Each inventory dimension is expressed in a RecId that refers to the Inventory dimensions (InventDim) table. So, it does not reflect the inventory dimension name and value. You can use the Inventory dimension option to get or set the inventory dimension value based on the RecId and the dimension name as defined for the field option.

  • On import, you receive the dimension value. Based on the RecId in the target field and the selected inventory dimension, the value is set in the InventDim table.
  • On export, based on the RecId in the source field and the selected inventory dimension, the dimension value is gotten from the inventory dimensions table. Note: On export, the source field type must be int64.

Note: 

  • Only use the Inventory dimension field option if the InventDimId field is the target field of the field mapping.
  • For each used inventory dimension, add a separate field mapping. For example, if you use five inventory dimensions on a sales line, add five field mappings for the sales line target record. Each of these field mappings has the InventDimId field as target field. For each InventDimId field mapping, select the Inventory dimension field option and select the applicable inventory dimension.

Apply ledger (Field option)

Design

To exchange journal data, you can get or set the account number for ledger transactions as main account (Default) or using another field (Ledger) to indicate if the value is, for example, a project, customer, or main account.

Note: If the account type is Main account, only use the Ledger field option if one of these fields is part of the field mapping: LedgerDimension or OffsetLedgerDimension.

Apply lookup (Field option)

Design You can use a lookup to get a value from another table and use it as the output value of this option. For example, you can get a value from a table that is not in the source document.
The other table must have the source field as the single key field. The current value of the 'Modify a value' process is the input of the lookup. As a result, the value that is returned by the lookup is the value of the Return value field.
Before determining the output value of this option, you can apply a type conversion or a transformation.

Apply mapping variable

Design

During a message run, you can use mapping variables to temporary store values. You can write (calculated) values to a mapping variable, and later during the message run, read the value from the mapping variable. You can use mapping variables across records.
The mapping variable values are only stored during the message run. When the message run is finished, the mapping variable values are deleted.
During a message run, to read a mapping variable, on a field mapping, define the target field to be filled with the mapping variable value. Instead of a source field, use the 'Variable' field option to define the mapping variable which value must be used to set the target field value.

Apply number sequence (Field option)

Design

You can use a number sequence to get the field value. So, instead of the source field value, the next available number in the number sequence is the applicable value.

Approve EDI Delfor journal

EDI

If all errors and warnings of an EDI Delfor journal are solved, accepted, or canceled, you must approve the EDI Delfor journal. The EDI Delfor journal is again validated according to the applicable journal validation setup. If the applicable validation rules are met, the EDI Delfor journal journal status is set to Approved. Approved EDI Delfor journals are processed by the 'Sales (Delfor) - EDI Delfor journal to Order' message batch.

Approve EDI inventory order

EDI If all errors and warnings of an EDI inventory order are solved, accepted, or canceled, you must approve the EDI inventory order. The EDI inventory order is again validated according to the applicable journal validation setup. If the applicable validation rules are met, the EDI inventory order journal status is set to Approved. Approved EDI inventory orders are processed by the applicable custom message: 'EDI inventory order to picking list registration' or 'EDI inventory order to product receipt'.

Approve EDI purchase order confirmations

EDI If all errors and warnings of an EDI purchase order confirmation are solved, accepted, or canceled, you must approve the EDI purchase order confirmation. The EDI purchase order confirmation is again validated according to the applicable journal validation setup. If the applicable validation rules are met, the EDI purchase order confirmation journal status is set to Approved. Approved EDI purchase order confirmations are processed by the 'Purchase - EDI confirmation to Order' message batch.

Approve EDI sales order

EDI
If all errors and warnings of an EDI sales order are solved, accepted, or canceled, you must approve the EDI sales order. The EDI sales order is again validated according to the applicable journal validation setup. If the applicable validation rules are met, the EDI sales order journal status is set to Approved. Approved EDI sales orders are processed by the 'Sales - EDI order to Order' message batch.

Approve staging journal

Design If all errors and warnings of a staging journal are solved, accepted, or canceled, approve the staging journal. The staging journal is again validated according to the applicable journal validation setup. If the applicable validation rules are met, the staging journal status is set to Approved. Approved staging journal can be further processed by the message that imports the staging journal records into D365 FO.

Auto fix errors

Design If errors are found by the automated error check, you can first try to have these errors fixed automatically. For example, an error that can be fixed automatically: The field length of an internal document record field does not match the field length in the related table. In this case, the document record field length is changed to the table field length.
You can auto-fix errors for:
  • Projects
  • Documents
  • Document records
  • Messages
  • Message - Data synchronization setup
  • Message mapping
  • Connectors
  • Web services
  • Web service - Data synchronization setup
In this activity, as an example, the steps explain how to auto-fix a document. Where applicable, notes are added to explain how to auto-fix the other types.

Check if event complies with source document setup

Operation
For each applicable message, a check is done if the record, for which the event is logged, complies with the source document of the message.
Checks are done if the record complies with, for example, the applicable document record ranges and join modes.

Check relations

Design

For internal documents and ODBC documents, the relation between the tables of a parent record and a child record are important. The relation is required to be able to query from parent to child records in the record tree.

Check or define the relation between the table for the current record and the table of the parent record.

Note: If you define the parent record for an internal document and a table relation exists with the current records table, it automatically adds the first-found relation to the current record. If the relation fields are not yet added to the parent record or the current record, these are automatically added. For an ODBC document, you must set the relations manually.

Check setup

Design

If you have finished the setup, you can run a test to check for errors in the setup. You can do so for:

 

Key element

Check

Projects

When automatically checked, only the project setup is checked, and not the related setup like messages and connectors. When started manually, the full project setup is checked.

Documents

The document setup is checked, including the document records setup.

Document records

Only the document records setup is checked.

Messages

The message setup is checked, including the data synchronization setup and message mapping.

Message - Data synchronization setup

Only the data synchronization setup is checked.

Message mapping

Only the message mapping is checked.

Message business events

A check is done if a business event is created for the message business event. Also, a check is done if the target fields and source fields match with the related document setup.

Connectors

Only the connector setup is checked.

Web services

The web service setup is checked, including the data synchronization setup.

Web service - Data synchronization setup

Only the data synchronization setup is checked.

 

 

If an error is found, in the message bar, a message is shown indicating the error.

 

If for an entity, an error exists or the setup is incomplete, an error icon   is shown. You can click the icon to show the related error in the message bar. 

 

In this activity, as an example, the steps explain how to check a document. Where applicable, notes are added to explain how to check the other types.

 

Clean up EDI journals and EDI history

EDI

In EDI studio:

  • All EDI transactions are logged in EDI history management (BisEdiHistory table).
  • You can use the staging concept to validate data in an intermediate area before it is further processed. Several predefined staging journals are available for EDI studio:
    • EDI purchase journal
    • EDI Sales journal
    • EDI Delfor journal
    • EDI inventory journal
    • EDI transfer journal

To prevent the database from containing too much data, you can clean up the EDI history and EDI staging journals in recurring mode.

For example, you want to keep the EDI staging journals for six months. Each week, you can do a cleanup, deleting staging journals older than six months.

Clean up EDI journals manually

EDI

In EDI studio, you can use the staging concept to validate data in an intermediate area before it is further processed.

Several predefined staging journals are available for EDI studio:

  • EDI purchase journal
  • EDI sales journal
  • EDI Delfor journal
  • EDI inventory journal
  • EDI transfer journal

To prevent the database from containing too much data, you can clean up the EDI staging journals manually.

Clean up unused fields

Design If the document is linked to a message, you can clean up the fields. All fields that are not used in the message mapping are shown on a separate page. You can decide which of the unused fields you want to delete from the document.
All messages to which the document is linked are checked. Only the fields are shown as unused that are not used in any of the field mappings of the related messages.
You can use this, for example, if you have initialized the record or fields and all found fields are added to the document records.

Combine logged events of same record and type

Operation
In the data synchronization log, several events can be logged for a unique record and event type combination. To prevent processing duplicate events, all logged events for a unique record and event type combination are further processed as one event. Finally, this results in only unique records in the outbound queue.
Example:
A sales order is changed several times. So, several events of type Update are logged for the sales order. When the data synchronization log is processed, these events are first grouped on one page. When the page is processed, these events are combined into one event for the sales order for further processing.
Note:
If you split logged events over pages, combining events for a unique record and event type combination is done separately for each page.

Complete app registration

EDI

To enable browsing the app service, add a redirect URI to the earlier registered app.

To add the redirect URI:

  • Select the 'Web' platform.
  • Enter this URI: [app service URL]/signin-oidc. For example: https://example.azurewebsites.net/signin-oidc. You can copy the URL from the App service Overview page.
  • Select the ID tokens check box.

For more information, refer to Add a redirect URI.

Configure the App Service web app

Design Before you can use the web site, as installed on the App Service web app, to connect to D365 FO, configure the web app.

Configure the IIS application

Design Before you can use the web site to connect to D365 FO, configure the IIS application.

Confirm purchase order

EDI
When a purchase order is confirmed, it is added to the Purchase order confirmation journal. If an applicable document flow with direction 'Outbound' and type 'Order' exists, also a record is added to the Outbound message queue. When this record is processed, the 'Purchase - Order to XML' message is run. As a result, an EDI order message file is created and sent to your vendor.
For more information on purchase order confirmation, refer to Approve and confirm purchase orders.

Confirm sales order

EDI When a sales order is confirmed, it is added to the Sales order confirmation journal. If an applicable document flow with direction 'Outbound' and type 'Confirmation' exists, also a record is added to the Outbound message queue. When this record is processed, the 'Sales - Confirmation to XML' message is run. As a result, an EDI confirmation message file is created and sent to your customer.
For more information on sales order confirmation, refer to Confirm sales orders.

Connect environment to Azure file share

Design
To exchange files with the environment to which you connect, you can give it access to the Azure file share.
To be able to access the Azure file share from another environment, you can mount the Azure file share with the other environment.
For more information, refer to Use an Azure files share with Windows.

Copy fields

Design You can copy fields from a record of another document. You can use this, for example, to save setup time if you use a specific record in several documents.
You can only copy fields:
  • From a record with the Record table defined.
  • To a record with no fields.
As a result, the full field setup is copied from the selected record to the current record.

Copy message

Design

You can create a copy of a message. For example, to troubleshoot a failing message that is already in operation, you can copy the message. So, you do not disrupt the operational data.

Create an Azure Logic App as inbound web service

Design Create an Azure Logic App that serves as inbound web service for D365 FO. For more information, refer to Azure Logic Apps documentation.
You can, for example, create a logic app that picks up files when created in OneDrive and trigger the applicable web service action in D365 FO.

Create an Azure Logic App as outbound web service

Design Create an Azure Logic App that serves as outbound web service for D365 FO. For more information, refer to Azure Logic Apps documentation.
You can, for example, create a logic app that posts files to OneDrive.

Create Azure Service Bus namespace

Design Create an Azure Service Bus namespace. For more information, refer to Create a Service Bus namespace using the Azure portal.
Copy the Primary connection string and the Primary key of the namespace to a temporary location for later use. For more information, refer to Get the connection string.

Create Azure SQL database

Design

You can use a connector of type Database to connect to an Azure SQL database.

For more information on Azure SQL databases, refer to Azure SQL Database.

Create Azure Storage Account

Design
 

You can use an Azure Storage Account to:

  • Exchange data files between your D365 FO environment and another environment, for example an on-premises environment. You use the Azure Storage Account on Azure file storage connector setup or on Blob storage connector setup.
  • Store general Connectivity studio files. For example, version management files and history report files. You use the Azure Storage Account on Connectivity studio parameter setup.
You can:
  • Create an Azure Storage Account.
  • Use the Azure Storage Account of your D365 FO environment. If a cloud-hosted D365 FO environment is created with LCS, automatically the related Azure Storage Account is created. The default name of this Azure Storage Account is the same as the D365 FO environment name. Note: when you delete the D365 FO environment, also the related Azure Storage Account is deleted.
For more information, refer to Create an Azure Storage Account.

Create file share for Azure file storage connector

Design
For the Azure Storage Account, create a file share where data files are uploaded to or downloaded from.
For the file share, you can create the required folders.
You can create folders that relate to the paths in the Properties section, the Read section, and the File actions section of the connector:
  • Working
  • Archive
  • Error
  • Split
  • Copy
  • Move
For more information, refer to Create file share.

Create key vault and generate certificates and secrets

EDI

When you use the AS2 web app, you need a key vault to set up the secrets and certificates that are required to run the AS2 web app.

Create a key vault and generate these certificates and secrets in the key vault:

Certificate/Secret Description
Certificate for the AS2 web app

This certificate is used by the AS2 web app in the:

  • Outbound process to sign the data that is sent to the EDI partner.
  • Inbound process to decrypt the received data.

Download the certificate in CER format. The downloaded CER file contains the public key of the certificate. Send the CER file to the EDI partner. So, the EDI partner can use this key to:

  • Encrypt the data that is sent by the EDI partner to the AS2 web app.
  • Verify the data that is sent by the AS2 web app to the EDI partner.
Public key of your EDI partner, registered as secret

This secret (public key) is used by the AS2 web app in the:

  • Outbound process to encrypt the data that is sent to the EDI partner.
  • Inbound process to verify the received data.

Note: You receive this public key from your EDI partner in a CER file. Open the CER file with a text editor and copy the file content to Secret value field of the secret.

Access key of Azure storage account, registered as secret

In the AS2 inbound process, this secret is used by the AS2 web app to access the general storage location to store EDI message files.

Note: Usually, the general storage location is defined by an Azure Storage account. Copy the Storage account access key to the Secret value field of the secret. Usually, key1 is used.

For more information, refer to:

Create mapping variables

Design

During a message run, you can use mapping variables to store values. You can write (calculated) values to a mapping variable, and later during the message run, read the value from the mapping variable. You can use mapping variables across records.

The mapping variable values are only stored during the message run. When the message run is finished, the mapping variable values are deleted.

During a message run, to:

  • Write a mapping variable, on a field mapping, define the mapping variable as target variable, instead of using a target field. To set the mapping variable value, you can use several field mapping options, for example, a constant value, a custom expression, or a source field value. You can also use mapping variables on custom methods.
  • Read a mapping variable, on a field mapping, define the target field to be filled with the mapping variable value. Instead of a source field, use the Variable field options to define the mapping variable which value must be used to set the target field value.
  • Read a mapping variable for use in a custom expression, for the custom expression, create a variable with the Mapping variable field filled.

Create on-premises Data Source Name (DSN)

Design Create a Data Source name (DSN) on the external on-premises server where you installed the BIS Azure Service Bus Windows service.
Note:
If you connect from D365 FO on-premises to an external on-premises server, no Azure Service Bus is required. In this case, the Data Source Name (DSN) must be created on the D365 FO server.

Create related record

Design
You can add a record based on an existing table relation in D365 FO.
You can only create a related record for:
  • Internal documents.
  • Fields that are part of a table relation.
Example:
The record CustTable, has a field CustGroup.
This CustGroup field is part of the table relation between the CustTable and CustGroup table.
Create a related record for the CustGroup field of the CustTable record.
As a result, the CustGroup record is created and added as a child record to the CustTable record. To the CustGroup record, the mandatory fields of the CustGroup table are added.

Create secret reference

Design

You can create secret references to store secrets at a central place in Connectivity studio. Wherever you need a secret in Connectivity studio, you can use a secret reference.

Benefits of using secret references are:

  • One place to maintain secrets. For example, you can use a secret in several connectors. If the secret expires, you only update the secret reference instead of updating the secret separately for each applicable connector.
  • When you use a secret reference, the secret is not shown or visible where the secret is applied. The secret is also not visible when you export or import project configurations.

Data validations are done in the staging journal

Operation

In Connectivity studio, you can use the staging concept to validate data in an intermediate area before it is further processed. This is usually used to import data into D365 FO from another system. In this way, you can validate the data before it is written into the D365 FO database.

Usually, the data validations are done automatically.

Define data migration setup

General

When you have selected the AX2012 tables which data you want to migrate to D365 FO, the related data migration setup records are created. Complete the created data migration records.

Define field mapping sequence

Design

On import, the business logic in D365 FO calls the ModifiedField method. This method can set or change other values. If the field mapping sequence is not right, it can reset values which are just imported.
You can modify the sequence of the fields in the mapping. The sequence is important if you:

  • Import data.
  • Exchange data between D365 FO environments.
Tip: Set field mappings in the sequence in which you fill in the fields in the related form.

Define field sequence

Design The sequence, in which you set up the fields for the record, defines the sequence in which the related data is exchanged. If required, you can change the sequence of the fields.

Define range

Design

For each record, you can define the range of data that is queried for export or import.

For example, you only want to export sales orders for a specific customer group. To do so, on the Range tab, add a record for the CustGroup field.

For more information on how to define ranges in the Range field, refer to Advanced filtering and query syntax.

Define record mapping query settings

Design

When you run a message, a query is applied. For this query, you can define several specific settings:

  • Cross company:
    If you run a message, the query is done in the company where you started the message. However, sometimes, for a specific record, it can be required to read data from another company. For example, if you run a message for a purchase order, you can read the data of a related sales order in another company.
  • Time validation:
    If some record is valid for a specific time period, by default, the time validation uses the currently valid record. You can disable the time validation. As a result, the first available record is used. Which doesn't need to be the currently valid record. For example, addresses are valid during a specified time period. If time validation is applied, the currently valid address is used. If time validation is disabled, the address is used with the first time period.

Define record mapping sequence

Design You can change the sequence of the record mappings to make sure the related data is exchanged in the right order.

Define record sequence and structure

Design

You can organize the business document records in these ways:

  • Define a parent-child relation with another record to define the record structure.
  • Change the sequence of the records.
You can only change the sequence of records if these are on the same level in the record structure. So, for example:
  • If you move a parent record, you cannot move it to a position below its child records. The child records stay as child records and are moved as well.
  • You can change the sequence of child records with the same parent.

Define sorting

Design

For internal documents and ODBC documents, you can define the order in which the data in the record is queried and processed during export or import.

For example, to export sales orders, you want the sales order to be queried by customer and for each customer by delivery date. To do so, on the Sorting tab, add a record for both the CustAccount field and the DeliveryDate field, in this sequence.

Define task dependencies

Design
If a task depends on one or more other tasks, define the dependencies. So, the task is not done before the other tasks are done. The dependencies are only taken into account if you run a project.
You can use task dependencies to schedule data import or export in batch. The main reasons to use task dependencies are:
  • Sequence of data: For data migrations or in complex integration scenarios, often it is required that data is imported in a specific sequence.
  • Performance: Tasks that are scheduled at the same level, can be processed in parallel. This improves the performance of the data import or export. Also, the messages, as defined for a task, are run in parallel.
Before you set up the task dependencies, define data levels for the data to be imported or exported. You can do so, for example, in Microsoft Excel.
For each data level, you can set up one or more tasks.
To define the level of a task, add a dependency to a task of the applicable previous level. As a result, the task level is automatically assigned. For example, if you add a dependency to a level '2' task, automatically, level '3' is assigned to the current task.
To each task, assign the messages that process the data for the task. You can group messages in tasks as desired.
The next picture gives an example of a data migration project. The project is run using the defined task dependencies. As a result, the data is migrated in the required sequence and with a better performance.

Example: A sales order can only be imported if the related customer and item are already available. So, the customer and item must be imported first. In the previous picture, the customer is imported in level 2 and the item in level 3. This is done before the sales order header is imported in level 4 and the sales order line in level 5.

Define transformation for mapping field

Design You can use a transformation to change a source value into another value.
If a transformation is required for a field mapping, add the relevant transformation to the field mapping.

Define type conversion for field mapping

Design You can use a type conversion to convert the data to match the format as required in the target. With a type conversion, you can convert values from any type to string or from string to any type. Usually, the string value is the external value.
If a type conversion is required for a field mapping, add the relevant type conversion to the field mapping.

Deploy app

EDI

To get the AS2 web app running in the cloud, deploy the created app service. Ask To-Increase for the AS2WebApp.zip file that contains the AS2 web app files that are required for deployment.

Deploy the AS2 web app files with the Zip Push Deploy tool of the Kudu services portal.

Develop external code to run a custom service

Design You can develop custom code outside D365 FO to directly run a custom service that is provided for Connectivity studio web services.
To use the external custom code to run a:
  • SOAP-based custom service, use this URL:
    • https://Instancename.cloudax.dynamics.com/soap/services/BisWsWebserviceOperation?wsdl
  • JSON-based custom service, use one of these URLS:
    • https://Instancename.cloudax.dynamics.com/api/services/BisWsWebserviceOperation/BisWsWebserviceCall/executeOperation. This is the basic URL.
    • https://Instancename.cloudax.dynamics.com/api/services/BisWsWebserviceOperation/BisWsWebserviceCall/executeOperationV2. Use this URL if you want to run the web service for a specific company. The 'companyId' parameter in the body parameters is only applicable if you use this URL. Make sure the D365 FO user has permission to access the specified company.

Distribute AS2 inbound message files

Master Data Management

You can use EDI studio to receive EDI message files from the AS2 web app. These EDI message files are stored in a general storage location. From the general storage location, these EDI message files must be distributed to specific storage locations from where the files can be processed by the applicable inbound messages.

To distribute the EDI message files from the general storage location, run the project inbound definitions. Usually, you run the inbound definitions in recurring mode. Always, all inbound definitions of the selected project are run. The inbound definitions are run in the defined sequence.

When an inbound definition is run:

  1. It connects to the general storage location as defined by the connector.
  2. The EDI message files that match the read filter are opened to search for this data:
    • Type: The EDI message type of the data in the file. For example, 'Order' or 'Invoice'.
    • Recipient: The data in the file that indicates to which company in D365 FO the data must be imported. For example, the GLN.
  3. Based on this data, the applicable file distribution definition is determined.
  4. The message, as defined for the applicable file distribution definition is used to:
    • Rename the EDI message file: If renaming is applicable, the source document of the message defines how the EDI message file is renamed.
    • Move the EDI message file: The source connector of the message defines to which specific storage location the EDI message file is moved for further processing.
  5. If the inbound definition is mandatory, and an EDI message file cannot be processed, the EDI message file is moved to the error location as defined for the connector.

Export files for comparison

Design

To compare data, first export your data from the applicable D365 FO environment to XML files. You can use XML files to generate a content package.

To generate an XML file for a content package, run the applicable message. As a result, an XML file with the content, as defined by the message, is generated and placed in a specified folder on your Azure Storage account. You can run several messages to export different sets of data to XML files. You can generate a content package based on several XML files. In this case, make sure all desired XML files for the content package are placed in the same Azure Storage account folder.

 

Export secret references

Design

You can export secret references from a D365 FO environment to be imported in another D365 FO environment.

If you export a project, the secret references are not exported. If an export of the secret references is required, you can export the secret references separately.

Usually, you only export and import secret references to a D365 FO environment of the same type. For example, you only export secret references from a Development environment to import these in another Development environment. Reason: You don't want to mix up data. For example, you don't want to mix up Test data with Production data.

Find request message of applicable web service action

Operation If a web service action is 'subscribed' to a processed event, find the request message that is defined for the web service action. This request message is used to check if the event complies with the source document of the message.

Generate data migration message

General

You can generate messages based on the data migration setup records. If you generate a message, this is generated:

  • An ODBC document based on the source table in AX2012.
  • A D365FO document based on the target table in D365 FO.
  • A message with the:
    • Default Database connector of the data migration project as source connector.
    • Default D365FO connector of the data migration project as target connector.
    • Generated ODBC document as source document.
    • Generated D365FO document as target document.
    • Mapping of the document record and record fields that exist in both the source document and the target document.
Be aware that a generated message often needs some fine-tuning due to differences between the AX2012 table and D365FO table.

Generate picking list

EDI Outbound process When a picking list is generated, it is added to the Picking list journal. If an applicable document flow with direction 'Outbound' and type 'Picking' exists, also a record is added to the Outbound message queue. When this record is processed, the 'Warehouse - Picking list to XML' message is run. As a result, an EDI picking list message file is created and sent to the 3PL warehouse to inform them on what must be picked.
To generate a picking list, on a Sales orders page, on the Action pane, on the Pick and pack tab, in the Generate group, click Picking list.
For more information on picking lists, refer to Outbound process.

Generate receipts list

EDI
When a receipts list is generated, it is added to the Receipts list journal. If an applicable document flow with direction 'Outbound' and type 'Receipts list' exists, also a record is added to the Outbound message queue. When this record is processed, the 'Warehouse - Receipts list to XML' message is run. As a result, an EDI receipts list message file is created and sent to the 3PL warehouse to inform them on the expected receipt.
To generate a receipts list, on a Purchase orders page, on the Action pane, on the Receive tab, in the Generate group, click Receipts list.

Generate tasks for data migration project

General When you have reviewed and completed the data migration setup records with related message and documents, you can generate tasks based on the records.
The tasks are created based on the areas and sublevels as assigned to the data migration setup records in this way:
  1. A root task is created for the record which area has the lowest level and which area sublevel is the lowest as well.
  2. A task is created beneath the root task for the record with the same area and the next area sublevel. If such a record does not exist, a task is created for the record which area is the next level and which area sublevel is the lowest for that area.
  3. A task is created beneath the previous task for the record with the same area and the next area sublevel. If such a record does not exist, a task is created for the record which area is the next level and which area sublevel is the lowest for that area.
  4. Step 3 is repeated till a task is created for each record.
To each created task, the message is added as defined for the related data migration setup record. Note: If records exist with the same area and area sublevel, only one task is created based on these records. And for all these records, the messages are added to this one task.
On task generation, when a message is added to a task, and the related data migration setup record is:
  • Active, the related message action is set to 'Run'. So, if the task is run, the message is run.
  • Not active, the related message action is set to 'Skip'. So, if the task is run, the message is not run.

Example

For a data migration project, these data migration setup records are used:

Note the use of the status, areas, area sublevels, and record activation.
The generated task structure, as shown on the Project page, is:
The generated tasks with added messages, and the set message actions are:

Task

Message

Action

Area: 10 level: 10

CUSTGROUP

Run

VENDGROUP

Skip

Area: 20 level: 10

INVENTTABLE

Skip

Area: 30 level: 20

VENDTABLE

Run

Area: 30 level: 30

PURCHTABLE

Skip

Area: 40 level: 20

CUSTTABLE

Run

Area: 40 level: 30

SALESTABLE

Skip


Import Logic App tutorial

Design If you want to run an inbound web service or outbound web service in the cloud using Azure logic Apps, first download and extract the Project Tutorial - Logic App.zip file. This file contains a project with an inbound web service action and an outbound web service action.

Import received Service Bus data

Operation

You can import data from a Service Bus queue or topic subscription.

First, you must receive the data from the Service Bus queue or topic subscription. On receiving data from the Service Bus, based on the Service Bus search definitions and settings on the received data, import messages are automatically assigned to the received data records.
When the data is received, you can import the received data from the 'Received data from queue' table into D365 FO. To import the received data, run the messages as assigned to the received data records. You can run the messages in several ways, as desired. You can run a message by running a:
  • Project
  • Task
  • Message
If an import message run finishes:
  • Successfully, the related received data record gets the status 'Finished'. If 'peek lock' is used, the Service Bus message is removed from the queue or topic subscription.
  • With errors, the related received data record gets the status 'Error'. If 'peek lock' is used, the Service Bus message is moved from the queue or topic subscription to the related dead letter queue.
Note: The assigned import messages must have the 'Service Bus queue' connector as source connector.

Import secret references

Design

You can import secret references that are exported from another D365 FO environment.

If you import a project, the secret references are not included. If the related secret references are required, you can import the secret references separately.

Usually, you only export and import secret references to a D365 FO environment of the same type. For example, you only export secret references from a Development environment to import these in another Development environment. Reason: You don't want to mix up data. For example, you don't want to mix up Test data with Production data.

Import standard EDI tutorials from resource

EDI

To have a quick start with the EDI setup, you can use the standard EDI tutorials. These tutorials have several pre-defined EDI messages with related setup. The related setup includes, for example: the project, the source and target connectors, and the source and target documents.

These standard EDI tutorial projects are available as a resource:

  • Tutorial - EDI
  • Tutorial - EDI - 3PL
  • Tutorial - EDI Delfor

You can import the standard EDI tutorials by importing the related projects from resource.

Import TIE Kinetix EDI tutorials from file

Master Data Management

If you set up an EDI integration using TIE Kinetix, to have a quick start with the EDI setup, you can use the TIE Kinetix specific EDI tutorials. These tutorials have several pre-defined EDI messages with related setup. The related setup includes, for example: the project, the source and target connectors, and the source and target documents.

These TIE Kinetix specific EDI tutorial projects are available as download:

  • Tutorial - TIE Sales
  • Tutorial - TIE Purchase
  • Tutorial - TIE Warehouse 3PL

You can import these EDI tutorials by importing the related projects from file.

Before you can import the project, download the ZIP file that contains the project files. To do so, click this link: TIE Kinetix integration EDI tutorial projects. After download, extract the ZIP file.

Inbound web service action is triggered

Operation
The inbound web service application triggers the applicable inbound web service action.
Based on these parameters in the HTTP request, the inbound web service calls the executeWebserviceOperation method that determines which web service action is triggered:
  • Project (ProjectId): Does a Connectivity studio project exist in D365 FO with this ID?
  • Web service action (WebServiceId): Does an inbound web service action exist with this ID?
  • HTTP action (HttpMethod): What is the goal of the HTTP request? Does this goal match with the HTTP action as defined for the web service action?
  • User name (UserName): Is this user set up as web service user? And is this user allowed to run the web service action?
  • URL (Url): If REST, does the URL contain arguments? And what are the values of these arguments?
  • Content (content):
    • For both the web service types (Basic or REST), if HTTP action is Post, Put, Delete, Patch, or Post or Put, the content contains the values to be processed.
    • If the web service type is SOAP and the HTTP action is Get, the content contains the arguments of type parameter. What are the values of these arguments?
  • Company ID (companyId): Is the web service action and web service user combination valid for this company?

Inbound web service staging table records are processed in batch

Operation

Initialize document record fields

Design

For documents of type Text or Microsoft Excel, you can initialize the fields for a record. To initialize record fields for:

  • A Text document, use a connector of type Azure file storage and an input file of type TXT. The fields are initialized based on the header-line setup in the TXT file.
  • A Microsoft Excel document, use a connector of type Azure file storage and an input file of type XLSX. The fields are initialized based on the header-line setup in the XLSX file.

When the initialization is finished, review and complete the properties of the initialized fields. Usually, during review, you do not add fields. However, you can remove the not needed fields.

Initialize document record fields - ODBC

Design

For documents of type ODBC, you can initialize the fields for a record. To initialize record fields for an ODBC document, use a connector of type Database to connect to the applicable external database.

Make sure, the name in the Record table field is exactly the same name as the relevant table in the external database.
The fields are added to the record based on the fields of the external table.
When the initialization is finished, review and complete the properties of the initialized fields. Usually, during review, you do not add fields. However, you can remove the not needed fields.

Initialize document records and fields

Design
For documents of type XML or JSON, you can initialize the records based on an input file. 
To initialize records and fields for:
  • An XML document, you can use an input file of type XML or XSD.
  • A JSON document, use an input file of type JSON.
On initializing records, also the fields that are defined in the input file, are initialized. If you initialize based on:
  • An XML file, only the field names are known and added to the relevant document records.
  • An XSD file, besides the field names, also the field properties can be defined and added to the relevant document records.
  • A JSON file, only the field names are known and added to the relevant document records.
When the initialization is finished, review and complete the properties of the initialized records and fields.
Usually, during review, you do not add records or fields. However, you can remove the not needed record and fields.

Initialize form mapping from message mapping

Design

You can initialize a form mapping from an existing message. As a result, the record mapping and field mapping of the message are translated to a form mapping.

You can do this, for example, to bridge the gap between functional users and technical users.

Initialize message mapping from form mapping

Design If you have finished the form mapping recording and reviewed it, you can use this to initialize the related message mapping.
As a result of the initialization, based on the form mapping:
  • The recorded records and fields are added to the internal document of the message.
  • The message record mapping and field mapping are set up.
After initialization, you can edit and fine-tune the internal document and the message.

Install Azure Storage Explorer and connect to an Azure Storage Account

Design
You can use the Azure Storage Explorer to connect to and manage your Azure Storage Accounts.
First download and install the Azure Storage Explorer and then connect to a storage account.
To connect, use a storage account name and key. You can find the name and key on the Azure Portal > Storage accounts > Access keys.
When connected, and you use the Azure Storage Explorer for:
  • Azure file storage connectors: You can create the required file shares.
  • Blob storage connectors: You can create the required Blob containers.
  • Version management: You can create the required version management file share.
  • History reports: You can create the required history report file share.
For more information, refer to Get started with Storage Explorer.

Install deployment tool

Design Run the IIS application deployment tool to install the web site.
Before you can run the deployment tool, download the BisMessageHttpActionD365FO.zip file.

Install on-premises Windows service - BIS Azure Service Bus

Design Install the BIS Azure Service Bus as Windows service on the external on-premises server.
To install the BIS Azure Service Bus, first download the BIS Azure Service Bus.zip file.

Manually fix errors

Design If you have re-run the automated error check, and still errors exist in the setup that are not fixed automatically, manually fix these errors.

Mark message run as Solved

Operation If the errors of a message run are solved, and no re-run in History management is required, the message run status is not automatically set to Finished. Therefore, you can mark the message run as Solved. As a result, the message run status is set to Finished.

Merge message

Design

You can troubleshooted a failing message using a copy of that message. When you have made changes to the message copy to solve the issue, the same changes must be applied to the original message. To do so, you can merge the message copy with the original message.

When you merge a message (source) with another message (target), the:

  • Target message settings are overwritten with the source message settings.
  • Target message documents settings are overwritten with the source message documents settings.

Note: Use this merge option carefully. You cannot undo the overwrite action.

Monitor customer document flows

EDI For each customer with whom you exchange EDI messages, you can monitor the related document flows.
Only the applicable document flows are shown. For more information on how the applicable document flows are searched for, refer to:
  • 'Search for document flow: Customer'
  • 'Search for document flow: Customer + legal entity'
To edit customer document flows, refer to 'Set up seller messages document flows'.

Monitor customer EDI history

EDI All EDI transactions are logged in EDI history management (BisEdiHistory table).
For each customer with whom you exchange EDI messages, you can monitor the related EDI history.

Monitor customer EDI journal validations

EDI For each customer with whom you exchange EDI messages, you can monitor the related journal validations.
All journal validations for the customer and legal entity are shown.
To edit journal validations, refer to 'Set up EDI validations'.

Monitor data received from Service Bus dead letter queue

Operation

You can monitor the data that you receive from an Azure Service Bus dead letter queue.
Use the Received status to decide if any troubleshooting action is required.

The possible statuses are:
 

Status

Description

New

The data is received from the Service Bus dead letter queue. Based on the Service Bus search definitions, a message is assigned.

In process

The data is now imported into D365 FO by the assigned message.

Finished

The data imported into D365 FO is finished successfully.

Error

The data import into D365 FO is finished with errors.

Invalid

The data is received from the Service Bus dead letter queue. But, based on the Service Bus search definitions, no message is assigned.

Monitor data received from Service Bus queue or topic subscription

Operation
You can monitor the data that you receive from an Azure Service Bus queue or topic subscription.
Use the Received status to decide if any troubleshooting action is required.
The possible statuses are:

Status

Description

New

The data is received from the Service Bus queue or topic subscription. Based on the Service Bus search definitions, a message is assigned.

In process

The data is now imported into D365 FO by the assigned message.

Finished

The data import into D365 FO is finished successfully.

Error

The data import into D365 FO is finished with errors.

Invalid

The data is received from the Service Bus queue or topic subscription. But, based on the Service Bus search definitions, no message is assigned.

Monitor data sent to Service Bus

Operation

On export of data to an Azure Service Bus queue or topic a message is added to the Service Bus queue. Each message that is added to the Service Bus queue is logged in Connectivity studio.

You can monitor this data, for example, for troubleshooting purposes.
Note:
By default, only records with errors are shown. If on receipt of the Service Bus message an error occurs, the Service Bus moves the message to the related dead letter queue. If you get the dead letter queue data from the Service Bus, and the message exists in the 'Data sent to queue' table, its received status is set to 'Returned with error'.

Monitor data synchronization log

Operation

For messages and web service actions, you can use table events to track data changes. You can define, for each table, which table events are logged. The table events are logged in the Data synchronization log.
This topic explains how to monitor the data synchronization log.

If table events are not logged in the Data synchronization log as expected, you can check the data synchronization setup for your message or outbound web service action.

Monitor EDI history

EDI

All EDI transactions are logged in EDI history management (BisEdiHistory table).

This topic explains how to monitor the overall EDI history.

Monitor inbound web service staging table

Design

Depending on the asynchronous execution mode of the inbound web service action, the inbound web service process runs directly or asynchronously.
If the asynchronous execution mode is 'Batch' and the web service action is triggered, the data, as received by the web service request, is stored in the Inbound web service staging table.

You can monitor the inbound web service staging table.

Monitor vendor document flows

EDI

For each customer with whom you exchange EDI messages, you can monitor the related document flows.

Only the applicable document flows are shown. For more information on how the applicable document flows are searched for, refer to 'Search for document flow: Vendor'.
To edit vendor document flows, refer to 'Set up buyer messages document flows'.

Monitor vendor EDI history

EDI All EDI transactions are logged in EDI history management (BisEdiHistory table).
For each vendor with whom you exchange EDI messages, you can monitor the related EDI history.

Monitor vendor journal validations

EDI For each vendor with whom you exchange EDI messages, you can monitor the related journal validations.
All journal validations for the vendor and legal entity are shown.
To edit journal validations, refer to 'Set up EDI validations'.

Monitor warehouse document flows

EDI For each warehouse with which you exchange EDI messages (for example a 3PL warehouse), you can monitor the related document flows.
Only the applicable document flows are shown. For more information on how the applicable document flows are searched for, refer to 'Search for document flow: Warehouse'.
To edit customer document flows, refer to 'Set up seller messages document flows'.

Monitor warehouse EDI history

EDI All EDI transactions are logged in EDI history management (BisEdiHistory table).
For each warehouse with which you exchange EDI messages (for example a 3PL warehouse), you can monitor the related EDI history.

Monitor warehouse journal validations

EDI For each warehouse with which you exchange EDI messages (for example a 3PL warehouse), you can monitor the related journal validations.
All journal validations for the customer and legal entity are shown.
To edit journal validations, refer to 'Set up EDI validations'.

Monitor web service action history

Operation When a web service action is run, you can view the web service history. The web service history shows, for example, the:
  • Status of the web service action run.
  • Related web service requests.
  • Related message runs.
Possible issues can occur, for example, in the:
  • Message run.
  • Connection with the web service.

Open related purchase order for EDI purchase order confirmation

EDI For each EDI purchase order confirmation with message status Processed, you can open the related purchase order from the EDI purchase order confirmation journal.

Open related sales order for EDI Delfor journal

EDI

For each EDI Delfor journal with message status Processed, you can open the related sales order from the EDI Delfor journal.

Open related sales order for EDI sales order

EDI For each EDI sales order with message status Processed, you can open the related sales order from the EDI sales order journal.

Outbound queue is processed

Operation

For messages and web service actions, you can use table events to track data changes. You can define, for each table, which table events are logged. The table events are logged in the data synchronization log. On processing the data synchronization log, based on the logged events, records are added to the outbound queue. On processing the outbound queue, for each record, the related message or web service action is run to export the applicable data.

Post packing slip

EDI
When a packing slip (also known as an advance shipping notice (ASN)) is created and posted for a sales order, it is added to the Packing slip journal. If an applicable document flow with direction 'Outbound' and type 'Advance ship notice' exists, also a record is added to the Outbound message queue. When this record is processed, the 'Sales - Delivery to XML' message is run. As a result, an EDI sales ASN message file is created and is sent to your customer.
For more information on packing slip posting, refer to Ship sales orders without warehousing.

Post sales invoice

EDI
When an invoice is created and posted for a sales order, it is added to the Invoice journal. If an applicable document flow with direction 'Outbound' and type 'Invoice' exists, also a record is added to the Outbound message queue. When this record is processed, the 'Sales - Invoice to XML' message is run. As a result, an EDI invoice message file is created and sent to your customer.
For more information on sales order invoice posting, refer to Create sales order invoices.

Process data synchronization log

Operation

For messages and web service actions, you can use table events to track data changes. You can define, for each table, which table events are logged. The table events are logged in the Data synchronization log.To fully process the logged events, process the:

  1. Data synchronization log: The logged events are processed and for each applicable message or web service action, a record is added to the Outbound queue.
  2. Outbound queue: For each record, the related message or web service action is run to export the applicable data.

This topic explains how to process the data synchronization log.

 


Note:

  • Events are logged only for tables and event types that are defined in the data synchronization setup of any message or web service action.
  • If on the data synchronization setup, the Update check box and the Check used fields check box are selected, event logging is restricted to changes to the fields as defined for the record in the applicable source document.
  • Only the event is logged and used for further processing. So, in case of an update, an event is logged of type Update. However, the changed data is not marked as changed and not used for further processing. For example, if you change a customer address, an event is logged that the customer is updated. However, the address change as such is not logged. When, for the logged event, a record is processed in the outbound queue, the then current data of the customer is used.
  • If a logged event is processed, it is deleted from the data synchronization log.

Example:

This table gives examples of the results for several data synchronization log processing scenarios:

Number of pages Page size Limit records Number of records to be processed Result
5 10,000 No 40,000 4 pages of 10.000 records are processed
5 10,000 Yes 40,000 4 pages of 10.000 records are processed
5 10,000 No 80,000 5 pages of 16.000 records are processed
5 10,000 Yes 80,000 5 pages of 10.000 records are processed

 

Process inbound messages

EDI To process received EDI message files, run the Process inbound EDI documents batch job. Usually, you run this batch job in a recurring pattern.
You run the Process inbound EDI documents batch job for a specific document flow type, and optionally for a specific message.
Each time the batch job is run, all document flows of the defined document flow type are processed. So, all messages, as defined for these document flows, are run.
Each message that is run, picks up the relevant received EDI message files (if any) from the location as defined for the message connector and processes the data.

Process outbound messages

EDI
If you use EDI messages and post one of the following journals, also a record is added to the Outbound message queue:
  • Confirm sales order
  • Post packing slip
  • Post sales invoice
  • Confirm purchase order
  • Generate picking list
  • Generate receipts list
Also, a record can be added to the Outbound message queue for sales acknowledgements. When a received sales order message is processed, it is added to the EDI history (with direction 'Inbound' and type 'Order'). If a document flow of type 'Acknowledge' exists for the customer, also a record is created in the Outbound message queue.
An outbound message queue record indicates which message must be run for which journal (or EDI history record in case of a sales acknowledgement). The message to be run is defined by the applicable document flow. When the record is added to the Outbound message queue, the applicable document flow is searched for, and the related message is linked to the Outbound message queue record.
To process the outbound message queue, run the Process outbound message queue batch job. Usually, you run this batch job in a recurring pattern.
You process the outbound message queue for a specific message. Optionally you can run a message for a specific company.

If you use a web service, as defined on the applicable document flow, also define the applicable web service action here.

Process outbound queue

Operation
For messages and web service actions, you can use table events to track data changes. You can define, for each table, which table events are logged. The table events are logged in the Data synchronization log.
To fully process the logged events, process the:
  1. Data synchronization log: The logged events are processed and for each applicable message or web service action, a record is added to the Outbound queue.
  2. Outbound queue: For each record, the related message or web service action is run to export the applicable data.

This topic explains how to process the outbound queue.

 

 

Outbound queue
The outbound queue only has unique entries for each combination of:
  • Record on which the event was logged
  • Message or web service action
  • Event type
  • Status
Note that the record and event type are known, but the (changed) data of the records is not known. When an outbound queue entry is processed, the current data of the record is used. For example, if a customer address is changed, an event is logged that the customer is updated. However, the address change as such is not logged. When, for the logged event, a record is processed in the outbound queue, the current data of the customer is used.
Bundling

In the outbound queue, several entries can exist for a unique message or webservice action. How these entries are processed, depends on whether bundling is active. You can activate bundling on the data synchronization setup of an outbound:

  • Message: On processing the outbound queue, by default, all entries for a unique message are bundled in one message run, which results in one file. 
  • Web service action: On processing the outbound queue, by default, all entries for a unique web service action are bundled in one web service action run, which results in one file. Note: You cannot apply bundling to an outbound web service action that uses a stream.
  • EDI document flow: On processing the outbound queue, the entries are bundled in one message run or web service action run, which results in one file. In this case, the outbound queue entries are bundled by the applicable EDI party.

If the bundling field is set to:

  • Yes, all outbound queue entries for the message are bundled and processed in one message run, which results in one file.
  • No, each outbound queue entry is processed in a separate message run.
Processing the outbound queue
You can process the outbound queue in several ways. To process the outbound queue for:
  • All records, do not define a message or web service action.
  • A specific message, define the message.
  • A specific web service action, define the web service action.
You can also run the outbound queue for a specific project. To do so, when you run a project, set the Process outbound queue field to Yes. As a result, the outbound queue is processed for the messages or web service actions that are linked to the project tasks.
If an outbound queue record is processed, it gets the status:
  • Processed, if it is processed successfully.
  • Error, if errors occurred during processing.

Process received dead letter data

Operation

If a receiver reads a message from a Service Bus queue or topic subscription, an error can occur. If so, the Service Bus moves the message to the applicable dead letter queue.

You can receive the Service Bus dead letter queue data. When received, you can further process this data into D365 FO. For example, you can set a Production order 'On hold' when a dead letter is received on the export of a production order.

To further process the received dead letter data, run the messages as assigned to the received dead letter data records. You can run the messages in several ways, as desired. You can run a message by running a:

  • Project
  • Task
  • Message
Note: The assigned process messages must have the 'Service Bus queue' connector as source connector.

Process staging journal messages

EDI If you use a staging journal in your EDI process, run the relevant messages to process the staging journals.
The message processes all relevant staging journals with status 'Approved' and message status 'To be processed'.
If processing the journal goes:
  • Fine, the EDI staging journal message status is set to 'Processed'.
  • Wrong, the EDI staging journal message status is set to 'Error'.
For more information on how to solve EDI staging journal processing errors, refer to:
  • "Monitor EDI sales order journal"
  • "Monitor EDI purchase order confirmation journal"
  • "Monitor EDI inventory order journal"

Reassign message to data received from Service Bus dead letter queue

Operation If no message is assigned to data that you received from a Service Bus dead letter queue (Received status = Invalid), you must adjust or add Service Bus search definitions for dead letter data. If you have done so, you can retry to assign messages to the received dead letter data records without a message assigned.
On reassign, for all received dead letter data records without a message, a matching search definition is searched for. If a matching search definition is found:
  • The message and company, as defined for the search definition, are assigned to the received dead letter data record.
  • The received dead letter data record status is set to 'New'.
You can reassign messages:
  • Automatically
  • Manually

Reassign message to data received from Service Bus queue or topic subscription

Operation If no message is assigned to data that you received from a Service Bus queue or topic subscription (Received status = Invalid), you must adjust or add Service Bus search definitions. If you have done so, you can retry to assign messages to the received data records without a message assigned.
On reassign, for all received data records without a message, a matching search definition is searched for. If a matching search definition is found:
  • The message and company, as defined for the search definition, are assigned to the received data record.
  • The received data record status is set to 'New'.
You can reassign messages:
  • Automatically
  • Manually

Receive data from Service Bus dead letter queue

Operation

If a receiver reads a message from a Service Bus queue or topic subscription, an error can occur. If so, the Service Bus moves the message to the applicable dead letter queue.

You can receive the messages from the Service Bus dead letter queue.

On receiving data from the Service Bus dead letter queue, based on the Service Bus search definitions and settings on the received data, messages are automatically assigned to the received dead letter data records. The assigned messages are used to further process the dead letter data into D365 FO. For example, you can set a Production order 'On hold' when a dead letter is received on the export of a production order.

Receive data from Service Bus queue or topic subscription

Operation You can use the 'Service Bus queue' connector to import data from a Service Bus queue.
To import data, first receive the data from a Service Bus queue or topic subscription. The received data is added to the 'Received data from queue' table in Connectivity studio.
On receiving data from the Service Bus:
  • Based on the Service Bus search definitions and settings on the received data, import messages are automatically assigned to the received data records.
  • You can use 'peek lock'. If you use 'peek lock', the received Service Bus messages are temporarily locked in the Service Bus queue or topic subscription.

Record form mapping

Design
For a message, you can record the record mapping and field mapping based on an external document. When recording, you map fields of the external document to form fields in D365 FO.
Before you record a form mapping, set up a message with both an:
  • External document. This document must be fully set up, with all applicable records and fields defined.
  • Internal document. For this document, only the document header is required. So, it does not have records and record fields defined.

Record is created in the Inbound web service staging table

Operation

Register application with Azure Active Directory

EDI

Register an application in Azure to manage the authentication and permissions for the AS2 web app. For more information, refer to Register an application with the Microsoft identity platform.

Add a client secret to the registered application. For more information, refer to Add a client secret.

Later in the AS2 setup, you need these values of the registered app:

  • Application (client) ID
  • Directory (tenant) ID
  • Application ID URI
  • Client secret value

Register application with Microsoft Entra ID

Design

Register a native web application in Microsoft Entra ID to access D365 FO. For more information, refer to Register an application with the Microsoft identity platform.

For the web app, only OAuth 2.0 authentication is supported. So, on the registered app, as authentication, add a platform of type Mobile and desktop applications, and choose an option that supports OAuth2.
Make sure the required API permissions to the Dynamics ERP API are granted for the Microsoft Entra ID application. For more information, refer to Permissions and consent in the Microsoft identity platform.

Register Azure Logic App in Microsoft Entra ID

Design

To be able to fill in the Client ID and the Secret in the HTTP action settings of the Azure Logic App, register the Azure Logic App in Microsoft Entra ID. For more information, refer to: Register an app.

Register Microsoft Entra ID application in D365 FO

Design

To connect to D365 FO, you must register the Microsoft Entra ID application in D365 FO.

Re-run file actions

Operation

On a message, you can use a connector of type Azure file storage. For a Azure file storage connector, you can set up several file actions. These file actions are run in the defined sequence. If one of the file actions fails, the next file actions are not run.

After you have solved the errors that caused the file action to fail, you can re-run the file actions of the message.

Re-run message run

Operation

If you have solved the errors in a message run, you can run it again. The message is re-run in the company in which it was originally run. As a result:

  • The status of the selected message run is set to Reprocessed.
  • A new message run history record is created for the re-run.

Reset outbound queue record status to New

Operation
When the outbound queue is processed, errors can occur. You can reset the outbound queue record status to New.
For example, when running a web service action, the external web service can be down. As a consequence, running the related outbound queue records fails and these get the status Error. When the issue is solved, you can reset the status to New, And the next time the outbound queue is processed, these records are processed again.
This topic explains how to reset the status of outbound queue records to New.

Reset status of data received from Service Bus queue or topic subscription

Operation
To import data received from a Service Bus queue or topic subscription, you run import messages to read data from the 'Received data' table and import this data into D365 FO. If an import message run finishes with errors, the related received data record gets the status 'Error'. When you have finished troubleshooting the error, you can reset the received data record status.
You can reset the status:
  • At once for all received data records with the same message assigned. You can, for example do so if you have troubleshooted a message for which you have received several data records.
  • Manually for a specific received data record.
You can, for example, reset the status to:
  • 'New' if you want to run the import message again for the received data records.
  • 'Finished' if no import of the received data record is required.

Reset status of date received from Service Bus dead letter queue

Operation To import data received from a Service Bus dead letter queue, you run import messages to read data from the 'Received dead letter data' table and import this data into D365 FO. If an import message run finishes with errors, the related received dead letter data record gets the status 'Error'. When you have finished troubleshooting the error, you can reset the received dead letter data record status.
You can reset the status:
  • At once for all received dead letter data records with the same message assigned. You can, for example do so if you have troubleshooted a message for which you have received several dead letter data records.
  • Manually for a specific received dead letter data record.
You can, for example, reset the status to:
  • 'New' if you want to run the import message again for the received dead letter data records.
  • 'Finished' if no import of the received dead letter data record is required.

Review and complete data migration setup

General
As a result of the message generation, this is generated:
  • An ODBC document based on the source table in AX2012.
  • A D365FO document based on the target table in D365 FO.
  • A message with the:
    • Default Database connector of the data migration project as source connector.
    • Default D365FO connector of the data migration project as target connector.
    • Generated ODBC document as source document.
    • Generated D365FO document as target document.
    • Mapping of the document record and record fields that exist in both the source document and the target document.
  • The message is added to the data migration setup record.
For each data migration setup record, review and complete the generated documents and message.

Review AS2 inbound message files

Master Data Management

You can use the File explorer to quickly access and view the general storage location as defined by the connector of a selected inbound definition. The File explorer offers limited functionality. You can only view, copy, move, or delete files.

You can, for example, use the file explorer to see if all EDI message files in the general storage location are distributed.

Review form mapping

Design Once the form mapping recording is finished, you can review the recorded form mapping.

Run AS2 web app - Inbound

Master Data Management

If you use the AS2 protocol to receive EDI messages from an EDI partner, use the AS2 web app to manage the interaction with the EDI partner.

The AS2 web app runs in the Azure cloud.

When the web server of the EDI partner sends data to the AS2 web app, it:

  1. Decompresses the received data, if the received data is compressed.
  2. Decrypts the data.
  3. Checks the signature.
  4. Stores the data in an EDI message file in the general storage location.
  5. Sends an MDN reply to the web server of the EDI partner. The MDN reply can be that the data is:
    • Processed successfully.
    • Not processed because something went wrong. For example, the data cannot be decrypted, or the signature is invalid.

Run AS2 web app - Outbound

Master Data Management

If you use the AS2 protocol to send EDI messages to an EDI partner, use the AS2 web app to manage the interaction with the EDI partner.

The AS2 web app runs in the Azure cloud.

When you run a web service action using the AS2 protocol, an EDI message is sent to the AS2 web app.

The web service action calls the send method of the AS2 web app to send the data to the EDI partner.

The AS2 web app send method:

  • Encrypts the data.
  • Signs the data.
  • Compresses the data, if applicable.
  • Sends the data to the web server of the EDI partner.
  • Receives an MDN reply from the web server of the EDI partner.
  • Sends the MDN reply from the EDI partner to EDI history of the web service action in EDI studio that originally sent the data.

Run inbound web service staging records

Operation Depending on the asynchronous execution mode of the inbound web service action, the inbound web service process runs directly or asynchronously.
If the asynchronous execution mode is 'Batch' and the web service action is triggered, the data, as received by the web service request, is stored in the Inbound web service staging table.
These inbound web service staging table records must be processed in batch. When processed, the applicable request message is run. Usually, no response message and error message are defined an asynchronous inbound web service process.

Run message

Operation
You can run a message directly. You can do so, for example, for testing purposes or to run a specific message in batch.

Run message for testing purposes

Design

You can run a message for testing and troubleshooting purposes. You can find and analyze the results in the:

  • Message history.
  • File history if the message has an Azure file storage connector with file actions.
  • Tracer if you have used the tracer on the message run.
Note: If the message setup is validated, a message run can still result in errors or give an unexpected result. In this case, you can choose to store all processed records in the message history for analysis purposes. To do so, before the test run, on the message header, set the Store history field to 'Yes'. When the issue is solved, do not forget to set the Store history field back to 'No'.

Run message from action menu item

Operation You can use a custom action menu item to manually start a message from a form. As a result, for a selected record, you can manually run the message from the form to which you added the action menu item. The message is run for the selected record only.
Example: Create an action menu item and add it to the Sales orders form. On the Sales orders form, you can select a sales order and click the action menu item button. This starts a message to process the selected sales order.

Run message or web service action from dynamic button

Operation

You can add a dynamic button to a form to run a message or an outbound web service action from the form.
To add a dynamic button, no coding is required.
The dynamic button is added to the Business integration tab of the ActionPane of the form.

Run project

Operation You can use a project to exchange data. To be able to run a project, tasks must be set up for the project. If you run the project, all related tasks are run.
Depending on the tasks that are set up for the project, you can use a project to run:
  • An integration or data migration.
  • Outbound web services.
  • Batch classes.
  • Master data management.
  • Test cases.
Usually, you run a project in batch. Based on the defined sub-projects and tasks dependencies, tasks are run in parallel. If you do not run the project in batch, all sub-projects and tasks are run sequentially.

Run task

Operation
You can use a task to run the execution of:
  • An integration or data migration. In this case, use a task with the desired messages defined.
  • Outbound web services. In this case, use a task with the desired outbound web service actions defined.
  • Batch classes. In this case, use a task with the desired batch classes defined.
  • Master data management. In this case, use a task with the desired master data entities defined.
  • Test cases. In this case, use a task with the desired messages with test cases defined.
If you run a task, all defined messages, outbound web service actions, batch classes, and master data entities are run.
Usually, you run a task by running the related project. In this case, all tasks of the project are run, taking into account the defined task dependencies. However, you can run a single task, for example, for testing purposes.

Run web service action

Operation

If you want to run an outbound web service action immediately, you can run it from the Web service action page.

Run web service action from action menu item

Operation You can use a custom action menu item to manually start an outbound web service action from a form. As a result, for a selected record, you can manually run the web service action from the form to which you added the action menu item.
Example: Create an action menu item and add it to the Sales orders form. On the Sales orders form, you can select a record and click the action menu item button. This starts a web service action to post a sales order. The web service action is processed, and the selected sales order is posted.

Search for applicable messages and web service actions

Operation For each processed event, the applicable messages and web service actions are searched for.
The event is only further processed for the messages and web service actions that are 'subscribed' to the table and event type.
Example:
A message has a data synchronization setup for table events. One of the records is Customer (CustTable) for which only Update is selected. If an event is logged that a:
  • New customer is created (Insert), the message is not subscribed to this event. As a result, for the message, this event is not further processed.
  • Change is made to an existing customer (Update), the message is subscribed to this event. As a result, for the message, this event is taken for further processing.

Select fields

Design

You can add a selection of table fields to a record. You can select fields from the D365 FO table that is defined in the Record table field.

This is mainly applicable to internal documents. However, you can also use this to quickly set up fields for external file-based documents.

When the field selection is added to the record, review and complete the properties of the added fields.

Select fields - ODBC

Design

You can add a selection of table fields to a record.

You can select fields from an external table via ODBC. To connect to the external environment, the default connector of type Database. You can set up this default connector for the applicable project.

To find the external table name, the name that is defined in the Record table field is used.

When the field selection is added to the record, review and complete the properties of the added fields.

Select tables to be mapped

General

For a data migration from AX2021 to D365 FO, you can generate messages based on data migration setup records. Before you can do so, select the AX2012 tables which data you want to migrate to D365 FO. As a result, the related data migration setup records are created with the selected AX2012 tables as source table. If in D365 FO a table exists with the same name, this is automatically set as target table.

To select the tables from the AX2021 database, the default Database connector, as defined for the data migration project, is used.

Set Connectivity studio parameters

General

Before you start using Connectivity studio, set up the Connectivity studio parameters.

Define parameters for the:

  • Applicable environment.
  • File storage that is used for the environment.
  • Version management of Connectivity studio projects.
  • Connectivity studio history reporting.
  • Data synchronization log processing.
  • ODBC Service bus.
  • Outbound web services queue.

Set Data quality studio integration options

Design

You can apply data quality policy rules on import of data into D365 FO with a Connectivity studio message. On the message header, define which types of rules are applied on data import with the message.

For more information, refer to Apply data quality rules on data import with Connectivity studio.

Set up app configuration

EDI

Set up an app configuration. Create the App Configuration and in the App Configuration set the required key values.

Copy the connection string of the App Configuration from the Access keys page and save it somewhere. Usually, you use the connection string of the primary key. You need the connection string to connect the App Service to the App Configuration, in the configuration of the App Service.

For more information, refer to About Azure App Configuration.

Key values

To add the key values to the App Configuration, download the Default AS2 App Configuration and extract it.

The default AS2 web app name prefix for the keys is 'AS2WEBAPP'. If you want to use another prefix, you can change it. To do so, before you import the key values, edit the 'DefaultAS2AppConfiguration.json' file in a text editor.

Note:

  • You define the AS2 web app name in the App Service settings (ApplicationSetup:ApplicationId). For consistency purposes, you are advised to use the same name for the App Service and the AS2 web app name.
  • When you edit the 'DefaultAS2AppConfiguration.json' file, you can also set the key values. However, do not set the values for these keys in the file:
    • AS2WEBAPP:As2Setup:OwnedPrivateKey
    • AS2WEBAPP:As2Setup:PartnerPublicKey
    • AS2WEBAPP:Storage:Key

When you have finished editing the JSON file, import the 'DefaultAS2AppConfiguration.json' file to your App Configuration. For more information, refer to Import data from a configuration file.

In the App Configuration, you can edit the values of the imported keys with the Configuration explorer. To do so:

  • For most of the keys, you can use the Edit option.
  • For these keys, use the Add Key Vault reference option:
    • AS2WEBAPP:As2Setup:OwnedPrivateKey
    • AS2WEBAPP:As2Setup:PartnerPublicKey
    • AS2WEBAPP:Storage:Key

The key configuration that is required for the AS2 web app is:

Key Allowed values Required Default value Description
AS2WEBAPP:As2Setup:CompressData True/False No False Indicate if data must be compressed before it is sent to the web server of the EDI partner.
AS2WEBAPP:As2Setup:EncryptData True/False No False Indicate if data must be encrypted before is sent to the web server of the EDI partner.
AS2WEBAPP:As2Setup:FromPartner - Yes -

Enter a name that represents your EDI partner. For example, the EDI partner company name.

This name is added to (outbound) or read from (inbound) the request header. 

AS2WEBAPP:As2Setup:OwnedPrivateKey Key vault reference Yes -

Add the private key of the certificate that you generated for the Key Vault.

Note: Use the Add Key Vault reference option in the Configuration explorer of the App Configuration. So, do not set this value in the JSON file.

AS2WEBAPP:As2Setup:PartnerPublicKey Key vault reference Yes - Add the Key Vault secret that holds the public key that you received from your EDI partner.

Note: Use the Add Key Vault reference option in the Configuration explorer of the App Configuration. So, do not set this value in the JSON file.

AS2WEBAPP:As2Setup:SignAlgorithm Valid signing algorithm. For example: SHA1 No SHA1

Enter a valid algorithm that the AS2 web app uses to sign (outbound) or verify (inbound) EDI messages.

Usually, the SHA1 algorithm is used.

AS2WEBAPP:As2Setup:SignData True/False No False Indicate if data must be signed before it is sent to the EDI partner.
AS2WEBAPP:As2Setup:ToPartner - Yes -

Enter a name that represents your company. For example, the company name.

This name is added to (outbound) or read from (inbound) the request header. 

AS2WEBAPP:As2Setup:CertificatePassword - No - Only enter the certificate password if you have created your certificate outside the Azure portal and imported the certificate to the Key Vault. To access such a certificate, a password is required.
AS2WEBAPP:As2Setup:CertificateExpiryWarningDays - No 30 The certificate and secrets in the Key Vault can have an expiration date set. You can define how many days before the expiration date a warning is shown on the configuration page of the AS2 web app.
AS2WEBAPP:RequestHeaders:AS2Version For example: 1.0.0.15 Yes 1.0.0.15

For informational purposes only, you can enter the version number of the AS2 web app.

The version number is added to the request header that is sent to the EDI partner.

AS2WEBAPP:RequestHeaders:ContentTransferEncoding Binary or no value No Binary

If set, the body of the message is encoded, for example, as as binary. If not set, the body is not encoded and sent as plain text.

The encoding setting is added to the request header that is sent to the EDI partner.

AS2WEBAPP:RequestHeaders:DispositionNotificationOptions - Yes signed-receipt-protocol=optional,pkcs7-signature;signed-receipt-micalg=optional,sha1

Define the MDN reply options.

The MDN reply options are added to the request header that is sent to the EDI partner.

AS2WEBAPP:RequestHeaders:DispositionNotificationTo - Yes -

Define where the MDN reply must be sent to.

The MDN reply recipient is added to the request header that is sent to the EDI partner.

AS2WEBAPP:RequestHeaders:Endpoint - Yes -

Enter the URL of the web server of the EDI partner to which data is sent.

Note: This endpoint is provided by your EDI partner.

AS2WEBAPP:Storage:Account - Yes - Enter the name of the Azure Storage account where the AS2 web app must store the EDI message files.

Note: This only applies to the AS2 inbound process.

AS2WEBAPP:Storage:Directory - Yes - Enter the Azure Storage account directory where the AS2 web app must store the EDI message files.

Note: This only applies to the AS2 inbound process.

AS2WEBAPP:Storage:FileExtension For example: xml Yes xml

Enter the extension of the files that are created by the AS2 web app and stored in the defined Azure storage account.

Note: This only applies to the AS2 inbound process.

AS2WEBAPP:Storage:Key Key vault reference Yes -

Add the Key Vault secret that holds the access key of the Azure Storage account where the AS2 web app must store the EDI message files.

Note:

  • Use the Add Key Vault reference option in the Configuration explorer of the App Configuration. So, do not set this value in the JSON file.
  • This only applies to the AS2 inbound process.
AS2WEBAPP:Storage:Share - Yes - The file share of the Azure Storage account in which the created EDI message files are stored by the AS2 web app. In the AS2 documentation, this file share is referred to as the 'general storage location'.

Note: This only applies to the AS2 inbound process.

Set up app service

EDI

Create and configure an App service in the Azure portal. The app service is the AS2 web app.

On creation of the app service, in the:

  • Runtime stack field, select '.NET 6 (LTS)'.
  • Operation system field, select 'Windows'.

Fill in the other fields as desired. For more information, refer to Create a Web app.

To configure the web app, add and edit the required app settings. Do not remove the automatically generated app settings. For more information, refer to Configure app settings.

Add and edit these app settings:

App setting name Description
AzureAd:TenantId

Enter the Directory (tenant) ID of the earlier registered app.

This is used to link the app service to the earlier registered app to access the key vault via the registered app.

AzureAd:ClientId

Enter the Application (client) ID of the earlier registered app.

This is used to link the app service to the earlier registered app to access the key vault via the registered app.

AzureAd:Scopes

Enter the the Application ID URI of the earlier registered app.

Enter the URI in this way: [Application ID URI].default

This is used to link the app service to the earlier registered app to access the key vault via the registered app.

ConnectionStrings:AppConfig

To link the applicable app configuration to the app service, enter the endpoint of the App Configuration.

ApplicationSetup:ApplicationId Enter the application ID prefix as used in the App Configuration key values. For example: AS2WebApp.
AZURE_CLIENT_ID

Enter the Application (client) ID of the earlier registered app.

This is a standard setting to access the registered app. Access to the registered app is needed to:

  • Browse the app service.
  • Connect to the app service from the EDI studio.
AZURE_TENANT_ID

Enter the Directory (tenant) ID of the earlier registered app.

This is a standard setting to access the registered app. Access to the registered app is needed to:

  • Browse the app service.
  • Connect to the app service from the EDI studio.
AZURE_CLIENT_SECRET

Enter the value of secret that is created for the earlier registered app.

This is a standard setting to access the registered app. Access to the registered app is needed to:

  • Browse the app service.
  • Connect to the app service from the EDI studio.

Set up applications

Analysis

Define the applications that are involved in integration or data migration projects. You can link an application to several projects.

Examples of applications are:
  • 'D365 FO' to indicate your D365 FO application.
  • 'Staging' to indicate that a staging journal is involved in the integration.
  • 'Windows folder' or 'Files' to indicate that the integration is file-based.
  • 'ERP' to indicate the integration is with another ERP application. You can use the external ERP application name as application name.
For each connector and document, you must define the applicable application. You can also define an application for a type conversion.

External ID and revision number

Applications are also used to store the external IDs and external revision numbers that are used in the external application. You can link an external ID to a record ID in D365 FO. Together with the external ID, you can also link an external revision number to a record ID. The application, as defined for the applicable connector, is used to store the link between the reference table and record ID in D365 FO and the external ID and revision number.
If you:
  • Export data, the applicable external ID or revision is searched for in the target connector application. If a record exists for the reference table and the source field (RecId) combination, the external ID or revision of this record is the output value of this option.
  • Import data, the applicable target record ID is searched for in the source connector application. If a record exists for the combination of reference table and external ID and revision, the reference record ID of this record is the output value of this option. If no record exists for the combination, a record is created. The reference record ID of this record is the output value of this option.

Set up Azure file storage connector

Design

Set up a connector of type Azure file storage. Use this type to exchange data files between your D365 FO environment (on-cloud or on-premises) and another environment, for example an on-premises environment.

With the Azure file storage type connector, you can exchange these external file-based documents: EDI, Fixed text, Microsoft Word, Microsoft Excel, Text, XML, JSON.

You can exchange data files using one of these file systems:

 

File system

Description

Azure File Storage

You can use an Azure Storage Account to exchange data files between your D365 FO environment (on-cloud or on-premises) and another environment, for example an on-premises environment.

Local folders

If you use Connectivity studio on a D365 FO (on-premises) environment, you can choose to use local Windows folders to exchange data files.

Set up Azure Service Bus namespace - Queue

Design

You can use a connector of type 'Service Bus queue' to exchange information via an Azure Service bus queue. A Service Bus queue provides First In, First Out (FIFO) message delivery to one or more competing consumers. That is, receivers typically receive and process messages in the order in which they were added to the queue. And only one message consumer receives and processes each message.

To set up an Azure Service Bus queue:
  • Create a namespace in the Azure portal
    You need the Service Bus namespace name to fill in the Service Bus namespace field of the connector.
  • Create a queue in the Azure portal
    You need the Service Bus queue name to fill in the Entity name field of the connector.
  • Create Shared access signature (SAS) policy
    You can create and use a SAS policy on these levels: Service Bus queue or Service Bus namespace. You need the:
    • SAS policy name to fill in the Policy name field of the connector.
    • Primary key of the SAS policy to fill in the Policy key field of the connector.
For more information, refer to:

Set up Azure Service Bus namespace - Topic and subscriptions

Design
You can use a connector of type 'Service Bus queue' to exchange information via an Azure Service bus topic and subscriptions. A topic and subscriptions provide a one-to-many form of communication in a publish and subscribe pattern. It's useful for scaling to large numbers of recipients. Each published message is made available to each subscription registered with the topic. Publisher sends a message to a topic and one or more subscribers receive a copy of the message, depending on filter rules set on these subscriptions.
To set up an Azure Service Bus queue:
  • Create a namespace in the Azure portal
    You need the Service Bus namespace name to fill in the Service Bus namespace field of the connector.
  • Create a topic in the Azure portal
    You need the Service Bus topic name to fill in the Entity name field of the connector.
  • Create subscriptions to the topic
    You need the Service Bus subscription name to fill in the Subscription field of the connector.
  • Create Shared access signature (SAS) policy
    You can create and use a SAS policy on these levels: Service Bus topic (advised) or Service Bus namespace. You need the:
    • SAS policy name to fill in the Policy name field of the connector.
    • Primary key of the SAS policy to fill in the Policy key field of the connector.
For more information, refer to:

Set up Azure Storage account with file share

EDI

If you run the AS2 web app in the AS2 inbound process, it stores the data in EDI message files in the general storage location. Usually, the general storage location is defined by an Azure Storage account.

You can create an Azure Storage account or, if you already have an Azure Storage account, use that one. For more information, refer to Create an Azure storage account.

In the storage account, create the file share where the EDI message files must be stored by the AS2 web app. For more information, refer to Create a file share.

Set up Azure Web App

Design

Set up the Azure App Service Web App that is used to manage the web service. For more information, refer to App Service documentation .

For the binaries that are required to install the Azure Web App, contact To-Increase Support. They can provide you with a ZIP file that also contains the installation instructions.

Set up Blob storage connector

Design

Set up a connector of type Blob storage to exchange data files between your D365 FO environment and another environment, using Azure Blob storage. Azure Blob storage is Microsoft's object storage solution for the cloud. Blob storage is optimized for storing massive amounts of unstructured data.

With the Blob storage type connector, you can exchange these external file-based documents: EDI, Fixed text, Microsoft Word, Microsoft Excel, Text, XML, JSON. You can only use this connector in combination with a document for which the version 3 (V3) handler class is selected.

You can use one of these authentication methods to access the Blob storage:

 

  • Shared access key: Grants access to a storage account.
  • Shared access signature (SAS): Grants access to a specific Blob container.
  • Client credentials: Grants access to Blob storage via an Microsoft Entra ID application with Azure storage permission.
  • Password: Grants access to Blob storage via an Microsoft Entra ID application with Azure storage permission.
For more information, refer to:

 

Set up company-specific field mapping

Design You can set up company-specific mapping on field mapping level. 
You can use company-specific mapping to set a field value:
  • Other than the source value for the field. To do so, define a constant, dimension, or number sequence.
  • If no source value is available for the field. To do so, define the default value.
You can view the applicable company-specific mapping for a:
  • Message: On the ActionPane, on the Design tab, in the Message mapping group, click Company-specific mapping. All company-specific mappings for the message are shown.
  • Record mapping: In the Mapping section, select a record mapping, and click Company-specific mapping. All company-specific mappings for the selected record mapping are shown.

Set up D365 FO connector

Design

Set up a connector of type D365 FO. Use this type to directly connect to a D365 FO database.

Set up data synchronization - Date range - Message

Design
On export of data, the data synchronization setup defines which records are processed.
Data synchronization only applies to messages with an internal document as source document.
This topic explains how to use a date range to export only the records that are changed or added since the latest message run.
Make sure, the root record of the source document has a date/time field that indicates when the record is last changed, for example a 'modifiedDateTime' field. If you run the message, all records that are found, based on the source document setup, are considered. For each found root record, the date/time is compared with the Latest run date/time of the message. Only the records are exported with a date/time that is later than the latest run date/time of the message.

Set up data synchronization - Date range - Web service

Design

For outbound web service actions, you can use the data synchronization setup to define which records are processed.

Web service data synchronization only applies to outbound web service actions for which data synchronization is set up. If no data synchronization is set up, the web service action must be run in another way.
This topic explains how to use a date range to export only the records that are changed or added since the latest web service action run.
Make sure, the root record of the source document of the request message has a date/time field that indicates when the record is last changed, for example a 'modifiedDateTime' field. If you run the outbound web service action, all records that are found, based on the source document setup, are considered. For each found root record, the date/time is compared with the Latest run date/time of the outbound web service action. Only the records are exported with a date/time that is later than the latest run date/time of the outbound web service action.

Set up data synchronization - Table events - Message

Design
On export of data, the data synchronization setup defines which records are processed.
Data synchronization only applies to messages with an internal document as source document.
This topic explains how to use table events to track data changes. You can define, for each record, which table events are logged. The table events are logged in the Data synchronization log. From here, the logged entries must be processed further to the Outbound message queue. Process the outbound message queue to run the messages to export the records.

Set up data synchronization - Table events - Outbound web service action

Design
For outbound web service actions, you can use the data synchronization setup to define which records are processed.
Web service data synchronization only applies to outbound web service actions for which data synchronization is set up. If no data synchronization is set up, the web service action must be run in another way.
This topic explains how to use table events to track data changes. You can define, for each record, which table events are logged. The table events are logged in the Data synchronization log. From here, the logged entries must be processed further to the Outbound message queue. Process the outbound message queue to run the web service actions to export the records.

Set up Database connector

Design

Set up a connector of type Database. Use this type to directly connect to an external database. This external database can be an on-premises database or a cloud database.

You can connect to an external database with an:

  • ODBC connection: Connects to an external database via ODBC, using an Azure Service Bus.
  • SQL connection: Connects to an external Azure SQL database.

Set up default response text

Design If you run the inbound web service process asynchronously, define the default response text that is sent back to the web service when the web service action is triggered.
You run an inbound web service process asynchronously if, for the inbound web service action, the Run asynchronously field has one of these values:
  • Asynchronous
  • Batch
Example of a default response text:
{
"response": "We have received the request."
}

Set up document - D365 FO

Design Use a D365 FO document to read data from or write data to D365 FO.

Set up document - EDI

Design Use an EDI document to read data from or write data to a file if you use an EDI standard for your EDI. For example: EDIFACT or ANSI X12. The data in the file is structured in line with these standards.
Note: If you do not use an EDI standard, you can use other EDI document types for EDI. For example: JSON, XML, or Text.

Set up document - Fixed text

Design Use a Fixed text document to read data from or write data to a file with defined start positions and lengths for fields.

Set up document - Inventory journal

Design
Use an Inventory journal document to import data into the inventory journals.
Compared to the D365 FO document, the Inventory journal document focuses only on the inventory journals. It has journal-specific properties and behavior.
Based on the document type and journal name, the journal header is created automatically when the message is started, and the document is opened. So, in the document:
  • No records are required for the journal header. Also, no mapping is required in the related message.
  • Only set up records for the journal line tables. All lines in the same import message run are added to the created header. For the records, use tables that are related to the defined journal name. For example, the InventJournalTrans table in combination with the InventDim table.
The journal name, as defined in the document header properties, defined which inventory journal is applicable. Examples of supported inventory journals are:
  • Movement journal
  • Inventory BOM journal
  • Counting journal
  • Transfer journal
  • Project item journal

Set up document - JSON

Design Use a JSON document to exchange data with an application that uses data-object notation. 
With a document of type JSON, you can read data from or write data to a JSON file.
For more information  JSON, refer to Introducing JSON.

Set up document - Ledger journal

Design Use a Ledger journal document to import data into the ledger journals.
Compared to the D365 FO document, the Ledger journal document focuses only on the ledger journals. It has ledger-journal-specific properties and behavior.
Based on the document type and journal name, the journal header is created automatically when the message is started, and the document is opened. So, in the document:
  • No records are required for the journal header. Also, no mapping is required in the related message.
  • Only set up records for the journal line tables. All lines in the same import message run are added to the created header. For the records, use tables that are related to the defined journal name. For example, the LedgerJournalTrans table.
The journal name, as defined in the document header properties, defines which ledger journal is applicable. Examples of supported ledger journals are:
  • General journal
  • Invoice journal
On journal creation, the voucher settings of the journal name are considered. If a transaction date is available, the voucher is set.

Set up document - Microsoft Excel

Design

Use a Microsoft Excel document to read data from or write data to a Microsoft Excel file (XLSX).

Set up document - Microsoft Word

Design

In Connectivity studio, use a Microsoft Word document to write data to a Microsoft Word document (DOCX) using a Microsoft Word template (DOTX).
With a Microsoft Word document, you can, for example, add data to text, include contract text, support multi-language output, or include product attributes or specifications. In this way, you can, for example, generate invoices or contracts with the style texts as defined in the template.

To add data to the Microsoft Word document, you can add markers to the Microsoft Word template. You can add markers for document records and for document record fields.

Note: You can use a Microsoft Word document only to write. So, no read options need to be set.

Set up document - ODBC

Design

Use an ODBC document to directly read data from or write data to an external database. You can exchange data with an external database via ODBC or with an external Azure SQL database.

You can also exchange data with another database using CData or DB2.

Set up document - Other journals

Design
Connectivity studio provides you with several other journal-related document types:
  • WMS journal
    Use a WMS journal document to import data into a WMS journal. You can for example import or post a packing slip for a purchase order or an item arrival.
  • Report as finished journal
    Use a Report as finished journal document to import data into the Report as finished journal to report production orders as finished.
  • Production picking list
    Use a Production picking list document to create a production order picking list and post it.
  • Project journal
    Use a Project journal document to import project data into the project journals. You can, for example, import hours or expenses.

Set up document - Staging

Design
Use a Staging document to write data to or read data from the staging table.
You can use the staging table to validate data before you actually process it. For example, you can validate received data before you import it into D365 FO. You can do these validations automatically or manually, depending on the chosen handler. If the validations are:
  • Not met, the journal gets the status Rejected. The found errors or warnings are added to the journal. You can solve these data errors or warnings before further processing the data.
  • Met, the journal gets the status Approved and can be picked up for further processing.

Set up document - Text

Design
Use a Text document to read data from or write data to a file with field and line separators. For example, a CSV file.

Set up document - Trade agreement journal

Design Use a Trade agreement journal document to import data into the trade agreement journals.
Compared to the D365 FO document, the Trade agreement journal document focuses only on the trade agreement journals. It has trade-agreement-journal-specific properties and behavior.
Based on the document type and journal name, the journal header is created automatically when the message is started, and the document is opened. So, in the document:
  • No records are required for the journal header. Also, no mapping is required in the related message.
  • Only set up records for the journal line tables. All lines in the same import message run are added to the created header. For the records, use tables that are related to the defined journal name.
The journal name, as defined in the document header properties, defined which trade agreement journal is applicable. Examples of supported trade agreement journals are:
  • Discount journals
  • Price adjustment

Set up document - XML

Design Use an XML document to exchange data in XML format without the need to code.
With a document of type XML, you can read data from or write data to an XML file.
For more information on XML, refer to XML Tutorial.

Set up document flow - Item counting

EDI

Set up a document flow to import an item counting message from a specific 3PL warehouse.

On the document flow, set the 'Warehouse - XML to Counting journal' message. This message receives the item counting information from the 3PL warehouse.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an inbound web service action with the 'Warehouse - XML to Counting journal' message as request message.

Set up document flow - Picking list

EDI

Set up a document flow to send a picking list message to a specific 3PL warehouse.

On the document flow, set the 'Warehouse - Picking list to XML' message. This message sends the picking list to the 3PL warehouse.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an outbound web service action with the 'Warehouse - Picking list to XML' message as request message.

Set up document flow - Picking list registration

EDI

Set up a document flow to define how to import a picking list registration that you received from a specific 3PL warehouse.

On the document flow, you can set one of these EDI messages to import a picking list registration:

  • 'XML picking list registration to EDI inventory order' (custom message): If you use staging, use this message to receive a picking list registration from a 3PL warehouse. This message imports the received picking list registration into the EDI inventory order journal. When the import is completed, the applicable validations are done automatically.
  • 'Warehouse - XML to Picking list registration': If you do not use staging, use this message to receive a picking list registration from a 3PL warehouse. This message imports the received picking list registration directly into the Picking list registration journal.

You can choose to exchange this EDI message using a web service. In this case, instead of a message, use an inbound web service action with one of the above messages as request message.

Set up document flow - Product receipt

EDI

Set up a document flow to define how to import a product receipt that you received from a specific 3PL warehouse.

On the document flow, you can set one of these EDI messages to import a product receipt:

  • 'XML product receipt to EDI inventory order' (custom message): If you use staging, use this message to receive a product receipt from a 3PL warehouse. This message imports the received product receipt into the EDI inventory order journal. When the import is completed, the applicable validations are done automatically.
  • 'Warehouse - XML to Arrival journal': If you do not use staging, use this message to receive a product receipt from a 3PL warehouse. This message imports the received product receipt directly into the Arrival journal.

You can choose to exchange this EDI message using a web service. In this case, instead of a message, use an inbound web service action with one of the above messages as request message.

Set up document flow - Purchase acknowledgement

EDI

Set up a document flow to define how to import an order acknowledgement message from a specific vendor.

On the document flow, set the 'Purchase - XML to Acknowledgement' message. This message updates the acknowledgement status in the EDI history.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an inbound web service action with the 'Purchase - XML to Acknowledgement' message as request message.

Set up document flow - Purchase ASN

EDI

Set up a document flow to define how to import a packing slip message from a specific vendor.

On the document flow, set the 'Purchase - XML to Delivery' message. This message imports the packing slip from your vendor into the arrival journal. This message is also known as an advance shipping notice (ASN).

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an inbound web service action with the 'Purchase - XML to Delivery' message as request message.

Set up document flow - Purchase invoice

EDI

Set up a document flow to define how to import an invoice message from a specific vendor.

On the document flow, set the 'Purchase - XML to Invoice' message. This message imports the invoice from your vendor into the invoice register journal.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an inbound web service action with the 'Purchase - XML to Invoice' message as request message.

Set up document flow - Purchase order

EDI

Set up a document flow to define how to send a purchase order message to a specific vendor.

On the document flow, set the 'Purchase - Order to XML' message. This message sends the purchase order to your vendor.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an outbound web service action with the 'Purchase - Order to XML' message as request message.

Set up document flow - Purchase order confirmation

EDI

Set up a document flow to define how to import an order confirmation message from a specific vendor.

On the document flow, set the 'Purchase - XML to EDI confirmation' message. This message imports the order confirmation into the EDI purchase order journal. When the import is completed, the applicable validations are done automatically.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an inbound web service action with the 'Purchase - XML to EDI confirmation' message as request message.

Set up document flow - Receipts list

EDI

Set up a document flow to send a receipts list message to a specific 3PL warehouse.

On the document flow, set the 'Warehouse - Receipts list to XML' message. This message sends the receipts list to the 3PL warehouse.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an outbound web service action with the 'Warehouse - Receipts list to XML' message as request message.

Set up document flow - Sales acknowledgement

EDI
Set up a document flow to define how to send a sales order acknowledgement message to a specific customer.
On the document flow, set the 'Sales - Acknowledgement to XML' message. This message sends the sales order acknowledgement to your customer.
You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an outbound web service action with the 'Sales - Acknowledgement to XML' message as request message.

Set up document flow - Sales ASN

EDI

Set up a document flow to define how to send a sales packing slip message to a specific customer.

On the document flow, set the 'Sales - Delivery to XML' message. This message sends the packing slip to your customer. This message is also known as an advance shipping notice (ASN).

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an outbound web service action with the 'Sales - Delivery to XML' message as request message.

Set up document flow - Sales confirmation

EDI

Set up a document flow to define how to send a sales order confirmation message to a specific customer.

On the document flow, set the 'Sales - Confirmation to XML' message. This message sends the sales order confirmation to your customer.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an outbound web service action with the 'Sales - Confirmation to XML' message as request message.

Set up document flow - Sales invoice

EDI

Set up a document flow to define how to send a sales invoice message to a specific customer.

On the document flow, set the 'Sales - Invoice to XML' message. This message sends the sales invoice to your customer.

You can choose to exchange this EDI message using a web service. In this case, instead of the message, use an outbound web service action with the 'Sales - Invoice to XML' message as request message.

Set up document flow - Sales order

EDI
Set up a document flow to define how to import a received order from a specific customer.
On the document flow, you can set these EDI messages to import a sales order:
  • 'Sales - XML to EDI order': If you use staging, use this message to receive an order from your customer. This message imports the received sales order into the EDI sales order journal. When the import is completed, the applicable validations are done automatically.
  • 'Sales - XML order to Order': If you do not use staging, use this message to receive an order from your customer. This message imports the received sales order directly into the Sales orders table.

You can choose to exchange this EDI message using a web service. In this case, instead of a message, use an inbound web service action with one of the above messages as request message.

Set up document flow - Sales order (Delfor)

Master Data Management

Set up a document flow to define how to import a received order (Delfor) from a specific customer.

On the document flow, you can set the 'Sales (Delfor) - XML to EDI Delfor journal' message. This message imports the received sales order (Delfor) into the EDI Delfor journal. When the import is completed, the applicable validations are done automatically.

You can choose to exchange this EDI message using a web service. In this case, instead of a message, use an inbound web service action with the 'Sales (Delfor) - XML to EDI Delfor journal' message as request message.

Set up document flows for AS2

EDI

If you set up EDI to export data to the AS2 web app, for the outbound document flows, define a web service action instead of a message.

Make sure the desired export message is defined for the web service action that you use in an outbound document flow. You can link, for example, the EDI tutorial export messages to a web service action that you define for an outbound document flow.

Set up EDI party setup for customer

Sure Step Design Before you can exchange EDI messages with a customer, set up the related EDI party setup.
For each customer, you can set up several EDI parties. For example, if a customer has several shops, you can set up an EDI party for each shop.

Set up EDI party setup for vendor

Sure Step Design Before you can exchange EDI messages with a vendor, set up the related EDI party setup.
For each vendor, you can set up several EDI parties. For example, if a vendor has several shops, you can set up an EDI party for each shop.

Set up EDI party setup for warehouse

Sure Step Design Before you can exchange EDI messages with a 3PL warehouse, set up the related EDI party setup.
For each 3PL warehouse, you can set up several EDI parties. For example, if a 3PL warehouse has several areas, you can set up an EDI party for each area.

Set up EDI setup for legal entity

EDI

Before you can exchange EDI messages, set up the EDI setup for your legal entity.

Set up EDI type

Design You can use an EDI type to indicate which EDI standard is used. For example, EDIFACT or ANSI X12. This is used for informational purposes only.

Set up field mapping condition

Design Sometimes, you want to skip a field mapping when running a message. You can use conditions to indicate if the field mapping must be applied. The field mapping is only applied if the conditions are met. You can set up several conditions for each field mapping.
Examples of values that you can use to define a condition:
  • ..Item1 - Item1 and smaller
  • Item1.. - Item1 and greater
  • Item1,item5..item10 - Item1 or item5 till item10
  • Item1,item2 - Item1 or item2
  • !123 - Not 123
  • “” - Empty
  • !”” - Not empty
  • curExt() - Used to apply a condition with the current company

Set up field mapping condition using an expression

Design Sometimes, you want to skip a field mapping when running a message. You can use a condition that is defined as an expression to indicate if the field mapping must be applied. The field mapping is only applied if the expression condition is met.
You define an expression with self-defined variables. Variables must be linked to fields from the source document or the target document.
Example:
Expression: Value1>Value2Condition value: IF(Value1>Value2, true, false)Variables:
  • Value1 is linked to SalesPrice field of the SalesLine source record.
  • Value2 is linked to LineAmount field of the SalesLine source record.
The field mapping is only applied if the sales price is higher than the line amount.

Set up file action - Azure Blob storage

Design
You can use the Azure BLOB storage file action to move a file between an Azure file share and an Azure BLOB container. You can only use an Azure BLOB storage file action if you exchange files using Azure File Storage. The applicable Azure file share is the one as defined for the connector.
If the direction is:
  • Source, before the message is run, the file is moved from the defined Azure BLOB container to the Azure file share.
  • Target, after the message is run, the file is moved from the Azure file share to the defined Azure BLOB container.

Set up file action - Copy

Design You can use the Copy file action to copy a file to another location.
If the direction is:
  • Source, before the message is run, the file is copied from a defined folder to the Working folder. The original file stays in the defined folder.
  • Target, after the message is run, the created file is copied from the Working folder to the defined folder. The original file stays in the Working folder.

Set up file action - Delete

Design You can use the Delete file action to delete a file from the Working folder. Usually, the Delete file action is the last one to be done.
If the connector is set up properly with a different folder defined for Working path, Archive path, and Error path, a Delete file action is not required for direction Source.
If the direction is Target, after the message is run, the created file is deleted from the Working folder.

Set up file action - Email - D365FO email

Design You can use the Email file action to exchange files with email. This topic explains how to set up a file action to send files using the email setup as defined for D365FO. For more information, refer to Configure and send email.
For D365 FO email, the direction is 'Target. After the message is run, an email is created using the defined email account, the created file in the Working folder is attached to the email, and the email is sent. The original file stays in the Working folder. If you want to zip the file before sending it by email, do a Zip file action previously to the Email file action. In this case the zipped file is attached to the email.

Set up file action - Email - Exchange server

Design You can use the Email file action to exchange files with email. This topic explains how to set up a file action to send or receive files using Microsoft Exchange server.
If the direction is:
  • Source, before the message is run, the defined email account inbox is searched for applicable emails. If found, the attached files of these emails are saved to the Working folder.
  • Target, after the message is run, an email is created using the defined email account, the created file in the Working folder is attached to the email, and the email is sent. The original file stays in the Working folder. If you want to zip the file before sending it by email, do a Zip file action previously to the Email file action. In this case the zipped file is attached to the email.

Set up file action - Email - IMAP

Design You can use the Email file action to exchange files with email. This topic explains how to set up a file action to receive files using an IMAP server.
For IMAP, the direction is 'Source'. Before the message is run, the defined email account inbox is searched for applicable emails. If found, the attached files of these emails are saved to the Working folder.

Set up file action - Email - SMTP server

Design You can use the Email file action to exchange files with email. This topic explains how to set up a file action to send files using an SMTP server.
For SMTP, the direction is 'Target'. After the message is run, an email is created using the defined email account, the created file in the Working folder is attached to the email, and the email is sent. The original file stays in the Working folder. If you want to zip the file before sending it by email, do a Zip file action previously to the Email file action. In this case the zipped file is attached to the email.

Set up file action - FTP

Design FTP is no longer supported because of security reasons. Instead, use file actions of type SFTP.

Set up file action - Move

Design You can use the Move file action to move a file to another location.
If the direction is:
  • Source, before the message is run, the file is moved from a defined folder to the Working folder.
  • Target, after the message is run, the created file is moved from the Working folder to the defined folder.

Set up file action - SFTP

Design
You can use the SFTP file action to exchange files with an SFTP server.
If the direction is:
  • Source, before the message is run, the file is downloaded from the SFTP server to the Working folder. By default, the original file is deleted from the SFTP server. You can disable the delete action of the original file.
  • Target, after the message is run, the file is uploaded from the Working folder to the SFTP server. The original file stays in the Working folder. If you want to zip the file before uploading it to the SFTP server, do a Zip file action previously to the SFTP file action. In this case the zipped file is uploaded to the SFTP server.

Set up file action - Zip

Design You can use the Zip file action to zip or unzip a file in the Working folder. You can use this, for example, in combination with the Email file action to send or receive zipped files using email.
If the direction is:
  • Source, before the message is run, the file is unzipped to the Working folder. The original ZIP file stays in the Working folder.
  • Target, after the message is run, the created file is zipped to the Working folder. The original file is deleted from the Working folder. Next file actions in the file action sequence are done with the ZIP file.

Set up inbound definition - EDI

EDI

Use inbound definitions when you receive EDI message files from the AS2 web app.

Set up an inbound definition of type EDI to move files that are structured in line with an EDI standard (for example, EDIFACT) from the general storage location to a specific storage location.

To determine which file distribution definition applies, this data must be read from the file:

  • Type: The EDI message type of the data in the file. For example, 'Order' or 'Invoice'.
  • Recipient: The data in the file that indicates to which company in D365 FO the data must be imported.

Example

EDI file content example:

UNH+1+ORDERS:d:12A:EU:EAN123

Example of setup that can be applied to get the type (ORDERS):

Field Setting
Segment terminator ´/r/n
Data element separator +
Field separator :
Identification (type) UNH
Segment number (type) 2
Segment field (type) 1

Set up inbound definition - Fixed text

EDI

Use inbound definitions when you receive EDI message files from the AS2 web app.

Set up an inbound definition of type Fixed text to move files with defined start positions and lengths for fields from the general storage location to a specific storage location.

To determine which file distribution definition applies, this data must be read from the file:

  • Type: The EDI message type of the data in the file. For example, 'Order' or 'Invoice'.
  • Recipient: The data in the file that indicates to which company in D365 FO the data must be imported.

Example

Fixed text file content example:

ORDER10002US-027M0001123.452025-03-01

Example of setup that can be applied to get the customer ID (US-027):

Field Setting
Record separator /r/n
Identification (recipient) ORDER
Start position (recipient) 11
Field length (recipient) 6

Set up inbound definition - JSON

EDI

Use inbound definitions when you receive EDI message files from the AS2 web app.

Set up an inbound definition of type JSON to move files with data-object notation from the general storage location to a specific storage location.

To determine which file distribution definition applies, this data must be read from the file:

  • Type: The EDI message type of the data in the file. For example, 'Order' or 'Invoice'.
  • Recipient: The data in the file that indicates to which company in D365 FO the data must be imported.

Example

JSON file content example:

{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}

Examples of JSON path expressions that can be applied to this example:

  • Manufacturers[0].Name: Finds the name of the first manufacturer: Acme Co.
  • $..*[?(@.* == 'Acme Co')]: Finds the name of the token: Name.

Note: JSON path expressions are case sensitive.

Set up inbound definition - Text

EDI

Use inbound definitions when you receive EDI message files from the AS2 web app.

Set up an inbound definition of type Text to move files with field and line separators (for example, CSV files) from the general storage location to a specific storage location.

To determine which file distribution definition applies, this data must be read from the file:

  • Type: The EDI message type of the data in the file. For example, 'Order' or 'Invoice'.
  • Recipient: The data in the file that indicates to which company in D365 FO the data must be imported.

Example

Text file content example:

ORDER;10002;US-027;M0001;123.45;2025-03-01

Example of setup that can be applied to get the customer ID (US-027):

Field Setting
Record separator /r/n
Field separator ;
Identification (recipient) ORDER
Field number (recipient) 2

Set up inbound definition - XML

EDI

Use inbound definitions when you receive EDI message files from the AS2 web app.
Set up an inbound definition of type XML to move files in XML format from the general storage location to a specific storage location.

To determine which file distribution definition applies, this data must be read from the file:

  • Type: The EDI message type of the data in the file. For example, 'Order' or 'Invoice'.
  • Recipient: The data in the file that indicates to which company in D365 FO the data must be imported.

Example

XML file content examples, without and with namespace:

  • <xml><invoice><header><id>invoice123</id><sender>ABC</sender></header></invoice></xml>
  • <xml xmlns=[namespace]><invoice><header><id>invoice123</id><sender>ABC</sender></header></invoice></xml>

Examples of XPath expressions that can be applied to this example:

  • /*: Finds the name of the first tag: invoice. Note: if you use * in the XPath expression, it finds the name of the tag instead of the tag value.
  • /xml/invoice/header/sender: Finds the value of the 'sender' tag: ABC.
  • /ns:xml/ns:invoice/ns:header/ns:id: Finds the value of the 'id' tag: invoice 123. Note: If the XML has a namespace, make sure to define the namespace in the Namespace field. When the inbound definition is run, in the expression, 'ns' is replaced with the defined namespace.

Set up inbound web service website

Design Set up the web site that is required to run the IIS application.

Set up item for EDI

EDI For EDI, you can use the standard item setup. Some of these standard settings are often used for EDI and therefore highlighted in this topic:
  • External item description
  • Bar code
  • GTIN code
The steps in this topic only guide you to where you can define these settings. For more information, refer to Product identifiers.

Set up journal validations

EDI
If you use staging in your EDI process, the received EDI messages are imported into a staging journal. On insert of the message into the staging journal, the applicable journal validations are done.
Set up journal validations for each applicable combination of document flow type, direction, and origin.
For each of these combinations, set up the applicable validation rules and related settings.

You can set up specific journal validations for a customer, vendor, or warehouse. You can also set up journal validations on legal entity level. If no specific journal validation exists, the legal entity journal validation can be used. 
On validation, the validation rules for the relevant table are applied in the sequence as defined on the Validation rules page. For each validation rule, as defined on the Validation rules page, the applicable journal validation is searched for in this sequence:
  1. Is this validation rule set up for the customer, vendor, or warehouse? If yes, the validation rule is applied according to the journal validation settings.
    (Note: If this journal validation is set up but inactive, it is skipped. The validation process continues with the next validation.)
  2. If not, is this validation rule set up for the legal entity (current company)? If yes, the validation rule is applied according to the journal validation settings.
  3. If not, the validation rule is not applied.
Example
You have a customer for which one of the generic validation rules (as defined for the legal entity) is not applicable. In this case, you can set up this validation rule for the customer and deactivate it. As a result, on validation, the validation rule is found for the customer and therefore search for the validation rule stops.

Set up local Windows folders for Azure file storage connector

Design If you use Connectivity studio on a D365 FO (on-premises) environment, you can choose to use local Windows folders to exchange data files.
Create the folders that are required to exchange files. You can create folders that relate to the paths in the Properties section, the Read section, and the File actions section of the connector:
  • Working
  • Archive
  • Error
  • Split
  • Copy
  • Move

Set up mapping condition using an expression

Design Sometimes, you want to skip a record mapping when running a message. You can use a condition that is defined as an expression to indicate if the record mapping must be applied. The record mapping is only applied if the expression condition is met.
You define an expression with self-defined variables. Variables must be linked to fields from the source document or the target document.
Example:
Expression: Price>Amount
Condition value: IF(Price>Amount, true, false)
Variables:
  • Price is linked to SalesPrice field of the SalesLine source record.
  • Amount is linked to LineAmount field of the SalesLine source record.
The record mapping is only applied if the sales price is higher than the line amount.
For more information on expressions, refer to: Expression.

Set up mapping conditions

Design Sometimes, you want to skip a record mapping when running a message. You can use conditions to indicate if the record mapping must be applied. The record mapping is only applied if the conditions are met. You can set up several conditions for each record mapping.
Examples of values that you can use to define a condition:
  • ..Item1 Item1 and smaller
  • Item1.. Item1 and greater
  • Item1,item5..item10 Item1 or item5 till item10
  • Item1,item2 Item1 or item2
  • !123 Not 123
  • “” Empty
  • !”” Not empty
  • curExt() Used to apply a condition with the current company

Set up message

Design

Use messages as the carriers that transport data from a source to a target, based on the mapping as defined on the message.
This topic explains how to set up a message header. On a message header you define:
  • The source information: the connector and document that is used for the data source.
  • The target information: the connector and document that is used for the data target.
  • General settings that define the behavior of the message.

Set up project web service application for AS2

EDI

Set up a web service application for the project that connects to the AS2 web app.

For more information refer to: Set up web service application for project.

For the web service application, use these settings:

Field Setting
Base URL

The base URL of your AS2 web app. Usually, this URL looks like:

https://[AS2 web app name].azurewebsites.net/

Authentication OAuth2
Enable AS2 Make sure this check box is cleared.
Grant type Client credentials
Skip resource Yes
Scope

Enter the Application ID URI of the registered app. This looks like:

api://[Application (client) ID]/.default

Set up qualifiers

Design For each EDI type, you can set up qualifiers for an EDI segment. A common segment for which qualifiers are used is the address (NAD) segment. You can have different addresses in the same segment, for example, delivery address and invoice address. Use a qualifier to distinguish these addresses in the EDI file.
Example:
Set up the 3035 (party function code) qualifier for the NAD (name and address) segment with these values:
  • DP; Delivery party; Party to which goods must be delivered.
  • IV; Invoicee; Party to whom an invoice is issued.

Set up record mapping

Design
On the message record mapping, define for each target document record the mapped source document record.

Set up Service Bus queue connector

Design Set up a connector of type 'Service Bus queue'. Use this connector type to exchange information via an Azure Service bus queue or topic.
You can use the 'Service Bus queue' connector to:
  • Export data:
    Use a Connectivity studio export message to send messages to the applicable Service Bus queue or Service Bus topic. The export message must have the 'Service Bus queue' connector as target connector.
    On export, each message that is sent to a queue or topic is logged in the 'Data sent to queue' history table.
  • Import data:
    1. Run 'Receive queue data' to receive messages from a Service Bus queue or a Service Bus topic subscription. The received messages are added to the 'Received data from queue' table in Connectivity studio.
      These receive modes are supported: 'Receive and delete' and 'Peek lock'.
    2. Run import messages to read data from the 'Received data from queue' table and import this data into D365 FO. The import message must have the 'Service Bus queue' connector as source connector.

The related document defines which data is sent to or received from a queue or topic and in which format and structure. So, the document does not result in a file.

With the 'Service Bus queue' connector, you can use these external file-based documents: EDI, Fixed text, Text, XML, JSON. You can only use this connector in combination with a document for which the version 3 (V3) handler class is selected.

Set up Service Bus search definition

Design
You can use Service Bus search definitions to automatically assign Connectivity studio messages to received data records from a Service Bus.

Set up SharePoint connector

Design

Set up a connector of type SharePoint to exchange data files between your D365 FO environment and another environment, using SharePoint. SharePoint is a solution to share and manage content, knowledge, and applications to empower teamwork, quickly find information, and seamlessly collaborate across the organization.

With the SharePoint type connector, you can exchange these external file-based documents: EDI, Fixed text, Microsoft Word, Microsoft Excel, Text, XML, JSON. You can only use this connector in combination with a document for which the version 3 (V3) handler class is selected.

Set up staging display options

Design For a document of type Staging, for each document record, you can set up the display options for the related staging journal.
Use the display options to define which fields of the record are shown and editable on the Data tab of the staging journal.

Set up Staging journal connector

Design

Set up a connector of type Staging journal. Use this type to validate and approve data before it is imported into D365 FO.

A staging journal scenario consists of:

  • A message to import the data from the source into the staging journal. This message has a target document of type Staging and a target connector of type Staging journal.
  • A staging journal which is an additional table in which the data is validated and approved before the data is imported into D365 FO.
  • A message to get the approved data from the staging journal and import it into D365 FO. This message has a source document of type Staging and a source connector of type Staging journal.

Set up staging validations

Design

For each document record, you can define data validations to be done when a data record is inserted in the staging journal.

Found validation errors, warnings, or dependencies are stored as validation errors for the relevant staging journal.
For a Staging document, these standard validation classes are available:
Validation class Description
BisValidationFieldisMantadory This class checks if the field is filled. The arguments are: FieldValue and Type. The validation is met if the field has a valid value. For example, for date fields, the value 0 is not valid.
BisValidationReferenceExists This class checks if a record exists in the defined table. The validation is met if at least one record exists in the table. The arguments are KeyFieldName or KeyFieldValue (only define one of these arguments) and TableName. For example, you can check if a customer exists in the CustTable. If the customer does not exist, a validation error is reported.
BisValidationMdmDifference

This class if differences exist between the data that is send from the source to the MDM staging journal and the current data in the target. This validation defines what happens with MDM staging journal lines with data differences.

You can only use this class if you use:

  • The Master data management staging journal.
  • Data comparison on the MDM staging journal.

For more information, refer to Monitor MDM staging journal.

Set up transformation

Design

If you need a transformation and it does not already exist, you must set it up.
You can use a transformation to change a source value into another value.
You can use these types of transformations:
  • Value: A standard transformation to directly transform a source value into another value. You have these options:
    • Value: The source value is always transformed to another value.
    • Condition: The source value is only transformed to another value if a condition is met. The condition is based on a table field that is defined for the source document record. So, the condition record field must be available in the source document, but it is not required in the message field mapping. Usually, the condition record field is not the field for which you define the transformation in the field mapping.
  • Range: A transformation that is based on a range. All values that meet the range, are transformed to the defined Value to. Example: Range='EN-*' and Value to= 'EN-US'. All values that start with 'EN-' are transformed to 'EN-US'.
Usually, you use either value transformations or range transformations. However, if you use a combination, first the value transformations are checked for an applicable transformation and then the range transformations. The first found applicable transformation is applied.

Set up type conversion

Design

If you need a type conversion and it does not already exist, you must set it up.

You can use a type conversion to convert the data to match the format as required in the target. With a type conversion, you can convert values from any type to string or from string to any type. Usually, the string value is the external value. Note: Type conversions from any type to any type are not supported. For example, a conversion of type integer to type date is not possible.

You can use these conversion types:

 

Conversion type

Description

Text

Define the format in which a text is imported or exported. You can, for example, replace or remove characters, or use one element of the text.

Amount

Define the format in which an amount is imported or exported. You can, for example, define separators and unit conversion.

Date

Define the format in which a date is imported or exported. You can, for example, define the sequence and separator.

Enum

Define the format in which an enum value is imported or exported. You can, for example, define that the enum value is imported or exported as text.

Time

Define the format in which times are imported or exported. You can define the format and the separators to be used.

UtcDateTime

Define in which format a date and time field value is imported or exported. This type combines the Date and Time types.

Date/time format

Define in a flexible way the format in which a date and time field value is imported or exported. You can also include a time zone. Note: The format is case sensitive. For example, the lowercase 'm' is the identifier for minute, and the uppercase 'M' is the identifier for month. Example: dd-MM-yyyy. For more information on how to set up the date/time format, refer to Custom date and time format settings.

Set up Upload and download connector

Design

Set up a connector of type Upload and download. Use this type to:

  • Upload files: On the message, select the connector as source connector. On running the message, you can manually select and upload a file from a folder and import its contents.
  • Download files: On the message, select the connector as target connector. On running the message, a file is created and downloaded to your local downloads folder.

With the Upload and download type connector, you can upload or download these external file-based documents: EDI, Fixed text, Microsoft Word, Microsoft Excel, Text, XML, JSON. You can only use this connector in combination with a document for which the version 3 (V3) handler class is selected.

Set up validation rules

EDI
If you use staging journals, you can set up the applicable journal validations. For each staging journal-related table, you can define the applicable validation rules.
You define:
  • The journal-related table for which to set up validation rules.
  • To which document flow type the validation rules apply.
  • The validation rules to be applied. You can select from pre-defined or customized validation rule classes.
  • The sequence in which the validation rules are applied.
  • For each validation rule, to which legal entity it applies (optional).

Set up web service action - Inbound

Design You can use the inbound web service process to receive a request from and send a response to an external application, via an inbound web service.
For each inbound web service action, you can define these messages:
  • Request message: The request message provides D365 FO with data from the external application.
  • Response message: The response message sends the response from D365 FO to the inbound web service.
  • Error message: The error message sends the error information from D365 FO to the inbound web service.
An inbound web service action can only be triggered by an inbound web service. When triggered, the inbound web service action automatically runs the defined messages.

Set up web service action - Outbound

Design

You can use an outbound web service action to request data from an external application and to process the response in D365 FO, via an external web service.

For each outbound web service action, you can define these messages:
Message Description
Request message The request message provides the web service with data from D365 FO.
Response message The response message processes the response from the web service in D365 FO.
Error message The error message processes the error from the web service in D365 FO.

 

Note: Only D365 FO can trigger an outbound web service action. When triggered, the outbound web service action automatically runs the defined messages.

Attributes

You can use attributes to add extra information to the web service URL or HTTP request.
The attribute type indicates how the attribute value is defined. You can use these types:
Attribute type Description
Value The attribute is a fixed value. Enter the fixed value in the Value or Custom field.
Document field The attribute value is derived from a field of the source document of the request message. Fill in the Document field field.
Record field

The attribute value is derived from a field of a selected record. Usually, this type is used to get records. Only use this type if you start the web service with a menu item from a specific page. Fill in these fields: Record table and Record field.

Example: You start the web service from the Sales orders page. You can use the attribute to get all sales orders for the customer of the selected sales order. In this case, you fill in the CustTable and ID.

Custom You can enter a static method that defines the range. The static method is applied to the source document of the request message.
Secret You can enter a secret reference to be used as attribute. The secret reference refers to a centrally stored secret which makes updating secrets easier. So, the secret value is not visible on the Web service action page. You only see the secret reference. Fill in the Secret reference field.

 

The attribute styles define how the attribute is applied to the request. You can use these attribute styles:

Attribute style Description
Header Sends a custom header with an HTTP request. The attribute is added to the header of the HTTP request.
Query

Most common attribute type. It applies to the whole request. It is added to the URL after the question mark (?) after the resource name.

Example: https://myserver.com/resource?attr1=Your Value&attr2=Your Value

Template

Parameterizes the resource path, adding a placeholder for a variable value.

Example: https://myserver.com/resource/{attr3}

Matrix

Applies to a specific resource path element. The attribute is added to the URL, between the resource or the template attribute and the QUERY attributes. The attribute is separated from the resource or the template attribute with a semicolon (;).

Example: https://myserver.com/resource/{attr3};;attr4=Your Value?attr1=Your Value

Plain Excludes the attribute from the HTTP request. For example, for testing purposes.
Body key pair Usually, for an outbound web service, the body contains the content. In some cases, for example for Dataverse, the body contains more data than only the content. The data is split in a list of, so called, key pairs. In this case, the content is stored in a key pair, instead of in the body. For each of the key pairs to be added to the request body, add an attribute to the outbound web service action.
To use key pairs in your body, use these settings:
  • Content type: application/x-www-form-urlencoded
  • Attribute type: Value
  • Attribute style: Body key pair
  • Attribute value: [Body]; only for the attribute that contains the request content.
Note: You only can apply this setup if the target document of the request message is of type JSON.

Set up web service action for AS2

EDI

Set up the outbound web service actions to export data to the AS2 web app. With the mentioned settings, the web service action calls the send method of the AS2 web app to send the data to the EDI partner.

For more information, refer to Set up web service action - Outbound.

For the outbound web service actions for AS2, use these settings:

Field Setting
Acts as Outbound
Request message Enter the desired EDI export message. For example, use one of the EDI tutorial export messages.
Resource api/as2/senddata
Client HTP class BisWsAs2ClientHttpRequest

 

For the outbound web service actions for AS2, set these attributes:

Name Type Value or Custom Style Description
AS2-Message-Id Custom BisTools::getGuid() Header Gets the unique message ID to be used in the message and file name.
AS2-Subject Value For example: Invoice or Order. Header You can define a subject that is used in the file name. Define the subject based on the request message that is linked to web service action.
AS2-Encoding Value Binary Header You can send the file content as binary to the AS2 web app.
AS2-documentContentFormat Value PlainText or Base64String Header You can, optionally, send the document content format to the AS2web app. If no value is set, the default value PlainText is applied. If the attribute value is set to Base64String, the content is first decoded, and then processed.

Set up web service application for project

Analysis
For an outbound web service, a connection must be established with an external web service.
To connect to the external web service, for the applicable project, set up the web service application.
The web service application defines the base URL for the related web service actions.
If required, you can also set up the user authentication to get access to the external web service.

Set up Web service connector

Design

Set up a connector of type Web service. Use this type to exchange data via a web service using a stream.

If you:

  • Import data, the web service adds its data to a stream. From this stream, the data is imported into D365 FO.
  • Export data, the data is exported from D365 FO and added to a stream. The web service takes the data from this stream and processes it.

The related document defines which data is added to or taken from a stream and in which format and structure. So, the document does not result in a file.

With the Web service type connector, you can use these external file-based documents: EDI, Fixed text, Text, XML, JSON. You can only use this connector in combination with a document for which the version 3 (V3) handler class is selected.

 

Set up web service user

Design
Set up the external users that are allowed to access the inbound web service to start an inbound web service action.
For each external web service user, define:
  • The allowed inbound web service actions.
  • The companies in which the web service action is allowed to run.
If the inbound web service application (IIS application or Azure Logic Apps) receives an HTTP request from an external application, it calls a D365 FO method to check:
  • If the external user, as defined in the HTTP request, is defined as web service user.
  • If it is allowed to start the web service action for the web service user.
  • If it is allowed to run the web service action for the web service user in the company, as defined in the HTTP request.

Show Infolog for message run

Operation For each message run with errors, you can open the Infolog and read the related error messages.

Show where a secret reference is used

Design

You can show the records where a secret reference is used. This can be helpful, for example, if you want to change a secret and you want to see which records are involved.

Solve connection issue for Azure file storage connector

Design

For an Azure file storage connector, you can connect to an Azure file share. To access the Azure file share, you can mount the Azure file share.

For most connectors, when a message is run, a connection is made only for the run. After the run the connection ends. However, for an Azure file storage connection with a mounted Azure file share, the connection stays, independent of messages run.
When a related message is run or the connection is tested, a check is done, and an error can occur if something has changed. For example, the connector username or password is changed. In this case, the mounted connection to the Azure file share is no longer valid. To reset the mounting, first remove the connection (see steps). The next time, a related message is run, or the connection is tested, the mounting is restored, for example with the proper username or password.
Usually, messages are run in batch. If you run a message in batch, you can use a batch group to direct a batch task to another server. If a message runs on another server, the connection also stays on the other server. In case of an error or change, this connection is no longer valid. So also, the connection on the other servers must be removed.

Solve EDI Delfor journal processing errors

EDI

When an EDI Delfor journal is processed with the 'Sales (Delfor) - EDI Delfor journal to Order' message, errors can occur. If an error occurs:

  • The EDI Delfor journal is not processed.
  • The EDI Delfor journal message status is set to Error.
  • The error is logged in the EDI Delfor journal Infolog.

You can solve processing errors and have the EDI Delfor journal processed again.

Solve EDI Delfor journal validation errors

EDI

The delivery forecast sales orders that you receive with the 'Sales (Delfor) - XML to EDI Delfor journal (830)' message are stored in the EDI Delfor journal.

These EDI Delfor journals are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before the EDI Delfor journals can be processed further, review the errors and warnings, and take appropriate actions.
If journal validation errors are given, you have these options:

  • Solve the errors. You can solve validation errors in:
    • The EDI Delfor journal, where you can make the appropriate changes.
    • Microsoft Dynamics 365 for Finance and Operations. For example, if the setup must be changed to solve the error.
  • Cancel the EDI Delfor journal, line, or address with errors.

You cannot accept headers, lines, or addresses with errors. If you do so, and approve the EDI Delfor journal, the header, line, or address with errors is again set to Rejected.

If the errors are solved or lines or addresses with errors are canceled, approve the EDI Delfor journal.

Solve EDI Delfor journal validation warnings

EDI

The delivery forecast sales orders that you receive with the 'Sales (Delfor) - XML to EDI Delfor journal (830)' message are stored in the EDI Delfor journal.

These EDI Delfor journals are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before the EDI Delfor journals can be processed further, review the errors and warnings, and take appropriate actions.

If journal validation warnings are given, you have several options:

  • Accept the header, line, or address with warnings.
  • Solve the warnings. You can solve validation warnings in:
    • The EDI Delfor journal, where you can make the appropriate changes.
    • Microsoft Dynamics 365 for Finance and Operations. For example, if the setup must be changed to solve the warning.
  • Cancel the EDI Delfor journal, line, or address with warnings.

If all warnings are solved, accepted, or canceled, approve the EDI Delfor journal.

Solve EDI inventory order processing errors

EDI When an EDI inventory order is processed with the applicable custom message, errors can occur. If an error occurs:
  • The EDI inventory order is not processed.
  • The EDI inventory order message status is set to Error.
  • The error is logged in the EDI inventory order journal Infolog.
You can solve processing errors and have the EDI inventory order processed again.

Solve EDI inventory order validation errors

EDI

If you use EDI inventory order staging in your EDI process, the received information is imported into the EDI inventory order journal by the relevant custom messages. You can, for example, use staging in your EDI process for picking list registrations or product receipts. 

The EDI inventory orders are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before the EDI inventory order can be processed further, review the errors and warnings, and take appropriate actions.
If journal validation errors are given, you have these options:

  • Solve the errors. You can solve validation errors in:
    • The EDI inventory order, where you can make the appropriate changes.
    • Microsoft Dynamics 365 for Finance and Operations. For example, if the setup must be changed to solve the error.
  • Cancel the EDI inventory order, line, or address with errors.

You cannot accept headers, lines, or addresses with errors. If you do so, and approve the EDI inventory order, the header, line, or address with errors is again set to Rejected.

If the errors are solved or lines or addresses with errors are canceled, approve the EDI inventory order.

Solve EDI inventory order validation warnings

EDI

If you use EDI inventory order staging in your EDI process, the received information is imported into the EDI inventory order journal by the relevant custom messages. You can, for example, use staging in your EDI process for picking list registrations or product receipts.
The EDI inventory orders are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before the EDI inventory order can be processed further, review the errors and warnings, and take appropriate actions.

If journal validation warnings are given, you have several options:
  • Accept the header, line, or address with warnings.
  • Solve the warnings.
  • Cancel the EDI inventory order, line, or address with warnings.
If all warnings are solved, accepted, or canceled, approve the EDI inventory order.
 

Solve EDI purchase order confirmation processing errors

EDI When an EDI purchase order confirmation is processed with the 'Purchase - EDI confirmation to Order' message, errors can occur. If an error occurs:
  • The EDI purchase order confirmation is not processed.
  • The EDI purchase order confirmation message status is set to Error.
  • The error is logged in the EDI purchase order confirmation journal Infolog.
You can solve processing errors and have the EDI purchase order confirmation processed again.

Solve EDI purchase order confirmation validation errors

EDI

The purchase order confirmations that you receive with the 'Purchase - XML to EDI confirmation' message are stored in the EDI purchase order confirmations journal.
These EDI purchase order confirmations are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before an EDI purchase order confirmation can be processed further, review the errors and warnings, and take appropriate actions.
If journal validation errors are given, you have these options:

  • Solve the errors. You can solve validation errors in:
    • The EDI purchase order confirmation, where you can make the appropriate changes.
    • Microsoft Dynamics 365 for Finance and Operations. For example, if the setup must be changed to solve the error.
  • Cancel the EDI purchase order confirmation, line, or address with errors.

You cannot accept headers, lines, or addresses with errors. If you do so, and approve the EDI purchase order confirmation, the header, line, or address with errors is again set to Rejected.

If the errors are solved or lines or addresses with errors are canceled, approve the EDI purchase order confirmation.

Solve EDI purchase order confirmation validation warnings

EDI

The purchase order confirmations that you receive with the 'Purchase - XML to EDI confirmation' message are stored in the EDI purchase order confirmations journal.

These EDI purchase order confirmations are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before an EDI purchase order confirmation can be processed further, review the errors and warnings, and take appropriate actions.
If journal validation warnings are given, you have several options:
  • Accept the header or line with warnings.
  • Solve the warnings. You can solve validation warnings in:
    • The EDI purchase order confirmation, where you can make the appropriate changes.
    • Microsoft Dynamics 365 for Finance and Operations. For example, if the setup must be changed to solve the warning.
  • Cancel the EDI purchase order confirmation or line with warnings.
If all warnings are solved, accepted, or canceled, approve the EDI purchase order confirmation.

Solve EDI sales order processing errors

EDI When an EDI sales order is processed with the 'Sales - EDI order to order' message, errors can occur. If an error occurs:
  • The EDI sales order is not processed.
  • The EDI sales order message status is set to Error.
  • The error is logged in the EDI sales order journal Infolog.
You can solve processing errors and have the EDI sales order processed again.

Solve EDI sales order validation errors

EDI
If you use staging in your EDI process for sales orders, the sales orders that you receive with the 'Sales - XML to EDI order' message are stored in the EDI sales order journal.
These EDI sales orders are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before the EDI sales order can be processed further, review the errors and warnings, and take appropriate actions.
If journal validation errors are given, you have these options:
  • Solve the errors. You can solve validation errors in:
    • The EDI sales order, where you can make the appropriate changes.
    • Microsoft Dynamics 365 for Finance and Operations. For example, if the setup must be changed to solve the error.
  • Cancel the EDI sales order, line, or address with errors.
You cannot accept headers, lines, or addresses with errors. If you do so, and approve the EDI sales order, the header, line, or address with errors is again set to Rejected.
If the errors are solved or lines or addresses with errors are canceled, approve the EDI sales order.

Solve EDI sales order validation warnings

EDI
If you use staging in your EDI process for sales orders, the sales orders that you receive with the 'Sales - XML to EDI order' message are stored in the EDI sales order journal.
These EDI sales orders are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before the EDI sales order can be processed further, review the errors and warnings, and take appropriate actions.
If journal validation warnings are given, you have several options:
  • Accept the header, line, or address with warnings.
  • Solve the warnings. You can solve validation warnings in:
    • The EDI sales order, where you can make the appropriate changes.
    • Microsoft Dynamics 365 for Finance and Operations. For example, if the setup must be changed to solve the warning.
  • Cancel the EDI sales order, line, or address with warnings.
If all warnings are solved, accepted, or canceled, approve the EDI sales order.

Solve errors - File actions

Operation

Solve the file action errors that occurred during the message run.

Solve errors - Message run

Operation

Solve the errors that have occurred in the message run.

Solve validation errors and warnings

Operation If you use staging in your inbound integration process, the records that you receive are stored in the staging order journal.
These records are validated according to the applicable journal validation setup. If the applicable validation rules are not met, an error or warning is given. Before the records can be processed further, review the errors and warnings and take appropriate actions.
If journal validation errors or warnings are given, you have these options:
  • Solve the errors or warnings.
  • Cancel the records with errors.
  • Accept the records with warnings.
  • Cancel the journal.
You cannot accept staging journals or lines with errors. If you do so, and approve the staging journal, the journal or line with errors is again set to Rejected.

Split EDI inventory order journal

EDI You can split an EDI inventory order journal with rejected lines. You can, for example, do so to already process the approved lines of the EDI inventory order journal. Later, you can have a look at the rejected lines.
If you split the EDI inventory order journal, a new EDI inventory order journal is created, and the rejected lines are moved to this new journal. The new EDI inventory order journal gets the original journal number with a version number suffix. For example: the original journal number is 'EDI0001', the new journal gets number 'EDI0001-1'.

Split logged events over pages

Operation
To improve the performance when processing a lot of logged events, you can use paging. For paging, the logged events are split over several pages that are run in parallel batch tasks.
You define the paging setup in these fields of the Process data synchronization log dialog:
  • Number of pages: It can be that you can run only a limited number of batch jobs in parallel or that you want to use a limited number of batch jobs. If so, define the maximum allowed number of pages. 
  • Page size: You can split the to-be-processed events over several batch task. Define the number of events to be processed by one batch task.
On the pages, the events are grouped by RecId, table, and event type. So, all events of a specific event type that are logged for a unique record, are grouped on the same page. For example, if five change events are logged for customer X, these five events are grouped on one page.
Example:
The Number of pages is 4 and the Page size is 1000.
- If 1.500 logged events are processed, these are split over 2 pages.
- If 10.000 logged events are processes, these are initially split over 10 pages. However, only 4 pages are allowed. Therefore, a recalculation is done splitting the 10.000 events over the 4 allowed pages. As a result, 4 pages with each 2.500 events are processed.
Notes:
  • If you do not use paging, all to-be-processed events are added to one page and processed by one batch task.
  • When selecting logged events to be processed, the synchronization parameters are considered:
    • Last run: Only the events are selected with a created date and time after the latest run date and time.
    • Synchronization delay (minutes): Only the events are selected that are logged before the current processing date/time minus the defined number of minutes.

Test document

Design

If you run into an issue with a message, you can separately test the source and target documents.

The document type defines what is tested:
  • External document - File based: Reads the data from a defined file and tests the document query.
  • External document - ODBC: Reads the data from an external database and tests the document query.
  • Internal document: Tests the document query.
As a result:
  • The records that are read from the file or from the external database, are shown on the Imported records page.
  • When you test a document, based on the document setup, a query is created that reads the data. The result of the query test is shown in the message bar. If the 'No data found' message is shown, the document is not set up properly. In the message bar, you can click 'Message details' to see more detailed information.
Note: Before you test an external document, make sure, the document process type is set to 'Query'. After testing the document, if the original process type was 'Direct', do not forget to change the process type back to 'Direct'.

Test inbound Azure Logic App

Design Before you deploy the inbound Azure Logic App, test it.

Test inbound definition setup

EDI

You can test if the setup of a specific inbound definition or of all inbound definitions delivers the expected result. usually, you do so for a test file.

During the test, these checks are done:

  • Is the selected test file found? Or if no test file is defined, are the files in the general storage location found?
  • Is a matching file distribution definition found in the selected inbound definition? Or if no inbound definition is selected, is a matching file distribution definition found in any of the inbound definitions?

The test result is shown in an info message.

Note: During the test, no files are moved from the general storage location. Also, no renaming of the files is applied.

Test inbound web service action

Design

You can test an inbound web service action without receiving an HTTP request from the external application. So, you only test the inbound web service action setup and not the full process with connection to the external application.

When testing, the inbound web service action does run the request message and response message. So, data can be impacted. Therefore, you are advised to only test an inbound web service action in a Development or Test environment.

For the result of an inbound web service action test, view the Result section on the test page. You can also view the message history of the related request message and response message.

Test outbound Azure Logic App

Design Before deploying the outbound Azure Logic App, test it.

Test outbound web service action

Design

You can test an outbound web service action without sending a request to the external web service. So, you only test the outbound web service action setup and not the full process with connection to the external web service.

When testing, the outbound web service action does run the request message and response message. So, data can be impacted. Therefore, you are advised to only test an outbound web service action in a Development or Test environment.

For the result of an outbound web service action test, view the message history of the related request message and response message.

Troubleshoot data synchronization log issues

Operation

You can use table events to log data changes. You can define, for each record, which table events are logged. The table events are logged in the Data synchronization log.

If table events are not logged in the Data synchronization log, check the data synchronization setup for your message or outbound web service action.
You can also check if processing the data synchronization log is set up correctly.

Troubleshoot staging issues

Operation

In Connectivity studio, you can use the staging concept to validate data in an intermediate area before it is further processed. Usually, the issues as shown in the staging journal are data related.

If it appears that issues are not data related, extend your issue investigation to the messages that import data to or export data from the the staging journal.

Troubleshoot trigger issues

Operation

An integration can be triggered in several ways. If a trigger fails, no errors are shown in the Connectivity studio Integration operations history.

Batch job

You can run a project, message or web service in batch, usually in recurring mode.
If the message or web service does not run at all, the batch server can be down.

Custom code

You can run a message from custom code.
If you use custom code to run a message, and the message does not run, probably, the custom code is not right. You need a developer to check and repair the custom code.

Update secret reference name

Design

You can change a secret reference name. this automatically updates the secret reference in all places where it is used.

You can update a secret reference name, for example, after you upgraded from local secret storage to central secret storage. In this case, you can change the automatically created secret reference names.

Upgrade secrets to the secret reference tables

Design

For each project, you can migrate from 'locally' stored secrets to centrally stored secrets. To do so, you can automatically collect the locally stored secrets and store these in the centrally stored secret references.

During upgrade:

  • All locally stored secrets of the project are collected. Note: Also, the Azure storage password from the Connectivity studio parameters is collected and upgraded.
  • For each unique secret, a secret reference is created with an automatically generated name. So, no duplicate secret references are created. Note: A secret reference is unique for the secret and environment type combination.
  • For each record with a 'local' secret, the secret is removed, and the newly created secret reference is linked to the record.

Note: Usually, you only use this upgrade function once per project during migration from locally to centrally stored secrets.

Upload file to Working folder

EDI

To test an inbound definition, make sure a test file is available in the Working folder as defined by the connector of the inbound definition.

Use file explorer

Operation

You can use the File explorer to quickly access and view the share as defined for the applicable Azure file storage connector. The File explorer offers limited functionality. You can only view, copy, move, or delete files.

View all EDI inventory lines

EDI You can sort and search and filter on all imported EDI inventory journal lines. For example, to find related EDI inventory journal lines or to search for inventory journal lines with the same batch.
For each line, you can open the related EDI inventory order journal.

View EDI Delfor journal

EDI

Use the EDI Delfor journal to monitor the delivery forecast sales orders.

The delivery forecast sales orders that you receive with the 'Sales (Delfor) - XML to EDI Delfor journal (830)' message are stored in the EDI Delfor journal.

If you monitor EDI Delfor journals, the statuses are important. For more information on these statuses, refer to 'EDI staging journal statuses'.

View EDI Delfor sales information

EDI

For each customer, item, and customer order combination, for which you receive delivery forecasts, you can provide an overview of the related EDI Delfor sales information. You can use this data to apply several validation rules to EDI Delfor journals.

The EDI Delfor sales information is:

  • Created and updated when an EDI Delfor journal is processed, and the related delivery forecast order is imported into the Sales orders table with the 'Sales (Delfor) - EDI Delfor journal to Order' message. To create and update the EDI Delfor sales information, on this 'Sales (Delfor) - EDI Delfor journal to Order' message, you must add the mapping for the EDI Delfor Sales information (BisEdiDelforSalesData) table.
  • Updated when a packing slip is posted for a sales order that is created based on an EDI Delfor journal. This update is only done if the EDI Delfor sales information exists for the customer, item, and customer order combination.

View EDI inventory orders

EDI

Use the EDI inventory order staging journal to monitor the EDI inventory orders. If you use EDI inventory order staging, custom messages are required.

You can, for example, use staging in your EDI process for picking list registrations or product receipts.
If you monitor EDI inventory orders, the statuses are important. For more information on these statuses, refer to 'EDI staging journal statuses'.

View EDI purchase order confirmations

EDI
Use the EDI purchase order confirmation staging journal to monitor the EDI purchase order confirmations.
The purchase order confirmations that you receive with the 'Purchase - XML to EDI confirmation' message are stored in the EDI purchase order confirmation journal.
If you monitor EDI purchase order confirmations, the statuses are important. For more information on these statuses, refer to 'EDI staging journal statuses'.

View EDI sales orders

EDI Use the EDI sales order staging journal to monitor the EDI sales orders.
If you use staging in your EDI process for sales orders, the sales orders that you receive with the 'Sales - XML to EDI order' message are stored in the EDI sales order journal.
If you monitor EDI sales orders, the statuses are important. For more information on these statuses, refer to 'EDI staging journal statuses'.

View error report

Operation

You can view a report in Microsoft Excel format that contains the errors that occurred during a message run. You can, for example, use this to inform the sender of data on the errors.

You can create an error report:
  • Automatically: To do so, on the message header, select 'Yes' in the 'Create history report' field. The report is created when the message run is finished.
  • Manually: To do so, on the Connectivity studio Integration operations workspace, on the History errors tab or History tab, select a record, and click Create history report.
The report is stored in the folder as defined in the Business integration parameters, in the History report path field. This is a folder in the file share as defined in the Windows share field.
To view a history report, open the Azure file share or Windows folder, as defined in the Windows share field on the Business integration parameters.
You can find the report based on the message name. The name of the history report is composed in this way: Message [message name]_[number sequence].

View file history

Operation
You can review and analyze the file history of message runs for messages with an Azure file storage connector. All actions that are done to the related file, are registered in the file history.
Registered file actions are the:
  • Standard file actions related to the Working, Archive, Error, and Split folders. For example, on import, a file is read from the Working folder and when successfully processed, it is moved to the Archive folder. Both the 'read' and the 'move' action are registered.
  • Additional file actions as set up for the Azure file storage connector.

View message run history

Operation

You can review and analyze the history of message runs.

View message run record history

Operation For each message run, the processed records with errors are shown. For each shown record, you can view the record details. If required, you can change the values to be set.

View messages on Service Bus queue or topic subscription

Operation

You can view the messages on a Service Bus queue or topic subscription for a specific connector.

When you click 'Show Service Bus data', the related queue or topic subscription is read, and the results are shown on the 'Show Service Bus data' page.
Note: The read Service Bus data is not stored. Each time you open the page, the data is reloaded.

View original message run history

Operation If a message run is run before the currently shown run, you can view the history of the previous message run.

View outbound queue

Operation For messages and web service actions, you can use table events to track data changes. You can define, for each table, which table events are logged. The table events are logged in the data synchronization log. On processing the data synchronization log, based on the logged events, records are added to the outbound queue. On processing the outbound queue, for each record, the related message or web service action is run to export the applicable data.
This topic explains how to view the outbound queue.

View staging journal

Operation

Use the staging journal to monitor the staged records.

If you use staging in your inbound process, you receive data with message that stores the data staging journal.
If you monitor staging journals, the statuses are important. Refer to 'See also'.

View table relations

Design
When you set up an internal document, it can be useful to view the D365 FO table relations without accessing the development environment.
You can view the relations of the table as defined for the current record.

View where-used

Design
Sometimes, if you want to clean-up your document setup, you cannot delete an element. In such a case, you can view where the element is used in the connectivity setup.
You can do so for a:
  • Document
  • Document record
  • Document record field

Web service error message is run - Inbound

Operation

When in an inbound web service process, the request message did not run successfully or an error occurred, the inbound web service action runs the error message, if defined. This is managed by the handler class as defined for the web service action.
The error message sends the error information from D365 FO to the inbound web service. For example, you can use an error message to change the status of a record in the external application.

If the HTTP action is Post, Put, Delete, Patch, or Post or Put, the errors in the message history of the request message define the input of the response message.
For an error message the:
  • Source connector must be of type D365 FO.
  • Source document must be an internal document.
  • Target connector must be of type Azure file storage or Web service.
  • Target document must be an external file-based document.

Web service request message is run - Inbound

Operation

When triggered, the inbound web service action first runs the request message, if defined. This is managed by the handler class as defined for the web service action.
The goal of the request message depends on the HTTP action of the web service action. In general, the request message provides D365 FO with data from the external application.

If the HTTP action is:
  • Post, use the request message to provide the data to be created in D365 FO. 
  • Put, use the request message to provide the data to be updated in D365 FO.
  • Get, no request message is used. The data to be get is defined by arguments. So, if the HTTP action is Get, set up the relevant arguments.
  • Patch, use the request message to provide the data to be updated in D365 FO. Use this to only update a part of a record. For example, only update a contact person of a customer.
  • Delete, use the request message to provide the data to be deleted from D365 FO.
  • Post or put, use the request message to provide the data to be created or updated in D365 FO.
For a request message the:
  • Source connector must be of type Azure file storage or Web service
  • Source document must be an external file-based document.
  • Target connector must be of type D365 FO.
  • Target document must be an internal document.

Web service response message is run - Inbound

Operation

When in an inbound web service process, the requested data is received from D365 FO, the inbound web service action runs the response message, if defined. This is managed by the handler class as defined for the web service action.
The goal of the response message depends on the HTTP action of the web service action. In general, the response message sends the response from D365 FO to the inbound web service.

If the HTTP action is:
  • Post, Put, Delete, Patch, or Post or Put, you can use the response message to process the answer to the inbound web service. The RecIds that are defined in the request message, are the input for the response message.
  • Get, use the response message to process the requested data from D365 FO to the inbound web service. The arguments that are defined for the inbound web service action, define the input for the response message.
For a response message the:
  • Source connector must be of type D365 FO.
  • Source document must be an internal document.
  • Target connector must be of type Azure file storage or Web service.
  • Target document must be an external file-based document.

Provide feedback