!!!urgent:pass whole query to reports builder

i have a query in jsp(Java Server Pages) i.e
var whereSession = "<%=session.getAttribute("whereClause")%>";
the query is contained in the whereSession variable;
select t1.document_id,
t1.document_name,
t2.file_nr,
t.folder_owner,
t.folder_name,
(initcap(t4.firstname) || ' ' || initcap(t4.surname)) author,
t7.name company,
t8.fy_short_name fy
from ai_library_folder t,
ai_document t1,
ai_document_type t2,
sa_dba.sa_employee t3,
sa_dba.sa_person t4,
sa_dba.sa_user t5,
ai_library_type t6,
sa_dba.sa_company t7,
sa_dba.sa_fiscal_year t8
where t3.id = t5.employee_id and t4.id = t3.person_id and
t5.id = t1.created_by and t1.folder_id = t.folder_id and
t2.id = t1.doc_type_id and t6.id = t.library_type_id and
t7.fy = t8.id and t7.id = 1 and t7.fy = 5 and t.folder_id = 7
order by t1.document_id
this query above only changes in the where clause as i append other links columns to it,so the problem i'm send the whole query as a session to reports builder,i'm using a lexical parameter for the 'where' statement..."my questions how i handle the whole query above to generate this report without altering it in the jsp as i have already design the report on the stardand that i do not append anything to it....hope this makes sense."

i have a query in jsp(Java Server Pages) i.e
var whereSession = "<%=session.getAttribute("whereClause")%>";
the query is contained in the whereSession variable;
select t1.document_id,
t1.document_name,
t2.file_nr,
t.folder_owner,
t.folder_name,
(initcap(t4.firstname) || ' ' || initcap(t4.surname)) author,
t7.name company,
t8.fy_short_name fy
from ai_library_folder t,
ai_document t1,
ai_document_type t2,
sa_dba.sa_employee t3,
sa_dba.sa_person t4,
sa_dba.sa_user t5,
ai_library_type t6,
sa_dba.sa_company t7,
sa_dba.sa_fiscal_year t8
where t3.id = t5.employee_id and t4.id = t3.person_id and
t5.id = t1.created_by and t1.folder_id = t.folder_id and
t2.id = t1.doc_type_id and t6.id = t.library_type_id and
t7.fy = t8.id and t7.id = 1 and t7.fy = 5 and t.folder_id = 7
order by t1.document_id
this query above only changes in the where clause as i append other links columns to it,so the problem i'm send the whole query as a session to reports builder,i'm using a lexical parameter for the 'where' statement..."my questions how i handle the whole query above to generate this report without altering it in the jsp as i have already design the report on the stardand that i do not append anything to it....hope this makes sense."

