Questions List
Browse all explanatory questions of this chapter.
1
Walk through building an Extensible Data Security (XDS) policy end-to-end. What are the components (primary/constrained tables, policy query, context), how do you set a context in X++, and what performance considerations apply?
2
Extensions are mandatory, but not everything is extensible. What are your options when a standard method is private/final, a class is sealed, or an element (like a report) cannot be extended? How do you handle these edge cases the upgrade-safe way?
3
What is dual-write in Dynamics 365 Finance & Operations? How does it differ from virtual entities, what are table maps and initial sync, and how is error handling managed when a sync fails?
4
What is the SysTest framework in Dynamics 365 Finance & Operations? Explain how you write a unit test class, the role of test attributes and assertions, and how tests are isolated from the database.
5
How do you debug X++ code in Dynamics 365 Finance & Operations? Explain breakpoints (including conditional), how to attach the debugger, the role of the Infolog and Debug::assert, and best practices for diagnosing hard-to-reproduce issues.
6
Describe the Application Lifecycle Management (ALM) process in Dynamics 365 Finance & Operations. What is the role of LCS, the build pipeline, a deployable package, and how does code flow through the DEV → BUILD → UAT → PROD environments?
7
What are financial dimensions in Dynamics 365 Finance & Operations? Explain the difference between a default dimension and a ledger dimension, the key tables involved (DimensionAttributeValueSet, DimensionAttributeValueCombination), and how you work with them in X++.
8
What is the Workflow framework in Dynamics 365 Finance & Operations? Explain its main elements (approvals, tasks, conditional decisions), the developer artifacts needed to build a workflow, and how the document status is tracked.
9
What are the main integration options in Dynamics 365 Finance & Operations? Compare OData, custom services, Business Events, recurring integrations and dual-write, and explain when to use each.
10
What is the Data Management Framework (DMF) in Dynamics 365 Finance & Operations? Explain the role of data projects, staging tables, the difference between import/export jobs, and what a composite entity is.
11
Why is code review an essential part of every Dynamics 365 Finance & Operations project? What is a shelveset, how does the Visual Studio code-review flow work, and what should a reviewer actually check?
12
Explain development layers, models and packages in Dynamics 365 Finance & Operations. Which layer should new customizations be developed in, what is the relationship between a model and a package, and why should you specify minimum package references?
13
How do transactions work in Dynamics 365 Finance & Operations? Explain the ttsbegin / ttscommit model, the default rollback behaviour, why TTS blocks must be balanced, and when you would deliberately break the transaction scope (e.g. header-level commits).
14
How would you diagnose a performance problem in Dynamics 365 Finance & Operations? Explain the role of Trace Parser and SQL Activity Monitor, and the key performance points a developer must always keep in mind (nested loops, set-based operations, indexing).
15
What are the prerequisites for anyone contributing to the planning, specification, implementation, testing and deployment of Dynamics 365 Finance & Operations customizations? What technical skills, frameworks and certifications should a developer have?
16
What is Feature Management in Dynamics 365 Finance & Operations, how does it differ from a Configuration Key, and why does the development guideline advise partners not to rely on Feature Management for enabling/disabling customizations?
17
What Visual Studio settings should a Dynamics 365 Finance & Operations developer configure, and what is the correct resource update procedure for getting the latest code before starting development?
18
What are form patterns in Dynamics 365 Finance & Operations, and why must they be applied to all screens? What is the guideline for using non-custom (standard) patterns, and how do patterns help ensure a consistent UI?
19
How should solutions and projects be organised in Dynamics 365 Finance & Operations development? What is the guiding principle for structuring them, when can a single solution hold multiple projects, and why must they be under source control?
20
What is the Customization Analysis Report (CAR) in Dynamics 365 Finance & Operations? Why is it required for solution certification, how often should developers run it, and how do you generate it using xppbp.exe?
21
What are the rules for method variables in X++? Cover casing, the use of underscores, where variables should be declared, and why all development must be in English.
22
What are the layout and indentation rules for writing X++ in Dynamics 365 Finance & Operations? Cover indentation settings, one statement per line, parameter formatting, spacing around keywords, and the use of curly braces.
23
What are the code commenting rules in Dynamics 365 Finance & Operations? Explain the two purposes of comments, the XML documentation header format, when an inline comment is required, and why historical comments should not be used.
24
What is Design Acceptance in Dynamics 365 Finance & Operations, and why must the functional design be "accepted" by the development team before any development starts? What checkpoints should this acceptance include?
25
In Dynamics 365 Finance & Operations, when should you reuse the standard find method to read a record, and when is a join the better choice? Why is selecting records individually inside a loop discouraged?
26
How do you develop an SSRS report in Dynamics 365 Finance & Operations? Explain the Report Data Provider (RDP) pattern and its components, and describe how to customize a standard report that is not extensible.
27
What are the key naming conventions in Dynamics 365 Finance & Operations? Explain the customization prefix, the project-per-function rule, how new objects and their child components are named, the extension naming pattern, and the temporary table suffix.
28
What are the best practices for sorting result sets in X++? When should you sort, why is order by preferred over index / index hint, and what field types should you avoid sorting on?
29
How should GitHub Copilot be used in Dynamics 365 Finance & Operations development? Explain the core usage principles, how Copilot helps in development, testing and code review, and the risks and controls that must be in place.
30
Why does a project define a changeset naming convention in Dynamics 365 Finance & Operations, and what does a standard changeset name look like? Explain each parameter and the usage guidelines for check-ins.
31
What is meant by coding hygiene and client-server tier awareness in Dynamics 365 Finance & Operations? Where should CRUD operations run, what should you avoid in display / validate / modified methods, and what are the key hygiene rules for high-performance code?
32
What are the key table and field property best practices when creating a new table in Dynamics 365 Finance & Operations? Explain TableGroup, title fields, important field properties (AllowEdit, AllowEditOnCreate, Mandatory, Visible), and index best practices.
33
What is the difference between insert/update/delete and their doInsert/doUpdate/doDelete counterparts in Dynamics 365 Finance & Operations? When would you use them, and what do skipDataMethods and skipDatabaseLog do?
34
What are the key best practices for writing select statements in X++? Cover the use of field lists, firstOnly, group by, exists join, and why you must avoid method calls in the where clause and nested selects in loops.
35
What are Best-Practice (BP) checks in Dynamics 365 Finance & Operations? How do you enable them, why must errors and warnings be resolved before Go-Live, and what is the correct use of BPSuppressions?
36
How does exception handling work inside a transaction (ttsbegin…ttscommit) in Dynamics 365 Finance & Operations? Explain the throw / try / catch / finally flow, why you should not call ttsAbort, and how to catch a generic exception.
37
What are the RecordInsertList and RecordSortedList classes in Dynamics 365 Finance & Operations? How do they improve performance, and how do they differ from each other and from a set-based insert_recordset?
38
In X++, what is the difference between using a macro and the const keyword to define fixed values? Why are constants (and readonly members) recommended over macros, and when is each appropriate?
39
In X++, what is the difference between using a macro and the const keyword to define fixed values? Why are constants (and readonly members) recommended over macros, and when is each appropriate?
40
What does the using statement do in X++, how does it relate to the System.IDisposable interface, and why is it preferred over manually calling Dispose() in a try…finally block?
41
What is an extension class in Dynamics 365 Finance & Operations, and how does the _Extension pattern let you add methods to a standard table or class without over-layering? What are the rules for writing extension methods?
42
What is a label and a label file in Dynamics 365 Finance & Operations? Why must all UI text use labels, how is a label referenced in X++, and what naming conventions and best practices should you follow?
43
What are display and edit methods in Dynamics 365 Finance & Operations? How do they differ, why must you avoid CRUD operations inside them, and how do you cache a display method on a grid for performance?
44
What is the difference between a computed column and a virtual field on a view in Dynamics 365 Finance & Operations? How do you create a computed column using the SysComputedColumn class, and why is this better for performance than calculating in X++?
45
Explain the role-based security model in Dynamics 365 Finance & Operations. What are roles, duties, privileges and permissions, how do they relate, and what is the purpose of Extensible Data Security (XDS)?
46
What are table relations in Dynamics 365 Finance & Operations, and what is the purpose of a DeleteAction? Explain the four delete action types — None, Cascade, Restricted, Cascade+Restricted — and where the relation should be defined.
47
What is the CacheLookup property on a table in Dynamics 365 Finance & Operations? Explain the different caching modes (None, Found, FoundAndEmpty, NotInTTS, EntireTable), how they relate to table groups, and the conditions a query must meet for a cache to be used.
48
What is a Number Sequence in Dynamics 365 Finance & Operations? Explain how one is set up, the difference between continuous and non-continuous sequences, and how you consume a number sequence in X++ using the NumberSeq class.
49
What is the Query framework in Dynamics 365 Finance & Operations? Explain the roles of Query, QueryBuildDataSource, QueryBuildRange and QueryRun, and when you would use a dynamic query instead of a plain while select loop.
50