Jump to content
We've recently updated our Privacy Statement, available here ×

yaramada123

Members
  • Posts

    28
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Posts posted by yaramada123

  1. Pass the value as part of the Hashmap into the report template and use the $P parameter to read and display the parameter value from hashmap.

    HashMap map = new HashMap();

    map.put("REPORT_TITLE","xyz");

     

    declare paramter REPORT_TITLE in the template and use $P{REPORT_TITLE} to display the title.

     

    Hope this helps, all the best!!!!

  2. Hi,

    We are having 20 threads to process reports concurrently and in our testing one single report is being invoked by all 20 threads with the same parameter map. We are believing that the error is happening to synchronization issue with scriptlet class. We have defined a custom scriptlet with some methods like numberFormatter, dateFormatter in order to format the data. Can you let us know how scriptlet class is shared across these multiple instance, could this be causing the issue. We are running another test now by remove the script let class from the summary band to see if that resolves the issue, I will let you know the results. I am posting this message to understand the way scriptlet class used when the same report is being run by all threads.....

     

    Thanks in advance,

    Jagadeesh

  3. Hi, I have attached the java code and the jrxml template producing the problem. We are encountering the java.lang.Integer only during heavy loads where the same report is ran 1000's of times. This error is not reproducible all the time, let me know if you find the root cause for the problem.

     

    Jagadeesh [file name=JasperDriver.zip size=15759]http://www.jasperforge.org/components/com_joomlaboard/uploaded/files/JasperDriver.zip[/file]

  4. we are using JasperReports 1.3.0 in our application and are seeing the exact same error intermittently. The weird part is this error is not reproducable, the same report works fine one time and fails the other time......was there any solution identified for this issue? we tried to run the exact same report 600 times and it executed fine 594 times and thrown the error 6 times.

     

    java.lang.ClassCastException: java.lang.Integer

    at net.sf.jasperreports.engine.fill.JRBaseFiller.resolveBoundElements(JRBaseFiller.java:1088)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.resolveBoundElements(JRBaseFiller.java:1109)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.resolveReportBoundElements(JRBaseFiller.java:1126)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:805)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:240)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:116)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:751)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:660)

    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)

    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)

    at com.sam.reports.job.ReportGenerator.executeProcess(ReportGenerator.java:410)

     

    Please let us know if there is a solution for this issue

  5. You can use variables to do this...You must be having 2 fields representing code and amount, I am assuming them as $F{CODE} and $F{AMOUNT}

     

    You can define a variables $V{TOTALAMOUNT_KRW},$V{TOTALAMOUNT_USD} etc., with evaluation time as Report and calculation as "Sum"

     

    Assign the expression: $F{CODE}.equals("KRW")?$F{AMOUNT}:0

     

    You can replace KRW with different currencies for each variable and use the variables in your report to show the Amounts for each currencies......

     

    All the Best!!!

     

    Jagadeesh

  6. I just tried the exact same report with FileVirtualizer and it ran with out any errors....17095 temp files were created which is equal to the number of pages in the report. I wonder why SwapFileVirtualizer is not working, I would like to get it working as it uses single swap file as opposed to FileVirtualizer....I can get into performance issues with FileVirtualizer due to large number of I/O operations.....please help me in getting SwapFileVirtualizer working....

     

    Thanks and Regards,

    Jagadeesh

  7. It doesn't contain any images, my report pulls about 30 columns for a specified date range...SQL is returning more than 300K rows....When I try to run the report a swap file is getting created but after the swap file size reaches 200MB its blowing with Out of memory : heap space error message....

     

    Looking at the concept of virtualizer, this should work fine as I am not doing anything fancy.....SQL is embedded with in the template, as jasper does not get data at once this should not create any problems...Is there a minimum requirement of heap space for virtualizer to function properly??

     

    Here is the code I have used for virtualizer:

    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

     

    JRConcurrentSwapFile jrSwapFile = new JRConcurrentSwapFile("C:/Temp",30,4);

     

    JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(4,jrSwapFile,true);

     

    data1.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);

     

    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, data1, jdbcConnection);

     

    JRVirtualizationContext.getRegistered(jasperPrint).setReadOnly(true);

     

    JasperExportManager.exportReportToPdfFile(jasperPrint, "reports/TRExpenseLog.pdf");

  8. Hi,

    I am using Virtualizer, but still getting heap space error::

     

    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

    at java.util.Arrays.copyOf(Unknown Source)

    at java.io.ByteArrayOutputStream.write(Unknown Source)

    at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source

    )

    at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Unk

    nown Source)

    at java.io.ObjectOutputStream.writeObject0(Unknown Source)

    at java.io.ObjectOutputStream.writeObject(Unknown Source)

    at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.writeData(J

    RAbstractLRUVirtualizer.java:578)

    at net.sf.jasperreports.engine.fill.JRSwapFileVirtualizer.pageOut(JRSwap

    FileVirtualizer.java:92)

    at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.virtualizeD

    ata(JRAbstractLRUVirtualizer.java:537)

    at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer$Cache$LRUSc

    anMap.processRemovedLRU(JRAbstractLRUVirtualizer.java:141)

    at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer$Cache$LRUSc

    anMap.removeLRU(JRAbstractLRUVirtualizer.java:127)

    at org.apache.commons.collections.LRUMap.put(Unknown Source)

    at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer$Cache.put(J

    RAbstractLRUVirtualizer.java:202)

    at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.registerObj

    ect(JRAbstractLRUVirtualizer.java:427)

    at net.sf.jasperreports.engine.base.JRVirtualPrintPage.<init>(JRVirtualP

    rintPage.java:182)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.newPage(JRBaseFiller.ja

    va:1416)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.addPage(JRVerticalF

    iller.java:1222)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVer

    ticalFiller.java:1294)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRV

    erticalFiller.java:1319)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRV

    erticalFiller.java:750)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JR

    VerticalFiller.java:722)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(J

    RVerticalFiller.java:266)

    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic

    alFiller.java:117)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:

    791)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:

    695)

    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63

    )

    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa

    nager.java:402)

    at TRExpenseLogReport.runReport(TRExpenseLogReport.java:243)

    at TRExpenseLogReport.main(TRExpenseLogReport.java:277)

     

    Here is the virtualizer code I have used:

    JRConcurrentSwapFile jrSwapFile = new JRConcurrentSwapFile("C:/Temp",30,4);

    JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(4,jrSwapFile,true);

     

    data1.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);

     

    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, data1, jdbcConnection);

     

    JRVirtualizationContext.getRegistered(jasperPrint).setReadOnly(true);

     

    Please help me in getting around this problem, it is very very important to get it working....plese help!!!

  9. Hi,

    We are trying to produce a report with large data (around million rows) and are getting heap space error while trying to generate the report. I found that virtualizer can solve the issue with space by swapping data with disk space, I have used Swap File Virtualizer and still getting the heap space error. I can see that a swap file of around 200 MB is created on my local and then its erroring out.

     

    Here is what I would like to know::

    1. How does Jasper gets the data, does it get all at a time or paginate through the resultset. If it gets the all data at once where does it store? Could this be causing heap space issue, if so how did it created a swap file of around 200MB?

    Here is the code I have used:

    JRConcurrentSwapFile jrSwapFile = new JRConcurrentSwapFile("C:/",30,2);

     

    JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(2,jrSwapFile,true);

     

    data1.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);

     

    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, data1, jdbcConnection);

     

    2. Can I use JasperServer for running reports, I don't want to use other features like UI, scheduling etc., All I want to do is use JasperServer's JVM to run Reports as there could be memory optimization and virtualization implemented in a betterway.

     

    Any pointers to how to solve the issue of genereating large report without heap space error is greatly appreciated. Thanks in advance!!!

     

    Jagadeesh

  10. Hi,

    When I open a jasper exported reprot in PDF, sometime it opens with 76% and some times with different size....how do I always force it to be at the percent I want like 100% or 96%. Is there a method available in the API to do this? Does jasper support this? Please let me know if any one knows solution for this.....

  11. Hi,

    When I open a jasper exported reprot in PDF, sometime it opens with 76% and some times with different size....how do I always force it to be at the percent I want like 100% or 96%. Is there a method available in the API to do this? Does jasper support this? Please let me know if any one knows solution for this.....

  12. Hi,

    If $F{AMOUNT} is the field holding amounts 3000, 2000 etc., on your report, declare a variable $V{REPORT_SUM} with Reset Type: Report, Calculation Type: Sum/Count and Variable Expression: $F{AMOUNT}....this will give you 5000+10000 as you wanted it.....

     

    I am sure this works, let me know the results....

  13. Hi,

    I am trying to export a 16 digit number into XLS, but it is getting exported as exponential number.

     

    1. I used JXL api to open the sheet and edit the number so that it is displayed as normal number.

     

    2. The problem I am facing is, If I am exporting 5000323421232345, the last digit is getting replaced with 0 instead of 5 as it is getting converted to exponential number 5.0000E+15 when Jasper exports it into XLS.

     

    How do I get around this problem, I can turn of IS_AUTO_CELL_DETECT_TYPE as there are numbers in other columns. Please let me know if any one knows a solution for this.

  14. Hi,

    I am trying to export a 16 digit number into XLS, but it is getting exported as exponential number.

     

    1. I used JXL api to open the sheet and edit the number so that it is displayed as normal number.

     

    2. The problem I am facing is, If I am exporting 5000323421232345, the last digit is getting replaced with 0 instead of 5 as it is getting converted to exponential number 5.0000E+15 when Jasper exports it into XLS.

     

    How do I get around this problem, I can turn of IS_AUTO_CELL_DETECT_TYPE as there are numbers in other columns. Please let me know if any one knows a solution for this.

  15. You can certainly do this....the parameters selected in the UI should be passed into the report as parameters and use these in PrintWhen expression portion to drive the display of the data....at the same time select remove line when blank option for the fields that need to be removed.....hope this helps!!!
  16. Hi,

    Can anyone let me know if there is a way to print detail record any time we want to....

     

    here is my problem:

    I have a SQL inside my report template which returns an id, name and date...for each of these ids I need to execute 2 separate SQLs and display the resultSets in the detail section...for this, in the report scriptlet beforeGroupInit I have executed the 2 SQLs and the data is populated into arrays. it works perfect so far.....the problem now is I am not able to traverse through the arrays and print them in the detail section as the report engine invokes the beforeDetailEval method only once for each id as returned by the SQL. I tried calling the beforeDetailEval from beforeGroupInit, but still it is printing only once.....

     

    I know subreports is one solutions, but this report is being manipulated at run time depending on some conditions and also this report needs to be exported to xls....as subreports do not get exported correctly for xls, I would like to do this without using sub-reports....

     

    any suggestions without using subreports is greatly appreciated.....It is very urgent to get a solutions for this......please help me out!!!

  17. Hi,

    Thanks for the reply, it helped me to certain extent. I have looked at the scriplet sample, but could not make out how to use it for my requirement. I am new to Jasper Reports and we are using Jasper in our project to create reports.

     

    Here is my exact requirement:

    my query is returning the data

    Name ID Location TranDate Amt

    ----- ---- --------- ---------- ----

    Jeff 1234 OH 01/23/2006 23.56

    Jeff 1234 OH 04/25/2006 56.43

    Jeff 1234 OH 05/21/2006 23.57

    Jeff 1234 OH 07/01/2006 43.23

    Smith 4567 VA 05/02/2006 23.21

    Smith 4567 VA 09/30/2006 98.23

     

    My report should calculate the totals for each quarter and display the report like following:

     

    Name ID Location Qtr1 Qtr2 Qtr3 Qtr4

    ---- -- --------- ---- ---- ---- -----

    Jeff 1234 OH 23.56 80.00 43.23 0.00

    Smith 4567 VA 0.00 23.21 98.23 0.00

     

    I tried to do this grouping on Name and using afterGroupInit scriptlet method and display the calculations in the groupfooter....but it is displaying data of first row alone, not traversing through the list.

     

    Please help me with how should I use the scriptlet class to do the calculations.

     

    Thanks in advance!!!

×
×
  • Create New...