web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

Caching Problem , when SSRS report displays data on Screen AX2012 R2

(0) ShareShare
ReportReport
Posted on by 3,248

hi all,

I am working on a invoice proposal report in ax2012, its an RDP report as you all know.

The dataset used for this report is PSAProjInvoiceTmp , the table used here is not a temporary table, even though they have suffix as Tmp. The problem I have now is , when the data is displayed on the report, some times it shows the old data, say for example if I am viewing data for invoice proposal 002 it also shows data from invoice proposal 001, which had been run previously. and if user closes the report and opens it up, it clears the cache and shows the invoice proposal 002 data only.

I tried to delete the data per session with the code similar as below , and calling this code in ProcessReport method before , actually inserting data. GEN_SessionID  in below code is custom field that stores current session. GEN_DateOfCreation stores current date.

 delete_from tmpPSAProjInvoice

       where ((tmpPSAProjInvoice.GEN_SessionID == currentSessionId) ||

             (tmpPSAProjInvoice.GEN_DateOfCreation < today() - 2));

but the tmpPSAProjInvoice table is regular table(visible property set to NO) and framework deletes record from this table, once the report is rendered, so basically my above piece of code is not much of a help. But problem still persists and I get weird data on report.

Any suggestions how do I overcome this issue?

*This post is locked for comments

I have the same question (0)
  • venkatesh vadlamani Profile Picture
    3,180 on at

    Seems strange .

    I know that this should be taken care of framework with preprocessed cleanup method.

    But try this,It will work .

    Create a String field in each of the report temp tables.

    Create a new GUID in controller class and pass the same through a new parameter as string  in you contract which is invisible on UI. use this guid value (converted to string) to be updated with all the records that are processed and stored in reporting table.

    In the controller class after startoperations() method call explicitly delete the records from the report tables which have execution guid value.

    Hope this might help.

    regards

    Venkatesh

  • Verified answer
    Pradeep Itnal Profile Picture
    3,248 on at

    axfactory.wordpress.com!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

#1
Martin Dráb Profile Picture

Martin Dráb 4 Most Valuable Professional

#1
Priya_K Profile Picture

Priya_K 4

#3
MyDynamicsNAV Profile Picture

MyDynamicsNAV 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans