86

BC-Tables of Table Type "CRM"/*CDS* Still Contain Option Fields


Business Central (BC) offers a standard connector to CRM. The core of this connector is the representation of Dataverse entities in BC as tables with "TableType = CRM". These tables contain the existing fields of the CRM entity with appropriate field types.


The main issue arises with how AL handles the development of CRM fields of type "Picklist". AL offers two approaches for this:


- Option: 

- Enum: 


While Enums have replaced Options in many cases in AL due to various reasons, Option fields are still prevalent for Picklist fields, particularly in the CRM tables of BC. This includes tables such as:


- CRM Contact

- CRM Account

- CRM Salesorder, and many others


One main characteristic of Option fields contribute to an unnecessarily high effort in developing customizations for customers regarding the CRM Connector of BC:


Non-extendability: Options cannot be extended. If a customer customizes Picklist values in CRM (e.g., adding or replacing option values), it's not possible to add these values to existing Option fields in BC. This necessitates the creation of new fields in the customer app, including extensions of the basic logic (e.g., table mappings) of the CRM connector in BC.


Therefore, the idea/request would be to either delete the fields of type “Option” in BC tables of “TableType=CRM” in the base app (or at least mark them as obsolete) and exlcude them in the standard connector logic if they are not needed for core functionality.


This would enable developers to create their own Enum fields when synchronization purposes are required without having to replace existing logic of the base app.


Alternatively, the Option fields in the base app could be replaced directly with Enum Fields, as has been done in some cases already. This is particularly crucial in Tables of TableType=CRM, as it's highly likely that customers will add values to Picklist fields in CRM.

Category: Development
STATUS DETAILS
New