Dynamics 365 for Finance and Operations Externally Maintained Fields Dynamics 365 for Finance and Operations August 14, 2018821 views0 Share By Navneeth Nagrajan Share In this article, we are going to understand what Externally Maintained Fields Dynamics 365 for Finance and Operations are and what are its considerations. Lets get started! External Maintained Fields in Dynamics 365 for Finance and Operations: When an integration is triggered between Dynamics 365 for Sales (D365 Sales) or Customer Service(D365 CE) and Dynamics 365 for Finance and Operations(D365 FO) through the Common Data Service (CDS) or directly, there is an identification mechanism through which the implementation team can determine whether the record is created manually in D365 FO or through CDS. This concept is called externally maintained fields in Dynamics 365 FO. Common Data Service (CDS) and PowerApps: Common Data Service (CDS) and PowerApps are two cloud services available, as a part of the Dynamics 365 Suite of products and services. Common Data Service (CDS): Common Data Service (CDS) is a service through which data is securely stored and managed as entity stores. In addition to this, CDS serves as the backbone to unify data and enables flexibility of data. PowerApps: PowerApps is an integrated environment on the cloud, which enables businesses to build applications, connect data across multiple systems through those applications and automate data flow and business processes across those systems. D365 Application Explorer Objects Used: The following are the list of fields that are triggered in Dynamics 365 FO. The tables that are used here include the following: DirPartyTable DirOrganization LogisticsLocation LogisticsPostalAddress LogisticsElectronicAddress The fields are classified as editable and non-editable after the customer details are created in D365 FO from D365 CE or D365 Sales. Purpose Table Fields Customer Details(non-editable) Customer Name DirPartyTable Name If Primary Contact Point is set to Fax DirPartyTable PrimaryContactFax If Primary Contact Point is set to Email DirPartyTable PrimaryContactEmail If Primary Contact Point is set to Phone DirPartyTable PrimaryContactPhone If Primary Contact Point is set to URL DirPartyTable PrimaryContactURL Number of Employees (if the Type is set to Organization) DirOrganization NumberOfEmployees Customer Name (if the Type is set to Organization) DirOrganization Name First name (If the customer is a Person) DirPerson PhoneticFirstName Middle Name (if the customer is a Person) DirPerson PhoneticMiddleName Last Name (if the customer is a Person) DirPerson PhoneticLastName Name (If the customer is a Person. The name is set to non-editable at the DirPerson level itself) DirPerson Name First name (If the customer is a Person) DirPersonName FirstName Middle Name (if the customer is a Person) DirPersonName MiddleName Last Name (if the customer is a Person) DirPersonName LastName Last Name Prefix (if the customer is a Person) DirPersonName LastNamePrefix Customer Address Details (non-editable) Description LogisticsLocation Description County LogisticsPostalAddress County Latitude LogisticsPostalAddress Latitude Longitude LogisticsPostalAddress Longitude TimeZone LogisticsPostalAddress TimeZone City LogisticsPostalAddress City Country LogisticsPostalAddress CountryRegionId Street Name LogisticsPostalAddress Street Postal Code LogisticsPostalAddress ZipCode State LogisticsPostalAddress State Table 1 – Non-editable fields The contact information fields are also considered as externally maintained fields, but these fields are editable. Purpose Table Field Customer Contact Information (editable fields) Type of Contact (Email,Phone number, Fax etc) LogisticsElectronicAddress Type Extension (if any in the Contact information section) LogisticsElectronicAddress LocatorExtension Description of the contact point LogisticsElectronicAddress Description If the contact type is the primary contact type LogisticsElectronicAddress IsPrimary Contact details of the person/organization LogisticsElectronicAddress Locator Country or region the contact belongs to LogisticsElectronicAddress CountryRegionCode Table 2 – Editable Fields X++ Classes Used: The X++ classes that are triggered on overriding method called active() in the CustTable Form datasource. The class triggered is DirPartyRoleIsExternallyMaintained. // Set field restrictions for the shared party fields and the additional customer specific fields registered through the shared call. DirPartyRoleIsExternallyMaintained::setRestrictionForExternallyMaintainedFields(CustTable.Party,element); Class Methods Used DirPartyRoleIsExternallyMaintained setRestrictionForExternallyMaintainedFields() DirPartyRoleIsExternallyMaintained getExternallyMaintainedFields() addDirPartyFields() Table 3 – Methods and Classes Used Call Stack: Fig 1 – Externally Maintained Fields Abbreviations in Fig 1 – Externally Maintained Fields: Fig 1 – Externally Maintained Fields highlights the sequence in which the externally maintained fields are populated in D365 FO. The fields that are populated are highlighted in Table 1 – Non-editable fields and Table 2 – Editable fields. Use() means there is an object of that class being instantiated and used. Call() depicts the call to a method that is defined in a class. References: Development In Dynamics 365 For Finance And Operations: https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/dev-tools/developer-home-page Data Integration Through Common Data Service (CDS): https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/data-entities/data-integration-cds Disclaimer: The Questions and Answers provided on https://www.gigxp.com are for general information purposes only. We make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services, or related graphics contained on the website for any purpose. Share What's your reaction? Excited 0 Happy 0 In Love 0 Not Sure 0 Silly 0 Navneeth NagrajanNavneeth Nagrajan is a Technology Specialist at Deloitte Australia focussing on design, development, integration, and implementation of the Microsoft Power Platform (primarily PowerBI, Common Data Service and Flow) and Dynamics 365 for Finance and Operations ERP. Other areas of focus include Azure DevOps, Github (related to Dynamics 365 for Finance and Operations deployments), and Dynamics Lifecycle Services. Profile: Twitter: http://www.twitter.com/nav21n LinkedIn: https://www.linkedin.com/in/navneeth-nagrajan-94a9aa5/ Twitter
PowerBI Premium Storage Settings – Dynamics 365 Finance and Supply Chain (F&O) Environment Setup By Navneeth NagrajanJanuary 13, 2020
Dynamics 365 for Finance and Operations F&SCM Customer Integration Through CDS (Common Data Service) for Apps By Navneeth NagrajanApril 11, 2019
Dynamics 365 for Finance and Operations Using Document Template Refresh Capabilities to fix Open Lines in Excel in Journals By Navneeth NagrajanFebruary 11, 2019
Dynamics 365 for Finance and Operations “Click to Copy Password” button in Microsoft Dynamics Lifecycle Services In this post, we will highlight a new feature that is launched in Microsoft Dynamics ...
Dynamics 365 for Finance and Operations Report with Security Roles, Users Assigned Duties, Privileges and the Required Tables Often in many Dynamics 365 for Finance and Operations implementation projects, there is a question ...
Dynamics 365 for Finance and Operations Dynamics 365 for Finance and Operations Managed Premium Disks Recently, there has been a change with regards to Dynamics 365 for Finance and Operations ...
Dynamics 365 for Finance and Operations Fix for Invoice Posting Locks in Dynamics 365 for Finance and Operations One of the common issues that we face in a User Acceptance Testing (UAT) session ...