Using Entity Framework with Crystal Master Detail Reporting

My project is a WPF project connected to a SQL Server Compact Edition database.  Since Crystal does not support nullable types, I have created classes specifically for the report to consume.  This is a simplified version of what I am attempting to do.
For example...
class Band
public string BandName { get; set; }
public string BandCity { get; set; }
public List<BandRecording> RecordingsList { get; set; }
class BandRecording
public string Year { get; set; }
public string Description { get; set; }
In my code behind for this report, I am using Entity Framework to pull the data.  Just pulling information for one band...
using (RockEntities re = new RockEntities())
var bandinfo = (from b in re.Band
where b.BandName == "BT"
select new
b.BandName,
b.BandCity,
Recordings = b.Recordings.OrderBy(z => z.Year)
}).FirstOrDefault();
OK, now I start moving to the data to class I have defined...
Band b = new Band();
b.RecordingsList = new List<BandRecording>();
b.BandName = bandinfo.BandName;
b.BandCity = bandinfo.BandCity;
foreach(var Recording in bandinfo.Recordings)
BandRecording br = new BandRecording();
br.Year = Recording.Year;
br.Description = Recording.Description;
b.RecordingsList.Add(br);
Since Crystal Supports IEnumerable, I create a list to hold the main record (although I am only reporting on one band)...
List<Band> lb = new List<Band>();
lb.Add(lb);
ReportDocument rd = new ReportDocument();
rd.Load("BandReport.rpt");
rd.SetDataSource(lb);
I have put the Band info in the Report Header section.  This is all working fine. In the details section I would like to put the Band Recording info.  I haven't figured out how to do this.  I have put the fields in the Details section, but how do I tell the details section to use the inner List<BandRecordings>?
Any help would be greatly appreciated.

Only way I can see of doing this would be to place emprty formulas into the section. The populate the formula(s) with the required field;
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Inherits System.Windows.Forms.Form
Dim Report As New CrystalReport1()
Dim FormulaFields As FormulaFieldDefinitions
Dim FormulaField As FormulaFieldDefinition
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FormulaFields = Report.DataDefinition.FormulaFields
FormulaField = FormulaFields.Item(0)
FormulaField.Text = "[formula text]"
CrystalReportViewer1.ReportSource = Report
End Sub
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup
Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]

