Imp: Generating reports in OIM 9.1.0.2

Hi All,
How can we generate reports in OIM 9.1.0.2 ?
We need to generate reports for users between two dates to keep a track of what all resources were provisioned or deprovisioned and what all changes were made to user accounts etc.
As per my understanding, this in a single term can be said as "Auditing".
So my question is: How can we enable Auditing in OIM 9.1.0.2. ?
I couldn't find much on net, so I'm posting it here.
Regards
Nikhil

Martin and Rajiv,
Thanks for your help.
I'm actually a newbie and I don't have much knowledge of OIM.
I came to know that I can generate the above mentioned reports by writing and adapter and attaching it to a schedule task. I am aware of how to write the adapter and how the adapter is attached to the schedule task, but I'm not actually aware of what should I code in the adapter in order to fetch the required information. i.e. what should I code, that helps me to generate a report wherein I can find the provisioned resources to a particular user between a period of time.
I am just not clear with what the approach should be in order to proceed further on this.
Any help here would really be appreciated.
I'm sorry for asking such kind of a question, but I'm very new to this and couldn't find a way better than this.
Regards
Nikhil

Similar Messages

  • Generating report from Backend Query in OIM

    Hi,
    I am trying to generate a report in OIM. The requirement is to generate a query that can be executed in the database to retrieve the following:
    All the users in OIM with out the access (Not in provisioned or Enabled state) to Active Directory
    I tried generating report using the out-of-box report for Resource Access List, which provides the list of users who are having access to particular resource, but there is no out-of-box report for providing report for users who do not have access to a particular resource.
    Could any one help me write such a query. I know we need to look in to many tables before we fetch the details. A sample query would be really helpful.
    Thanks

    Users who have access to specific resource - it is based on organization level, simple query that lists organizations with resources that they have access to :
    select a.act_name, o.obj_name, ap.acp_create, ap.acp_update
    from act a, acp ap, obj o
    where a.act_key = ap.act_key
    and ap.obj_key = o.obj_key
    Relation between users and organization is simple so it would be easy to you continue on your own...
    Hope this helps!

  • Can we generate custom reports in oIM 10g

    hi,
    Is it possible to generate custom reports in OIM 10g? Is it a complex process?
    Thanks

    Thanks for the reply,
    I am able to generate the report, but the issue is with the filter condition, I am trying to filter the results with a udf field but filtering is not happening and in logs the error coming is
    Thor.API.Exceptions.tcColumnNotFoundException
    at Thor.API.tcMetaDataSet.getStringValue(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.getLinkHref(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.populateTableDataForTabularDisplay(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.displayReportWithTabularLayout(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.displayReportWithLayout(Unknown Source)
    at com.thortech.xl.webclient.actions.ReportAction.displayTabularReport(Unknown Source)
    at com.thortech.xl.webclient.actions.ReportAction.displayReport(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
    at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
    at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
    at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
    and one more thing , how to give two conditions in where clause in stored procedure , for e.g i have given like
    strWhereClause := 'usr_key IN(SELECT DISTINCT usr_key FROM usr) and UPPER(usr.usr_status) like '
    || UPPER(''''||strstatus_in||'''')
    || ' AND UPPER(usr.USR_UDF_CUSTOMATTR) LIKE '
    || UPPER(''''||strcustattr_in||'''')
    || ' ';
    and its not taking the two values.pls tell me where its going wrong

  • Error in Generating reports with large amount of data using OBIR

    Hi all,
    we hve integrated OBIR (Oracle BI Reporting) with OIM (Oracle Identity management) to generate the custom reports. Some of the custom reports contain a large amount of data (approx 80-90K rows with 7-8 columns) and the query of these reports basically use the audit tables and resource form tables primarily. Now when we try to generate the report, it is working fine with HTML where report directly generate on console but the same report when we tried to generate and save in pdf or Excel it gave up with the following error.
    [120509_133712190][][STATEMENT] Generating page [1314]
    [120509_133712193][][STATEMENT] Phase2 time used: 3ms
    [120509_133712193][][STATEMENT] Total time used: 41269ms for processing XSL-FO
    [120509_133712846][oracle.apps.xdo.common.font.FontFactory][STATEMENT] type1.Helvetica closed.
    [120509_133712846][oracle.apps.xdo.common.font.FontFactory][STATEMENT] type1.Times-Roman closed.
    [120509_133712848][][PROCEDURE] FO+Gen time used: 41924 msecs
    [120509_133712848][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) is called.
    [120509_133712850][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) done. All inputs are cleared.
    [120509_133712850][oracle.apps.xdo.template.FOProcessor][STATEMENT] End Memory: max=496MB, total=496MB, free=121MB
    [120509_133818606][][EXCEPTION] java.net.SocketException: Socket closed
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:525)
    at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:504)
    at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382)
    at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:469)
    at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java:304)
    at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:139)
    at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:169)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
    at oracle.apps.xdo.servlet.util.IOUtil.readWrite(IOUtil.java:47)
    at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:280)
    at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.java:82)
    at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:562)
    at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:265)
    at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
    at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
    at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
    at oracle.apps.xdo.servlet.XDOServlet.doPost(XDOServlet.java:201)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:97)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    It seems where the querry processing is taking some time we are facing this issue.Do i need to perform any additional configuration to generate such reports?

    java.net.SocketException: Socket closed
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:525)
         at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:504)
         at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382)
         at weblogic.servlet.internal.CharsetChunkOutput.flush(CharsetChunkOutput.java:249)
         at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:469)
         at weblogic.servlet.internal.CharsetChunkOutput.implWrite(CharsetChunkOutput.java:396)
         at weblogic.servlet.internal.CharsetChunkOutput.write(CharsetChunkOutput.java:198)
         at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:139)
         at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:169)
         at com.tej.systemi.util.AroundData.copyStream(AroundData.java:311)
         at com.tej.systemi.client.servlet.servant.Newdownloadsingle.producePageData(Newdownloadsingle.java:108)
         at com.tej.systemi.client.servlet.servant.BaseViewController.serve(BaseViewController.java:542)
         at com.tej.systemi.client.servlet.FrontController.doRequest(FrontController.java:226)
         at com.tej.systemi.client.servlet.FrontController.doPost(FrontController.java:128)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:17
    (Please help finding a solution in this issue its in production and we need to ASAP)
    Thanks in Advance
    Edited by: 909601 on Jan 23, 2012 2:05 AM

  • Error while running a custom report in OIM

    Hi All,
    I have created a new custom report for OIM and written a stored procedure for that. But while running the report from Admin console, its throws the below error:
    java.sql.SQLException: ORA-00911: invalid character
    ORA-06512: at "IDM.XL_EXCEPTION", line 149
    ORA-06512: at line 1
    ERROR,19 Jun 2011 22:09:31,665,[XELLERATE.WEBAPP],Class/Method: ReportAction/displayTabularReport encounter some problems: Error executing stored procedure
    Thor.API.Exceptions.tcAPIException: Error executing stored procedure
    Line 149 : DBMS_OUTPUT.PUT_LINE('select stmt ='|| select_stmt);
    "select_stmt" is a select query based on the OIM tables.
    Please advice.

    Seems like there is a invalid character in your SQL (Report's store procedure). Could you share with me whole content of this "select_stmt" variable?
    regards,
    Thiago L Guimaraes

  • Error while running historical and operational reports in OIM 9.1

    Hi all,
    I had a look at the operational reports and historical reports in OIM 9.1
    When I tried to run the reports by supplying the parameters, I see the following behaviors.
    a)The reports run as expected and display the information.
    b)The moment, I click submit I see a series of exceptions in the Jboss log, the beginning of the thread being....
    WARN [TxConnectionManager] Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1e7aa15[state=NORMAL mc=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@6fc757 handles=1 lastUse=1300177838234 permit=true trackByTx=true mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@62b4a1 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@40ba54 xaResource=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@6fc757 txSync=null]
    java.sql.SQLException: No more data to read from socket
    c)The screen just hangs without any error message/report results. When I tried to click any other menu items on the left hand side, none of them responds after the screen is hung.
    The only option available is to close the window and reopen the browser again.
    It would be great if you could let me know the root cause for scenarios 'b' and 'c'
    Looking forward to hearing from you,
    Many thanks in advance

    Hey guys! 2 days and no replies yet. please help me with this.

  • Error while generating report in RAR

    Hello,
    We are getting error while generating reports in RAR.
    RAR runs sucessfully, can see there are risk, but we cannot dowload those file, usally we use to get zip file.
    or cannot see details ,
    gives error cannt be displayed.
    Thanks,
    DK

    Hello,
    we had same issues, this happed because the disk was full.
    Please check with your basis team if the disk is full.
    Thanks,
    Prasant

  • How to test a generated report in my application by using web test written with Visual Studio 2012 Ultimate

    Hello,
    My application generates report in different formats, such as: Adobe, Excel, XML, CSV and HTML
    I have a webtest that makes all preparations, then generates a report. 
    In my application I have an option either to save the new generated report or open it.
    When I try to open the new report, the web test doesn't see it and therefore not allows me to test it.
    Please refer me to knowledge base or let me know how to resolve this type of issues.
    Thanks.
    qatm

    Hi qatm,
    Thank you for posting in MSDN forum.
    Since this web performance test is used to verify the Http request/respond work correctly in VS, and the browser session is then displayed as a list of URLs in the Web Performance Test Editor.
    However, as you said that you want to test a generated report in my application by using web performance test in VS2012 Ultimate. If the report is not as the Http format, so I think that it is not possible to test a generated report by using web performance
    test.
    Thanks for your understanding.
    Best Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Unable to generate report for size of KM folder

    hi all,
    i want to generate report for size of folder in KM.I am havingthe following roles content admin,content management,system admin,home, are these roles sufficent to generate report or any roles are needed?
    And other issue is after going into Content management role I am clicking reports workset but I am unable to see "Folder Size Calculation" option, any full access are needed to see it.
    I am following help.sap link plz don't send it ,give me any other Material.
    After starting the Km report  in Resource Statistics its showing size as zero.
    help me in sloving this issue.
    thanks in advance,
    Aravind

    You could find all KM reports to the given navigation
    try all these paths...I am unable to findout your issue definitely permission related
    System Administration -> System Configuration -> Knowledge Management -> Content Management -> Related Topics -> CM Repository Reports
    Content Administration -> KM Content -> Toolbox -> Reports
    Content Management -> Reports
    Regards
    Koti

  • While generating reports in Oracle BI Publisher in pdf format, the generated pdf reports have hindi  इ matra displaced by one character. For example, रिपोर्ट is printed as रपेिोरट.  Word file generated of the same report have correct hindi इ  matra positi

    While generating reports in Oracle BI Publisher in pdf format, the generated pdf reports have hindi  इ matra displaced by one character. For example, रिपोर्ट is printed as रपेिोरट.  Word file generated of the same report have correct hindi इ  matra position and also pdf generated from this word file also contains the same.

  • Generate report using Word Report Generation VIs error

    When I Generate report using Word Report Generation VIs  ,the error is generated.
    This is  my Vi
    can somebody  tell the error reason?
    The attaché is Vi (one is 2011,other is 8.6)
    Attachments:
    report-8.6.vi ‏16 KB
    report2.vi ‏33 KB
    template.doc ‏40 KB

    Hi Ben64
                 Thank you! The problem is solved.
       BUT when I use the Word Easy Graph vi  ,the result is
    I want the Graph (curve),like as:
    How Can I do get the picture.
    I have other problem. I want to get default name for the new word file.
    liang

  • Error While generating Report

    Hi ,
    I am facing 1 problem while generating Report.
    I am trying to generate a report based on one Users global attribute.
    I have customized the USER UI CONFIG and Uer Report task to generate a report like this.
    I created a new report to generate report and in that report I have given the condition as that attribute equals to some value "true" / "False".
    But there are some users who has this attribute value as true and whose accounts are not properly created in a resource LDAP So this User view is containing some error.
    Hence when I try to run the newly created report as it tries to iterate on the user objects whose view is containg some errors ,the report is not properly getting generated and giving exception as error in calling the method getResourceobjects on LDAP.
    What can I do now ? What is the alternative for me? I want to generate the report on that attribute only.....
    It is very urgent for me and Can anyone please help me out....
    it would be so great if there is any immediate reponse for this.

    >
    ... ORA-00932: inconsistent datatypes: expected DATE got NUMBER ...
    >
    I believe the above error message is very descriptive.
    HTH
    Srini

  • Issue while generating report using web.show_document with https

    Hi All,
    I am facing some issue while seeing the report using web.show_document as shown below:
    https://ucrmskr.apac.nsroot.net:10301/forms/html/001725032_gca.rtf_
    In this case the report opens directly without asking for me to save or open or cancel option
    whereas if I hit
    http://scrmskr.apac.nsroot.net:7801/forms/html/001725032_gca.rtf_
    it asks for save or open or cancel option
    so that I can save the report to my machine and open in wordpad format
    The report generated in the first case is not coming in proper format
    Below are my forms.conf mappings:
    # Name
    # forms.conf - Forms component Apache directives configuration file.
    # Purpose
    # It should include the weblogic managed server (routing) directives for
    # the servers where Forms applications are deployed and other miscellaneous
    # Forms component OHS directives.
    # Remarks
    # This file is included with the OHS configuration under
    # $OI/config/OHS/<OHS Node Name>/moduleconf sub-directory.
    # virtual mapping for the /forms/html mapping.
    RewriteEngine on
    RewriteRule ^/forms/html/(..*) /workaroundhtml/$1 [PT]
    AliasMatch ^/workaroundhtml/(..*) "/ucrmap1/weblogic/bea/ucrms/config/FormsComponent/forms/html/$1"
    RewriteRule ^/ucrms/icons/(..*) "/workaroundicons/$1" [PT]
    AliasMatch ^/workaroundicons/(..*) "/ucrmap1/weblogic/bea/ORA_PFRD/forms/java/$1"
    RewriteRule ^/forms/help/(..*) "/workaroundhelp/$1" [PT]
    AliasMatch ^/workaroundhelp/(..*) "/ucrmap1/ucrrgbg2/help/$1"
    <Location /forms>
    SetHandler weblogic-handler
    WebLogicCluster kauh0079:9001
    DynamicServerList OFF
    </Location>
    Please let me know what needs to be done additionally if we are trying to hit https because in the second case we were hitting http with similar mapping in diff environment and it was generating report successfully.
    Regards,
    Harish

    Thanks for answering,
    I changed the URL from
    http://nbotlaguduru.dms.local/export/FMSLaborChargesalcs20060829132645.pdf
    to
    http://nbotlaguduru.dms.local:8889/export/FMSLaborChargesalcs20060829132645.pdf
    and the same problem occured
    the file is located on my local C drive in:
    C:\lcs\export
    seems as though I am missing something else as well
    any ideas?

  • Code generate report in excel format from portal(Application Server)

    Hi all
    Please give some solution with code generate report in excel format from
    oracle portal(Application Server).

    Not feasible.
    Why? Because "the Excel format" is a binary and proprietary Microsoft file format. And writing a generator to generate Excel files will be complex, and resource expensive. In the vast majority of cases this will not be justified.
    As an alternative the very basic Microsoft XML office format can be used. But note that this is not a a ISO standard (it has been shot down in flames) - and effort and resources for that would be better spend on the Open Document XML standard (which very likely will be ratified as the ISO standard instead).
    Of course, you could have meant a CSV file - in which case, you need to play close attention to details. CSV is not an Excel format. A software designers and developers, our success is determined by attention to technical detail. In which case you are not paying any attention to technical detail by confusing CSV with Excel.

  • A big problem of Generate report with PDF format....Urgent

    I want to generate a report with pdf format through one java file, it have two page 1)gen_report.jsp 2) report_gen.java , the compliation was failed. However, i don't what the problem is .... i hope anyone can help me as it is very argent for me ....Thanks a lot
    1)gen_report.jsp
    <table  id="AutoNumber1">
       <tr>
         <td background="images/top5movie.png">
         <p align="center"> </p>
        </td>
       </tr>
       <tr>
       <td >
          <div align="center">
            <table id="AutoNumber2" >
                  <form method="GET" action="../report_gen" name="report_gen" target="_blank" onSubmit="javascript:return checkr1(this)">
                    <tr>
                      <td ><b>Report Description:</b></td>
                      <td >This report is to show the top five popular movies in cinemix for a period </td>
                    </tr>
                    <tr>
                      <td><b>Data scope:</b></td>
                      <td >Start from
                      <input type="text" name="start" value="2003-1-1" >to
                      <input type="text" name="end" value="2006-1-1" ></td>
                     </tr>
                     <tr>
                      <td><b>Data processing:</b></td>
                      <td >Show
                        <select name="order_by">
                          <option value="desc" selected>top</option>
                          <option value="asc">bottom</option>
                        </select>
                      5 films</td>
                    </tr>
                    <tr>
                      <td> <p align="center">
                          <input type="submit" value="View_Report" name="subm">
                        </p></td>
                    </tr>
                    <input type="hidden" name="report" value="r1">
                  </form>
                  <form method="GET" action="../report_gen" name="report_gen" target="_blank" onSubmit="javascript:return checkr2(this)">
                    <input type="hidden" name="report" value="r2">
                  </form>
                </table>
         </div>
          </td>
        </tr>
      </table>Then my java code is here
    report_gen.java
    import java.io.*;
    import java.net.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    import java.sql.*;
    // chart and pdf out
    import java.awt.Graphics2D;
    import java.awt.geom.Rectangle2D;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.data.category.DefaultCategoryDataset;
    import org.jfree.data.xy.*;
    import org.jfree.data.xy.XYBarDataset;
    import org.jfree.data.general.DefaultPieDataset;
    import org.jfree.data.statistics.SimpleHistogramDataset;
    import org.jfree.data.xy.XYSeries;
    import org.jfree.data.xy.XYSeriesCollection;
    import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.Rectangle;
    import com.lowagie.text.pdf.DefaultFontMapper;
    import com.lowagie.text.pdf.PdfContentByte;
    import com.lowagie.text.pdf.PdfTemplate;
    import com.lowagie.text.pdf.PdfWriter;
    import com.lowagie.text.*;
    import com.lowagie.text.pdf.*;
    import com.lowagie.text.pdf.PdfPCell;
    public class report_gen extends HttpServlet
       private final String titles[] = {"Top Five popular movies ",
                        "Financial cirumstance of cinemas",
                        "Distribution of time segment",
                        "Distribution of favourite movie type"
       private final String descs[] = {"This report is to show the top five  popular movies in cinemix for a period ",
                   "This report is to show the financial circumstance of each cinema site ",
                   "This report is to analysis the customer when is the most visit time ",
                   "This report is to analysis the customer which type of movie do they watch the most"
        private final String bigTitle = "Cinemix";
        private final String driver = "org.gjt.mm.mysql.Driver";
        private final String url= "jdbc:mysql://localhost:3306/cinemix";
        private final String userID = "abc";
        private final String passwd = "abc";     
        public void init(ServletConfig config) throws ServletException
          super.init(config);
       protected void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException
          final int width = 550;
         final int height = 200;
    / title font (centre and report title)
         final Font fTitle0 = FontFactory.getFont("Helvetica", 42, Font.BOLD);
         final Font fTitle1 = FontFactory.getFont("Helvetica", 30, Font.BOLD);
              // centre name:
        final String title0 = bigTitle;
       // Default category for DefaultCategoryDataset
       final String cat = "data";
       Connection conn;
      JFreeChart chart;
       String title1     = "xyz Report";
       String chartDesc = "description";
       String notes[] = new String[4];
       String chartTitle = "so bad this is title";
       String chartXTitle = "this is x";
       String chartYTitle = "this is y.";
       String report = request.getParameter("report");     
       int max=-10000;
       int min=10000;
       int j=0;          
      // do some basic checking
       if (report == null || report.equals(""))
         report = "-1";  // this course unknow report error message
         String start   = request.getParameter("start");
         String end  = request.getParameter("end");
         String order_by  = request.getParameter("order_by");  // ToDo: check invalid string
           int topN  = 5;
        String order = (order_by.equals("desc")) ? "Top" : "Last";
       String inv[] = {"08:30", "09:30", "10:30", "11:30", "12:30", "11:30", "12:30", "13:30", "14:30", "15:30", "16:30", "17:30","18:30","19:30","20:30","21:30","22:30","23:30"};
         int inv_val[] = new int[inv.length - 1];
         try
            Class.forName(driver).newInstance();
             catch(Exception e)
            printE("Cannot load mysql database driver!", response);
              e.printStackTrace();
               return;
           try
                 conn = DriverManager.getConnection(url, userID, passwd);
                  if (report.equals("r1")) {  // report 1
               DefaultCategoryDataset dataset = new DefaultCategoryDataset();
              Statement stmt = conn.createStatement();
              String sql = "select *,count(f.Name),f.Name from film f, filmDetail fd, ticket t where f.startDate > '" + start + "' and f.endDate <  '" + end + "'and fd.filmID = f.filmID and fd.filmDetailID = t.filmDetailID group by f.name order by fd.filmDetailID asc limit '" +topN+"'";
              ResultSet rs = stmt.executeQuery(sql);
            while (rs.next())
           if (rs.getInt("fd.filmDetailID") > max) max = rs.getInt("fd.filmDetailID");
         if (rs.getInt("fd.filmDetailID") < min) min = rs.getInt("fd.filmDetailID");
          j++;
           ataset.setValue(rs.getInt("fd.filmDetailID"), cat,rs.getString("f.Name"));
           title1     = titles[0];
         chartDesc  = descs[0];
         chartTitle = order + " " + topN + " popular movie";
          chartYTitle = "Box Office record";
          chartXTitle = "Film Name";
          gender = " ";
          chart = ChartFactory.createBarChart(chartTitle, chartXTitle,   chartYTitle, dataset,PlotOrientation.VERTICAL, false, true, false);
        else
              print("Error: I don't inderstand your request!", response);
         return;
           catch (SQLException e)
         printE("Cannot open database connection? <br>", response);
         // printE(e.toString);
      e.printStackTrace();
      return;
         response.setContentType("application/pdf");
         Document document = new Document(PageSize.A4, 5, 5, 5, 5);
        try
             PdfWriter writer;
         writer = PdfWriter.getInstance(document, response.getOutputStream());
        HeaderFooter footer = new HeaderFooter(new Phrase("Page: "), true);
         footer.setBorder(Rectangle.NO_BORDER);
    document.setFooter(footer);
                   footer.setAlignment(Element.ALIGN_CENTER);
                   // step 3
                   document.open();
                   document.add(getHeader(title0, title1, start, end, gender, order, topN, chartDesc));
                   document.add(printChart(chart, writer));
                   document.add(getFooter(notes));
              catch(DocumentException de)
                   de.printStackTrace();
              // step 5
              document.close();
              return;
         }// end doGet()
         /** Handles the HTTP <code>POST</code> method.
          * @param request servlet request
          * @param response servlet response
         protected void doPost(HttpServletRequest request, HttpServletResponse response)
              throws ServletException, IOException
              // processRequest(request, response);
         /** Returns a short description of the servlet.
         public String getServletInfo()
              return "Generate reports for " + bigTitle;
         /* To print en error and exit(?) */
         private void printE(Object obj, HttpServletResponse response) throws IOException
              response.setContentType("text/html");
              PrintWriter out;
              out = response.getWriter();
              out.print(obj.toString());
              out.close();
              // To-Do: how to force exiting?
         // create data chart
         private PdfPTable getHeader(String title0, String title1, String start, String end, String sex, String order, int topN, String desc)
              Font fTitle0 = FontFactory.getFont("Helvetica", 42, Font.BOLD);
              Font fTitle1 = FontFactory.getFont("Helvetica", 24, Font.BOLD);
              Font fTitle3 = FontFactory.getFont("Helvetica", 12, Font.BOLD);
              Font fValue = FontFactory.getFont("Helvetica", 12, Font.UNDERLINE);
              Paragraph parStartEnd = new Paragraph();
              parStartEnd.add(new Phrase("Data start from:                  ", fTitle3));
              parStartEnd.add(new Phrase(start, fValue));
              parStartEnd.add(new Phrase("     to     ", fTitle3));
              parStartEnd.add(new Phrase(end, fValue));
              Paragraph parGenerateDate = new Paragraph();
              parGenerateDate.add(new Phrase("Report generated at:         ", fTitle3));
              parGenerateDate.add(new Phrase(new java.util.Date().toString(), fValue));
              Paragraph parGender = new Paragraph();
              parGender.add(new Phrase("Current show gender:       ", fTitle3));
              parGender.add(new Phrase(sex, fValue));
              Paragraph parTopN = new Paragraph();
              parTopN.add(new Phrase("Now is showing                 ", fTitle3));
              parTopN.add(new Phrase(order, fValue));
              parTopN.add(new Phrase("  ", fValue));
              parTopN.add(new Phrase(new Integer(topN).toString(), fValue));
              parTopN.add(new Phrase("   record(s)", fTitle3));
              // Start main table
              PdfPTable tblMain = new PdfPTable(1);
              tblMain.getDefaultCell().setBorder(0);
              // Print title
              tblMain.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
              tblMain.addCell(new Paragraph(title0, fTitle0));
              tblMain.addCell(new Paragraph(title1, fTitle1));
              tblMain.addCell("");
              tblMain.addCell("");
              tblMain.addCell("");
              // Print headers data
              //tblMain.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
              //tblMain.addCell(parInvoiceNum);
              //tblMain.addCell("");
              tblMain.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
              tblMain.addCell(parStartEnd);
              tblMain.addCell("");
              tblMain.addCell(parGenerateDate);
              tblMain.addCell("");
              if (sex != " ")
                   tblMain.addCell(parGender);
              else if(order != null && topN > 0)
                   tblMain.addCell(parTopN);
              else
                   tblMain.addCell(" \n");
              tblMain.addCell("");
              tblMain.setWidthPercentage(96);
              tblMain.addCell(new Paragraph("Description of this report:", fTitle3));
              tblMain.addCell(desc);
              tblMain.addCell("\n");
              // Finish main table
              return tblMain;
         // print a chart _directly_ to pdf and return a empty Pdftable...
         public PdfPTable printChart(JFreeChart chart, PdfWriter writer)
              PdfContentByte cb = writer.getDirectContent();
              int width = 550;
              int height = 450;
              PdfTemplate tp = cb.createTemplate(width, height);
              Graphics2D g2d = tp.createGraphics(width, height, new DefaultFontMapper());
              Rectangle2D r2d = new Rectangle2D.Double(0, 0, width, height); //->,
              chart.draw(g2d, r2d);
              g2d.dispose();
              cb.addTemplate(tp, 20, 170);
              // quick method to push down the footer text
              // the only things this method return
              PdfPTable tblDownDown = new PdfPTable(1);
              tblDownDown.getDefaultCell().setBorder(0);
              tblDownDown.addCell(" \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n");
              tblDownDown.addCell(" \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n");
              tblDownDown.addCell(" \n \n \n \n \n \n");
              return tblDownDown;
         public PdfPTable getFooter(String notes[])
              Font fNote = FontFactory.getFont("Helvetica", 14, Font.UNDERLINE);
              Font fComment = FontFactory.getFont("Helvetica", 12, Font.ITALIC);
              Font fTitle1 = FontFactory.getFont("Helvetica", 30, Font.ITALIC);
              // Start footer table
              PdfPTable tblFooter = new PdfPTable(1);
              tblFooter.getDefaultCell().setBorder(0);
              if (notes != null)
                   tblFooter.addCell(new Paragraph("Notes:", fNote));
                   tblFooter.addCell("");
                   tblFooter.addCell("");
                   tblFooter.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
                   for (int i=0;i<notes.length;i++)
                        if (notes[i] != null)
                             tblFooter.addCell(new Paragraph("" + (i+1) + ". " + notes[i] + "", fComment));
                             tblFooter.addCell("");
                             tblFooter.addCell("");
                        tblFooter.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
                        tblFooter.addCell(new Paragraph("- End of report -", fComment));
                        return tblFooter;
    }

    Go to the cache directory and see if you can open the report directly from here (not in IE).
    I have seen posts on problems with Acrobat Reader Plugin for IE (I believe it was version 6 of Reader).

Maybe you are looking for

  • Can I have 2 iCloud accounts on an iPad?

    I want to share the use of my iPad with a family member so they can review their photo stream. I still want all of my details to be able to be synced via my iCloud account. How can I get both accounts to work on one iPad?

  • Customising import of DV tapes using Quicktime Pro

    Hi all, I am trying to import a lot of DV tapes onto my Mac (and some other analogue stuffe that I route through the camcorder so it ends up in DV even if it originated from VHS), the ultimate aim is to have the videos available within iTunes so I ca

  • Cyrillic Decoding To Latin

    I have to admit, I'm completely at a loss on this. I thought I understood what I was doing, but I don't. I have a text (htm) file downloaded off the web. When viewed in a browser, it appears with Russian characters. According to the meta-data on the

  • Tasks email notification...

    When I create a task,the tracker and the person to whom the task is assigned should receive an email notification. But the email is not generated. Could someone please tell me what the problem could be? Thanks in advance, Sudha.

  • Is there a choice of 64 bit or 32 bit on Toshiba Recovery?

    Hi everyone, I have just got myself a lovely new Toshiba (now my 3rd) and have the delights of Windows 7 to play with..... Model is Satellite Pro L670-18E Genuine Windows 7 Home Premium 64-bit (pre-installed, Toshiba-HDD recovery) 64 bit was pre-inst