Share via


Customizing App Suite reports using extensions

Microsoft Dynamics 365 for Operations now offers an expanded set of tools to support custom solutions. Customizations to reporting solutions in the standard application are fully supported using a pure ‘Extension’ model.  This article offers guidance on how to add the most common customizations to standard application reports without over-layering Application Suite artifacts.  Here are some of the key benefits in using an ‘Extension’ based approach when customizing the application

  • Reduces the footprint of your application solutions by minimizing code duplication
  • Custom reports benefit from enhancements made to standard solutions including updates to business logic in Report Data Provider (RDP), data contracts, and UI Builder classes
  • Standard application solutions are unaffected and continue to be available in concert with custom reports

Microsoft Dynamics 365 for Operations (Platform Update3)

______________________________________________________________________________

Report extensions do NOT break or prevent access to standard application reports.  Instead, the platform supports run-time selection of the target report allowing you to choose the appropriate report design based on the context of the user session.  For more information on customizations using extensions, Customization: Overlayering and extensions

SCENARIOS - There are four key scenarios that we’ll focus on which demonstrate the flexibility available in Platform Update3. The first two scenarios involve extending existing RDP classes for our custom reporting solutions. The others offer insights on how to use extensions to redirect application navigations to your custom solutions.

  1. Expanding existing datasets - use table extensions and integrate custom business logic to add custom columns to an existing dataset
  2. Composing custom datasets - add more data to application reports by extending an existing RDP class to return a custom dataset
  3. Extending report menu items - customize application menu items to redirect references to a custom report design
  4. Custom designs for business documents - delegate handlers allow you to add custom report designs to an existing Print Management document instance

Use the following techniques to create custom reporting solutions for the application without over-layering any of the Application Suite objects.

Expanding datasets returned from standard RDP classes

REQUIREMENTApplication report needs more data inan existing section of a report or visualization.PROCEDURE
  • Add table extension
  • Add columns to store the data
  • Supply logic to populate the new columns
  • Create custom design
  • Extend report menu items
  • - OR -
  • Extend report controllers
Click here to learn more
extendingdatasets

 

Extending standard RDP classes to return custom datasets

REQUIREMENTUse this approach to introduce new dataregions to existing Application reports.PROCEDURE
  • Create new TMP table
  • Add columns to store the data
  • Extend the RDP class to populate the data
  • Create custom design
  • Extend report menu items
  • - OR -
  • Extend report controllers
customdataset

 

Redirect application menu item to custom report design

REQUIREMENTMenu Item extensions allow you to redirectnavigations in the application to customreporting solutionsPROCEDURE
  • Create custom report
  • Extend report menu items
  • Add reference to the custom report
Click here to learn more
extendingmenuitem

 

Adding custom report designs for business documents

REQUIREMENTThis solution is appropriate for makingcustom report designs available for businessdocuments backed by Print Management.PROCEDURE
  • Create custom report
  • Register delegate handler
  • Add logic to override Print Management Settings
Click here to learn more
extendingprintmgt

Comments

  • Anonymous
    December 07, 2017
    Please provide the detail steps for "Extending standard RDP classes to return custom datasets", especially point "Extend the RDP class to populate the data"? how to extend the RDP class? and how a new Data Set will reflect in the report ?