Similar Messages

  • Add subquery to main query in Report Builder 6i

    Usually, when you add a subquery to an existing query in a report, you'll see the query in data model marked by a paper clip icon with a forward slash across it (means "Subquery Inside"). All current field names in current query (except CF and CS) will have a '1' appended after it (CF and CS fields are not affected), but in your sql, the column names stay the same. So there is an out-of-sync situation with the column names.
    To fix this:
    1) before change anything, back up old report somewhere else
    2) copy the original query somewhere else as backup
    3) open the query in Report Builder
    4) wipe out the query, replace it by "select 1 from dual" to reset it and press ok.
    5) replace "select 1 from dual" with your new query with an embedded subquery.
    6) All field names will be without the '1' appendix.
    7) check all the CS fields, the source should be reset to null. Redefine the CS fields using backed up report as reference. CF fields are not affected.
    8) move the fields and restore the break orders according to backed up report.
    9) Recompile whole report.
    10) save report again and you're done.
    Maybe you don't need this in the latest version of Report Builder, but in 6i, this is what I do.

    If you use aliases for your item names in your original query you avoid this problem....
    eg
    Select field1 item1, field2 item2 from table.....
    item 1 and item2 will stay in your layout between query changes.
    D

  • Dynamic Query in Report Builder

    HI
    I have a doubt:
    I need to receive a parameter in my report and I need this parameter in the query, that means, I need to create a dynamic query depending on the value that I receive in one of the parameters that has my report.
    I tried to use the resource of Searching by Reference Cursor tool, it is a blue circle in the Data Model View of Report Builder.
    When I click this tool, I have an initial code, It is:
    function QR_1RefCurDS return <RefCurType> is
    begin
    end;
    In PL/SQL I tried to create to test and to play, this code:
    Note: If you want to try only to test, it is simple and works:
    create or replace package TEST_REFCURTYPE as
    type refcurtype is ref cursor;
    function TEST_REFCURTYPE (P_DATE_TO nvarchar2) return refcurtype;
    end;
    create or replace package body TEST_REFCURTYPE as
    function TEST_REFCURTYPE (P_DATE_TO nvarchar2)
    return refcurtype is
    refcur refcurtype;
    mysql varchar(1000);
    begin
    If P_DATE_TO is not null then
    mysql := 'select '''|| P_DATE_TO ||''' from dual';
    else
    mysql := 'select sysdate from dual';
    end if;
    open refcur for mysql;
    return refcur;
    end;
    end;
    The problem is to pass this example of code to the function QR_1RefCurDS, I do not have a place to make reference to the type:
    type refcurtype is ref cursor;
    I tested the Unit Program in the Report Builder but it did not work, because all the code I try to write and create, for example in the Event BEFORE REPORT, it opens  Funcion( ) …., and I can not make reference to the type refcurtype inside a Function( ).
    Would you help me please?
    Or there is another way to make a dynamic query in the Report Builder?
    Sorry for my English, I am a Brazilian living in Spain.

    Hi,
    you can use lexical parameters in your queries. Instead of a ":" use in the query before the parameter a "&". Then the parameter stands for a part of the query and not for a value (Bind parameter). In the before report trigger you can set this parameters. They can contain parts of SQL like order or where. Make sure that the default value for this lexical parameters are set to get a valid query.
    SELECT ENAME, &p_column as COL2 FROM EMP &p_order
    and in the trigger something like
    IF :p_which_column = 1 THEN
    :p_column := 'SAL'
    ELSE
    Saludos
    Rainer

  • How do i call a :cp_ or a :cf in a query in reports builder?

    Hi, i got a report.
    i included a function in 1 of my queries in reports builder but the report is running very long now.
    so i tryed to put the function in that query in a :cf (formula column) and call the :cf in my query but its not picking up the value.
    am i missing something?
    or is there another way?
    please help asap.
    thanks....

    in my data model in reports builder :
    i have a main query with about 5 other queries.
    in one of the 5 queries i am getting tax information, which contains unions, i have just pasted one of the unions.
    If you look in this query (in bold) you will see i tried inderting the database function, but it runs too slow.
    then i tried to insert the same function in a cf, and then tried to call the cf in my query, just to get the value (tax_start_date).
    the cf doesn't affect the performance and i can see the value in the xml but cant seem to call the value in my query.
    SELECT distinct decode(pbv.balance_name,'Asset Purchased at Reduced Value', 'General Fringe Benefit',pbv.balance_name) balance_name,
    '(' ||'YTD'||')',
    decode(pbv.effective_date,:effective_date,pbv.effective_date,:effective_date)effective_date,
    pbv.assignment_id,
    pbv.ASSIGNMENT_ACTION_ID,
    pbv.PAYROLL_ACTION_ID,
    sum(pbv.VALUE) value,
    FROM pay_balance_values_africa_v pbv
    WHERE (
    pbv.balance_name = 'Bonus Provision'
    OR pbv.balance_name = 'Non Taxable Subsistence'
    OR pbv.balance_name = 'Taxable Subsistence RFI'
    OR pbv.balance_name = 'Taxable Subsistence NRFI')
    AND pbv.database_item_suffix in ('_ASG_TYTD')
    and pbv.VALUE <> '0'
    and pbv.effective_date = (select max(pbva.effective_date) from pay_balance_values_africa_v pbva--, xxfrgpay_legis_tax_year_v lty
    WHERE --pbva.BUSINESS_GROUP_ID = lty.BUSINESS_GROUP_ID
    pbva.assignment_id = :assignment_id
    and pbva.balance_name = pbv.balance_name
    and pbva.database_item_suffix in ('_ASG_TYTD')
    --  and  pbva.effective_date between '01-MAR-10' and :effective_date-- '31-DEC-2010'
    and  pbva.effective_date between (apps.xxfrg_africa_tax_reg.get_tax_dates(0, null, null, null, pbva.effective_date) ) and :effective_date
    --and  pbva.effective_date between  :cf_tax_start_date and :effective_date*                         )
    and pbv.assignment_id = :assignment_id
    and pbv.business_group_id in (81,84,86,88)
    group by pbv.balance_name,pbv.effective_date,pbv.assignment_id,pbv.ASSIGNMENT_ACTION_ID, pbv.PAYROLL_ACTION_ID
    ORDER BY 2

  • How to pass custom cookie from report builder application to SSRS Custom Security Extension?

    We want to implement SSRS in SaaS model. We implemented Custom Security extension in order to authenticate users from other application. When user enters username/password, i would like to authenticate the user in other application and it will return some data which can be used for autherization. I am expecting the same set of data will be accessible during all autherization calls.
    Currently we are implementing this in Report Builder application. I couldn't able to persist the information in cookie. Report builder removes all the cookies exceprt one cookie which is used by report server.Is there any way to share the information in all reportbuilder autherization calls in same session?

    if you have your own data extension, you can using
    HttpContext.Current.Application.Add("yourkey",
    yourdata);
    to save your data, but the issue I met it the key, I cannot find a key depended on report builder. If I use username, if the user open 2 report builder, both of them will get the same key and same data, but at this case the data should be different.
    I hope it will help you.

  • Retrieve All records and display in Report using CAML query in Report Builder if Parameter value is blank

    Hello Experts,
    i have created a report where i have one parameter field where user will pass parameter(e.g. EmpId). As per parameter record will fetched to report if no parameter is passed then it will display all records. I have done it by taking SqlServer Database as datasource.
    by using Following method
    Now i would like to do it by taking Sharepoint List as Datasource. For that what would be the CAML Query.
    Here is my existing CAML query.
    <RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ListName>Employees</ListName>
      <ViewFields>
        <FieldRef Name="Title" />
        <FieldRef Name="FirstName" />
        <FieldRef Name="LastName" />
        <FieldRef Name="FullName" />
        <FieldRef Name="UserName" />
        <FieldRef Name="Company" />
      </ViewFields>
      <Query>
        <Where>  
    <Eq> 
        <FieldRef Name="Title" />
      <Value Type="Text">    
       <Parameter Name="EmployeeId"/>    
    </Value>
    </Eq>                  
        </Where>
      </Query>
    </RSSharePointList>
    The above code is working if i am passing an employeeId to Parameter. If nothing is passed, it is Not retrieving any record.
    Please suggest
    Thank you
    saroj
    saroj

    Your problem follows the well-established pattern of using an "All" parameter filter in SSRS. There are a few approaches depending on the size of your data. The easiest one is to return all data from CAML and then filter it within SSRS, the following thread
    provides some examples,
    http://stackoverflow.com/questions/18203317/show-all-records-some-records-based-on-parameter-value.
    Other options include passing all of the possible values within the CAML query when "All" is selected, using multiple Report Files to distinguish between both CAML queries, or to use multiple datasets with some logic to show/hide the correct one.
    Dimitri Ayrapetov (MCSE: SharePoint)

  • Most urgent:::: passing parameter list  to reports containing record groups

    hi
    can any one help me , i am getting frm-41214 when i pass a paramter list containing record group as data parameter to run_report_object as parameter, calling report from forms 10g, but when i dont pass the parameter list the report runs displaying no data(as it should do), otherwise it dont run and display the frm-41214
    zulfiqar

    Hi!
    To suppress Oracle Reports native Parameter Form just add:
    add_parameter( pl_id, 'pARAMform', text_parameter, 'NO' );
    Andrew Velichko
    Brainbench MVP for Oracle Developer 2000 http://www.brainbench.com
    null

  • User inputted letters with dynamic fields in Report Builder

    I'm proactively trying to get certain aspects off our hands in IT and more specifically, the way letters are generated through ColdFusion.  Right now we are using activeX controls (with some vbscript and asp pages) through IE to do Word mail merges for letter's for our students.  We would like the user to be able to change these letters by themselves through our web application and have them saved in our database so they can be stored as a future template.
    Now I'm new to Report Builder and have a few examples to show my colleagues, but I'm having troubles being able to dynamically insert the student's name (for example) into the report.
    So basically I have an empty template with a huge dynamic box for the text which reads #param.MessageBody# that comes from a textarea within the cfm page.  That works, but taking it one step further, I want to replace all instances of "%%StudentName%%" within that MessageBody with the actual student's name.
    Since I cannot loop over the report and do my usual ReplaceNoCase(lMessageBody, "%%StudentName%%", Trim(ReportQueryLetters.StudentName), "ALL")>, how can I put this into a built-in function into the report?
    I figured the function needs to be in <cffunction name="BeforeExport"> and while a simple display of the message works perfectly, I cannot get my replace line to work.  I am passing the query to Report Builder instead of having it built-in, is that my problem?!  I would prefer if it was external to save my stored procedures if I can.  Is there any way to call the query to get that line to work?!
    The code inside the cffunction (in report Builder):
    <cfargument name="lTextArea">
    <cfset lTextArea = #form.frmTextArea#>
    <cfset lTextArea = ReplaceNoCase(lTextArea, "%%StudentName%%", Trim(ReportQueryLetters.StudentName), "ALL")>
    <cfreturn lTextArea>
    The error:
    Element STUDENTNAME is undefined in REPORTQUERYLETTERS.           

    Sorry for the late reply, just got back from vacation.
    I don't think you use ReportQueryLetters for the query.  it should be
    query.StudentName
    Also, you can have an intermediate step on the page that receives the
    MessageBody and change the MessageBody before passing it as a parameter to the
    report.

  • Dynamic queries in report builder 6i ( ref cursor query )

    Hi everyone,
    My requirement is that I want to create a report where the query is dynamic. The dynamic part will be known at runtime as it is being passed via a parameter. My query looks like this :
    select * from emp where sal :p1 :p2
    Possible values for :p1 are - '>', '<', '>=', '<=', '=', '!='
    Possible values for :p2 are - any value entered by the user
    I tried creating a query in report builder based on a ref cursor. But it does not allow me to create the query for the ref cursor dynamically. That means I have to hardcode the query in the program.
    I tried using place holder columns without success.
    Can someone please help me ?
    Regards,
    Al

    Hi,
    You can use lexical paramters in the sql query
    x - char - parameter
    select * from emp &x
    you need to pass the value for x in the parameter as
    'where sal < 1234'.
    Note : Lexical variable should be of char datatype.
    This is an alternative to the ref cursors.
    This works. Hope this is clear.

  • Main Query modification result Report builder crash [Solved]

    Hi,
    I want to modify main Query of report builder because (it shows two columns which are not generated by query and when I run report it raises error that columns not found) but when I modify the query it result in report builder crash, plz give me any solution, I had experience same issue a month ago and I created new query with all formula columns but this time I have too much CF and CP columns is there any way to drop it from one group to another.
    Thanks and Regards, Khawar.
    Details:
    OS windows XP/2000
    Report Builder 10.1.2.0.2
    ORACLE Server Release 10.1.0.4.2
    Oracle Procedure Builder 10.1.2.0.2
    Oracle ORACLE PL/SQL V10.1.0.4.2 - Production
    Oracle CORE     10.1.0.4.0     Production
    Oracle Tools Integration Services 10.1.2.0.2
    Oracle Tools Common Area 10.1.2.0.2
    Oracle Toolkit 2 for Windows 32-bit platforms 10.1.2.0.2
    Resource Object Store 10.1.2.0.2
    Oracle Help 10.1.2.0.2
    Oracle Sqlmgr 10.1.2.0.2
    Oracle Query Builder 10.1.2.0.2 - Production
    PL/SQL Editor (c) WinMain Software (www.winmain.com), v1.0 (Production)
    Oracle ZRC 10.1.2.0.2
    Oracle XML Developers Kit 10.1.0.4.2 - Production
    Oracle Virtual Graphics System 10.1.2.0.2
    Oracle Image 10.1.2.0.2
    Oracle Multimedia Widget 10.1.2.0.2
    Oracle Tools GUI Utilities 10.1.2.0.2
    Message was edited by:
    S. Khawar

    Hi,
    I saved the report in JSP format and did the required change and it works great.
    Regards, Khawar.

  • Report Builder Wizard and Parameter Creation with values from other data source e.g. data set or views for non-IT users or Business Analysts

    Hi,
    "Report Builder is a report authoring environment for business users who prefer to work in the Microsoft Office environment.
    You work with one report at a time. You can modify a published report directly from a report server. You can quickly build a report by adding items from the Report Part Gallery provided by report designers from your organization." - As mentioned
    on TechNet. 
    I wonder how a non-technical business analyst can use Report Builder 3 to create ad-hoc reports/analysis with list of parameters based on other data sets.
    Do they need to learn TSQL or how to add and link parameter in Report Builder? then How they can add parameter into a report. Not sure what i am missing from whole idea behind Report builder then?
    I have SQL Server 2012 STD and Report Builder 3.0  and want to train non-technical users to create reports as per their need without asking to IT department.
    Everything seems simple and working except parameters with list of values e.g. Sales year List, Sales Month List, Gender etc. etc.
    So how they can configure parameters based on Other data sets?
    Workaround in my mind is to create a report with most of columns and add most frequent parameters based on other data sets and then non-technical user modify that report according to their needs but that way its still restricting users to
    a set of defined reports?
    I want functionality like "Excel Power view parameters" into report builder which is driven from source data and which is only available Excel 2013 onward which most of people don't have yet.
    So how to use Report Builder. Any other thoughts or workaround or guide me the purpose of Report Builder, please let me know. 
    Many thanks and Kind Regards,
    For quick review of new features, try virtual labs: http://msdn.microsoft.com/en-us/aa570323

    Hi Asam,
    If we want to create a parameter depend on another dataset, we can additional create or add the dataset, embedded or shared, that has a query that contains query variables. Then use the option that “Get values from a
    query” to get available values. For more details, please see:http://msdn.microsoft.com/en-us/library/dd283107.aspx
    http://msdn.microsoft.com/en-us/library/dd220464.aspx
    As to the Report Builder features, we can refer to the following articles:http://technet.microsoft.com/en-us/library/hh213578.aspx
    http://technet.microsoft.com/en-us/library/hh965699.aspx
    Hope this helps.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Comma separated output using report builder

    Hi Experts,
    I am working with EBS 11.5.10, database 9i, and report builder 6i. I have a XML Publisher report, with output type EXCEL, which is working fine. But if i get huge data like 1million, 2million, it's not able accommodate the output in EXCEL. Since it's EXCEL 2003, it can't handle data more than it's capacity(i think 60,000 rows).
    So we thought, if we can generate the output in CSV file with comma separte, then we can open the file in EXCEL 2007. Could somebody help me how to generate the CSV output using report builder 6i.
    or is there any work around to our problem, kindly help me, it's urgent.

    Hi,
    Not sure if report builder can be made to generate csv output.
    But you can create a PLSQL Report. Just use the query of Report Builder and write a Plsql procedure based on this query
    -Idris

  • Report Builder SQL Queries - Convert CN to clear text

    I am trying to customize a query in Report Builder to message values as they are delivered, and running into value expression errors.
    My query returns data from the AD Computer Object "managedBy" field. The problem is that this field returns data in the format of:
    CN=Security Group Name,OU=blah,OU=blah,DC=stuff,DC=com etc
    I am trying to get it to return just the "Security Group" value which is much more useful. I found this great article which almost works for me: https://social.technet.microsoft.com/forums/systemcenter/en-US/6610d238-72f2-4e75-a0cc-e1383dd8e94b/ad-system-discovery-convert-cn-to-clear-text
    However, once I try to save the report in Report Builder I get:
    System.Web.Services.Protocols.SoapException: The Value expression for the text box ‘managedBy0’ refers to the field ‘managedBy0’.  Report item expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified
    dataset scope. Letters in the names of fields must use the correct case.
    This is the original SQL query:
    select  all SMS_R_System.Name0,SMS_R_System.managedBy0,SMS_R_System.description0,SMS_G_System_OPERATING_SYSTEM.Caption00,SMS_R_System.Resource_Domain_OR_Workgr0,SMS_R_System.whenCreated0,SMS_R_System.Last_Logon_Timestamp0 from vSMS_R_System AS SMS_R_System
    INNER JOIN Operating_System_DATA AS SMS_G_System_OPERATING_SYSTEM ON SMS_G_System_OPERATING_SYSTEM.MachineID = SMS_R_System.ItemKey  INNER JOIN _RES_COLL_CAS000A9 AS SMS_CM_RES_COLL_CAS000A9 ON SMS_CM_RES_COLL_CAS000A9.MachineID = SMS_R_System.ItemKey
    My edited query:
    select  all SMS_R_System.Name0,REPLACE(SUBSTRING(SMS_R_System.managedBy0,4,CHARINDEX(',OU',SMS_R_System.managedBy0,3)-4),'\,',','),SMS_R_System.description0,SMS_G_System_OPERATING_SYSTEM.Caption00,SMS_R_System.Resource_Domain_OR_Workgr0,SMS_R_System.whenCreated0,SMS_R_System.Last_Logon_Timestamp0
    from vSMS_R_System AS SMS_R_System INNER JOIN Operating_System_DATA AS SMS_G_System_OPERATING_SYSTEM ON SMS_G_System_OPERATING_SYSTEM.MachineID = SMS_R_System.ItemKey  INNER JOIN _RES_COLL_CAS000A9 AS SMS_CM_RES_COLL_CAS000A9 ON SMS_CM_RES_COLL_CAS000A9.MachineID
    = SMS_R_System.ItemKey
    Thoughts?

    Hey,
    Since you manipulate the original value of
    ManagedBy0 in your SELECT, the column name will change to
    (No column name). I did a test on my side and look what I get.
    Error : "The Value expression for the text box ‘managedBy0’ refers to the field ‘managedBy0’."
    He search for a variable
    ManagedBy0 in your query but don't find any because there's no name assigned.
    Try to run this query. Add
    AS ManagedBy0 after your REPLACE. 
    select all
    SMS_R_System.Name0,
    REPLACE(SUBSTRING(SMS_R_System.managedBy0,4,CHARINDEX(',OU',SMS_R_System.managedBy0,3)-4),'\,',',') AS ManagedBy0,
    SMS_R_System.description0,
    SMS_G_System_OPERATING_SYSTEM.Caption00,
    SMS_R_System.Resource_Domain_OR_Workgr0,
    SMS_R_System.whenCreated0,
    SMS_R_System.Last_Logon_Timestamp0 from vSMS_R_System AS SMS_R_System INNER JOIN Operating_System_DATA AS SMS_G_System_OPERATING_SYSTEM ON SMS_G_System_OPERATING_SYSTEM.MachineID = SMS_R_System.ItemKey INNER JOIN _RES_COLL_CAS000A9 AS SMS_CM_RES_COLL_CAS000A9 ON SMS_CM_RES_COLL_CAS000A9.MachineID = SMS_R_System.ItemKey
    Let me know.
    Nick Pilon | Blog : System Center Dudes

  • WITH clause unexpectedly causes ORA-00942 in Reports Builder

    I'm posting this in the hope that:
    a) My workaround might help someone if they ever run into the same problem, and/or,
    b) Someone might have a better workaround.
    The problem is that I get unexpected ORA-00942 (table or view does not exist) errors when I try to set the SQL Query Statement property of a Query object in Reports Builder to certain SELECT statements that contain a WITH clause (aka subquery factoring clause).
    For example, the following SELECT statement executes as expected in SQL*Plus...
    SQL> WITH
      2      SUB_QUERY AS
      3      (
      4          SELECT
      5              1 AS X
      6          FROM
      7              DUAL
      8      )
      9  SELECT
    10      INLINE_VIEW.X
    11  FROM   
    12      (
    13          SELECT
    14              NESTED_INLINE_VIEW.X
    15          FROM
    16              (
    17                  SELECT
    18                      SUB_QUERY.X
    19                  FROM
    20                      SUB_QUERY
    21              ) NESTED_INLINE_VIEW
    22      ) INLINE_VIEW;
             X
             1...but when I try to use it as the SQL Query Statement for a Query object in Reports Builder, I get the following error:
    ORA-00942: table or view does not exist
    ==>SUB_QUERY
    My Reports Builder version is 10.1.2.0.2 version and my database version is 10.2.0.3.0.
    The "real" query I have been trying to use is much more complex than this -- this is just the simplest statement I have been able to come up with that causes the problem. In fact, I have some queries that have a similar structure (a WITH clause subquery referenced inside a nested inline view, along with some other things), but strangely do not cause the problem.
    I spent some time researching the problem on Google and Metalink but did not come up with any satisfactory answers. The problem sounds similar to bug 3896963, but bug 3896963 involved UNION ALL, and is supposedly fixed in my version(s).
    I tried various ways of restructuring my "real" query, but with no success -- it's going to be hard to get rid of the WITH clauses. As a "wild guess", I tried various hints (MATERIALIZE, NO_PUSH_PRED, NO_MERGE), again with no success.
    I ended up working around the problem by creating a database package with a function that returns a REF CURSOR based on the query, and then used that in a REF CURSOR query in Reports Builder. It might not be a very elegant workaround, but it works. I just wish I had "given up" and tried it sooner -- I might have saved myself some grief.

    Well, for what it's worth, I didn't end up using a REF CURSOR query after all because...
    If I ran a REP file based on a REF CURSOR query against a different database, or if I ran the REP file after the database package had been dropped and re-created, it failed with the following error:
    REP-8: Run time error in the PL/SQL development environment (DE).
    PDE-PSD001 Could not resolve reference to <Unknown Program Unit> while loading <Unknown> <Unknown>.
    REP-0008: Unexpected memory error while initializing preferences.
    It seems that Reports "binds" the REP file to the timestamp of the database package that defines the REF CURSOR type in order to validate the package at run time. If the timestamp is different, running the REP file will fail with this error. This is apparently bug 1275333 and is described in Metalink Note 272936.1.
    The bug reference and Metalink Note offerred the following workarounds:
    1. Export the database schema that contains the package from one database and import it into the other.
    In some versions, import and export preserve the timestamp, so this would avoid the problem. I didn't try this because it would not be a practical workaround in my situation (upgrade vs. new install).
    2. Recompile the package and manually set the timestamp using the seemingly undocumented ALTER PACKAGE...COMPILE BODY REUSE SETTINGS TIMESTAMP... syntax.
    I didn't try this because I didn't like the idea of having to: a) rely on an undocumented feature, and, b) manually keep track and maintain the timestamps of all the affected packages across several databases (e.g., development, test, and production).
    3. Put the package into a Reports library or into the report itself.
    This didn't work for me because Reports does not understand WITH clauses in PL/SQL. For example, with the example query in my previous post, I get an error like this:
    Error 103 at line {line defining name of factored subquery}, column {first column in line defining name of factored subquery}
    Encountered the symbol "SUB_QUERY" when expecting one of the following:
    &lt;a SQL statement&gt;
    4. Use an RDF file instead of a REP file.
    I didn't use this workaround because I wanted to protect the design of the report by using a REP file instead of an RDF file.
    So instead, I:
    1. Created a database package containing a pipelined function that returned the results of the WITH clause query that Reports did not "understand".
    2. Used an SQL query in my report of the form
    SELECT * FROM TABLE(MY_PACKAGE.MY_PIPELINED_FUNCTION(arg1, arg2, ...))
    I can drop and re-create the package and run the REP file against another database both without leading to the REP-8 error.

  • Report Builder 6i not recognizing analytic functions

    Hi all, in an attempt to speed up a very slow query, I applied analytic function to it. I can save the query in report builder with no problems, however, I cannot create data links between this query and others. After I comment out the analytic function, data links can be made. My colleague said Report Builder 6i is too old so it can only recognize ANSI SQL syntax. Since our DB server is using Oracle 10gR2, is there a way for Report Builder to recognize and compile Oracle 10g syntax?
    Many thanks.

    Hello,
    Your colleague is right. Even if the SQL query is executed by the DB server , Reports needs to parse the SQL query.
    The SQL parser included in Reports 6i is based on 8.0.6
    You can see this version in the Reports Builder help :
    Menu : Help -> About Reports Builder ...
    ORACLE Server Release 8.0.6.0.0
    Regards

Maybe you are looking for

  • Can't send music to iPod Touch from iTunes?

    hi all, this has been bothering me for a few weeks now and i can't figure it out. i've been trying to send mp3s to my iPod Touch and i just can't get it done. i'm running the newest iTunes with a fully updated iPod Touch 4th gen. it's connected via t

  • Rating problem

    Usually when I am rating in CS6 Bridge, I press the spacebar when on an image in a folder and it fills the screen.  Then all I have to do is press a number from 1 to 5 to rate it.  For some reason this stopped working.  When I press a number it goes

  • Use of 10g libclntsh.so with 11g database

    Does anyone have any experience using a 10g pro*c library like libclntsh.so with an 11g database? In testing, it failed looking for libclntsh.so.10.1 but we were able to fix it with a link like such: ln -s libclntsh.so.11.1 libclntsh.so We are not in

  • Cant Instal Itunes...Help plz..

    Every time i try to instal itunes it tells me that the older version of Apple Software Update cannot be removed. Ive tried many time to delete the older version but it says its blocked.....Plz..Help.

  • Putting iTouch on new mac

    i recently got a macbook pro 13" for my birthday and i was able to successfully send all my information and data from my mac desktop to my new macbook. i am not able, however, to connect my iTouch on my new macbook. when i plug it into my new compute