Dear All,
Can you please let me know i have developed one SSRS report which is calling form multiple forms. The report output is same for all.
I took Table type = Regular for SSRS report. So, i set table property
Table type : regular
Created by = Yes
Create Transaction Id = Yes
And in DP class in processReport method : i add
Table.setConnection(this.parmUserConnection());
Report is working fine.
But i surprised after executing report when i saw the table it's BLANK. why ???
Could you please let me know why data is not there after executing report ?
Please give me more shed on this.
Thanks!
*This post is locked for comments
You discussed similar thread before and good explanation was provided during that time
Here is link
Dear All,
One things to forgot , suppose the report ran by 5 users at a time and i used "Regular table" then it will cause any data conflict?
If yes, please let me know how to prevent from this.
Please give me more shed on this.
Thanks!
Stop for a second and think about whether "it'll automatically deletes the records" doesn't mean that the records are deleted automatically (if you implement the RDP class correctly) and therefore you shouldn't do it by yourself. My sentence "But it doesn't mean that you should develop the logic again - as mention before in this thread, the standard preprocessing logic already handles these things" might also suggest that you shouldn't develop it by yourself. Did it give you more shed on this? If it did, you could achieve the same result by reading all replies a few times, instead of asking others to repeat everything.
Also, processReport() would be a completely wrong place, because it's called before printing and therefore you would delete the data before they could be used.
Thanks Martin,
Ohh!!! yes, before i thought to use delete_from statement. But i saw after report executing data is not there in Regular table.
As Ada mentioned, "Once the report is being generated, it'll automatically deletes the records in regular table using the field CreatedTransactionId. Yes,"
So, now again it's required to use "delete_from" statement to add in Processreport() ?
Please give me more shed on this.
Thanks!
Not at all. Clear() merely remove fields values from ta buffer in application; it has no impact on database. What you would need is delete records from database (all the data you inserted there so you can use them in a report and they're just wasting database resources as soon as the report is generated). Data can be deleted from database by delete() method and the delete_from statement.
But it doesn't mean that you should develop the logic again - as mention before in this thread, the standard preprocessing logic already handles these things. I was merely answering your question about benefits.
Thanks Martin,
Kindly let me know the logic for clean-up.
Is it Table. Clear();
Please give me more she'd on this
If you use a temporary table, each report will gets its own separate table, therefore there is no risk of any conflicts, that you would have to carefully handle in case of a shared regular table. Also, when you're done, you'll simply stop using the temporary table. If you use a regular table, all data you've put there to generate a report is stored there unless you delete it, therefore you need a extra logic to do the cleanup.
As you can see, using temporary tables is easier and less risky.
Thanx Sukrut,
Will try to find out the solution.
But could you please let me know the exact reason for NOT to use REGULAR table. Why???
If we used regular table then what will happened?
What is the benefit of using Temp DB or In Memory table?
Kindly elaborate me.
I think you should go ahead with temp table and figure out a way to overcome the stack trace error you posted earlier. There is definitely something wrong with your code which is causing stack trace error.
Thanks Ada,
Shall i go for Regular table ?
Thanks!
André Arnaud de Cal...
292,074
Super User 2025 Season 1
Martin Dráb
230,900
Most Valuable Professional
nmaenpaa
101,156