Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
How to set report parameter as query parameter programmatically
PraveenRaj
Hi...<br />
I need to generate rptdesign programmatically, where i need to set runtime report parameter as query parameter. This is what the code i wrote:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
//Parameter Creation
ScalarParameterHandle scalarParameterHandle=elementFactory.newScalarParameter("param");
try {
scalarParameterHandle.setValueType(DesignChoiceConstants.PARAM_VALUE_TYPE_STATIC);
scalarParameterHandle.setDataType(DesignChoiceConstants.PARAM_TYPE_STRING);
// scalarParameterHandle.setParamType("simple");
scalarParameterHandle.setDefaultValue("abc");
scalarParameterHandle.setHidden(true);
scalarParameterHandle.setConcealValue(true);
scalarParameterHandle.setControlType(DesignChoiceConstants.PARAM_CONTROL_TEXT_BOX);
// scalarParameterHandle.setDistinct(true);
scalarParameterHandle.setCategory("Unformatted");
reportDesignHandle.getParameters().add( scalarParameterHandle );
} catch (Exception e1) {
e1.printStackTrace();
}
//DataSet Creation
String extensionID = "org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet";
DataSet = elementFactory.newOdaDataSet("Data Set",extensionID);
DataSet.setDataSource("Data Source");
DataSet.setQueryText("select user_id,LOGGED_IN from pmtb_user_info where user_id=?");
designHandle.getDataSets().add(DataSet);
</pre>
<br />
Here i need to set parameter "param" to query text "user_id" as shown above.<br />
<br />
Is anyone having idea about it?
Find more posts tagged with
Comments
PraveenRaj
Hi all
I got solution for the post i did.
With the help of OdaDataSetParameter we can set the query parameter as report parameter.
Below is code:
OdaDataSetParameter odaDataSetParameter=StructureFactory.createOdaDataSetParameter();
odaDataSetParameter.setName("param");
// Linked to report parameter
odaDataSetParameter.setParamName("param");
odaDataSetParameter.setDataType(DesignChoiceConstants.PARAM_TYPE_STRING);
odaDataSetParameter.setNativeDataType(1);
odaDataSetParameter.setPosition(1);
odaDataSetParameter.setIsOptional(false);
odaDataSetParameter.setAllowNull(true);
odaDataSetParameter.setIsInput(true);
odaDataSetParameter.setIsOutput(false);
PropertyHandle odaDataSetParameterProp = DataSet.getPropertyHandle(OdaDataSetHandle.PARAMETERS_PROP);
odaDataSetParameterProp.addItem(odaDataSetParameter);
designHandle.getDataSets().add(DataSet);
Thanks....
oxerousr
how i can implement what you are saying if i have no an dataset but a datasetdesign?
thankyou