Business Central 2024 wave 1 (BC24): Add table and field mappings to existing integration tables (Dataverse)

Dynamics 365 Business Central

Hi, Readers.
The public preview for Dynamics 365 Business Central 2024 release wave 1 (BC24) is available. Learn more: Link.

I will continue to test and share some new features that I hope will be helpful.

Add table and field mappings to existing integration tables:

Business value:
Business needs change and so do business processes. Changes of business processes require data being exchanged through integrations with Business Central to be implemented in a fast and cost-effective way.

https://learn.microsoft.com/en-us/dynamics365/release-plan/2024wave1/smb/dynamics365-business-central/add-table-field-mappings-existing-integration-tables?wt.mc_id=DX-MVP-5004336

Business apps often use data from more than one source. Dataverse combines data into a single set of logic that makes it easier to connect Business Central to other Dynamics 365 applications. For example, Dynamics 365 Sales or your own application built on Dataverse. To learn more about Dataverse, go to What is Dataverse?

In BC23.5 and previous versions, we cannot add new integration tables other than the default tables. We need to go through complex customization. More details: Dynamics 365 Business Central: Customizing an Integration with Microsoft Dataverse (Integrate custom tables)

Or, wait for Microsoft to release a new integration list. For example, Business Central 2022 wave 1 (BC20) new features: Map to Dataverse option sets such as payment terms, freight terms, and shipping agents without code.

Finally, with this wave (BC24), we can add new table/field mappings👏🎉🎊. (There are still some limitations though)
New Table Mapping on the Integration Table Mappings page:

New Field Mapping on the Integration Field Mapping List page:

Let’s see more details.

For the Dataverse Connection Setup, I’ll briefly bring it up this time, check out the post below for more details if you need to.
Dynamics 365 Sales and Business Central integration setup (Set up a connection to Dataverse and Set up a connection to Dynamics 365 Sales)

Note:
These tasks require the System Administrator security role in Dataverse and Business Central.

Great.

With this wave (BC24), you can add new table mappings by choosing the Mapping -> New Table Mapping action on the Integration Table Mappings page.

PS: If the settings are not completed, Integration Table Mappings will be empty.

The action starts the New Integration Mappings assisted setup guide, which will help you set up new integration table and field mappings.

After you enter an Integration Table Mapping Name, choose Next to set up new table mapping details.

Here you can specify a Table in Business Central and an existing Integration Table in Dataverse that you want to map.

The lookup on the Table column shows all Business Central tables, including custom tables, that aren’t yet mapped. It excludes those that already exist on your Integration Table Mappings page.

The lookup on the Integration Table column shows only Dataverse tables (AL Proxy Tables) that are part of out-of-the-box integrations.

To add additional or custom Dataverse tables, you’ll need help from a developer to create and deploy them through an extension. More details: Using AL Table Proxy Generator tool to create an integration table in Business Central for the Dataverse table

Create a new table in Dataverse.

Run the command and open the folder where altpgen is located.

cd "C:\Users\yzhu\.vscode\extensions\ms-dynamics-smb.al-13.0.921843\bin\win32\altpgen"

Run the command, creating a new integration table

.\altpgen -project:"C:\Users\yzhu\Documents\AL\ALProject18" -packagecachepath:"C:\Users\yzhu\Documents\AL\ALProject18\.alpackages" -serviceuri:"https://org547faab1.crm.dynamics.com/" -entities:cr51e_newtable -baseid:50100 -tabletype:CDS

Update: Business Central 2024 wave 1 (BC24): Changes to AL Table Proxy Generator tool (altpgen) – Two additional arguments: ClientId and RedirectUri

You can also specify the Dataverse table’s unique identifier in Integration Table Unique Identifier Field Name and the Integration Table Modified on Field Name, which are needed for data synchronization to work.

The Advanced action opens additional table mapping settings that you can set up.

In the Advanced section, the Table Filter field lets you specify filters for Business Central.

Use the Integration Table Filter field for Dataverse data to consider in data synchronization together with the configuration template codes in Table Config. Template Code and Int. Tbl. Config. Code to prefill missing data when new data comes from either application.

Choose Next to specify the field you want the new mapping to contain.

In this step of the guide, you can match a Business Central field in the Field Name column with a Dataverse field name in the Integration Field Name column. 

You can also specify a Direction, whether the field always will contain the same value in the Constant column, and whether validations or transformations need to be applied during field mapping.

Note:
To reduce errors, the Integration Table Field column’s lookup filters to a list of available fields. You’ll need help from a developer to map fields that the filters don’t include:

  • Fields must be enabled.
  • You can’t use the guide to map Flowfield and FlowFilter fields.
  • You can only map fields of the type BigInteger, Boolean, Code, Date, DateFormula, DateTime, Decimal, Duration, GUID, Integer, Option, and Text.

Choosing Next will take you to the last step of the guide, which tells you what will happen based on your input.

Choose Finish to create your new integration table mapping with the field mappings you defined, and create a Synchronization Job Queue Entry to synchronize data.

That’s all, we can see that if it is an existing table, this does not require any customization to add a new Integration Table. But to add additional or custom Dataverse tables, you’ll still need help from a developer to create and deploy them through an extension. However, there is no need to add processing in codeunit CRM Setup Defaults (ID 5334). Very nice improvement.

Another great feature is, you can also add new field mappings to existing integration table mappings through the Integration Field Mappings List page, which you can access by choosing Fields on the Integration Table Mappings page.
For example, choose Mapping -> Fields on the Integration Table Mappings page.

Simply choose New Field Mapping to open the field mapping step of the New Integration Mapping assisted setup guide, and then proceed as described previously.

You can also choose custom fields.

Great. Give it a try!!!😁

END

Hope this will help.

Thanks for reading.

ZHU

コメント

Copied title and URL