HOTSPOT
-
You have a column in a report.
You receive the following warning from CodeCop:
“Field ‘Home Page’ is marked for removal. Reason: Field length will be increased to 255.. AL(AL0432)"
You have the following code:
1 column(CompanyHomePage; CompanyInformation."Home Page")
2 {
3 }
For each of the following statements, select Yes if the statement is true, Otherwise, select No.
NOTE: Each correct selection is worth one point.
Show Answer
Correct Answer: No
Yes
No
No
Explanation: AL0432 is a temporary warning for an upcoming breaking change (field length increase). The recommended approach is to suppress the specific warning locally with pragma if appropriate, not create duplicate fields, not disable the rule globally, and not remove the column.
Question 12
You plan to call a web service by using the data type HttpClient from a Business Central AL extension.
You must provide the following implementation for the web service call:
• The web service must authenticate the client with a certificate.
• The certificate must include a password.
• The password must be hidden when you debug the code.
You need to include the certificate in the web service call.
Which instruction should you use?
A. HttpClient.AddCertificate(Certificate: SecretText, Password: SecretText);
B. HttpClient.AddCertificate(Certificate: Blob, Password: SecretText);
C. HttpClient.AddCertificate(Password: SecretText);
D. HttpClient.AddCertificate(Certificate: Text, Password: Text);
Show Answer
Correct Answer: B
Explanation: To include a client certificate while keeping the certificate password hidden during debugging, use the overload that accepts the certificate as a Blob and the password as SecretText. SecretText is specifically designed to prevent sensitive values from being exposed in the debugger or logs, while the Blob contains the certificate content.
Question 13
HOTSPOT
-
Case study
-
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study
-
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Background
-
Contoso, Ltd. is a sales company in the manufacturing industry. It has subsidiaries in multiple countries/regions, each with its own localization. The subsidiaries must be data-independent from each other. Contoso. Ltd. uses an external business partner to manage the subcontracting of some manufacturing items. Contoso, Ltd. has different sectors with data security between sectors required.
Current environment
-
Contoso, Ltd. uses Business Central online as the main ERP for financials, sales, purchase, warehouse, and manufacturing processes. It has employees that use the Business Central web application and external applications. The company has a custom external mobile app under development.
The IT department and its partners installed custom extensions to satisfy the company's requirements where the functionality is not available natively.
Contoso, Ltd. interacts with external services provided by customers and partners. Different applications interact with SOAP and OData endpoints exposed from Business Central.
An external business partner of Contoso, Ltd. exposed a REST API for receiving details about new subcontracting orders and for sending the planned release date of each subcontracting order received.
Contoso, Ltd. has not activated the monitoring of the tenant and has no internal telemetry for its apps.
Custom reporting must be created to meet the requirements of the different departments.
Tenant management
-
Contoso, Ltd. has the following tenant management considerations:
IT department
-
• The IT department requires the ability to monitor the tenant to prevent performance problems and detect possible anomalies.
• The IT department plans to use Azure Application Insights and Log Analytics to inspect the ingested telemetry signals.
• All tenant upgrades are automatically handled by Microsoft. The IT department does not check for update availability or for tenant-related notifications.
• The IT department has not configured the receipt of tenant-related notifications from the Business Central admin center.
External business partner
-
• The external business partner must add custom telemetry to an application created for Contoso, Ltd. to monitor a business process.
• Custom telemetry signals for the application must be visible only on the partner's telemetry.
SOAP
-
• Contoso, Ltd. plans to dismiss using the SOAP protocol for integrations.
• Contoso, Ltd. must be able to detect if external applications are using its Business Central SOAP endpoints.
Issue
-
The Business Central tenant is upgraded by Microsoft to a new major version during the night.
Users report that one of the Contoso, Ltd. extensions disappeared from the tenant. The IT department confirms that the extension is still published.
Custom mobile application requirements
Contoso, Ltd. plans to create a custom mobile application that has the following requirements:
• The app must be used by employees to check item details from the ERP in real time and to report issues that occur during the manufacturing process.
• An AL extension must be created for handling archived issues.
• Business Central development guidelines must be followed when implementing modules.
• A module must be implemented for the reporting and tracking of issues information. You plan to call this module Issue Management. The module must expose a method named PostIssue.
• Code modifications will be required over time.
• The Issue Management process must be split into two extensions:
o ISSUE BASE: main extension
o ISSUE EXT: second extension with dependency from ISSUE BASE
• In the version 1.0.0.0 of the ISSUE BASE extension, you plan to create an Issue table that contains a global Decimal variable named IssueTotal.
• In the version 1.0.0.0 of the ISSUE BASE extension, you plan to define a table named Issue Category with a Description field defined as follows:
• The Issue table defined in ISSUE BASE extension contains a Clone procedure defined as follows:
• In the ISSUE EXT extension, you create a tableextension object of the Issue table.
• The tableextension object of the Issue table must access the IssueTotal: Decimal variable.
After weeks of usage, you discover that you must remove the Description field and the Clone procedure because they are no longer required.
In a new version of the ISSUE BASE extension, you create a new Issue Type table. You must move data row by row from a previously obsolete Issue Category table to the new Issue Type table. Because a large amount of data must be moved, you must write an Upgrade codeunit by using the DataTransfer object.
The IT department creates a custom API for exposing the custom Issue table. The API provides an action for copying an issue to a new table. The action is defined as follows:
Contoso, Ltd. must create an API in Business Central to expose item details to the mobile application.
• The API must have the lowest possible impact on the production environment when used during working hours.
• The API must only support Get operations.
Debugging problems
-
A user of the ISSUE BASE extension in Business Central reports a problem.
To debug the problem, snapshot debugging with the following configuration was activated:
You discover that the debugging is not triggering.
Integration with business partner for subcontracting
Contoso, Ltd. must connect Business Central to the external API provided by the business partner. This will be used for the partner to send the details of new subcontracting orders to fulfill the sales demand, and for receiving the planned release date of each order sent. The integration requirements are as follows:
• The business partner will provide a REST API secured with basic authentication. Credentials to access the API will be shared with Contoso, Ltd.
• The API for sending subcontracting orders must be called by sending an authenticated POST request to the given endpoint.
• The API for retrieving the order no. and planned release date of each subcontracting order responds with the following JSON:
Each order no. must be retrieved.
You need to write an Upgrade codeunit and use the DataTransfer object to handle the data upgrade.
Which solution should you use for each requirement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation: Data upgrades that move application data are executed per company in the upgrade trigger. When moving a large number of records from one table to another with DataTransfer, CopyRows efficiently copies the rows between the configured source and destination tables.
Question 14
You are creating a test codeunit for a company that uses Business Central.
The company requires the following list of choices while posting a sales order:
• Ship
• Invoice
• Ship & Invoice
You must create a test codeunit that automatically selects one of these options.
You need to create the test codeunit.
Which handler should you use?
A. SendNotificationHandler
B. SessionSettingsHandler
C. StrMenuHandler
D. RecallNotificationHandler
Show Answer
Correct Answer: C
Explanation: Use the StrMenuHandler in a Business Central test codeunit to handle and automatically respond to STRMENU dialog selections, such as choosing between 'Ship', 'Invoice', or 'Ship & Invoice' during posting. The other handlers are for notifications or session settings, not menu selection dialogs.
Question 15
HOTSPOT
-
A developer creates a profile for part-time shop supervisors and adds customizations.
You plan to add new requirements to the profile.
You need to analyze the code to understand the profile and make sure there are no errors.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Show Answer
Correct Answer: No
Yes
No
No
Explanation: Profiles are assigned to users and are not automatically filtered by a User Setup boolean. Page customization objects cannot contain variables, procedures, or triggers. The syntax `customizes` is correct for a pagecustomization object, not `extends`. `moveafter("Unit Cost"; "Costing Method")` moves the second control (Costing Method) after the first (Unit Cost), not Unit Cost after Costing Method.
Question 16
A company has an on-premises Business Central instance named TEST. The instance uses Windows authorization and a developer services port of 7149. Visual Studio Code is installed on the same server.
You create a new AL project but cannot download the symbols.
The launch,json file contains the following code:
You need to download the symbols.
Which two actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A. Check which server the instance is installed on and replace http://localhost with the correct IP address.
B. Add the port: 7149 parameter.
C. Change the name parameter to TEST.
D. Change the authentication parameter to UserPassword.
E. Change the serverInstance parameter to TEST.
Show Answer
Correct Answer: B, E
Explanation: For an on-premises Business Central instance using developer services, the launch.json must point to the correct server instance name and the correct developer services port. Set serverInstance to TEST and specify port 7149. Windows authorization does not require changing authentication to UserPassword, and because VS Code is on the same server, localhost is appropriate.
Question 17
DRAG DROP
-
Case study
-
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study
-
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Background
-
Contoso, Ltd. is a sales company in the manufacturing industry. It has subsidiaries in multiple countries/regions, each with its own localization. The subsidiaries must be data-independent from each other. Contoso. Ltd. uses an external business partner to manage the subcontracting of some manufacturing items. Contoso, Ltd. has different sectors with data security between sectors required.
Current environment
-
Contoso, Ltd. uses Business Central online as the main ERP for financials, sales, purchase, warehouse, and manufacturing processes. It has employees that use the Business Central web application and external applications. The company has a custom external mobile app under development.
The IT department and its partners installed custom extensions to satisfy the company's requirements where the functionality is not available natively.
Contoso, Ltd. interacts with external services provided by customers and partners. Different applications interact with SOAP and OData endpoints exposed from Business Central.
An external business partner of Contoso, Ltd. exposed a REST API for receiving details about new subcontracting orders and for sending the planned release date of each subcontracting order received.
Contoso, Ltd. has not activated the monitoring of the tenant and has no internal telemetry for its apps.
Custom reporting must be created to meet the requirements of the different departments.
Tenant management
-
Contoso, Ltd. has the following tenant management considerations:
IT department
-
• The IT department requires the ability to monitor the tenant to prevent performance problems and detect possible anomalies.
• The IT department plans to use Azure Application Insights and Log Analytics to inspect the ingested telemetry signals.
• All tenant upgrades are automatically handled by Microsoft. The IT department does not check for update availability or for tenant-related notifications.
• The IT department has not configured the receipt of tenant-related notifications from the Business Central admin center.
External business partner
-
• The external business partner must add custom telemetry to an application created for Contoso, Ltd. to monitor a business process.
• Custom telemetry signals for the application must be visible only on the partner's telemetry.
SOAP
-
• Contoso, Ltd. plans to dismiss using the SOAP protocol for integrations.
• Contoso, Ltd. must be able to detect if external applications are using its Business Central SOAP endpoints.
Issue
-
The Business Central tenant is upgraded by Microsoft to a new major version during the night.
Users report that one of the Contoso, Ltd. extensions disappeared from the tenant. The IT department confirms that the extension is still published.
Custom mobile application requirements
Contoso, Ltd. plans to create a custom mobile application that has the following requirements:
• The app must be used by employees to check item details from the ERP in real time and to report issues that occur during the manufacturing process.
• An AL extension must be created for handling archived issues.
• Business Central development guidelines must be followed when implementing modules.
• A module must be implemented for the reporting and tracking of issues information. You plan to call this module Issue Management. The module must expose a method named PostIssue.
• Code modifications will be required over time.
• The Issue Management process must be split into two extensions:
o ISSUE BASE: main extension
o ISSUE EXT: second extension with dependency from ISSUE BASE
• In the version 1.0.0.0 of the ISSUE BASE extension, you plan to create an Issue table that contains a global Decimal variable named IssueTotal.
• In the version 1.0.0.0 of the ISSUE BASE extension, you plan to define a table named Issue Category with a Description field defined as follows:
• The Issue table defined in ISSUE BASE extension contains a Clone procedure defined as follows:
• In the ISSUE EXT extension, you create a tableextension object of the Issue table.
• The tableextension object of the Issue table must access the IssueTotal: Decimal variable.
After weeks of usage, you discover that you must remove the Description field and the Clone procedure because they are no longer required.
In a new version of the ISSUE BASE extension, you create a new Issue Type table. You must move data row by row from a previously obsolete Issue Category table to the new Issue Type table. Because a large amount of data must be moved, you must write an Upgrade codeunit by using the DataTransfer object.
The IT department creates a custom API for exposing the custom Issue table. The API provides an action for copying an issue to a new table. The action is defined as follows:
Contoso, Ltd. must create an API in Business Central to expose item details to the mobile application.
• The API must have the lowest possible impact on the production environment when used during working hours.
• The API must only support Get operations.
Debugging problems
-
A user of the ISSUE BASE extension in Business Central reports a problem.
To debug the problem, snapshot debugging with the following configuration was activated:
You discover that the debugging is not triggering.
Integration with business partner for subcontracting
Contoso, Ltd. must connect Business Central to the external API provided by the business partner. This will be used for the partner to send the details of new subcontracting orders to fulfill the sales demand, and for receiving the planned release date of each order sent. The integration requirements are as follows:
• The business partner will provide a REST API secured with basic authentication. Credentials to access the API will be shared with Contoso, Ltd.
• The API for sending subcontracting orders must be called by sending an authenticated POST request to the given endpoint.
• The API for retrieving the order no. and planned release date of each subcontracting order responds with the following JSON:
Each order no. must be retrieved.
You need to implement the Issue Management module and expose the PostIssue method.
Which four actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct orders you select.
Show Answer
Correct Answer: 1. Create a codeunit named "Issue Management" and set Access = Public.
2. Create a local procedure named PostIssueImpl in the "Issue Management" codeunit.
3. Create a codeunit named "Issue Management Impl." and set Access = Internal.
4. Create a PostIssue procedure in the "Issue Management" codeunit, and in it call the PostIssueImpl method.
Explanation: Business Central guidelines recommend a public facade codeunit and an internal implementation. The public PostIssue method is exposed through the facade, while implementation details remain internal and easier to evolve.
Question 18
DRAG DROP
-
A company is implementing Business Central.
The company has the following requirements for a report:
• The report must be loaded for users in a specific location only.
• Data entered in the request page must be validated before any further processing.
• A filter must be defined for users based on the Department field defined in user setup.
You need to implement the given requirements.
Which triggers should you use? To answer, move the appropriate triggers to the correct requirements. You may use each trigger once, more than once, or not at all. You may need to move the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Show Answer
Correct Answer: Load the report for users in a specific location → OnInitReport
Validate data before processing → OnPreReport
Define a filter based on Department in User Setup → OnPreDataItem
Explanation: OnInitReport runs when the report is initialized, allowing early access control. OnPreReport runs after the request page, making it appropriate for validating request page input before processing. OnPreDataItem is used to set filters on the data item before records are processed.
Question 19
HOTSPOT
-
You are developing a codeunit for a company that uses Business Central.
The code unit must be run only during installation of an extension package.
You need to create the codeunit.
How should you complete the code? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation: A codeunit that should run only during extension installation must use the Install subtype. The OnInstallAppPerCompany trigger executes during installation for each company.
Question 20
HOTSPOT
-
A company uses a Vendor - List report from the Base Application.
The company has new requirements that cannot be met by extending the Vendor - List report.
You create a new report named My Customized Vendor - List.
You need to replace the Vendor - List report with My Customized Vendor - List.
How should you complete the code segment? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Show Answer
Correct Answer: Codeunit::"Report Management"
OnAfterSubstituteReport
Vendor - List
My Customized Vendor - List
Explanation: Subscribe to the Report Management OnAfterSubstituteReport event. When the original report is Vendor - List, assign NewReportId to My Customized Vendor - List to substitute it.
$19
Get all 101 questions with detailed answers and explanations
Instant download HTML + PDF delivered the moment payment clears.
Secure Stripe checkout we never see or store your card details.
7-day refund if files are defective see our refund policy.