Whenever you make a change to a report, it must be deployed; not only when developing the report, but also when models or a model store is imported. There are several ways to do this, but the two most common ways are using AxUtil or the Microsoft Dynamics Management Shell (PowerShell). The commands in both are similar. In this example, we shall use PowerShell.
You will need to ensure the following points before deploying reports:
You will also need to know the AOS name you are deploying from. This will change your current configuration to default, but it is safer to enter this information each time.
In this example, the following information is used:
Name |
Description |
---|---|
AOS name |
|
WSDL port |
|
Configuration ID |
|
The configuration id
parameter was set up in the Report servers form discussed earlier. This is only required if the configuration is not default. This is not required in most implementations.
To use this, add the -id AxTestSSRS_MSSQLSERVER
parameter to the publish-AXReport
command.
For example:
Publish-AXReport -ReportName * -ServicesAOSName Zeus –ServicesAOSWSDLPort 8101 –RestartReportServer –Id AXTestSSRS_MSSQLSERVER
The following steps are performed within the Microsoft Dynamics AX 2012 Management Shell which is PowerShell with the AX PowerShell commands preloaded.
Publish-AXReport -ReportName * -ServicesAOSName Zeus –ServicesAOSWSDLPort 8101 –RestartReportServer
The reports are stored in AX as Visual Studio projects, which must be built and deployed to the report server. Although you could do this within report server, this should only happen when developing the reports.
When you publish the reports, AX will build the Visual Studio project and then deploy this report to the report server as configured within AX.
Typically, you will be deploying a specific report, or a range of reports (you may have installed a report pack whose reports begin with a prefix).
The following commands are useful for deploying purposes:
Reports that have been modified after a certain date (in this case 25/09/2013) can be deployed using the following command:
Publish-AXReport -ReportName * -ModifiedAfter 2013-09-25-ServicesAOSWSDLPort 8101 -ServicesAOSName Zeus-RestartReportServer
To deploy the SalesInvoice
report, the following command is used:
Publish-AXReport -ReportName SalesInvoice –ServicesAOSWSDLPort 8101 -ServicesAOSName Zeus –RestartReportServer
Reports starting with Sales
that were modified after 25-09-2013 are deployed using the following command:
Publish-AXReport -ReportName Sales* -ModifiedAfter 2013-09-25 –ServicesAOSWSDLPort 8101 -ServicesAOSName Zeus –RestartReportServer
You may find that you are given rather cryptic error messages if something goes wrong.
The most common reason is a typo, which can result in following message:
The following message means that the SSRS service is not running or it cannot be accessed:
To solve the previous message, first open the report server form from within AX and click on Validate settings for the default configuration. If this succeeds, it is most likely a timeout on the request; it is worth trying again with a single report. If it continues to fail, it means that there is a fault within SSRS.
You may be given errors from specific reports; in these cases, you should pass this information onto the developer.
One very common warning is that the layout contains an overlap. This exists even on standard reports and doesn't affect the printing or rendering to screen.
52.14.109.61