Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
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