MB-500: Microsoft Dynamics 365: Finance and Operations Apps Developer Flashcards
What is a… “Subscription”
A subscription to Finance and Operations apps gives you an online cloud environment.
What is a “Licenses”
Customers must purchase subscription licenses (SLs) for their organization or for their affiliates’ employees and on-site agents, vendors, or contractors who directly or indirectly access Finance and Operations apps. Finance and Operations apps are licensed through Volume Licensing and the Cloud Solution Provider (CSP) program. See Microsoft Dynamics 365 Licensing guide for more information.
What is… “Azure Active Directory (Azure AD)”
Azure AD is the multi-tenant, cloud-based directory and identity management service from Microsoft that combines core directory services, application access management, and identity protection in a single solution. Finance and Operations uses Azure AD as the store for identity. Access to Azure AD is provided as part of a subscription to Finance and Operations apps.
What is a… “Tenant”
In Azure AD, a tenant represents an organization. This is a dedicated instance of the Azure AD service that an organization receives and owns when it creates a relationship with Microsoft (for example, by signing up for a Microsoft cloud service such as Azure, Intune, or Microsoft 365). Every Azure AD tenant is distinct and separate from other Azure AD tenants.
What is….”Microsoft 365 Admin help center”
A subscription management portal that Microsoft 365 provides for administrators. It’s used to provide management functions through Azure AD as well as subscriptions. As part of these management functions, it provides information about service health.
What is… Lifecycle Services (LCS)
LCS is a collaboration portal that provides an environment and a set of regularly updated services that can help you manage the application lifecycle of your Finance and Operations implementations.
What is…. Azure DevOps
Code version control and to deploy a build environment. Track support incidents, such as work items in Azure DevOps that are submitted to Microsoft through cloud-powered support, and to integrate the Business Process Modeler (BPM) library hierarchy into your Azure DevOps project as a hierarchy of work items. Azure DevOps is also used during code upgrades.
What is a… deployable package
Consist of several models that contain the metadata, binaries, reports, and other resources. Used for deployment of code and customizations to the sandbox, test, and production environments for the application.
What is an IDE
Visual Studio is the integrative development environment (IDE) that is used to develop for Dynamics 365.
What steps should be taken when several developers are on one project?
Perform a Get Latest process to merge all new code that has been checked in by the other developers, then perform a local build to ensure that your code will not disturb what is in the Azure DevOps repository.
How to deploy a package to “Production”
- Create a deployable package in Visual Studio
- To deploy to production, customers can schedule a downtime that will determine when an update will be applied to the production environment by Microsoft. To schedule downtime to apply updates to the environment, the package must have been applied to at least one sandbox environment in the same project. You can submit a service request for this in LCS.
what is… Navigation search shortcut?
A+G
Any page that is accessed by using the Navigation pane menu (the left-most pane) is also available from the Search field. You can press Alt + G to move focus to the Search field, and then type the name of the Finance and Operations apps page. The Search field spans the top of the application user interface.
What is…. Action search shortcut
A+Q
While every action that is provided on a page can be manually accessed from the keyboard, pages often have a lot of actions. The Action search functionality allows you to quickly and efficiently perform actions that you know the names of and with just a few keystrokes. You can press Alt + Q to move focus to the Search field, and then start typing the name of the action. Usually after a few letters, the action you are looking for will be high in the results list.
What are…. Workspaces?
Enable users to be more productive in their daily tasks by providing a single page that they can work from to perform the operations they do daily. Several workspaces come out of the box with Finance and Operations apps. Workspaces can also be created and modified in the user interface with no development.
What are…. User personalization
Users can personalize pages in Finance and Operations apps. Many types of personalization exist, including user options, where you can select a color theme and time zone. Personalization can also be used to change the way the user interface is displayed. For example, a user can specify how pages display when they are first opened. Personalization can also modify the appearance of a page. For example, you can hide, move, and rearrange columns on a grid. Note that user personalization is for that specific user, regardless of the type of personalization.
What is the… Task recorder
In Finance and Operations apps, the Task recorder focuses on high-responsiveness, a flexible extensibility application programming interface, and seamless integrations with consumers of business process recordings. The Task recorder has integrations with the LCS Business process modeler (BPM) tool, which enables you to create business process diagrams from task recordings for analyzing and designing applications. You can use task recordings to create guided experiences through a business process, generate training documents that feature screenshots of the user interface at each step, and build tests that validate your code.
What is the… Office integrations used for?
Several Office integrations that are offered in Finance and Operations apps help increase productivity. Office interactions include the Excel Data Connector add-in. This add-in allows you to export data from Finance and Operations apps to a Microsoft Excel workbook, including adding, modifying, and deleting records. The add-in also has a Workbook Designer that enables you to design an editable custom export workbook that contains an entity and set of fields. Other office integrations include document management to save records to the Azure Blob Storage.
What is the Power Platform
Power Apps
Power BI
Power Automate
What is in the D365HR
Compensation
Benefits
Leave and absence
Compliance
Payroll
Performance feedback
Training and certification
Self-service programs
What are the Components and architecture of Finance and Operations apps
Application suite - This is the largest out-of-the-box model. This model includes much of the metadata in the main navigational areas of the application, including modules such as Accounts receivable, Accounts payable, and Warehouse management.
Application foundation - This includes metadata that comprises organizational modeling, number sequences in the system, global address book, and source documentation.
Application platform - This contains runtime and data access metadata, workflow and services, the Dynamics 365 client and presentation, and SSRS reporting.
Describe developer environment at a high level
At a high level, it’s important to understand that you will use Visual Studio to develop for Finance and Operations apps, manage code on your team with source control by using Azure DevOps, perform builds and testing, and create deployable packages.
How to schedule production deployment
Customers can schedule a downtime that will determine when an update will be applied to the production environment by Microsoft.
The package must have been applied to at least one sandbox environment in the same project. You can submit a service request for this in LCS.
What are the reporting capabilities
SSRS reporting
Power BI
Which of the following does a deployable package not contain?
Source code
Metadata
Binaries
Application models
Source code: Deployable packages do not include source code. They include metadata, binaries, and models
What types of reporting are available for Finance and Operations apps?
SQL Server Reporting Services
Power BI
Financial Reports
All the above
All the above: All answers are correct. Finance and Operations apps reporting includes SSRS reporting, Power BI reports, and Financial Reports by using the Financial Report Designer.
Which one of the following application models includes most of the elements that are found in the Finance and Operations apps modules?
Application Core
Application Foundation
Application Suite
Application Platform
Application Suite: Most of the elements that make up the Finance and Operations apps modules are found in the Application Suite.
Keywords used in Metadata search
Name
Filter by element name. This is also the default filter if no keyword is specified. A comma can be used to search for multiple element names.
Type - Filter by element type. A comma can be used after an element to specify sub elements.
Model
Filter by model name. Each comma-separated value will look for a model in your application.
Property
Filters properties on forms. Each comma-separated value should be a property on the form.
Code
Filter code snippets. The code snippet should be in quotes.
Metadata search example
code:”Custtable.insert” type:form,method
What are the Global best practices to consider
Comments should be used in code so that others understand the purpose and approach of the code. This is the best way for developers to communicate, and often multiple developers are modifying and maintaining code at the same time.
When creating new elements, you should use a naming standard with your organization.
Each element should have a label added in the Properties window to provide text for that element in the user interface.
What type of cloud hosted environments are available
Demo
Developer
Test
Which of the following actions isn’t a best practice to consider when coding?
A. Comment code to communicate with other developers
B. Use a naming standard for an organization
C. Limit code comments to shorten text strings
D. Each element should have a label assigned in the Properties window
C. Limit code comments to shorten text strings
You notice some performance issues where certain tasks are taking longer than they should. While investigating the performance issue, you find that there is a While select statement on a form that can be optimized. You suspect there might be other While select statements on forms that could be optimized as well. How can you use the metadata search to find the forms with While select statements?
A. code:”while”
B. code:”while” type:form,method
C. type:form,method while
D. name:while
B. code:”while” type:form,method
When deploying a cloud-based solution of Finance and Operations apps, which source control process is available?
A. Azure DevOps Services
B. Azure DevOps Server
C. Visual Studio Team Foundation Server
A. Azure DevOps Services
What is a guiding principle in creating a branching structure for your implementation?
Make it complicated
Always keep it the same
Keep it simple
Keep it simple: Keep the branching structure simple without over complicating it, making sure your strategy is easy to navigate and will produce the correct code flow for your implementation.
Which of the following features is used with the Regression Suite Automation (RSAT) Tool?
Task recorder
Data migration framework
Software deployable packages
Task recorder: You can use Task recorder, that records to the Business process modeler (BPM), to create user acceptance test libraries.
Which one of the following is not a relevant business concept to consider before and during an implementation of Finance and Operations apps?
Number of users
Number of transactions per month
Seasonality
Printing checks
Printing checks: Printing checks is a detail of the implementation, but it is not a business concept to be considered that would change anything large about an implementation.
What is LCS
Lifecycle Services helps you host Finance and Operations apps environments. It provides repeatable processes to support consistent success with each delivery. Lifecycle Services is available to customers and partners as part of their support plans.
Which of the following processes cannot be performed from Lifecycle Services?
Deploy a new environment
Update the code on an existing environment
Restore an image of an environment.
Upgrade an environment to a new platform version.
Restore an image of an environment: You cannot restore an image of an environment in Lifecycle Services
Which feature of Lifecycle Services can be used to export a backup of a database to the Asset library for environments that are Tier 2 or above?
Move database
Apply updates
Reporting server
Environment changes
Move database
In a Tier 2 environment or above, under the Maintain menu there is the option to Move database, which can allow you to export the backup to the asset library.
To manage the Asset libraries, there are different file types that serve various functions. Which file is for prepackaged extensions that can be used to install on an environment?
Database backup
Software deployable package
BPM artifact
Model
Model
A model is the prepackaged extension that allows you to be able to install to an environment as you manage your asset libraries.
Common LCS asset library category files
The asset library is divided into many categories that contain different kinds of files. Some of the types of files that you are most likely to use include:
BPM artifact - Documents pertaining to the Business process model (BPM).
Database backup - Files that you can use to restore an SQL or Azure SQL database.
Model - Prepackaged extensions that you can install on an environment.
Software deployable package - Packages that you built from Azure DevOps of code that was developed in Visual Studio.
Provision and manage environments
When you select the name, application version, platform version, and purpose of the environment that you want to deploy, what key settings should you consider changing?
You should consider changing…
VM type - Depends upon your client’s needs.
Machine name - Makes your RDP window headers more human-readable than a GUID.
Data - If you don’t want demo data, make sure that None is selected.
Manage the code upgrade process:
When upgrading application versions of Finance and Operations apps, your existing code might not always work as intended in the new application.
What best practices will help you navigate the code upgrade process:
- Have a code branch for developing any changes that are needed to help keep the old application compatible with the new application version. Promote from this branch into a test branch to confirm that the changes work before you promote into your main development branch.
- Redeploy cloud-hosted environments on the new version rather than updating.
- Refer to Microsoft documentation for compatibility information to determine whether to apply the code or the application update first to a Tier 2 environment.
- Remember, when making code changes, do not use the .Extension file extension so that you can avoid future compatibility issues.
What can be monitored using SQL insights
- Performance Metrics - Shows you the most expensive queries that were run in the system during a selected period based on duration in milliseconds, logical input/output, execution count, CPU time in milliseconds, and wait time. The data collection is pulled once daily and is stored for 30 days. On the Statement tab within Performance Metrics, you can view the query and download the query run plan.
- Index Analysis - Shows aggregated table and index information from user scans, seeks, updates, and row count. You can view the trend for your selected index and additional table metrics.
- Live View - Shows you the current DTU and running and blocking statements.
- Queries - Shows a list of predefined queries that are used to retrieve metrics on an on-demand basis. Most queries are run synchronously to ensure that the results are returned instantaneously. If you’re having performance issues, the query runs could cause a time-out error. If this happens, select the option to turn off Use Fast Query and rerun the query.
- Actions - Shows a list of predefined actions that you should use to mitigate issues in sandbox and production environments. These actions include adding or dropping an index, updating statistics on a table, rebuilding indices, terminating a blocking statement, and others. You can view environment history based on the action that was performed.
What is the performance tool that can consume traces and analyze performance?
Performance SDK
Health monitor
SQL Insights
Trace parser
Trace parser is a performance tool that consumes traces and analyzes environment performance.
You need to see an individual user’s activity on a specific environment. How would you accomplish this task?
Check the activity monitor in LCS.
Use Visual Studio to run diagnostics.
Check the Full details page for an environment in LCS.
View the System administration module in Finance and Operations apps.
Check the activity monitor in LCS.
To see an individual user’s activity for a specific environment, check the activity monitor in LCS.
Is it true that some diagnostics from Health metrics in LCS are sent directly to the Microsoft Service Engineering team?
Yes
No
Yes
Some diagnostics are sent directly to Microsoft from the Health metrics interface in LCS to be reviewed by the engineering team
Working in Visual Studio:
How to perform a check-in process?
To perform the check-in process, follow these steps:
1. Select Pending Changes from the Team Explorer window.
2. Enter a check-in comment.
3. Select Check In.
Working in Visual Studio:
To to resolve a conflict?
The Resolve Conflicts window gives you the following options for each file:
• Take Source - Use the file that you pulled from source control, erasing all your local changes.
• Keep Local - Keep your local file, losing any changes that are present in source control.
• Merge using Merge Tool - View both versions of the file side by side, choosing to keep or discard each change in either version, one at a time
You are setting up Visual Studio to connect to Azure DevOps on a machine that hosts a Finance and Operations apps environment. Which of the following should you do?
- Set the permissions of the workspace to Public Workspace (limited). - Map the folder for the branch in source control to the local Visual Studio documents Projects folder. - Map the Metadata folder for the branch in source control to the Packages Local Directory folder of the AOS drive. - Set the location of the workspace to Server.
Map the Metadata folder for the branch in source control to the Packages Local Directory folder of the AOS drive.
Mapping Metadata to the Packages Local Directory folder lets the locally hosted Finance and Operations apps environment run code that is built locally in Visual Studio.
Suppose you have just used Get Latest Version to bring updated files from source control into Visual Studio, and you suspect that local changes you wanted to keep were removed during an auto-merge. Which of the following can you do to troubleshoot the issue?
Roll back the changesets that you pulled from source control.
Go to Pending Changes in Team Explorer for a list of differences between your workspace and source control.
Use the Undo button to restore the changes that you wanted to keep.
Check the Output window in Visual Studio for logs of which files were auto-merged.
Check the Output window in Visual Studio for logs of which files were auto-merged.
The Output window logs which files are affected by auto-merging, so you can use it to help determine if an auto-merge overwrote your local changes.
Which of the following source control features is not accessible from Visual Studio?
Checking in your pending changes.
Submitting and responding to code review requests.
Rolling back changesets from source control.
Creating a new Azure DevOps project.
Creating a new Azure DevOps project.
You can connect to a new project from Visual Studio, but you must go to Azure DevOps to create one.
Acceptance test library
Describe the classes and methods in acceptance testing…
• Navigation - Discover entities and test data methods.
• Test data methods - These methods are used to set up test data.
• Entities - Represent data and associated behavior that is perceived as a single unit.
• Creators - Let you create specific test data.
• Commands - Run business operations.
• Queries - Find entities.
• Specifications - Describe expected entities at the end of the test.
Task recorder
What are the different ways to download a task recording
• Task recording package - This can be used to play a task guide, maintain the recording, or edit the recording’s annotation.
• Raw recording file - This is used for developer scenarios, such as test code generation.
• BPM file - This creates a Word document with the recorded steps, as well as any screenshots that were captured.
• Save the recording to the LCS library - If the LCS library is set as a Help library, you will be able to find the task guide by searching the Help menu.
Best Practices tool:
Describe how to run the best practice guide from the command prompt window.
Run best practice on all forms in a module - xppbp -module:FleetManagement form:*
Run best practice on specific elements - xppbp -module:FleetManagement class:MyClass form:MyForm
Run best practice on all items in the model (and only for this one model in the module) - xppbp -module:FleetManagement -model:FleetManagement -all
Run best practice on all items in all models in the module - xppbp -module:FleetManagement -all
Write the best practice output to log files - xppbp -module:FleetManagement -all -xmllog=Log.xml -log=Log.txt
Identify various categories and types of errors
You can throw several error exceptions:
• Break - The user pressed Break or Ctrl + C.
• CLRError - The error occurred while the CLR functionality was being used.
• CodeAccessSecurity - An error occurred while the CodeAccessPermission.demand method was being used.
• DDEerror - An error occurred while the DDE system class was being used.
• Deadlock - A database deadlock occurred because several transactions are waiting for each other.
• DuplicateKeyException - An error occurred in a transaction that is using Optimistic Concurrency Control. The transaction can be retried.
• DuplicateKeyExceptionNotRecovered - An error occurred in a transaction that is using Optimistic Concurrency Control. The code won’t be retried, and this exception cannot be caught in a transaction.
• Error - A fatal error occurred. The transaction has been stopped.
• Internal - An internal error occurred in the development system.
• Numeric - An error occurred when the str2int, str2int64, or str2num function was used.
• UpdateConflict - An error occurred in a transaction during an update.
• UpdateConflictNotRecovered - An error occurred in a transaction during an update. This exception cannot be retried.
• TransientSQLConnectionError - An error occurred during the query run. The transaction will be canceled. This exception will not be caught within a transaction.