Sunday 15 January 2017

Initialization checklist stuck on DB sync.

Issue:

Initialization checklist is stuck on Synchronize Database (Required). It is not checked even after synchronizing.


Solution:

Open a new development workspace> AOT> Jobs > create new
static void SyncByPass(Args _args)
{
    SysCheckList::finished(classnum(SysCheckListItem_Synchronize));    
}
Save and Run this job. It will by pass the synchronize database step.

Note: Make sure that you do the DB sync atleast once else it will throw SQL errors when you try to upload the demo data.

Sunday 24 August 2014

The report server has encountered a configuration error. Logon failed for the unattended execution account. (rsServerConfigurationError)

Complete Error:

The report server has encountered a configuration error. Logon failed for the unattended execution account. (rsServerConfigurationError)
 Log on failed. Ensure the user name and password are correct. (rsLogonFailed)

 Logon failure: the specified account password has expired.

Solution:

Go to Start > Reporting Service Configuration Manager > open tab Execution Account


Now enter the correct credentials.

Then try running the report again.The error must be gone.

Deploying SSRS Reports using PowerShell in AX 2012

This is to describe more in detail about Deploying SSRS Reports from Microsoft PowerShell:


To open Microsoft PowerShell:

Go to Administrative tools > Microsoft Dynamics AX 2012 management shell(run as administrator to avoid any unexpected errors)

The Microsoft PowerShell window opens up:


As you can see this is not the basic Windows Powershell.This will import four different modules on its own.
"C:Windows\system32> Get-Command" will get you all the commands available.



  • To Deploy your report type the command:

C:Windows\system32> Publish-AXReport -ReportName DemoReport1

This will deploy single report named "DemoReport1".


  • To Deploy all the SSRS reports type in the command:

C:Windows\system32> Publish-AXReport -ReportName *

This will deploy all the SSRS Reports to the Reporting Server.


  • Here is a little trick to deploy specific reports:

C:Windows\system32> Publish-AXReport -ReportName XYZ_*

This will deploy all the reports starting with the name "XYZ_" .So we can use our project naming prefix here to deploy all the reports made for a particular functionality as wildcard is supported here.


  • Another note to check the server configuration is:

C:Windows\system32> Test-AXReportServerConfiguration

Try running this before you start.If everything is set to true here we are good to go.


Note: The Microsoft Dynamics AX 2012 Management Shell is very powerful and fast.To deploy 1000 reports it would take only about 10mins which would have taken approx 45mins for 200 reports in AX 2009 SSRS.

Thanks,

Wednesday 20 August 2014

Calling SSRS Report from X++ code.

Run SSRS Report without a modified contract using X++ code

static void Job_RunSSRSReport(Args _args)
{

///srsreportruninterface class provides a set of APIs to run report programmatically.
SrsReportRunInterface        reportRun;

//Create an instance of the report
//Pass in the report that you want to run by using the syntax
// '<ReportName>.<DesignName>'
reportRun           =        new    SrsReportRunImpl('SampleReport.Design');

// Run the report that is passed.

reportRun.runReport();

}

Tuesday 19 August 2014

Global Address Book Transition from AX 4.0 to AX 2012

Address transition from AX 4.0 to AX 2012

In Microsoft Dynamics AX 4.0:

Entity's data was stored in the entity table itself.
e.g: CustTable holds consumer name,contact information and address.


In Microsoft Dynamics AX 2009:

Although Global Address Book was introduced it was not fully functional.The entity tables still holds the entity data but the data is synchronized to global address book tables.


In Microsoft Dynamics AX 2012:

Now data is just stored in the global address book tables.The transition is complete and now there is no need of synchronization.
Also it is global data i.e one record per entity for one system.Unlike previous versions where it was stored one record per entity for every company.
So address data duplication has reduced to a large extent.

  

Saturday 16 August 2014

Ways to open AOT in AX 2012

Ways to open AOT/Developer workspace in AX 2012:

  1. Press Ctrl-Shift-W.
  2. Navigate to Windows > New Development Workspace.
  3. Press CTRL + D.
  4. Add the -development switch to the ax32.exe command when starting Microsoft Dynamics AX.


Note:
Once the development workspace is open we can add multiple AOT's by pressing CTRL+D.This is helpful in using the drag n drop functionality. 


The port 'TestServiceGroup' could not be deployed.\nError: The port 'TestServiceGroup' has no service operations.

Solution:

This error comes up when we are trying to deploy a service group and create a inbound port.
And the service that is added to the service group has no operations added to it.


  • Go back to AOT > Service >'Service with error' >Operations > right-click and click Add Operation.
  • A new 'Add Service Operations' form is opened up.
  • Select the Operations to be added by marking the checkbox >Add.
  • This will add the operations to the service and the service group will now deploy without any errors.


Note: 

  • Operations once added will not be visible in the form.
  • The operation is a method of the service contract class and applies the [SysEntryPointAttribute] to it.