Monday, January 25, 2021

Table Objects Properties - #albacktobasics.

Hi Readers,

As promised in last article, we will talk about Table Metadata.

We all understand that basics are important while working on solution for our customers.

In this article we will talk about Table Metadata.

A Table can have following properties. You can choose property that are required for your tables.
Must Set for All Tables - 
  • DataClassification
    • Specifies the classification to be applied on the data contained in the table.
    • Read More Here.
  • Caption
    • It will be used to be displayed to user in the client. 
    • You Should set Caption as Object Name Includes the Prefix / Suffix.
  • CaptionML
    • It will be used for multi country. 
    • Based on user current language for the user caption / Caption ML will be displayed.
    • Format - <Language ID>='<caption>'
    • You Can either use Caption or CaptionML.
  • CompressionType 
    • Specifies the compression type used. Based on this property data will be compressed.
    • Valid Option -  Unspecified,None,Row,Page.
  • DataCaptionFields
    • Sets the fields that appear to the left of the caption on pages that display the contents of this table.
  • LookupPageId 
    • Sets the ID of the page you want to use as a lookup.
  • DrillDownPageId
    • Sets the ID of the page to use as a drill-down in client.
  • PasteIsValid
    • Sets whether inserting records into this table using the paste command is enabled. 
    • If you want to disable Paste values in table then set it to false.
  • Permissions
    • Sets whether an object has additional permission required to perform some operations on one or more tables. The operations can be to read, insert, modify, and delete data.
    • Used in case of Indirect Permission required in the code. 
  • Description
    • The internal notes can be added in Description. Its not visible to users.
  • DataperCompany  
    • Sets a value that indicates whether the table data applies to all companies in the database or only the current company.
    • Default Value = True.
    • If DataperCompany set to False, then the table data is shared with all companies.
  • ReplicateData 
    • Specifies if the table should be replicated.
    • True - if the table data is replicated to the cloud service
Used during Extension Development (Specially AppSource)
  • Access
    • Based on this property You can control who can access table. 
    • You can keep it Public or Internal. 
    • Default Value - Public. 
    • If you set Access to Internal then other extension cannot access table.
  • Extensible
    • Sets whether the object can be extended.
    • Default Value = true.
    • If the value is false, the object cannot be extended using a tableextension.
  • Scope  
    • Sets the scope of a table. 
    • The options are Cloud, Extension, Internal, OnPrem, and Personalization.
    • The following options Extension, Internal, and Personalization are being deprecated.
    • External is replaced by Cloud and Internal is replaced by OnPrem.
  • ObsoleteState  
    • Marks whether the table, field, or key is or will become obsolete (deprecated).
  • ObsoleteReason 
    • Specifies why a table, field, or key has been marked as Pending or Obsolete in the Obsolete State property.
  • ObsoleteTag
    • Specifies a free-form text to support tracking of where and when the object was marked as obsolete, for example, branch, build, or date of obsoleting the object.
Special Case (Table Property)
  • TableType 
    • Specifies the table type.
    • Default Value = Normal.
    • CRM - Specifies the table as an integration table for integrating Dynamics 365 Business Central with Dynamics 365 for Sales.
    • ExternalSQL - Specifies the table as a table or view in SQL Server that is not in the Dynamics 365 Business Central database.
    • CDS - Specifies the table as an integration table for integrating Dynamics 365 Business Central with Common Data Service.
    • Temporary - Specifies the table as an in-memory table used to store temporary data.
    • Temporary tables are not synchronized with the SQL database, so they do not follow the same rules about making destructive changes.
    • Exchange - This is for internal use only.
    • MicrosoftGraph - This is for internal use only.
    • Tables that are marked as CDS or ExternalSQL are considered external tables that are not managed by Dynamics 365 Business Central. 
    • Microsoft advise against creating tables of type CDS manually. Instead, use the integration mapping functionality.
  • ExternalName 
    • The name of the table in the external database.
    • Specify this property if the original name is different from the name that you specify in the Name property. 
    • This property appears when you specify CDS or ExternalSQL in the TableType property. 
  • ExternalSchema 
    • Specifies the name of the database schema of the external database.
    • The property 'ExternalSchema' can only be set if the property 'TableType' is set with any of the values of :'CRM,ExternalSQL,CDS'
  • LinkedInTransaction 
    • Gets and sets data from linked server data sources, such as Microsoft Office Excel, Access, or another SQL Server.
    • The property 'LinkedInTransaction' can only be set if the property 'LinkedObject' is set to 'true'.
  • LinkedObject 
    • Specifies a link to SQL Server objects.
In the next article of #albacktobasics we will talk about other basic stuff. 

If you have any other basic stuff that you would like to discuss please let me know and I will try to write an article on this.

Let me know your views as comment to this article.

Regards,
Saurav Dhyani
#albacktobasics

No comments:

Post a Comment

Popular Posts