Similar Messages

  • Using Entity Framework with SQL Azure - Reliability

    (This is a cross post from http://stackoverflow.com/questions/5860510/using-entity-framework-with-sql-azure-reliability since I have yet to receive any replies there)
    I'm writing an application for Windows Azure. I'm using Entity Framework to access SQL Azure. Due to throttling and other mechanisms in SQL Azure, I need to make sure that my code performs retries if an SQL statement has failed. I'm trying to come up with
    a solid method to do this.
    (In the code below, ObjectSet returns my EFContext.CreateObjectSet())
    Let's say I have a function like this:
      public Product GetProductFromDB(int productID)
         return ObjectSet.Where(item => item.Id = productID).SingleOrDefault();
    Now, this function performs no retries and will fail sooner or later in SQL Azure. A naive workaround would be to do something like this:
      public Product GetProductFromDB(int productID)
         for (int i = 0; i < 3; i++)
            try
               return ObjectSet.Where(item => item.Id = productID).SingleOrDefault();
            catch
    Of course, this has several drawbacks. I will retry regardless of SQL failure (retry is waste of time if it's a primary key violation for instance), I will retry immediately without any pause and so on.
    My next step was to start using the Transient Fault Handling library from Microsoft. It contains RetryPolicy which allows me to separate the retry logic from the actual querying code:
      public Product GetProductFromDB(int productID)
         var retryPolicy = new RetryPolicy<SqlAzureTransientErrorDetectionStrategy>(5);
         var result = _retryPolicy.ExecuteAction(() =>
               return ObjectSet.Where(item => item.Id = productID).SingleOrDefault;
         return result;
    The latest solution above is described as ahttp://blogs.msdn.com/b/appfabriccat/archive/2010/10/28/best-practices-for-handling-transient-conditions-in-sql-azure-client-applications.aspx Best Practices for Handling Transient Conditions in SQL Azure Client
    Application (Advanced Usage Patterns section).
    While this is a step forward, I still have to remember to use the RetryPolicy class whenever I want to access the database via Entity Framework. In a team of several persons, this is a thing which is easy to miss. Also, the code above is a bit messy in my
    opinion.
    What I would like is a way to enforce that retries are always used, all the time. The Transient Fault Handling library contains a class called ReliableSQLConnection but I can't find a way to use this with Entity Framework.
    Any good suggestions to this issue?

    Maybe some usefull posts
    http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx
    http://geekswithblogs.net/iupdateable/archive/2009/11/23/sql-azure-and-entity-framework-sessions-from-pdc-2009.aspx

  • How to use runtime datasource with crystal to generate reports

    Hi,
    I am new to BO Crystal reporting area. In my appliaction I am trying to use runtime data source. My objective is to use a 'List of Java ValueObject(class holding private attributes with public getter setter)s' as report database. I am using version BO XI 3.0.
    As per development guide I have to perform the following steps to use runtime datasource
    1. Put your manipulated data in a RowSet form that can be processed.
    2. Create and fill an com.crystaldecisions.sdk.occa.report.data.IDataset object with the rowset data.
    3. Add or set the data source with either the addDataSource or setDataSource methods of DatabaseController class.
    API doesn't allow me to set/add "Record"/ "RecordBatch" to RowSet. Please help.
    Please note: I have already tried and understand the usage of following types of data sources
    1. All types of db conductivities as provided by Crystal designer "Database Expert"
    2. Also I have successfully tried & tested transforming "List of Java VOs" into XML, TXT, CSV file format and use them as data source for crystal.

    Frank Bareuther wrote:
    The DBMS is the same, we are only using a different database user to log on.
    There is a separate db user for each server.
    The EAR with a given datasource name in the entity EJBs should be deployed
    on all 4 servers without changing descriptors.Interesting. And what is the value of using a different schema/user in the
    different servers? I do believe that this configuration issue can be
    achieved but I have not done it myself. I believe there is a way to
    have some portions of a managed server's configuration by in a per-server
    config file. That would be where you would define the pool. The DataSource
    could also be there (with the same name for every server), or it could
    be in the common one in the admin server.
    I would file a support case to get this documented to show you how to
    do what you want.
    Joe

  • Binds in Master/Detail Reports: Problems and Solutions

    I've been trying to use bind variables in the master report of master/detail reports with multiple detail reports; but, I've been getting a problem with the detail reports not displaying data.
    Here's a sample sequence of events:
    1) Select the master/detail report under User Defined Reports.
    2) Connect to a DB (if necessary).
    3) Enter any value(s) for the bind(s) for the master report.
    4) Select a row in the master report.
    5) The currently selected detail report displays column names and data.
    6) Select a different detail report.
    7) Nothing displays except column names.
    8) Select a different detail report.
    9) Nothing displays except column names.
    10) Click the currently selected row in the master report.
    11) Now the current selected detail report displays (column names and) data.
    I have found that if, I am more selective with my bind variable names, I can get things to work as expected.
    First, let me show an example of some SQL that was giving me problems.
    Master Report:
    select distinct OWNER
    from SYS.ALL_OBJECTS
    where (OWNER like :OWNER or :OWNER is NULL)
    Detail Reports:select *
    from SYS.ALL_OBJECTS
    where OWNER = :OWNER
    and OBJECT_TYPE = 'INDEX'replacing 'INDEX' with other values for the other detail reports.
    (I did have this problem with other SQL too but hopefully this SQL will run on everyone's DB.)
    The first solution I found was to change the name of the bind in the master to something like OWNER_BIND.
    The second solution I found was to change the master to
    select distinct OWNER as POWNERand change the detail reports to
    where OWNER = :POWNERAnother solution might be to adjust the bind variable names' case, but I didn't look at that.
    While I was trying different things to get this to work, one of the goofy things that SQL Developer did was add <binds>s to the <query>s of the detail reports in my UserReports.xml. IIRC, it even did this to a master/detail report that I was not editing. So, if you run into this problem, you might want to open your UserReports.xml and clean it up by hand. (Actually, that might be good advice for other problems too.)
    Tip: I've had other problems with my User Reports such as disappearing reports; so, not only do I regularly make copies my UserReports.xml, I also save report(s) into separate XML files and use Tools > Preferences... > Database > User Defined Extensions to add REPORT-type extensions to SQL Developer. (Kris Rice talked a bit about REPORT-type extensions in this blog entry: http://krisrice.blogspot.com/2006/11/xml-extension-points-reports.html)
    FYI: I'm using sqldeveloper-1.1.2.2579 on Windows XP w/ SP2. The DB is Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production.

    Here is the complete XML exported from a problem report. If you want to use this, save it as an XML file then import that file from within SQL Developer (ie, right-click on User Defined Reports and choose Import).
    Notice that there are <binds>s on the detail reports. They don't belong there; only the one on the master report belongs. (The <binds> is specified by the Binds tab when creating a report. They are for prompting the user for value(s) and you cannot do that in child reports.) Even if I removed the <binds>s from the detail reports before importing the XML file, I still see the problem. SQL Developer also ends up putting them back. I think that it might happen to each detail report individually as it is visited when using (ie, not editing) the master/detail report.
    <?xml version="1.0" encoding="UTF-8" ?><displays><display id="" type="" style="Table" enable="true">
         <name><![CDATA[Sad]]></name>
         <description><![CDATA[]]></description>
         <tooltip><![CDATA[]]></tooltip>
         <drillclass><![CDATA[null]]></drillclass>
         <CustomValues>
              <TYPE>horizontal</TYPE>
         </CustomValues>
         <query>
              <sql><![CDATA[select distinct OWNER as OWNER
    from SYS.ALL_OBJECTS
    where (OWNER like :OWNER or :OWNER is NULL)]]></sql>
              <binds>
                   <bind id="OWNER">
                        <prompt><![CDATA[OWNER (like)]]></prompt>
                        <value><![CDATA[NULL_VALUE]]></value>
                   </bind>
              </binds>
         </query>
         <display id="null" type="Detail" style="Table" enable="true">
              <name><![CDATA[INDEX]]></name>
              <description><![CDATA[]]></description>
              <tooltip><![CDATA[]]></tooltip>
              <drillclass><![CDATA[null]]></drillclass>
              <CustomValues>
              </CustomValues>
              <query>
                   <sql><![CDATA[select *
    from SYS.ALL_OBJECTS
    where OWNER = :OWNER
    and OBJECT_TYPE = 'INDEX']]></sql>
                   <binds>
                        <bind id="OWNER">
                             <prompt><![CDATA[OWNER]]></prompt>
                             <tooltip><![CDATA[OWNER]]></tooltip>
                             <value><![CDATA[NULL_VALUE]]></value>
                        </bind>
                   </binds>
              </query>
         </display>
         <display id="null" type="Detail" style="Table" enable="true">
              <name><![CDATA[PACKAGE]]></name>
              <description><![CDATA[]]></description>
              <tooltip><![CDATA[]]></tooltip>
              <drillclass><![CDATA[null]]></drillclass>
              <CustomValues>
              </CustomValues>
              <query>
                   <sql><![CDATA[select *
    from SYS.ALL_OBJECTS
    where OWNER = :OWNER
    and OBJECT_TYPE = 'PACKAGE']]></sql>
                   <binds>
                        <bind id="OWNER">
                             <prompt><![CDATA[OWNER]]></prompt>
                             <tooltip><![CDATA[OWNER]]></tooltip>
                             <value><![CDATA[NULL_VALUE]]></value>
                        </bind>
                   </binds>
              </query>
         </display>
         <display id="null" type="Detail" style="Table" enable="true">
              <name><![CDATA[PACKAGE BODY]]></name>
              <description><![CDATA[]]></description>
              <tooltip><![CDATA[]]></tooltip>
              <drillclass><![CDATA[null]]></drillclass>
              <CustomValues>
              </CustomValues>
              <query>
                   <sql><![CDATA[select *
    from SYS.ALL_OBJECTS
    where OWNER = :OWNER
    and OBJECT_TYPE = 'PACKAGE BODY']]></sql>
                   <binds>
                        <bind id="OWNER">
                             <prompt><![CDATA[OWNER]]></prompt>
                             <tooltip><![CDATA[OWNER]]></tooltip>
                             <value><![CDATA[NULL_VALUE]]></value>
                        </bind>
                   </binds>
              </query>
         </display>
         <display id="null" type="Detail" style="Table" enable="true">
              <name><![CDATA[SEQUENCE]]></name>
              <description><![CDATA[]]></description>
              <tooltip><![CDATA[]]></tooltip>
              <drillclass><![CDATA[null]]></drillclass>
              <CustomValues>
              </CustomValues>
              <query>
                   <sql><![CDATA[select *
    from SYS.ALL_OBJECTS
    where OWNER = :OWNER
    and OBJECT_TYPE = 'SEQUENCE']]></sql>
                   <binds>
                        <bind id="OWNER">
                             <prompt><![CDATA[OWNER]]></prompt>
                             <tooltip><![CDATA[OWNER]]></tooltip>
                             <value><![CDATA[NULL_VALUE]]></value>
                        </bind>
                   </binds>
              </query>
         </display>
         <display id="null" type="Detail" style="Table" enable="true">
              <name><![CDATA[TABLE]]></name>
              <description><![CDATA[]]></description>
              <tooltip><![CDATA[]]></tooltip>
              <drillclass><![CDATA[null]]></drillclass>
              <CustomValues>
              </CustomValues>
              <query>
                   <sql><![CDATA[select *
    from SYS.ALL_OBJECTS
    where OWNER = :OWNER
    and OBJECT_TYPE = 'TABLE']]></sql>
                   <binds>
                        <bind id="OWNER">
                             <prompt><![CDATA[OWNER]]></prompt>
                             <tooltip><![CDATA[OWNER]]></tooltip>
                             <value><![CDATA[NULL_VALUE]]></value>
                        </bind>
                   </binds>
              </query>
         </display>
    </display>
    </displays>

  • Salesforce issue- Accessing Objects and Reports with 2 master-details

    I'm using Crystal Reports XI r2 with the Salesforce data connector installed, and I know the same issue exists in CR 2008 as well.  With version of the Salesforce API that the Crystal - Salesforce connector is using, objects that have 2 master-detail relationships are not available to add to reports.  Even if I create a stanard Salesforce report with an object with 2 master-details, that report isn't available in the "Stored Procedures" of Salesforce in Crystal.  The API is about 3 years out of date, any word on when a new version will be available?  This is a big limitation.

    Try SP3 for CR 2008. Please re-post if this is still an issue or purchase a case and have a dedicated support engineer work with you directly:
    http://store.businessobjects.com/store/bobjamer/DisplayProductByTypePage&parentCategoryID=&categoryID=11522300?resid=-Z5tUwoHAiwAAA8@NLgAAAAS&rests=1254701640551

  • Master Detail Report using Report Query

    I am using APEX Report Query component to try and create a mater/detail report with BI plug-in. The Report Queries doesn't give you mush flexibility as each query is independent of the other. I'm trying to see if I need to create 2 queries or 1 AND what option would let me create a master detail report like so in BI Desktop:
    Employee: Bob ID:100 Dept: HR
    Jobs
    Job 1
    Job 2
    Job 3
    Employee: Tom ID:200 Dept: ACCt
    Jobs
    Job 1
    Job 2
    Job 3
    Option1.
    I could combine the Employee Job info with the Employee info, but that would report the Employee info for every Employee Job. I didn't think that was good.
    <Rowset1_Row>
    <EMPID>
    <NAME>
    <DEPT>
    <JOB>
    </Rowset1_Row>
    Option 2.
    I could create 2 queries. The 1st getting all of the Empoyee info. The 2nd getting all of the Employee jobs.
    <Rowset1_Row>
    <EMPID>
    <NAME>
    <DEPT>
    <JOB>
    </Rowset1_Row>
    <Rowset2_Row>
    <EMPID>
    <JOB>
    </Rowset2_Row>
    <Rowset2_Row>
    <EMPID>
    <JOB>
    </Rowset2_Row>
    Any advice?
    Edited by: bobmagan on Jun 1, 2009 5:29 AM

    Can you check for the settings please.
    Thanks and Regards
    Riyas

  • Master-detail reports with variable number of pages in a big report

    I am designing with Reports 6.0.5.32.0 a master-detail report such as a
    combination between a customer with his name, address etc, at the top of
    the page (always 60% of the first page) and then as details lines with his orders.
    For one customer seems relatively OK with the variable number of pages in accordance with the number of his orders.
    When the main query finds more customers I present always the customer at the top of
    a new page (that's easy), but how can I control the number of the next pages for the orders, variable for every customer.
    I can not predict how many pages are necessary for a customer and white pages are
    not desirable. When the number of Max. Vertical Body Pages is too low I can get the next pages for every customer, but appears an
    uncontrollable shift to the left.
    For instance, a customer with 40 orders needs 3 pages, one with 4 orders only 1 page, one with 15 orders 2 pages, etc.
    What's the magic property for a secure and precise layout?

    Hi Andreas,
    did you try setting vertical spacing to expand or variable on master repeating frame (and posible other frames surrounding master repeating frame)?
    Hope this helps

  • Master Detail Report for PDF Printing

    Dear All,
           While trying to create a master detail report using Oracle APEX 4.2 and BI Publisher. I tried creating report queries and report layout following the below mentioned steps.
    CREATE TYPE emp_row AS OBJECT (
      EMPNO NUMBER(4),
      ENAME VARCHAR2(10),
      JOB VARCHAR2(9),
      MGR NUMBER(4),
      HIREDATE DATE,
      SAL NUMBER(7,2),
      COMM NUMBER(7,2)
    CREATE TYPE emp_tab AS TABLE OF emp_row;
    CREATE TYPE dept_row AS OBJECT (
      DEPTNO NUMBER(2),
      DNAME VARCHAR2(14),
      LOC VARCHAR2(13),
      EMP_LIST emp_tab
    SELECT SYS_XMLAGG (
      SYS_XMLGEN(
      dept_row(
      d.deptno, d.dname, d.loc,
      CAST(MULTISET(SELECT e.empno, e.ename, e.job, e.mgr, e.hiredate, e.sal, e.comm
      FROM emp e
      WHERE e.deptno = d.deptno) AS emp_tab)
      SYS.XMLGENFORMATtYPE.createFormat('DEPT')
      ) AS "XML_QUERY"
    FROM dept d
    WHERE d.deptno = 10;
    Though the above steps generates xml output while trying to generate in APEX it says unsupported datatype. Tried using DBMS_LOB as well no luck. Any inputs will be quite helpful. Should there be any other way to incorporate master detail report printing in APEX kindly advise.
    Thanks
    Ahmed

    Hi Ahmed_Jed,
    Ahmed_Jed wrote:
    Thanks Kiran for your prompt response. I tried following the steps already using this link (How To Create a Master-Detail PDF Report) somehow the detail record was not getting processed perhaps was trying to generate xml data using the above query. Any other reference will be highly appreciated.
    Regards
    Ahmed
        Well the problem lies here:
    SELECT SYS_XMLAGG (
      SYS_XMLGEN(
      dept_row(
      d.deptno, d.dname, d.loc,
      CAST(MULTISET(SELECT e.empno, e.ename, e.job, e.mgr, e.hiredate, e.sal, e.comm
      FROM emp e
      WHERE e.deptno = d.deptno) AS emp_tab)
      SYS.XMLGENFORMATtYPE.createFormat('DEPT')
      ) AS "XML_QUERY"
    FROM dept d
    WHERE d.deptno = 10;
        The Report Query itself generates XML data (in the required BI Publisher format). So, no need to generate it like this.
        As you are using table functions your query should be of the type:
    SELECT EMPNO
                , ENAME
                , JOB
                , MGR
                , HIREDATE
                , SAL
                , COMM
        FROM TABLE ( EMP_PKG.GET_EMPLOYEES ( :PXX_DEPTNO ))
        where EMP_PKG.GET_EMPLOYEES is packaged table function which returns the Object Table of type EMP_TAB mentioned above.
        When you test the above Report Query with sample DEPTNO, it will generate the sample XML, which you can use to generate Report Layout in RTF format using BI Publisher Desktop.
        Hope this helps!
    Regards,
    Kiran

  • Master Detail Report + Tab navigation error

    Hello All,
    I built a master detail report and included a standard tab set. I built it with the wizard. When tabbing from the report page there is no problem. When tabbing from the associated master detail page you always get "web page not found" with this in the address bar-"http:///apex/wwv_flow.accept". I understand why you would not want to tab out from this type of page. Can anyone point me in the right direction to remove the tabs from view on this page. All my attempts want to remove the tabs at the application level. I am using the one level tab page template. Thanks ...

    Wayne,
    If you can put your application on apex.oracle.com and tell me how I can see this problem, that might be easiest. Just need your workspace name and application ID (plus instructions).
    Scott

  • Master-detail reports in SqlDeveloper

    Hello,
    I recently read this article by Sue Harper.
    www.oracle.com/technology/oramag/oracle/07-may/o37sql.html
    I am using Sqldeveloper for a little while now, but never created a user-defined report.
    This morning I read this article about it, and I am really thrilled.
    The problem is: I cannot get a master-detail report to work.
    I followed the instructions:
    Master query:
    select a.master_column
    from not_important a
    The type of the detail report is "DETAIL" and I refer to the master-column like this : where blabla = :MASTER_COLUMN
    I Tried:
    * changing caption of the bind variable.
    * adding a column alias in the master query
    * changing type to child
    nothing works
    Tried it in sqldeveloper: 1.5.4 and 1.1.2.25
    neither work.
    Of course I am missing the obvious. Can somebody please point out, what I am doing wrong.
    Regards.

    I finally figured out, what I was doing wrong.
    I tested my report with a single master-record by pressing the detail run-button (>) immediately after the report openend, WITHOUT first actually selecting this single master record with my mouse.
    So when I hit the detail run-button (>) Oracle returned with a "All Rows Fetched: 0". So I never realized I was actually querying with a NULL value in the bind variable.

  • Problem in Master detail report

    Hi Team,
    I want to generate a master detail- report on table employees(empno,ename,sal,jobid,deptno,deptname,dept_mobileno,dept_pincode).
    The report should be display in the format which is shown in the image present at URL:- http://www.uploadup.com/di-DC37.jpg
    For each unique combination of columns (empno,ename,sal,jobid) , i want to display the detailed records ( more than one ) (deptno,deptname,dept_mobileno,dept_pincode).
    Please see the image present at URL :- http://www.uploadup.com/di-DC37.jpg
    Please help me on this how to edit templates for my requirement and what sql query is required to solve this problem.
    Thanks and Regards,
    Rajendra Yadav

    913508 wrote:
    Hi Team,Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and update your profile with a real handle instead of "913508".
    You'll get a faster, more effective response to your questions by including as much relevant information as possible upfront. This should include:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s)
    I want to generate a master detail- report on table employees(empno,ename,sal,jobid,deptno,deptname,dept_mobileno,dept_pincode).
    The report should be display in the format which is shown in the image present at URL:- http://www.uploadup.com/di-DC37.jpg
    For each unique combination of columns (empno,ename,sal,jobid) , i want to display the detailed records ( more than one ) (deptno,deptname,dept_mobileno,dept_pincode).
    Please see the image present at URL :- http://www.uploadup.com/di-DC37.jpg
    Please help me on this how to edit templates for my requirement and what sql query is required to solve this problem.Thanks for making the effort to create the demo screenshots, they're helpful but with APEX we're fortunate to have a great resource in apex.oracle.com where we can reproduce and share problems. Reproducing things there is the best way to troubleshoot most issues, especially those relating to layout and visual formatting. If you expect a detailed answer then it's appropriate for you to take on a significant part of the effort by getting as far as possible with an example of the problem on apex.oracle.com before asking for assistance with specific issues, which we can then see at first hand.
    Please create sample tables and data on apex.oracle.com and post guest developer credentials for your workspace here.
    +{message:id=9816577}+ covers a similar problem.

  • Interactive Reporting: master-detail report

    Hi,
    I wonder if it is possible to have a kind of master-detail pair of reports.
    For example I have one report containing a crosstab with product groups in the down "dimension". When I click on one of those product groups a second report should appear with the children of the product group, the products.
    Is there a sort of binding variables or getting it from one report to another?
    Oliver

    If you are using the iHTML version of the tool for viewing the report there is a possible way. It involves using a SmartCut to the Target/Detail Report and passing parameters on the URL which then are interogated in the OnStartup script of the Target/Detail Report.
    Start with Master File.
    Create Computed Column in Results Section that combines the SmartCut URL and Parameters into a HREF Link.
    Put that column into Report Section as Table Dimension
    When the Report is viewed in Interactive Reporting Web Client you will see the code of the HREF. When it is viewed in the iHTML client you will see the link.
    Wayne Van Sluys
    TopDown Consulting

  • Repeating  field values per paage in Master Detail Report

    I know there are lots of threads about repeating fields values across pages but not seem to work that I have tried and I was looking for a simple resolution to my problem.
    I have a master detail report like:
    Deptno: 10 Dname: Accounting
    Empno Surname Job Sal
    1234 Smith Clerk 1000
    1235 Jones Clerk 1200
    Deptno: 20 Dname: Research
    Empno Surname Job Sal
    2234 Smith Clerk 1000
    2235 Jones Clerk 1200
    etc. The employee data is displayed in a Word table.
    Now if I use the standard emp/dept tables (with only 14 employees) the report paginates properly and I see one department per page and the corresponding employees per page. I have used the <?split-by-page-break: ?> tag. A sample of the rtf file is:
    <?for-each:dept?>Dept: <?deptno?> Name: <?dname?>
    TABLE of EMPS (via insert -> table ->advanced etc)
    <?split-by-page-break: ?>
    <?end for-each?>
    Everything works fine but if I then apply a larger xml file to this rtf where the number of employees spill over onto another page the deptno and the dname do not print before the table when I want them to.
    I have tried putting things into Word headers, using the <?start:body?> tag and a couple of other ways (like @section). Could someone be quite explicit about the steps I need to follow (rather than just say put it in a header) to make sure that if the employees spill over the page the deptno and dname will display. I don't know if its made more difficult because I have multiple departments but any help would be appreciated.

    I sent a template to Chris who was able to solve the problem.
    The change that he made was from:
    <?for-each:dept?>Dept: <?deptno?> Name: <?dname?>
    TABLE of EMPS (via insert -> table ->advanced etc)
    <?split-by-page-break: ?>
    <?end for-each?>
    to:
    Dept: <?deptno?> Name: <?dname?>
    <?start:body?><?for-each@section:dept?>
    TABLE of EMPS (via insert -> table ->advanced etc)
    <?end for-each?><?end body?>
    That is, he used the start and end body tags and the section attribute and took out the <?split-by-page-break: ?> tag. I put back in the split page tag on the template he gave me but it gave me an extra page each time the department changed. So maybe you can really only use one of the other.
    Regardless, Chris sorted it out for me, so thanks.

  • Master detail report/form FK problem

    Anyone...anybody!!!
    I'm using APEX 4.0.1... and Oracle 10g.
    I have two tables that are linked with FK in the detail table
    Master table
    ID_ENDURGR     NUMBER --PK populated with a trigger
    KT_UMSAEKJANDI     VARCHAR2(10 BYTE)
    TIMABIL     NUMBER
    NUMER_UMSOKN     NUMBER
    HEILDARKOSTNADUR     NUMBER
    Detail table
    ID_EIGENDUR     NUMBER --PK populated with a trigger
    KENNITALA     VARCHAR2(10 BYTE)
    EIGNARHLUTI     NUMBER
    KOSTNADUR_VINNA     NUMBER
    ENDURGR_ID_FK     NUMBER -- FK on ID_ENDURGR in the master table
    If I create a application with a master detail page using the wizard, pages with a report and a tabular form are created. This works fine and the FK field in the detail table is automatically populated with the PK from the master table.
    If I create an application with a blank page an on that page create a region > form > master detail > same tables >use existing triggers > default > Edit detail on separate page ... three new pages are created: Report, master form and a detail form.
    If I create a new detail record with this application the FK field is not automatically populated.
    Why? What am I doing wrong?
    The trigger on the detail table:
    create or replace
    TRIGGER "bi_RSK_541_EIGENDUR"
    before insert on "RSK_1018_EIGENDUR"
    for each row
    begin
    if :new."ID_EIGENDUR" is null then
    select "RSK_541_EIGENDUR_SEQ".nextval into :new."ID_EIGENDUR" from dual;
    end if;
    end;
    Do I need to add something here... or what?
    Please help.
    Edited by: 805740 on 2.12.2010 07:14

    Thanks for your reply. I have created my pages on apex.oracle.com
    ws: RSK_APEX
    user: demo
    pwd: demo
    There are two tabs. Different solutions on each one.

  • Master-detail report, hide detail on new search

    Hi, I'm newbie, so I need help. I have Master-detail report on same page. Master is interactive report, detail is SQL report which use hidden item as condition.
    For display detail data I use edit link. But I have problem when I make new search on master, detail still shows the old data.
    Can somebody tell me, how can I hide details , when I make new search on master? Or set hidden item to null, when I make new search?
    Example you can see in http://htmldb.oracle.com/pls/otn/f?p=51834:4 . Login : demo/demo
    Thanks
    Igor
    PS: Sorry on my broken English

    Hi,
    This can be achieved by doing something like the following:
    Have a single SQL statement that joins the two tables together. eg,
    select p.project_title,
    d.project_detail1,
    d.project_detail2,
    etc
    from projects p
    inner join details d on d.project_id = p.project_id
    This will provide a flat table with the project title in the first column for all records.
    Then, in the Report Attributes, you need to switch on Column Breaks:
    In the Break Formatting section, set Breaks to "First Column"
    In the When displaying a break column use this format, enter #project_title#
    In the Identify how you would like your breaks to be displayed, select "Repeat headings on break"
    Finally, clear the "Show" tick for the project_title column
    There's probably something you could do to improve formatting etc, but this should give you a start.
    Regards
    Andy

Maybe you are looking for