Dynamic parameter default values

Hello guy,
i'm having a little problem, i hope someone in here can help me. So, here is my situation:
I'm building a windows forms application in C# to display some reports. As i want to redesign all the controls, i made my own prompt to fill in the parameters. This works really fine, except one thing:
Whenever a parameter has default-values (so just a list of values is allowed), I switch from a textbox to a dropdown-menu filled with the default values.
No problems with static parameters, but i can't find a way to access the default values from dynamic parameters (values are retrieved from SQL-Server). The default prompt from the report-viewer can do it right, so i hope  you can hep me with my following question:
Is there a way to obtain these values? Or at least the SQL-statement that is used to get them?
thanks
using:
Visual Studio 2010 v10.0.30319.1
Crystal Reports runtime engine .NET 4, v13.0.1.220
Crystal Reports for Visual Studio v13.0.1.220
Edited by: Peter Wurstberg on Oct 12, 2011 1:15 PM

I don't think the CR or Enterprise .NET SDK has any public APIs to retrieve default dynamic prompt values for crystal report parameter. With Java SDK there are no direct methods as well, however you can tap the HttpResponse object to read the prompt values that are sent to your viewer by the server as the viewer displays them and prompts you to select parameter value, however this method is not officially supported. With .NET SDK I am not sure if it is even possible. You have to use the standard viewer to see those values and let the viewer prompt with them, ratherthan your own controls.
Hope that helps.
Aasavari

