Comment définissez-vous et passer un paramètre à un BIRT rapport, créé par le BIRT Report Designer à travers la BIRT API?

J'ai créé un rapport simple qui prend un seul paramètre. Ce paramètre est utilisé dans la requête et exécute amende lorsqu'elle est directement exécutée dans le concepteur de rapports. Par la façon dont je ne suis pas à l'aide de javascript ou un script pour ce rapport. J'ai vu des gens qui essaient de passer des paramètres à l'aide de scripts et/ou des javascripts pour les réponses ici, mais ce n'est pas ce que je fais. Je passe tous mes paramètres via java. En continuant, dans le présent rapport, je suis à la liste active/inactive éléments. Je passe d'un 'N' pour l'inscription inactive éléments et un " Y " pour les éléments actifs. Lorsque j'essaie de passer un paramètre par le biais de l'API, j'ai toujours une liste d'éléments actifs, indépendamment de ce que je passe. Par la manière de " Y " est la valeur par défaut du paramètre transmis. (Je suis en substituant les valeurs par défaut dans le code ci-dessous), Le problème que je vais avoir, c'est que le rapport ne semble pas vouloir prendre les paramètre que j'ai défini. Oui, les changements de valeur de ma variable passée dans, mais le rapport ne reflète pas le changement. Mon code est ci-dessous. J'ai essayé de suivre les conseils de ce lien et comment régler les paramètres.

http://www.eclipsezone.com/eclipse/forums/t67723.html

Si vous allez sur le lien aller vers le bas à #4 et voir la liste de tâches à faire. C'est ce que j'ai essayé de suivre. Je me sens j'ai peut-être raté quelque chose. Si vous avez ce passe pourriez-vous me donner quelques conseils pour ce que je suis absent? Merci beaucoup!

-Dale

    public class ReportGenerator {
public static void main(String args[]) throws Exception{
ReportGenerator rg = new ReportGenerator();
rg.executeReport("N");
}
@SuppressWarnings({ "unchecked", "deprecation" })
public void executeReport(String activeIndicator) throws EngineException {
IReportEngine engine=null;
EngineConfig config = null;
try{
config = new EngineConfig( );            
config.setBIRTHome("C:\\birt-rcp-report-designer-3_7_2\\ReportEngine");
config.setLogConfig("c:/temp/test", Level.FINEST);
Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );        
IReportRunnable reportDesign = null;
reportDesign = engine.openReportDesign("C:\\workspace\\SimpleReport\\ReportTemplates\\ItemListingReport.rptdesign"); 
IRunAndRenderTask task = engine.createRunAndRenderTask(reportDesign);
IGetParameterDefinitionTask parameterDefinitionTask = engine.createGetParameterDefinitionTask(reportDesign);
parameterDefinitionTask.evaluateDefaults();
HashMap<String, String> params = parameterDefinitionTask.getDefaultValues();
params.put("aIndicator", activeIndicator);
parameterDefinitionTask.setParameterValues(params);
ConnectionHelper connectionHelper = new ConnectionHelper();
task.getAppContext().put("OdaJDBCDriverPassInConnection", connectionHelper.getConnection());
PDFRenderOption options = new PDFRenderOption();
options.setOutputFormat("pdf");
options.setOutputFileName("C:\\workspace\\SimpleReport\\output\\itemListingReport.pdf");
task.setRenderOption(options);
task.run();
task.close();
engine.destroy();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
Platform.shutdown();
}
}
}

OriginalL'auteur Dale | 2012-05-25