APEX4: How to create a report whose data is based on user input date fields

Using Apex 4 I've to create a report that allows the user to input two date and shows a report between the date range.
How can I do this?
Thank you.

This has nothing to do with apex 4.0. If you create a report using this query:
SELECT *
  FROM emp
WHERE hiredate BETWEEN NVL (TO_DATE (:p1_date_from, 'mm/dd/yyyy'), hiredate)
                    AND NVL (TO_DATE (:p1_date_to, 'mm/dd/yyyy'), hiredate)and create two date picker items with names P1_DATE_FROM and P1_DATE_TO (take care of using the right date format), your report will show all records by default and those that match after you fill in the date items.
Denes Kubicek
http://deneskubicek.blogspot.com/
http://www.opal-consulting.de/training
http://apex.oracle.com/pls/otn/f?p=31517:1
http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
-------------------------------------------------------------------

Similar Messages

  • How to create a report in Form line Style and can display Image field?

    Hi,
    In Report builder 10g, I would like to create a Report with Form Line Style and this report included a Image field.
    I can choose this Style only when Select Report type is Paper Layout. Because, If I choose Create both Web & Paper Layout or Create Web Layout only then in the next Style tab 03 option Form, Form letter and Mailing Label be Disabled.
    But in Paper Layout, my report can not display Image field.
    I tried with Web layout and all the other Styles (Except 03 mentioned be Disabled) then all Styles are displayed Imager field OK.
    How to create a report in Form line Style and can display Image field?
    I was change File Format property of my Image field from text to Image already in Property Inspector. But report only showed MM for my Image field.
    Thanks & regards,
    BACH
    Message was edited by:
    bachnp

    Here you go..Just follow these steps blindly and you are done.
    1) Create a year prompt with presentation variable as pv_year
    2) Create a report say Mid report with year column selected 3 times
    - Put a filter of pv_year presentation variable on first year column with a default value say @{pv_year}{2008}
    - Rename the second time column say YEAR+1 and change the fx to CAST(TIME_DIM."YEAR" AS INT)+1
    - Rename the second time column say YEAR-1 and change the fx to CAST(TIME_DIM."YEAR" AS INT)-1
    Now when you will run Mid Report, this will give you a records with value as 2008 2009 2007
    3) Create your main report with criteria as Year and Measure col
    - Change the fx for year column as CAST(TIME_DIM."YEAR" AS INT)
    - Now put a filter on year column with Filter based on results of another request and select these:
    Relationship = greater than or equal to any
    Saved Request = Browse Mid Report
    Use values in Column = YEAR-1
    - Again,put a filter on year column with Filter based on results of another request and select these:
    Relationship = less than or equal to any
    Saved Request = Browse Mid Report (incase it doesn't allow you to select then select any other request first and then select Mid Report)
    Use values in Column = YEAR+1
    This will select Year > = 2007 AND Year < = 2009. Hence the results will be for year 2007,2008,2009
    This will 100% work...
    http://i56.tinypic.com/wqosgw.jpg
    Cheers

  • How to create SecretKey for AES 128 Encryption based on user's password??

    I have written a below program to encrypt a file with AES 128 algorithm. This code works fine. It does encrypt and decrypt file successfully..
    Here in this code I am generating SecretKey in the main() method with the use of key generator. But can anybody please tell me how can I generate SecretKey based on user's password?
    Thanks in Advance,
    Jenish
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.ObjectOutputStream;
    import java.io.ObjectInputStream;
    import javax.crypto.Cipher;
    import javax.crypto.SecretKey;
    import javax.crypto.spec.IvParameterSpec;
    import javax.crypto.CipherInputStream;
    import javax.crypto.CipherOutputStream;
    import javax.crypto.KeyGenerator;
    import java.security.spec.AlgorithmParameterSpec;
    public class AESEncrypter
         Cipher ecipher;
         Cipher dcipher;
         public AESEncrypter(SecretKey key)
              // Create an 8-byte initialization vector
              byte[] iv = new byte[]
                   0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
              AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv);
              try
                   ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
                   dcipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
                   // CBC requires an initialization vector
                   ecipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
                   dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
              catch (Exception e)
                   e.printStackTrace();
         // Buffer used to transport the bytes from one stream to another
         byte[] buf = new byte[1024];
         public void encrypt(InputStream in, OutputStream out)
              try
                   // Bytes written to out will be encrypted
                   out = new CipherOutputStream(out, ecipher);
                   // Read in the cleartext bytes and write to out to encrypt
                   int numRead = 0;
                   while ((numRead = in.read(buf)) >= 0)
                        out.write(buf, 0, numRead);
                   out.close();
              catch (java.io.IOException e)
         public void decrypt(InputStream in, OutputStream out)
              try
                   // Bytes read from in will be decrypted
                   in = new CipherInputStream(in, dcipher);
                   // Read in the decrypted bytes and write the cleartext to out
                   int numRead = 0;
                   while ((numRead = in.read(buf)) >= 0)
                        out.write(buf, 0, numRead);
                   out.close();
              catch (java.io.IOException e)
         public static void main(String args[])
              try
                   // Generate a temporary key. In practice, you would save this key.
                   // See also e464 Encrypting with DES Using a Pass Phrase.
                   KeyGenerator     kgen     =     KeyGenerator.getInstance("AES");
                   kgen.init(128);
                   SecretKey key               =     kgen.generateKey();
                   // Create encrypter/decrypter class
                   AESEncrypter encrypter = new AESEncrypter(key);
                   // Encrypt
                   encrypter.encrypt(new FileInputStream("E:\\keeper.txt"),new FileOutputStream("E:\\Encrypted.txt"));
                   // Decrypt
                   encrypter.decrypt(new FileInputStream("E:\\keeper.txt"),new FileOutputStream("E:\\Decrypted.txt"));
              catch (Exception e)
                   e.printStackTrace();
    }

    sabre150 wrote:
    [PKCS12|http://www.rsa.com/rsalabs/node.asp?id=2138]
    [PKCS5|http://www.rsa.com/rsalabs/node.asp?id=2127] , no?
    In Java, you can use the [Password-based encryption PBE Cipher classes|http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#PBEEx] . I think you'll need the bouncycastle provider to get AES-based PBE ciphers.

  • How to create a type of 'alarm event' based on acquired sensor data and system time?

    Hello all,
    I'm fairly new to LabVIEW and have successfully created a VI that reads voltage data from sensors.  Each sensor outputs 2 voltage values and I treat these values as 2 different DBL values.  I'd like to be able to record each voltage value as a base and then compare the subsequent data readings with that base.  Once the base is determined, I'd like a sort of 'variable' set as "TIME" to be recorded at the moment the base voltage is recorded.
    The alarm should occur (or anything Boolean set to TRUE I guess) once the continuously read voltage remains within certain limits for about 2 hours.  I know I can compare the system time w/ the "TIME" that the voltage base value was recorded.  If the voltage readings escape those limits, I'd like the voltage base value reset and the TIME set to the corresponding system time again.
    I apologize in advance if this I haven't' described my problem well, but if anyone could help me figure out the best way to create this code, I would appreciate it much!
    Thanks!
    Solved!
    Go to Solution.

    ill try to illustrate a couple scenarios:
    keep in mind that i dont necessarily want the voltages in these specific ranges, but just a range of +/- 20 mV ... in an above post i refer to a "base" voltage reading, in this case that would be 200 mV for V1 and 400 mV for V2, just because the voltage has shifted to those values for an extended amount of time each (> 2 seconds)
    Scenario 1
    1:00 pm
    Sensor readings
    Voltage 1: 200 mV
    Voltage 2: 400 mV
    between 1:00 and 3:00 pm:
    Voltage 1 does not deviate from 180-220 mV range
    Voltage 2 does not deviate from 380-420 mV range
    at 3:00pm I want an alert/alarm/Boolean to change to 'true'
    Scenario 2
    1:00 pm
    Sensor readings
    Voltage 1: 200 mV
    Voltage 2: 400 mV
    at 1:45 pm:
    Voltage 1: 2 mV
    Voltage 2: 600 mV
    Since the voltage has shifted out of the range, i want the new base voltage to equal whatever it changed to out of the range, and also the time spent within the new range (2 +/- 20 mV and 600 +/- 20 mV, respectively for V1 and V2) would be reset, so a new 2-hour counter would begin

  • Custom Exit to count No: of Employee based on User Input Date

    Hi There,
    I have a requirement to Count the no: of Employees for each Position Id. This count value changes with time (Time-dependent).
    So, when the user Keys-in a date at the Query Execution-Prompt, it should take the date value and then count the no: of employees for each Position Id.
    Next, it should display text  like If Count = 1    "Single"
                                                      If Count =2     "Double"
                                                      If Count >=3   "Triple"
    I was informed that we should create a Calculated Key Figure and then introduce a variable in it with Replacement path as Customer Exit.
    My Question is: Could any one provide me the logic to implement the Customer Exit for above requirement. I kow that I need to implement this is BI ABAP editor as Include file.
    Further, I referred following Forums links. However, I need more information.
    counting the number of rows.
    Customer Exit Variable Code
    Any Suggestions!
    - Anil

    Hi,
    As I understood, first thing you may not have text for a key figure (will not be able to display "Single", "Doüble" etc..)
    Are you doing reporting on master data or cube?.
    If it is a master data the it will be better to include count at staging level. You just need to include one key figure count as an attribute and assign 1 over there. You may usee this key figure directly in report.
    If it is one cube/DSO then just create one CKF assign value as 1 in report in that. Use Exception aggrigation for this CKF reffering Position id in report. Dipslay this key figure.
    I hope it will help.
    Thanks,
    S

  • How to create a report in bex based on last data loaded in cube?

    I have to create a query with predefined filter based upon "Latest SAP date" i.e. user only want to see the very latest situation from the last load. The report should only show the latest inventory stock situation from the last load. As I'm new to Bex not able to find the way how to achieve this. Is there any time characteristic which hold the last update date of a cube? Please help and suggest how to achieve the same.
    Thanks in advance.

    Hi Rajesh.
    Thnx fr ur suggestion.
    My requirement is little different. I build the query based upon a multiprovider. And I want to see the latest record in the report based upon only the latest date(not sys date) when data load to the cube last. This date (when the cube last loaded with the data) is not populating from any data source. I guess I have to add "0TCT_VC11" cube to my multiprovider to fetch the date when my cube is last loaded with data. Please correct me if I'm wrong.
    Thanx in advance.

  • How to create a report based on a DataSet programatically

    I'm working on a CR 2008 Add-in.
    Usage of this add-in is: Let the user choose from a list of predefined datasets, and create a totally empty report with this dataset attached to is. So the user can create a report based on this dataset.
    I have a dataset in memory, and want to create a new report in cr2008.
    The new report is a blank report (with no connection information).
    If I set the ReportDocument.SetDataSource(Dataset dataSet) property, I get the error:
    The report has no tables.
    So I must programmatically define the table definition in my blank report.
    I found the following article: https://boc.sdn.sap.com/node/869, and came up with something like this:
    internal class NewReportWorker : Worker
          public NewReportWorker(string reportFileName)
             : base(reportFileName)
    public override void Process()
             DatabaseController databaseController = ClientDoc.DatabaseController;
             Table table = new Table();
             string tabelName = "Table140";
             table.Name = tabelName;
             table.Alias = tabelName;
             table.QualifiedName = tabelName;
             table.Description = tabelName;
             var fields = new Fields();
             var dbField = new DBField();
             var fieldName = "ID";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             dbField = new DBField();
             fieldName = "IDLEGITIMATIEBEWIJS";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             // More code for more tables to add.
             table.DataFields = fields;
             //CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo info =
             //   new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
             //info.Attributes.Add("Databse DLL", "xxx.dll");
             //table.ConnectionInfo = info;
             // Here an error occurs.
             databaseController.AddTable(table, null);
             ReportDoc.SetDataSource( [MyFilledDataSet] );
             //object path = @"d:\logfiles\";
             //ClientDoc.SaveAs("test.rpt", ref path, 0);
    The object ClientDoc referes to a ISCDReportClientDocument in a base class:
       internal abstract class Worker
          private ReportDocument _ReportDoc;
          private ISCDReportClientDocument _ClientDoc;
          private string _ReportFileName;
          public Worker(string reportFileName)
             _ReportFileName = reportFileName;
             _ReportDoc = new ReportDocument();
             // Load the report from file path passed by the designer.
             _ReportDoc.Load(reportFileName);
             // Create a RAS Document through In-Proc RAS through the RPTDoc.
             _ClientDoc = _ReportDoc.ReportClientDocument;
          public string ReportFileName
             get
                return _ReportFileName;
          public ReportDocument ReportDoc
             get
                return _ReportDoc;
          public ISCDReportClientDocument ClientDoc
             get
                return _ClientDoc;
    But I get an "Unspecified error" on the line databaseController.AddTable(table, null);
    What am i doing wrong? Or is there another way to create a new report based on a DataSet in C# code?

    Hi,
    Have a look at the snippet code below written for version 9 that you might accommodate to CR 2008, it demonstrates how to create a report based on a DataSet programmatically.
    //=========================================================================
    +           * the following two string values can be modified to reflect your system+
    +          ************************************************************************************************/+
    +          string mdb_path = "C:
    program files
    crystal decisions
    crystal reports 9
    samples
    en
    databases
    xtreme.mdb";    // path to xtreme.mdb file+
    +          string xsd_path = "C:
    Crystal
    rasnet
    ras9_csharp_win_datasetreport
    customer.xsd";  // path to customer schema file+
    +          // Dataset+
    +          OleDbConnection m_connection;                         // ado.net connection+
    +          OleDbDataAdapter m_adapter;                              // ado.net adapter+
    +          System.Data.DataSet m_dataset;                         // ado.net dataset+
    +          // CR variables+
    +          ReportClientDocument m_crReportDocument;          // report client document+
    +          Field m_crFieldCustomer;+
    +          Field m_crFieldCountry;+
    +          void CreateData()+
    +          {+
    +               // Create OLEDB connection+
    +               m_connection = new OleDbConnection();+
    +               m_connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdb_path;+
    +               // Create Data Adapter+
    +               m_adapter = new OleDbDataAdapter("select * from Customer where Country='Canada'", m_connection);+
    +               // create dataset and fill+
    +               m_dataset = new System.Data.DataSet();+
    +               m_adapter.Fill(m_dataset, "Customer");+
    +               // create a schema file+
    +               m_dataset.WriteXmlSchema(xsd_path);+
    +          }+
    +          // Adds a DataSource using dataset. Since this does not require intermediate schema file, this method+
    +          // will work in a distributed environment where you have IIS box on server A and RAS Server on server B.+
    +          void AddDataSourceUsingDataSet(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               // add a datasource+
    +               DataSetConverter.AddDataSource(rcDoc, data);+
    +          }+
    +          // Adds a DataSource using a physical schema file. This method require you to have schema file in RAS Server+
    +          // box (NOT ON SDK BOX). In distributed environment where you have IIS on server A and RAS on server B,+
    +          // and you execute CreateData above, schema file is created in IIS box, and this method will fail, because+
    +          // RAS server cannot see that schema file on its local machine. In such environment, you must use method+
    +          // above.+
    +          void AddDataSourceUsingSchemaFile(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               string schema_file_name,          // xml schema file location+
    +               string table_name,                    // table to be added+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               PropertyBag crLogonInfo;               // logon info+
    +               PropertyBag crAttributes;               // logon attributes+
    +               ConnectionInfo crConnectionInfo;     // connection info+
    +               CrystalDecisions.ReportAppServer.DataDefModel.Table crTable;+
    +               // database table+
    +               // create logon property+
    +               crLogonInfo = new PropertyBag();+
    +               crLogonInfo["XML File Path"] = schema_file_name;+
    +               // create logon attributes+
    +               crAttributes = new PropertyBag();+
    +               crAttributes["Database DLL"] = "crdb_adoplus.dll";+
    +               crAttributes["QE_DatabaseType"] = "ADO.NET (XML)";+
    +               crAttributes["QE_ServerDescription"] = "NewDataSet";+
    +               crAttributes["QE_SQLDB"] = true;+
    +               crAttributes["QE_LogonProperties"] = crLogonInfo;+
    +               // create connection info+
    +               crConnectionInfo = new ConnectionInfo();+
    +               crConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;+
    +               crConnectionInfo.Attributes = crAttributes;+
    +               // create a table+
    +               crTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();+
    +               crTable.ConnectionInfo = crConnectionInfo;+
    +               crTable.Name = table_name;+
    +               crTable.Alias = table_name;+
    +               // add a table+
    +               rcDoc.DatabaseController.AddTable(crTable, null);+
    +               // pass dataset+
    +               rcDoc.DatabaseController.SetDataSource(DataSetConverter.Convert(data), table_name, table_name);+
    +          }+
    +          void CreateReport()+
    +          {+
    +               int iField;+
    +               // create ado.net dataset+
    +               CreateData();+
    +               // create report client document+
    +               m_crReportDocument = new ReportClientDocument();+
    +               m_crReportDocument.ReportAppServer = "127.0.0.1";+
    +               // new report document+
    +               m_crReportDocument.New();+
    +               // add a datasource using a schema file+
    +               // note that if you have distributed environment, you should use AddDataSourceUsingDataSet method instead.+
    +               // for more information, refer to comments on these methods.+
    +               AddDataSourceUsingSchemaFile(m_crReportDocument, xsd_path, "Customer", m_dataset);+
    +                              +
    +               // get Customer Name and Country fields+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Customer Name", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCustomer = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Country", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCountry = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               // add Customer Name and Country fields+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCustomer);+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCountry);+
    +               // view report+
    +               crystalReportViewer1.ReportSource = m_crReportDocument;+
    +          }+
    +          public Form1()+
    +          {+
    +               //+
    +               // Required for Windows Form Designer support+
    +               //+
    +               InitializeComponent();+
    +               // Create Report+
    +               CreateReport();+
    +               //+
    +               // TODO: Add any constructor code after InitializeComponent call+
    +               //+
    +          }+//=========================================================================

  • How to create a report of users in ucm about their roles and permission

    Hi All ,
    I need to create a report and it should contain all the users in ucm as well as their roles and permissions. Basically the report would be for the admin who can see all the users in a single report and can know about the roles and access of each and every users.
    How to create such report ?? I have tried from web layuot editor but the default report template i.e stdUserReport in user datasource does not contain more than three fields..Is there any method to get such kind of report???
    Please suggest!!

    There was an example component to demonstrate this kind of function. Under Stellent in version 7.5
    I do not know if they hand it out anymore but it is not on the standard samples page for Oracle. You may want to open a Support SR to ask for it. It should still be around in their servers if they can get permission to hand it out as a sample again.
    Sample CustomReports component to demonstrate how to create customized reports
    CustomReportsBundle.zip
    Date:     October 30, 2006
    Sample Version:     version=2006_10_20 (build 1)
    Product and Version:     Content Server
    Sample Status:     This is a Stellent Sample. Stellent Samples are free and include non-supported add-ons, utilities, tutorials or programming examples. It may require additional configuration or security auditing for maximum effect. It is not supported by Stellent without a consulting engagement.

  • How to create a Report from WebDympro

    Hi All,
    I just want to know how I can create a report from WebDynpro? I need to pull data from R/3 using a RFC function module, but I don't know if it exists a software to create reports.
    Thanks in advance
    Alexis Ramirez

    Hi Rich,
    Even i had a similar kind of problem. I wanted to fetch data from BI through the XMLA Connector which are created in Query Designer and then i wanted to fetch these fields and rearrange them and put it in a report format by colouring certain fields. Can the same can be done in WebDynpro.

  • How to created a Report to calculate On-Hand inventory for pending sales

    hi,
        how to  created a Report to calculate On-Hand inventory for pending sales orders.for this report what are the tables and fields we have to use give me sample report.
    thank you
    radhakrishna.

    Hi!
    Tables:
    VBAK - sales order header data
    VBAP - sales order position data
    VBUK - sales order status header data
    VBUP - sales order status position data
    VBELN field is the key between the tables.
    Statuses in tables VBUK, VBUP: A-uncompleted, B-partially completed, C-fully completed
    Regards
    Tamá

  • How to create  a report in business explorer?

    Hi All,
        how to create a report in business explorer after creating the information spaces   then how to operate the exploration view sets please if anyone knows can you explain me step by step...
    Thanks...

    what exactly you want to do tell me
    1.in business explorer
    or you want to create a webi
    or you want to see the data in business explorer

  • How to create custom report plugin using child region report metadata

    Hi,
    I want to ask for help on how to create custom report plugin using child region report metadata. My idea is to create a child region, a classic report and set the condition to never.
    Then i will query the child report metadata from apex view and use it to create a custom report like using jquery jq-grid. Any idea how i can create a process that will use the child report
    metadata? I dont know how i can create a process just like how apex work, how apex render report, coz i want it to be control using the standard apex report attribute. This plugin will
    render according to the child report attribute.
    Is there anybody here had ever done this?

    Hi Nicolette,
    Thanks for the reply. I know where to find the metadata, just asking for idea on how the rendering process will be.
    Start from determining column heading, column order until finish rendering the report. The same way how apex
    render the classic report.
    Previously this imy my rendering process:
    FUNCTION GETCOLUMN(P_REGION IN APEX_PLUGIN.T_REGION,
                         P_PLUGIN IN APEX_PLUGIN.T_PLUGIN,
                         P_VALUE  IN VARCHAR2) RETURN SYS.DBMS_SQL.DESC_TAB2 IS
        VSQLHANDLER     APEX_PLUGIN_UTIL.T_SQL_HANDLER;
        VCOLCOUNT       NUMBER;
        VCOLNAMES       VARCHAR2(2000);
        VAJAXIDENTIFIER VARCHAR2(100);
        VPAGESIZE       TYPEATTR := P_REGION.ATTRIBUTE_04;
        VJSCODE         VARCHAR2(32767);
      BEGIN
        VSQLHANDLER := APEX_PLUGIN_UTIL.GET_SQL_HANDLER(P_SQL_STATEMENT  => 'select * from s_emp',
                                                        P_MIN_COLUMNS    => 1,
                                                        P_MAX_COLUMNS    => 999,
                                                        P_COMPONENT_NAME => P_REGION.ID);
        VCOLCOUNT := VSQLHANDLER.COLUMN_LIST.COUNT();
        FOR I IN 1 .. VCOLCOUNT LOOP
          VCOLNAMES := VCOLNAMES || '{name: "' ||
                       UPPER(VSQLHANDLER.COLUMN_LIST(I).COL_NAME) || '",';
        END LOOP;
        APEX_PLUGIN_UTIL.FREE_SQL_HANDLER(VSQLHANDLER);
        RETURN VSQLHANDLER.COLUMN_LIST;
      EXCEPTION
        WHEN OTHERS THEN
          APEX_PLUGIN_UTIL.FREE_SQL_HANDLER(VSQLHANDLER);
          RAISE;
      END GETCOLUMN;
    So this is how i get the header for my report plugin. The same method is use to get the value / data for each column. This process is work. So now
    i want to extend my plugin so that i will use all attributes from the child report to render my plugin. So the column header, column order, all will depend
    on the child report. And the column display condition is set, it will also check the condition before render the column. Sounds like i want to reinvent
    the normal apex rendering process but this is what i want to achieve.
    I need help to find the correct logic for my render process. Don't want too much for starting, just want to render the plugin correctly, same with child report,
    same columns alias, column ordering and column  conditional display.
    Thanks,
    akulala

  • How to create custom reports.

    Hi ,
    Could you please let us know how to create custom reports which are data based and not analytics. Which is the best method , is it to devlop reports in sites or integrate with OBIEE reports. could you please let us know the best practices for this approach.
    Thank you,
    Sashank P.

    Hi Jiri ,
    Thanks a lot for your support. Below are my answers for the request:
    1) what data you want to report on? Is it data from a database? file system? Web service outputs?
    Ans : The Data would be mostly from Database only.
    2) what is the overall purpose of your solution?
    Ans: The overall purpose of this solution is to generate reports with sorting capability and should be able to export in different format documents.
    3) what is your architecture?
    Ans :
    4) why Sites?
    Ans: The customers login into our site and can be able to view the different reports and the present site is already a webcenter site. and the reporting capability is an enhancement .
    Can you please provide the right approach here. We have an option of using ADF or even we can use Webcenter Portals. So which would be the best approach to go. And can you please guide us any approach or examples for integrating Webcenter Portals and Sites and even integrating ADf with Sites.
    Thank you,
    Sashank P.

  • How to create a report  based on selected item from Select list?

    Hi,
    I have created a tables_LOV based on:
    select table_name d, table_name r from user_tab_cols
    where column_name like '%_type%'
    Then I created a page item ListOfTables,  Display as select list and pointing to tables_LOV.
    I run the page, and i can select the table i want from the drop down list.
    How to create a report  based on the selected item? (ex: select * from selected_table)
    many thanks in advance
    Salah

    Hi Salah,
    Allright, have a look at this page: http://apex.oracle.com/pls/apex/f?p=vincentdeelen:collection_report
    I think that simulates what you're trying to accomplish. I've set up the simplest method I could think of.
    The report is based on an apex collection. If you are not familiar with that, you should study the documentation: APEX_COLLECTION
    To recreate my example you should:
    1) create an (interactive) report on your collection
    SELECT *
       FROM APEX_collections
    WHERE collection_name = 'MY_COLLECTION'
    2) create a page_item select list for the tables you want to display (in my case this is called "P38_TABLES" )
    3) create a dynamic action that triggers on change of your select list page_item. The dynamic action must be a PL/SQL procedure perfoming the following code:
    declare
      l_query varchar2(4000);
    begin
      l_query := 'select * from '||:P38_TABLES;
      if apex_collection.collection_exists
            ( p_collection_name => 'MY_COLLECTION' )
      then
        apex_collection.delete_collection
          ( p_collection_name => 'MY_COLLECTION' );
      end if;
      apex_collection.create_collection_from_query
        ( p_collection_name => 'MY_COLLECTION'
        , p_query           => l_query
    end;
    Make sure you add your page_item to the "Page Items to Submit" section.
    4) Add an extra true action that does a refresh of the report region.
    Here are two pictures describing the da:
    http://www.vincentdeelen.com/images/otn/OTN_COLLECTION_REPORT_DA1.png
    http://www.vincentdeelen.com/images/otn/OTN_COLLECTION_REPORT_DA2.png
    Good luck and regards,
    Vincent
    http://vincentdeelen.blogspot.com

  • How to create interactive report in SQ01

    HAI EVERY ONE,
    Can any one help me,
    how to create interactive report using SQ01,SQ02,SQ03.
    Plz explain me in details. I dont want simple report. I want to generate interactive report using SQ01. Is it possible how?
    I will give u good points if it is useful.
    Thanks and Regards,
    V.Vamsi

    Hai,
    When u create simple report using sq01 it  display basiclist,Rankedlist,statistics,output sequence.
    When u will use this options. That why i am asking. Actually basic list means simple report.
    What about rankedlist,Statistics and outputsequence. Plz explain these things.
    Thanks and Regards,
    V.Vamsi

Maybe you are looking for