Subreport parameter question

I have a report on liquor licensees that brings in zero to several values (extra license privileges)  in a subreport.  It works ok but I can't get a parameter/selection criteria to work.  I can get it to select based on the parameters, but when I don't put in any parameters I don't get any records, and when I put in all the choices, I get them, but I don't get the records with no extra license privileges, i.e., no records in the subreport's table.
The report already has several parameters that don't draw from the subreport.
I tried using a left outer join.
I don't know if I have the subreport links right.  Right now I'm back to the beginning, without that parameter.  Will someone please help me?
Edited by: Lauri Malone on Aug 21, 2008 10:46 PM

Then I see two options:
1. Conditionally suppress details section and here are the steps
- have subreport in Details A section and pass subreports results as shared variable to main report
- Conditionally suppress all other Details (B,C,D,.etc) sections based on shared variable
2. Switch main report and subreport
-Your current subreport could be a main report where based on parameters you can concatenate a list of records that you want to select.
- Your current main report could be added as a subreport in Report Footer and list of records passed as a parameter in subreport links
I am ready to explain details depending on which option you prefer

Similar Messages

  • Combine Subreport Parameter Prompt

    Post Author: Leanne
    CA Forum: General
    Good morning,
    I have a report with multiple subreports that print based on the main report parameters.  For instance, one subreport will print if the main report references a Project ID, in which case the other subreport (based on EnrollmentID) will be suppressed.
    The two subreports have similar information based off of different tables and as such have two parameters that are identical.  The two parameters are a type of currency and simply print values on the report.
    My question is, how do I 'combine' the parameters that are the same so the user is prompted only once for the value?
    The strange thing is I've done this before - even had it working on this report last year, however am now adding another currency field and the parameters are appearing twice in the list.  I have a screen shot of the parameter prompt if you'd like to see what I'm referring to.
    The parameters on both subreports are named identical and the Parameter description is identical.  How can I combine these parameters to result in the user being prompted only once?
    Thanks so much for your help!
    Leanne

    Post Author: Leanne
    CA Forum: General
    Thanks for the reply!
    I am also using Crystal XI however I can't seem to find a reference to 'Update Links'.  Can you be more specific?
    Thanks again,
    Leanne

  • Subreport Parameter for a Layout in SAP Business One

    Hello.
    I have created a layout for invoice OINV.
    In the same I must print at the botton a subreport from INV1 (To print a group by for the vatPrcnt of the lines)
    I use the parameter dockey@ like in the main report but when i run the report in Business One ask me for the docentry of the subreport.
    ¿is possible work with subreports?

    You need to right click on your sub report & edit the sub report links. Link the two reports on the parameter field & it will work properly

  • Subreport Parameter error

    Hi there,
    I get the following error when running a crystal report in SAP.
    "Cannot find parameter field Pm-OITM.ItemCode in subreport Backlog"
    The funny thing is that when I preview this report in Crystal it works fine, and the Backlog Subreport even pulls the correct figures.
    Any help or ideas?
    Thanks
    Best Regards
    Dario

    Hi Dario,
    Even I had faced the same problem for one of my report from BO info view.
    All I did was to "Verify Database" from "Database" tab and report worked for me.
    Make sure you do this for main report as well as all sub reports.
    Hope this helps.
    Thanks,
    - Raghavendra

  • Another multi value parameter question

    I have spent the last six hours researching and testing this and I am getting nowhere.  I am using CR 2008 and SQL Server 2005.  I have a main report that has a six level cascading prompt.  The values for all of the prompts are number values.  The lowest level prompt is a multi value prompt.  I need to pass the value(s) from this prompt to a subreport so I have created this formula field which I have seen in many of the posts:
    WhilePrintingRecords;
    Shared numberVar counter;
    //increments the loop so that all parameter entries can be displayed
    Shared stringVar display;
    //creates a string "running total" so that all entries can be displayed
    for counter := 1 to Count({?Hierarchy - DOUNum}) do
    display := display + ToText({?Hierarchy - DOUNum}[counter],0,";");
    display;
    I display this on my main form and I run across my first problem.  The first DOUNum is 19903 and the second is 19904.  What I see in the report though is 19,90319,904.  I need for it to be 19903,19904.  Before i knew the formula was doing this I passed this formula to my subreport for record selection there.  That subreport has the DOUNum field in it and that field is a numeric field, so when I try to put this in my record selection formula:
    {spCSSReportNCounts1;1.DOUNum} in [{?Pm-@DOUNum}]
    I get this error: A number range is required here.
    How in the world can I get around these two problems?
    TIA

    Okay, I have the formatting issue resolved.  Here is my new formula:
    WhilePrintingRecords;
    Shared numberVar counter;
    //increments the loop so that all parameter entries can be displayed
    Shared stringVar display;
    //creates a string "running total" so that all entries can be displayed
    for counter := 1 to Count({?Hierarchy - DOUNum}) do
    display := display & "," & ToText({?Hierarchy - DOUNum}[counter],0,"");
    Mid(display,2);
    This gives me 19903,19904 to pass to the subreport in my subreport link parameter - ?Pm-@DOUNum
    When I tried adding the = sign:
    {spCSSReportNCounts1;1.DOUNum} = {?Pm-@DOUNum}
    I get the error: A number is required here.
    And when I try this:
    {spCSSReportNCounts1;1.DOUNum} = [{?Pm-@DOUNum}]
    I get the error: A number range is required here.
    Which is the same error I get when i switch out the = for IN:
    {spCSSReportNCounts1;1.DOUNum} In {?Pm-@DOUNum}

  • Can a subreport parameter entry be delayed until the subreport is required

    Hello
    (Oracle 10g DB & CRXI CR 2008)
    I have a report that reads all records from a table. There are no parameters on the report, whatever is in the table is printed.
    I want to put a subreport in the Report Footer of this report.
    This subreport will call a SP and it has one parameter.
    At the moment when i preview the report, i am asked to supply the parameter for the subreport before the entire report runs
    What i would like to be able to do is have the main report display its data and when this is displayed THEN have the prompt for the subreport come up i.e. when the report reaches the Report Footer
    Is that possible please?
    Thanks

    The answer is NO.
    Sub report params are generated in pass 1 of the report.  This is the way Crystal builds a report
    The sub report can be anywhere on the report but the param will always be looked for at the start of the report
    (my subreport here is not linked to data in the main report)
    There is good info about PASS in the help for CR 2008 - RTFM

  • Type parameter question

    I'm trying to figure out if I can simplify this interface definition:
    public interface BaseService<T extends BaseEntity<ID>, ID> {
        public T find(ID id);
        public void persist(T entity);
    }To implement this interface, I have to do something like:
    public class CountryService implements BaseService<Country, Long> {}Where Country is defined like:
    public class Country extends BaseEntity<Long> {}My question is: Is there some way to get rid of the second type parameter in BaseService, so that I can do this instead:
    public class CountryService implements BaseService<Country> {}but still enforce the type of the id parameter on the find() method in BaseService?
    The obvious solution doesn't compile:
    {color:#ff0000}public interface BaseService<T extends BaseEntity<ID>> {
       public T find(ID id);
       public void persist(T entity);
    }{color}
    Any help is greatly appreciated!

    Hi,
    Another suggestion is to parametrize BaseEntity on a ID hierarchy
    public abstract class BaseEntity<T extends ID> {
        public abstract T getId();
    }This can lead to the following the BaseService:
    public interface BaseService<T extends BaseEntity<? extends ID>> {
        T find(ID id);
        void persist(T entity);
    }Now if you define Country as
    public class Country extends BaseEntity<ID> {
        @Override
        public ID getId() {
            return null;
    }and finally CountryService as
    public class CountryService implements BaseService<Country> {
        @Override
        public Country find(ID id) {
            return null;
        @Override
        public void persist(Country entity) {
    }Hope this help.

  • How can I access/identify the linked subreport parameter fields?

    In my report, I have subreports, which have linked SQL parameters.  How can I identify these linked parameters, and what they are linked to in code?
    Thanks.

    reportClientDoc.SubreportController.GetSubreportLinks("<subreport name>").GetSubreportLinks()<i>.MainReportFieldName and
    reportClientDoc.SubreportController.GetSubreportLinks("<subreport name>").GetSubreportLinks()<i>.SubreportFieldName
    Where i is the ith linked parameter and is indexed from 1.
    Hope this helps.
    Thanks
    Aasavari
    Edited by: Aasavari Bhave on Feb 15, 2011 11:05 AM

  • Generics parameter question

    I'm trying to create a binary tree that implements Map, or extends AbstractMap.package binarytree;
    import java.util.Collection;
    import java.util.Map;
    import java.util.Set;
    import java.util.Map.Entry;
    public abstract class MapTest<K, D> implements Map<K, D> {
         public Set<Entry<K, D>> entrySet() {
              // TODO Auto-generated method stub
              return null;
         public void putAll(Map<? extends K, ? extends D> m) {
              Set<Entry<? extends K, ? extends D>> s = m.entrySet();
              // Error on the above line.
                    //Type mismatch: cannot convert from Set<Map.Entry<capture#1-of ? extends K,capture#2-of ? extends D>> to Set<Map.Entry<? extends K,? extends D>>     
    }I'm using Eclipse. It wants me to change the line to :
    Set<?> s = m.entrySet();I don't understand. EntrySet() is supposed to return Set<Entry<K, D>>, where K, D are the type parameters of the Map. The type of my Map parameter, m, is Map<? extends K, ? extends D>. Shouldn't m.entrySet() return Set<Entry<? extends K, ? extends D>>?
    Why is does Eclipse want me to define the return value as a Set<?>?

    Let me try an answer. First of all, generics in Java are not covariant, meaning that even though Integer is a subtype of Number, List<Integer> is not a subtype of List<Number>.
    While someone using putAll could pass a Map<Apple,Pears> one day, here and now the compiler assigns the artificial type names capture#1 and capture#2. While these are subtypes of K and D respectively, Entry<capture#1,capture#2> is not a subtype of Entry<K,D> according to the rule above. Consequently the assignment between the two is illegal. Wrapping Set around it makes it even worse.
    One mistake made easily goes as follows: Set<A extends Wine> is a set that in the future someone will use to store all kinds of Wine derivatives. THIS IS WRONG! The set will be used to store all kinds of A derivatives.
    Consequently, Entry<capture#1,capture#2> will, in the future be some very specific type. And this type is certainly not compatible with Entry<K,D>. This is why the closest possible variable definition proposed by Eclipse is Set<?>.
    A lot of in depth information about this stuff is provided by [Angelika Langer|http://www.angelikalanger.com/GenericsFAQ/FAQSections/TechnicalDetails.html]. While trying to answer your question, I also put together this.
    Harald.
    Edited by: pifpafpuf on Dec 6, 2008 7:05 PM
    Edited by: pifpafpuf on Dec 6, 2008 7:07 PM

  • C parameter question

    Ok, so I am currently in the process in writing a C library for a small kernel I am making for fun, and my question is:
    Is it possible to have a function specify only one parameter in the code and have any extra parameters put into an array, let's call it extra[].
    Here is the code I have:
    unsigned int k_printf(char *message)
    char *vidmem = (char *) 0xb8000;
    unsigned int i = 0;
    i = (line*80*2);
    while(*message != 0) {
    if(*message=='\n') {
    line++;
    i = (line*80*2);
    *message++;
    else if(*message=='%s') {
    else {
    vidmem[i] = *message;
    *message++;
    i++;
    vidmemcount++;
    vidmem[i] = WHITE_TXT;
    i++;
    vidmemcount++;
    line++;
    return 1;
    I am currently trying to make a close but less powerful printf() equivalent. For example:
    printf("My name is %s and my friends name is %s", myname, friendsname);
    I want to be able to make an extra[] array that stores myname and friendsname in extra[0] and extra[1]. Is this possible?

    ewaller wrote:
    itsbrad212 wrote:
    Ok, so I am currently in the process in writing a C library for a small kernel I am making for fun, and my question is:
    Is it possible to have a function specify only one parameter in the code and have any extra parameters put into an array, let's call it extra[].
    Here is the code I have:
    unsigned int k_printf(char *message)
    char *vidmem = (char *) 0xb8000;
    unsigned int i = 0;
    i = (line*80*2);
    while(*message != 0) {
    if(*message=='\n') {
    line++;
    i = (line*80*2);
    *message++;
    else if(*message=='%s') {
    else {
    vidmem[i] = *message;
    *message++;
    i++;
    vidmemcount++;
    vidmem[i] = WHITE_TXT;
    i++;
    vidmemcount++;
    line++;
    return 1;
    I am currently trying to make a close but less powerful printf() equivalent. For example:
    printf("My name is %s and my friends name is %s", myname, friendsname);
    I want to be able to make an extra[] array that stores myname and friendsname in extra[0] and extra[1]. Is this possible?
    Okay, here goes:
    where is line defined, allocated, initialized?
    where is vidmemcount defined, allocated, initialized?  what is it used for?
    Avoid *80*2.  Especially in multiple places.  Use a #define in case you change the size latter. 
    Even better, how about creating records on the heap using malloc and then keeping an array of references to the records.[Edit :: Never mind -- I see what you are up to.  Ignore this]
    Rather than :
    while(*message != 0) {
    if(*message=='\n') {
    line++;
    i = (line*80*2);
    *message++;
    else if(*message=='%s') {
    else {
    vidmem[i] = *message;
    *message++;
    i++;
    vidmemcount++;
    vidmem[i] = WHITE_TXT;
    i++;
    vidmemcount++;
    How about :
    char* vm = vidmem;
    while ( *message)
    if ((*message)=='\n')
    vm=vidmem+SPAN * (++line);
    message++;
    else
    *(vm++)=*(message++);
    *(vm++)=WHITE_TXT;
    edit : fixed bug in my code
    Thanks for the tips! Any speed improvement whatsoever is crucial when doing things like this.
    Here are those defined at the beginning of the functions.h file:
    unsigned int line = 0;
    char *vidmem = (char *) 0xb8000;
    unsigned int vidmemcount = 0;

  • NTRIALS Parameter Question...

    What exactly does the NTRIALS parameter of the FCSET command do? It can't be the number of regressions the the forecast engine goes through is it?
    Also, is this the correct forum for DML questions?
    Thanks for your time.
    GGA

    Greg, it took a little digging to find this one. I'm told that NTRIALS has no effect on the forecast, however it can be queried after the forecast to see how many trials can be reported by the FCQUERY function.
    Hope this helps. This is probably as good a forum as any for DML questions.

  • Simple parameter question ie db_name and usage in an expression

    Hi,
    I just started with SSIS with an example containing a flat xls file with 5 columns and a source table in sql.
    The example works fine no parameters etc.
    What I want to try out is to make an exception that if a certain db_name = X then the flow should be redirected to another table.
    Basicly I need help how to define a parameter to read from the source database like "select db_name as db_name" and use this in the package flow. When db_name=X then flow A ELSE flow B
    Any help is very appreciated.
    -Miracles are easy, the impossible takes a bit longer-

    Hi Paul,
    Create an object variable with name varObj and create a string variable with name as varDBName
    Use this as source query in execute sql tasK: Select <DBNamefield> from Table. In execute sql task do the following:
    On General tab: set Result set as Full Result Set
    On Result Set tab: Click Add and set Result Name as 0 and select varObj as Variable Name. This variable will capture the value returned from the select statement.
    Take a for each loop container and configure it as:
    On Collection tab: Enumerator: for each ado enumerator; ADO Object source variable: varObj; Enumeration Mode: Rows in first table.
    On Variable Mappings tab: Select varDBName as variable and set Index as 0.
    Inside the for each loop put the data flow task. Configure the data flow task and use a conditional split to redirect the rows based on varDBName as : @[User::varDBName]=="x" and so on for different outputs
    Nitesh Rai- Please mark the post as answered if it answers your question

  • Hi ,Multiple SubReport parameter  in one main Report

    Hi,
    I using one main report in that five to six sub report and each sub report have two parameter fromdate and todate so please guide me how can i pass using coding.
    Regards
    Rajkumar Gupta

    Hi
    Please post your query in the SDK development forum.
    Follow the link below:
    https://www.sdn.sap.com/irj/sdn/businessobjects-sdk-forums
    Thanks

  • Query parameter question

    Hi
    What are the diffrence of the query parameter in following format:
    select * from table_a where row_id=?id
    select * from table_a where row_id=:id
    select * from table_a where row_id=&idThe 1st and 2nd works if I use them as named query from Java (Toplink)
    The 2nd and the 3rd works when I use them from SQL developer. SQL developer will pop up parameter window. but the window looks diffrent with each parameter format.
    What are the diffrences?
    Thanks

    >
    select * from table_a where row_id=?idMust be a Java thing, not SQL or PL/SQL
    select * from table_a where row_id=:idThis is a bindvariable
    select * from table_a where row_id=&idThis is a substitution variable
    Edited by: Alex Nuijten on Jun 17, 2009 5:33 PM
    Edited by: Alex Nuijten on Jun 17, 2009 5:34 PM

  • SDO_GEOM.WITHIN_DISTANCE parameter question

    Hello,
    We are using a spatial function in our WHERE clause to determine whether Point A is within a certain distance of Point B. The call is:
    and SDO_GEOM.WITHIN_DISTANCE(s.location, 1000, n.location, 10) = 'TRUE'
    I can tell that the code is trying to see whether Point A is within 1000 units of Point B but what I'm trying to figure out what the unit of measurement is for the 1000 units. Could someone give me a pointer on where I can find the definition of this unit of measurement?
    Thanks for your time.
    Steve

    from the user guide:
    http://download.oracle.com/docs/html/B14255_01/sdo_objgeom.htm#sthref1756
    SDO_GEOM.WITHIN_DISTANCE(
         geom1 IN SDO_GEOMETRY,
         dist IN NUMBER,
         geom2 IN SDO_GEOMETRY,
         tol IN NUMBER
         [, units IN VARCHAR2]
         ) RETURN VARCHAR2; units
    Unit of measurement: a quoted string with unit= and an SDO_UNIT value from the MDSYS.SDO_AREA_UNITS table (for example, 'unit=KM'). See Section 2.8 for more information about unit of measurement specification.
    If this parameter is not specified, the unit of measurement associated with the data is assumed. For geodetic data, the default unit of measurement is meters.
    Note:
    1. that this is a function that does not use spatial index.
    did you in the where clause explictly defined pointa and pointb?
    if not, you should use the operator SDO_WITHIN_DISTANCE http://download.oracle.com/docs/html/B14255_01/sdo_operat.htm#sthref1150.
    Luc
    Edited by: lucvanlinden on Oct 1, 2008 8:26 PM

Maybe you are looking for

  • Windows 8.1 Start Screen Problem

    Bought a new Acer laptop yesterday and it works just fine with the Windows 8.1 except for this one thing. It's not really a major one but it still is a problem I can't tolerate. My Start Screen/Start Menu kind of like compresses into the upper left c

  • How to use For Each execution in OSB

    hi all, I'm confused about the 'For Each' action in OSB. Now, I have a variable('max') which equals to 3 , and I wanna to use For Each action to perform a loop execution, something like for(1 to 3)-- The code is like below: For Each variable 'value'

  • Receive zipfile with sender file adapter

    Hello, I need to receive one zipped file (binary data) with the file sender adapter. This zipped file contains an xml file that I need to process. What is the best way to do this? I have looked into writing an adapter module to unzip or base64 encode

  • What is the default package tu put in a data model ?

    Hi, I want to call a procedure *"EXTRACTION"* which is located in the default pachkage of my database. What shoud i put in my data model? i feel that this line is wrong : *<dataTrigger name="beforeReport" source="Extraction"/>* Thnaks, SAAD

  • Upgrading the 10.2.0.4 agent to 10.2.0.5  64-bit on windows platform

    Hi, I am unable to find the software with which I can upgrade the existing agent (10.2.0.4) to 10.2.0.5 on windows 64-bit platform. I could only find the software on OTN with which only fresh instllation is possible on 64-bit windows. Is there a ways