I feel very frustrated in passing parameters to crystal report and try to get dynamic report by user input values
I am posting codes here and please advice me your opinion...
Thanks advance!!!
<%
IInfoStore iStore = null;
IInfoObjects oInfoObjects = null;
IInfoObject oInfoObject = null;
IEnterpriseSession es = null;
es = (IEnterpriseSession)session.getAttribute("CE_Session"
;
iStore = (IInfoStore)es.getService("", "InfoStore"
;
oInfoObjects = (IInfoObjects)iStore.query("Select * from CI_INFOOBJECTS Where SI_PROGID = 'CrystalEnterprise.Report' And SI_INSTANCE = 0 And SI_NAME='rptBrandConsumersUSA5'"
;
oInfoObject = (IInfoObject)oInfoObjects.get(0);
//cast the InfoObject as a Report Object
IReport oReport = (IReport)oInfoObject;
List paramList = oReport.getReportParameters();
//create a new Fields collection to hold the
parameterfield
Fields params = new Fields();
try
{
for (int x=0; x<oReport.getReportParameters().size(); x++)
{
//get current parameter object
IReportParameter oParam = (IReportParameter)paramList.get(x);
ParameterField newParam = oParam.getParameterField();
//get parameter name
String paramName = newParam.getName();
//declare a new parameter value object
ParameterFieldDiscreteValue paramValue = new ParameterFieldDiscreteValue();
//retrieve user input value
String strValue = request.getParameter(paramName);
paramValue.setValue(strValue);
newParam.getCurrentValues().add(paramValue);
params.add(newParam);
}
}
catch(Exception e){
e.printStackTrace();
}
//set the Fields collection to the viewer
viewer.setParameterFields(params);
I am posting codes here and please advice me your opinion...
Thanks advance!!!
<%
IInfoStore iStore = null;
IInfoObjects oInfoObjects = null;
IInfoObject oInfoObject = null;
IEnterpriseSession es = null;
es = (IEnterpriseSession)session.getAttribute("CE_Session"
iStore = (IInfoStore)es.getService("", "InfoStore"
oInfoObjects = (IInfoObjects)iStore.query("Select * from CI_INFOOBJECTS Where SI_PROGID = 'CrystalEnterprise.Report' And SI_INSTANCE = 0 And SI_NAME='rptBrandConsumersUSA5'"
oInfoObject = (IInfoObject)oInfoObjects.get(0);
//cast the InfoObject as a Report Object
IReport oReport = (IReport)oInfoObject;
List paramList = oReport.getReportParameters();
//create a new Fields collection to hold the
parameterfield
Fields params = new Fields();
try
{
for (int x=0; x<oReport.getReportParameters().size(); x++)
{
//get current parameter object
IReportParameter oParam = (IReportParameter)paramList.get(x);
ParameterField newParam = oParam.getParameterField();
//get parameter name
String paramName = newParam.getName();
//declare a new parameter value object
ParameterFieldDiscreteValue paramValue = new ParameterFieldDiscreteValue();
//retrieve user input value
String strValue = request.getParameter(paramName);
paramValue.setValue(strValue);
newParam.getCurrentValues().add(paramValue);
params.add(newParam);
}
}
catch(Exception e){
e.printStackTrace();
}
//set the Fields collection to the viewer
viewer.setParameterFields(params);