Wie gehen Sie und übergeben Sie einen parameter ein BIRT-report-erstellt von den BIRT-Report-Designer durch die BIRT API?

Habe ich einen einfachen Bericht mit einem einzigen parameter. Dieser parameter wird in der Abfrage und führt Sie in Ordnung, wenn direkt ausgeführt, im report designer. Übrigens ich bin nicht mit javascript oder scripting für diesen Bericht. Ich habe gesehen, einige Leute, die versuchen zu übergeben von Parametern mithilfe von Skripts und/oder javascripts für die Antworten hier, aber das ist nicht das, was ich Tue. Ich lasse alle meine Parameter durch java. Weiterhin, in diesem Bericht Liste ich die aktive/inaktive Artikel. Ich pass in ein 'N' für die Auflistung inaktive Elemente und ein 'Y' für aktive Elemente. Wenn ich versuche einen parameter übergeben, der über die API, ich bekomme immer eine Liste der aktiven Elemente, unabhängig davon, was ich in übergeben. Übrigens 'Y' ist der default-Wert des Parameters übergeben. (Ich bin überschreiben der defaults im code unten) das problem Das ich habe ist, dass der Bericht scheint nicht zu wollen, den parameter habe ich gesetzt. Ja der Wert ändert sich in meine variable übergeben, aber der Bericht spiegelt nicht die Veränderung. Mein code ist unten. Ich habe versucht die Ratschläge zu befolgen dieser link und wie die Parameter festgelegt.

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

Wenn Sie auf den link gehen, nach unten gehen zu #4 und die Liste der Aufgaben zu tun. Dies ist, was ich versucht habe zu Folgen. Ich fühle, ich könnte etwas fehlen. Wenn Sie ' ve bekam das gehen, könnte Sie mir einen Rat geben, was ich bin fehlt? Vielen Dank!

-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();
        }
        }
    }
InformationsquelleAutor Dale | 2012-05-25
Schreibe einen Kommentar