Similar Messages

  • How can we use C# to read dynamic parameter's value list from .rpt?

    I'm using Cystal Report 2008. We know starting from CR XI we can create dynamic parameters, the list of items of this kind of parameter are fetching from database. So in general the SQLs to get the list of values for dynamic parameters are stored in the .rpt.
    In Crystal Report Designer, if I preview a report with dynamic parameters, it will first query the database and then show the input dialog with list of values from database for user to choose. My question is can we implement the same thing by our C# code? I'm planning to use C# code to read this dynamic parameter's value list from .rpt and render them on the web page. Then pass back the user selected values to the .rpt to run the report after user make the choice. I didn't find any APIs can do this. Is it possible?
    Thanks in advance!!

    Hi,
    Can you explain a bit in detail, I have similar scenario. I am using the following code but not getting the Column name for dynamic parameter list.
    foreach (ParameterFieldDefinition prm
                              in reportDocument.DataDefinition.ParameterFields)
                    try
                        string vParameterFieldName;                   
                        *vParameterFieldName = prm.ParameterFieldName.ToString();*
    Shakeel

  • Parameter default value issue

    Hi, I am using SQL Server 2008 R2 database & SSDT (Visual Studio 2012) to develop reports. I am trying to modify an existing report after the upgrade and something seems not right especially with report parameter default values. I am using the expression
    below and for the default value its always returning the false part. When I put this expression in a textbox to test results it works as expected. Thanks in advance.
    =IIf(Parameters!Area.Value = "Test Area", "1", "2")
    Ione

    Hi Lone,
    Per my understanding you are experiencing the issue that the report parameter’s default values not work, the default values for this parameter is using the expression based on another parameter, but now it not always display the correct value, right?
    I have tested on my local environment and can reproduce the issue, the issue can be caused by you have not specified available values for this parameter base on their parent parameter(Area), so the parameters will not refresh when the value of the first
    parameter has changed. In Reporting Services, if we want to create cascading parameters, we should specify both available values and defaults values for child parameters.
    Please specify the Available values as below, using both the expression in the Label and Value:
    =IIf(Parameters!Area.Value = "Test Area", "1", "2")
    You also use an alternative method to create this parameter without using the expression:
    Create an Dataset using below query to get the Parameter(“1”,”2”):
    select distinct (CASE WHEN (@Area) =' Test Area' THEN '1' ELSE '2' END) AS  FieldName  from TableName.
    In  the Second Param(Param2) In both the “Available Values” and “Default Values” select the “Get values from a query”.
    For more information about how to create cascading parameters, please see MSDN document which tell us how to do it steps by steps.
    http://msdn.microsoft.com/en-us/library/aa337498(v=sql.105).aspx.
    If your problem still exists, please feel free to ask.
    Regards
    Vicky Liu

  • Programatically modifying Parameter Default Values in CR10 rpts

    If this isn't the correct forum for this, then I apologize.  Here is the situation:
    Our company uses Microsoft Dynamics SL version 7.0 (formerly Solomon), which leverages a "runtime" version of Crystal Reports 10 for some custom reports (simply named "Crystal Reports 10 for Solomon").  These reports are stored as .rpt files but are opened from within Dynamics.  About 15 of these reports have a "client" parameter and I am having to manually refresh the list of default values once a month because new clients are always getting added to the system.  As you can imagine, this is a pain.
    My goal is to write a simple console app that can programatically refresh the default values.  I would then schedule it to run nightly.
    I've downloaded the CrystalReports files for VS2010 (from http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp) and I almost got it working, but I noticed a problem.  If I save the file using the ReportDocument.SaveAs() method, it seems to save the rpt as a newer version of CrystalReports.  When I open the report with "Crystal Reports 10 for Solomon", I get a message that says "This report was created with a version of Crystal Reports for Solomon which is later than the version you are running.  Some features used in the report may not be supported."
    Is there any way to save it in the native version of the original rpt?  Is there an older version of Visual Studio (such as 2005?) or an older SDK that could be used to save the report as CR10?
            static void Main(string[] args)
                ReportDocument rpt = new ReportDocument();
                rpt.Load(@"P:\Usr_Rpts\08CARDC - pgaule.rpt");
                //open the report
                Console.WriteLine(rpt.ParameterFields["ClientName"].DefaultValues.Count.ToString());
                rpt.ParameterFields["ClientName"].DefaultValues.Clear();
                Console.WriteLine(rpt.ParameterFields["ClientName"].DefaultValues.Count.ToString());
                rpt.SaveAs(@"P:\Usr_Rpts\08CARDC - pgaule.rpt", ReportFileFormat.VSNetFileFormat);
                rpt.Close();

    Hello,
    The short answer is that there's no way to "save down" your reports to the CR10 version without using CR10 (or CR 10 runtimes). The bundled versions of CR that ship with earlier versions of Visual Studio are built on the same CR10 code stream, but they're still not the same version. The warning message would not be eliminated by using an older version of Visual Studio.
    The only way to eliminate the warning message would be to create an application that was created with the stand alone version of CR10. I expect it would be very difficult to find a copy of CR10 Developer edition. CR10 reached End of Life for patch support in January, 2007.
    The warning message you're seeing when you open the updated report is just saying that you're opening a "newer" report with "older" runtime files. You're not really adding any new functionality to the RPT files so the warning can be ignored. If you were trying to use a dynamic cascading parameter (new functionality) this would not work correctly in your Solomon v10 application.
    Even though you can ignore the warning message there's no way to suppress it that I'm aware of.
    Sincerely,
    Dan Kelleher

  • Report parameter default value do not default correctly

    Hello Experts, I have a cascading parameters in my report.
    The first parameter called "Project" will allow to select a single Project Name from the list and based on the Project Name, the second parameters which is a "Date" parameter will give out list Months and Year in the Format 'Nov-14'. 
    For this Second parameter I defaulted the parameter to show First Month in the retrieved list of Months. But the problem is it will display the default Date correctly only certain times (there is a refresh problem). If i select a different project and it
    has a month that was retrieved in the first project it will still show the that Month but not the actual default month (Start Month) for that particular Project.
    Example: If I select Brisk from Project parameter, It will give me 18 months of Dates in the Date parameter. In that 18 month range first month is Sep-13 it will default to Sep-13 correctly. Then if I select a different project like "Creek" (example)
    as Project , the Date parameter retrieves some dates corresponding to Creek Project and in the retrieved months if  Date parameter has Sep-13 it will still show Sep-13 even though the
    Start Date for Creek project is Jun-12.
    1. Project Brisk: Defaulted correctly to Sep-13
    2. Creek Project : Should default to Jul-12 but still shows Sep-13
    Just for default value I created a separate dataset and used it to populate the default value and the SQL I used just for default value is as below:
    SELECT DISTINCT TRUNC(DATE_KY, 'MM') AS DEFUALT_DATE
    FROM            DATE_D D
    WHERE        (DATE_KY = ADD_MONTHS(:PROJECT_DT, - 6))
    Date parameter datatype is Date/Time,
    Available Values Tab: label field is a String but the Value field and the default field (Default Values tab) are Dates 
    Thanks in advance

    Thanks Vicky for reply.
    Yes you are right but I did not use First function as the query above retrieves only one date.
    I used your suggestion but it did not fix it.
    In this report I have three parameters.
    1. Project Code (Visible)
    SELECT DISTINCT PROJECT_CODE
    FROM      DIM.PROJECT     
    ORDER BY PROJECT_CODE
    2. Project Date (Invisible)
    SELECT
    MAX(CASENA.MILESTONE
    WHEN'ABCD'THENTRUNC(PROJECT_DATE,'MM')ELSENULLEND)PROJECT_DATE
    FROM
    DIM.PROJECTNA
    WHERE(NA.PROJECT_CODE
    =:PROJECT_CODE
    or'ALL'=:PROJECT_CODE)
    3. Start Date (Visible):
    Available Values Query:
    SELECT DISTINCT
    --DER_DATE is "Value Field"
    TRUNC(D.DATE_KY, 'MM') DER_DATE 
    --Display_date is "Label Field"
    , TO_CHAR(D.DATE_KY, 'Mon-YY')   Display_Date
    FROM DATE_D D
    WHERE DATE_KY BETWEEN ADD_MONTHS(:PROJECT_DATE, -6)  AND ADD_MONTHS(:PROJECT_DATE, 6)
    ORDER BY 1
    Default Values Query:
    SELECT DISTINCT TRUNC(DATE_KY, 'MM') AS DEFUALT_DATE
    FROM            DATE_D D
    WHERE        (DATE_KY = ADD_MONTHS(:PROJECT_DATE, - 6))
    When you select a Project from "Project Code", it will give a "Project Date" and based on the "Project Date" it will give a date range in "Start Date". That is why I am using "Project Date" parameter in my
    query. I even tried using Project code as you suggested but I still got the same result.
    Thanks a lot for your reply.

  • Report Parameter Default Value at runtime

    Post Author: DMiller
    CA Forum: .NET
    Hi,
    I need to be able to create new parameters at runtime and have been somewhat successful in this endeavor. I have one remaining issue that I am hoping that somebody can help me with. Let me explain.
    When you create a parameter from within the Crystal XI designer, you are able to specify a number of default values that will display as a list box at runtime. Eg. ParameterName is MaritalStatus and default values are ("Married", "Single", "Divorced" etc). There is also the ability to specify the Default Value in the Value Options area of the screen. This value could be set to any one of the default values above - let's say that I set it to "Single". By setting the Default Value, this causes the Parameter Fields screen, at runtime, to "Select" the specific default value set above - in this case "Single", instead of showing "..." as the parameter value.
    The default value setting in the Value Options is beneficial when you have reports that are usually run with certain parameter values and only occasionally these need to change. Instead of having to specify every parameter value, the user only has to set the ones that have not been defaulted or they want to change.
    So, I have been successful in creating the parameters at runtime and successfully running the report. I have been unsuccessful in setting the "Default Value" as seen in the Value Options area. I have tried a number of properties on the report parameter object and have not found anything to set this.
    Does anybody know how to set the "Default Value" as seen in the Value Options area in the designer at runtime?
    Thanks for any help.

    Post Author: JerryB
    CA Forum: .NET
    You have described my scnario to a tee.  Did you ever figure out how to get the single default value that is available in the "value options" area when working within the Crystal Reports development environment.  I am using VB.Net and have a nice report menu form and viewer but recently a user ask me to set the default value in one of my combo boxes and I have been unsuccessful in finding the correct property to use.

  • Ssrs parameter default value not showing ,when available values is binded to query dataset

    I have developed a report using sql server data tools for vsiual studio2012 ,i have defined few parameters ,on one of the parameter when available values is binded to a dataset query, the report default value is  not showing in report preview .
    Many Thanks
    Chandra

    Hi Chandra,
    According to your description, you have set the default value for a parameter, but it's not displayed when initially running the report. Right?
    In this scenario, since you have set the available values bind to query, so your default values should be within these available values. If these default values are not within the available values, the default values will be not displayed. So please check
    the default values.
    Reference:
    Add, Change, or Delete Default Values for a Report Parameter (Report Builder and SSRS)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • How to dynamically get default value from a table column

    Hi all,
    Here's my problem: Our front end application sends insert and update queries to a pl/sql package. I've got a procedure that gets a PL/SQL table with all the column names an values, a table-name and a primary key name and value. That procedure creates an insert or update statement. So far, so good.
    Now the problem: our front end doesn't know what the default value for a column is. So when a number field doesn't get a value in the front-end, it's inserted with a value '0' though is should ben NULL. My sollution for this is to know the default value of a column: when there's a default of '0', then the value that will be inserted is '0'. When there's no default value and the column can ben NULL, it'll be inserted as NULL. if the column has a not null constraint, a '0' will be inserted.
    Ofcourse I can get the default value from the system-views all_tab_columns or user_tab_columns, but our application is installed at some 100 clients, and has various database installations. Most of the times, the tables are in the same schema as our procedure that performs the insert or update, but sometimes some of the tables are in another schema (in the same database) and also sometimes some tables are stored in another database. In all these situations, a synonym for that table exists in the schema.
    Is there a api function or procedure that I can call to get the default value of a column? I looked at dbms_sql and dbms_metadata, but those packages don't give me that perticular information. if not, I'll stuck with the 'does table exists in schema' yes->use table, no query user_synonyms to look for the owner of the table (and database link) and query all_tab_columns to get the default value. Only this seems a bit overkill to me.
    I hope I'm clear enough? And please don't reply with "don't do inserts this way"! I know, this is not the most optimal sollution, but it does gives us a couple of advantages in our application...

    there is no way that I can think of, apart from what you have already discovered (i.e. views), where you can determine if a column has a defuault value defined against it.
    The other option is triggers, but I guess doing that across 600 tables would not be an option, and besides I stay clear of triggers.
    A different approach therefore, if you cannot pre-determine the data, is to consider a post problem handler, hence I suggested the use of an exception handler.
    The exception handler works regardless of whether the statement is dynamic or not.
    SQL> truncate table abc;
    Table truncated.
    SQL>
    SQL> declare
      2    NULLVAL exception;
      3    pragma exception_init(NULLVAL, -01400);
      4 
      5  begin
      6 
      7    begin
      8 
      9      execute immediate 'insert into abc (y) values (1)';
    10 
    11      exception
    12        when NULLVAL then
    13          -- handle the error
    14          execute immediate 'insert into abc (x,y) values (0,1)';
    15 
    16    end;
    17 
    18    commit;
    19   
    20  end;
    21  /
    PL/SQL procedure successfully completed.
    SQL>
    SQL> select * from abc;
             X          Y
             0          1

  • Parameter default value doesn't work in Discoverer Desktop 4i

    Hello,
    I have a parameter called 'Organization' in discoverer report.
    I want to set its default value to one organization from the list of values. I edited the parameter
    and selected that value from the list in the Default value field. But,when I run
    the report, it shows the recently used value for that parameter,
    instead of showing the default value.
    I have the same problem with all parametrs in workbooks in Discoverer.
    I am using Discoverer Desktop 4i (4.1.41.05.00).
    Is there anything i can do to make Discoverer show me the default value for the parameter every time i run the workbook?
    Thanks in advance!

    Thanks Rod!
    Unfortunately it seams that seting that p[reference doesn't work for my version of Discoverer.
    That option is introduced with version 4.1.43 and we are using version 4.1.41.05.
    I suppose i can't solve that problem on another way in this version of Discoverer Desktop..?
    Best regards!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Ssrs 2008 want parameter default values to display

    In an ssrs 2008 report, I want to add a parameter called Processed and have default values set so the
    user does not have to select the parameters. The problem is the default parameters are not preselected
    when the report is executed.
    The following is the query for the dataset that is used for the parameter called Processed. This
    is used under available values.
    select DISTINCT IsNull(Processed,'') as Processed,
    CASE IsNull(Processed,'')
      WHEN 0 then 'Non Processed'
      WHEN 1 then 'Processed'
      END AS label
    FROM [Items]
    where Processed in (0,1)
    order by label
    The default values are set to 0 and 1.
    The column called Processed as defined as 'bit'.
    Thus can you tell me what you think could be wrong? Do I need to specify the bit values as
    something else? If so, how should I refer to the values for bit?

    Hi wendy,
    According to your description, this issue can be caused by the values returned by the query. We can try to execute the query in Query Designer to check which values will be returned. Maybe it only returns one value (0 or 1). Then the available values for
    the Processed parameter have only one value. So the default values will not be preselected when the report is initially run.
    Besides, we can also try to use the same query as the default values for the parameter to check the issue again.
    Hope this helps.
    Thanks,
    Katherine Xiong
    If you have any feedback on our support, please click
    here.
    Katherine Xiong
    TechNet Community Support

  • Crystal Reports Date Parameter Default Value OPtion Empty

    Is there a way to set a default date value for a Date Parameter? It is shown empty, it only allows to set a fixed date, i.e. 10/10/2013. But it doesn´t allow me to use a formula (which has a CurrentDate inside), so I can set, for example, today's date as default.
    How can I achieve this? I´m not using Crystal for Enterprise. I'm using Crystal Reports, the normal version.

    Hi Erika,
    The feature is only available in CR for Enterprise at the moment.
    If you're OK with selecting the currentdate from the dropdown, here's a workaround:
    1) Go to the Database Expert > Click the Connection Name > Select 'Add Command' > Type in a simple sql query that returns today's date. Example for oracle would be:
    Select SYSDATE from DUAL
    2) Don't link this Command Object with other tables on the report
    3) Create a new Parameter > Select 'Dynamic' under 'List of Values' > Under the 'Value' column choose 'SYSDATE' from the command object > Click create parameter > OK
    -Abhilash

  • Dynamic parameter list values

    Hi all,
    I'm new with Crystal Report, and I have a problem.
    The goal is to create a Price List based on SAP conditions tables.
    So, In my report I have linked table  Axxx KONP KNA1 MAKT  MVKE T179T  TINCT TVSBT.
    All work find except for the customer parameter selection.
    I want create a dynamic list with Customer Number and description (but only those which exist in table Axxx)
    I can create a dynamic list based on KUNAG and KUNWE from table Axxx(master table), but I have only the Number  of customer and no description (because description don't exist in Axxx table)
    I have try to select NAME1 form KNA1 table, but without success.
    I have search in SAP about a table which contain Number, Name1 and Parvw(partner role) but without succes.(table KNVP don't have Name1)
    I have try to create list value from KNA1 but whe have much more customer and the list is > then 1000 occurence(too big!)
    Do someone have an idea to create a dynamic list which take his information from two tables linked ?
    Or another solution to reach the goal...:)
    Thank in advance for your suggestion,
    Regards
    Martine Bombardelli

    Your requirement for me looks like a straight forward task.
    If you need a DP on 2 fields from 2 different tables in SAP using Integration Kit all you need to do is:
    > create a new parameter in the report
    > select 'Dynamic' from the List of Values drop down. Your options in the Parameter window will change for dynamic compared to static.
    > Choose Data Source: New
    > Below 'Value' select table1.Customer number and next to it under 'Description' select the table2.Description and set the further options you require under the Value options.
    Just as an FYI...there is no option to have a custom SQL when working with SAP Intg Kits. Business View Manager is also not helpful.
    So if a dynamic prompt is needed for a Crystal report above are steps it can be achieved, no other option is available today.
    Thanks,
    Madhu

  • Parameter Default values

    Does anyone know how to set up more than one defult values in a parameter.  I am on cr version11 and it appears to only allow one default value

    what version of crystal reports that you are using? if you are using CR2008 then make the parameter as optional and in the record selection try this
    if hasvalue({?parameter}) then
    {field}={?parameter}
    else
    {field}=currentdate
    So now if you run the report without entering any value in the parameter then it takes today date.
    regards,
    Raghavendra.G

  • Dynamic action - default values

    Hi guys,
    Anybody knows if it is possible to set a dynamic action in order to default P0001-WERKS field in the Infotype 0001?
    Thank you very much!

    So you mean to say, Action 0000 Infotype and Org Assignment 0001 infotype will have different values depending on Action Type??
    This is not at all possibleeeeee!!
    The WERKS that you enter in IT0000 stores in IT0001 but not in IT0000
    Regards
    ...Sadhu

  • Crystal Report Parameter Default Value

    Hi All,
    I have one issues regarding the parameter in the report.
    I have two parameter field in the report. The scenario will be as below:
    In my report, i have mobile no & passport no parameter selection. Currently in my report, the selection was like below:
    {pax.mobile} = {?mobile} and
    {pax.passport} = {?passport}
    Formula above was placed in report's select expert. Each time user need to select or enter the two parameter above in order to select the entered data to be reflected into the report. However, my report REQUIRED to allowed null value from the parameter selection. I can enter mobile no but leave passport null, however with the formula above was unable to proceed to refresh the report. I have the formula as below, however it could not be able to work.
    (if(hasValue({?mobile}) = true) then {pax.mobile}  = '*ALL'
    else {pax.mobile} = {?mobile} ) and
    (if(hasValue({?patssport}) = true) then {pax.passport}  = '*ALL'
    else {pax.passport} = {?passport} )
    The formula above will display all of the records and sometimes it will b hung.
    Appreciated anyone who knows this able to advice.
    Thanks.
    Regards,
    CK

    hi,
    Thanks for your feedback.
    I have try one of the example below:
    if(hasValue({?Country})=false) then true
    else {Customer.Country} like '*'&{?Country}
    If country parameter is null, it will retrun all country. But i would like to return Country = 'USA' if my parameter value is null.
    Is this possible to do it in the formula above? I tried something like below, but if has parameter value it will return the USA as well.
    if(hasValue({?Country})=false) then {Customer.Country} = "USA"
    else {Customer.Country} like '*'&{?Country}

Maybe you are looking for