Friday, 20 December 2013

Issues with SSRS


 => Steps to resolve the Deployment Errors in SSRS :
I think I have locked down the SSRS deployment strategy. I have done this a couple of times this morning and it has worked without issues.

1. Delete deployed report in SSRS Report Manager
2. Clear caches
3. Clear usage data
4. Delete record from SRSReportParameters and SRSReportQuery in AX
5. Restart AOS
6. Restart SSRS
7. Check in SSRS report in AOT if checked out and then re-check out.
8. Redeploy report from VS 

Admin> Setup> BI> Reports> Report parameters
SSRSReportParameter table


 To move to - SRSReportParameters table
Dat >> system administration >> periodic>> database >> sqladministration go to tables , 

=> To fix the Table Length in SSRS report : 

Design level Changes : 

First, add a Row Group which is a Parent of the existing top level group.  In the Group By expression, enter =CEILING(RowNumber(Nothing)/50) where 50 is the number of records to be displayed per page.

up any real estate on the report.
Ceiling function:  Returns the first whole number equal to or higher than its argument.
conventions to be self-documenting as possible.
 
On the Page Breaks section of Group Properties, check “Between each instance of a group.”  Don’t choose to break at the start or end of a group or you could end up with an extra blank page.
Next, go to the Sorting section of Group Properties.  You’ll most likely just want to remove the sorting because it's handled elsewhere.  When you created the group, SSRS automatically created sorting to be the same as your Group By expression.  While this is usually a nice convenience, in this case it’ll cause an error the first time you run the report if you don't remove it.
But still there exists one more issue : 
If the no.of lines per page is less than 50 , the table size is decreased to the no.of rows in that page . to resolve that issue, just insert dummy records at end of the row.
int                 dummyreccount;

dummyreccount   =   linecount mod 25;
            if(dummyreccount==  0)
                dummyreccount   = 0;
            else
                dummyreccount = 25 - dummyreccount;

            for(i = 0;i<dummyreccount;i++)
            {
                //salesConfirmTmp.LineCount = linecount;
                salesConfirmTmp = null;
                salesConfirmTmp.ConfirmTransOrTax   = true;
                salesConfirmTmp.JournalRecId                = custConfirmJour.RecId;
                if(i==dummyreccount-1)
                    salesConfirmTmp.LineCount   =   linecount;
                //salesConfirmTmp.Qty    =   linecount;
               salesConfirmTmp.insert();
                salesConfirmTmp.clear();
                linecount++ ;
            }
 We need to write this code once all the records are entered in to Temp Table.


=============================================================
3. 

Dynamics AX 2012 R3 Report Deployment Error with Visual Studio 2013-”Loading this assembly would produce a different grant set from other instances

https://community.dynamics.com/ax/b/ax2012r3technicalconsultantblog/archive/2015/05/12/dynamics-ax-2012-r3-report-deployment-error-with-visual-studio-2013-loading-this-assembly-would-produce-a-different-grant-set-from-other-instances


=========================================================

Need to add Time field in SSRS report : 

TimeToday - used EDT. Values are inserted in to temp table but the issue is it is not shown in design.

So need to create String Field in Temp table,
 tmpTMSReport.Time       =   time2str(_caseLog.TImeTaken,TimeSeparator::Colon,0);

Now values are shown on report.

No comments:

Post a Comment