Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/04/2007, 13h13   #1
Membre du Club
 
Inscription : avril 2004
Messages : 116
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2004
Messages : 116
Points : 60
Points : 60
Envoyer un message via AIM à mediateur59 Envoyer un message via MSN à mediateur59 Envoyer un message via Yahoo à mediateur59
Par défaut [2.1.2][Debutant] Pb Scripted DataSource

j'ai declaré un date source :

j'ai déclarer dans le "open" :
Code :
1
2
3
4
maliste=new fr.monpackage.CoutsPeer();
liste=maliste.readData();
totalrows=liste.size();
currentrow=0;
Méthode readData() :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
public List readData(){
		List lResult=new ArrayList();
 
		for(int i=0;i<15;i++){
			String[] sVecteur=new String[4];
			sVecteur[0]="Break "+i;
 
			sVecteur[1]="k€ "+i;
			sVecteur[2]="Asset "+i;
			sVecteur[3]="Non Asset "+i;
			lResult.add(sVecteur);
		}
 
		return lResult;
 
	}
Dans lévenement afteropen :
Code :
1
2
3
4
5
6
7
8
9
10
11
if( currentrow >= totalrows ){
	return( false );
}
var ligne=maliste.get(currentrow);
row["intuledepense"]=ligne[0];
row["usefullife"]=ligne[1];
row["oglobalasset"]=ligne[2];
row["oglobalnonasset")]=ligne[3];
currentrow=currentrow+1;
 
return( true );
Evenement close :
Code :
1
2
maliste=null;
liste=null;
Erreur en preview :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Table (id = 6): 
+ There are errors evaluating script "maliste=new CoutsPeer();
liste=maliste.readData();
totalrows=liste.size();
currentrow=0;". 
Error.ScriptEvaluationError ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "maliste=new CoutsPeer();liste=maliste.readData();totalrows=liste.size();currentrow=0;". at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:76) at org.eclipse.birt.report.engine.script.internal.DataSourceScriptExecutor.handleJS(DataSourceScriptExecutor.java:137) at org.eclipse.birt.report.engine.script.internal.ScriptDataSourceScriptExecutor.handleOpen(ScriptDataSourceScriptExecutor.java:57) at org.eclipse.birt.data.engine.impl.ScriptDataSourceRuntime.open(ScriptDataSourceRuntime.java:78) at org.eclipse.birt.data.engine.impl.ScriptDataSourceRuntime.openOdiDataSource(ScriptDataSourceRuntime.java:56) at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:248) at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:202) at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:396) at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:145) at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:125) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:119) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:210) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1641) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:62) at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:73) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:35) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:123) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:81) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:85) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:205) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:142) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(Unknown Source) at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(Unknown Source) at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(Unknown Source) at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(Unknown Source) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.eclipse.tomcat.internal.EclipseErrorReportValve.invoke(EclipseErrorReportValve.java:153) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Unknown Source)Caused by: org.eclipse.birt.data.engine.core.DataException: A BIRT exception occurred: Error evaluating Javascript expression. Script engine error: ReferenceError: "CoutsPeer" n'est pas défini (DataSource[Data Source].__bm_OPEN#2) Script source: DataSource[Data Source].__bm_OPEN, line: 1, text:__bm_OPEN(). See next exception for more information.Error evaluating Javascript expression. Script engine error: ReferenceError: "CoutsPeer" n'est pas défini (DataSource[Data Source].__bm_OPEN#2) Script source: DataSource[Data Source].__bm_OPEN, line: 1, text:__bm_OPEN() at org.eclipse.birt.data.engine.core.DataException.wrap(DataException.java:118) at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:552) at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:79) at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:71) ... 63 moreCaused by: org.eclipse.birt.core.exception.CoreException: Error evaluating Javascript expression. Script engine error: ReferenceError: "CoutsPeer" n'est pas défini (DataSource[Data Source].__bm_OPEN#2) Script source: DataSource[Data Source].__bm_OPEN, line: 1, text:__bm_OPEN() at org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoException(JavascriptEvalUtil.java:281) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:105) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:137) at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:548) ... 65 moreCaused by: org.mozilla.javascript.EcmaError: ReferenceError: "CoutsPeer" n'est pas défini (DataSource[Data Source].__bm_OPEN#2) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3240) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3230) at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3303) at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1632) at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1571) at org.mozilla.javascript.gen.c32._c1(DataSource[Data Source].__bm_OPEN:2) at org.mozilla.javascript.gen.c32.call(DataSource[Data Source].__bm_OPEN) at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:105) at org.mozilla.javascript.gen.c8._c0(DataSource[Listecout].__bm_OPEN:1) at org.mozilla.javascript.gen.c8.call(DataSource[Listecout].__bm_OPEN) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.gen.c8.call(DataSource[Listecout].__bm_OPEN) at org.mozilla.javascript.gen.c8.exec(DataSource[Listecout].__bm_OPEN) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:98) ... 67 more
						+ There are errors evaluating script "if( currentrow >= totalrows ){
 return( false );
}
var ligne=maliste.get(currentrow);
row["intuledepense"]=ligne[0];
row["usefullife"]=ligne[1];
row["oglobalasset"]=ligne[2];
row["oglobalnonasset")]=ligne[3];
currentrow=currentrow+1;
 
return( true );".
J'ai copier ma classe dans :
C:\Documents and Settings\Cédric\Mes documents\birt-report-designer-all-in-one-2.1.2\eclipse\plugins\org.eclipse.birt.report.viewer_2.1.2.v20070205-1728\birt\WEB-INF\classes

en créant le répertoire classes :-(
mediateur59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 11h24   #2
Membre du Club
 
Inscription : avril 2004
Messages : 116
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2004
Messages : 116
Points : 60
Points : 60
Envoyer un message via AIM à mediateur59 Envoyer un message via MSN à mediateur59 Envoyer un message via Yahoo à mediateur59
Personne peut m'aider :-( ?
mediateur59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 19h56   #3
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 31
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 31
Points : 10
Points : 10
Etant donné que ton log donne :
Code :
+ There are errors evaluating script "maliste=new CoutsPeer();
Je pense que le problème vient de la première ligne, ta classe n'est pas visible.
Dans les script BIRT, il faut ajouter Package devant le package correspondant.
Ca donnerait quelque chose du genre :
Code :
maliste=new Package.fr.monpackage.CoutsPeer();
tetaslap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 20h26   #4
Membre du Club
 
Inscription : avril 2004
Messages : 116
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2004
Messages : 116
Points : 60
Points : 60
Envoyer un message via AIM à mediateur59 Envoyer un message via MSN à mediateur59 Envoyer un message via Yahoo à mediateur59
J'ai testé mais ça marche pas, je pense que c'est encore un truc à la con à configurer... setRessource truc... :-(
J'ai une question :

Est-on obliger de copier la class dans le repertoire plug-in de notre eclipse avec la version 2.1.2 ?
Auriez vous un exemple qui marche en version 2.1.2 je suis un peu pressé sur ce report donc si quelqu'un à des piste n'hesiter pas...
mediateur59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 21h30   #5
Membre du Club
 
Inscription : avril 2004
Messages : 116
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2004
Messages : 116
Points : 60
Points : 60
Envoyer un message via AIM à mediateur59 Envoyer un message via MSN à mediateur59 Envoyer un message via Yahoo à mediateur59
J'ai réussi lol

euh mes erreurs étaient :
1. Mettre new Packages avec un S S S
2. ensuite ne pas confondre DataSource et DataSet
il faut mettre le code dans le DataSet
3. Mettre en sortie le Type String

Voilà.
mediateur59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 16h35   #6
Membre du Club
 
Inscription : avril 2004
Messages : 116
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2004
Messages : 116
Points : 60
Points : 60
Envoyer un message via AIM à mediateur59 Envoyer un message via MSN à mediateur59 Envoyer un message via Yahoo à mediateur59
Re,

J'utilise une API pour accéder à ma BDD (Torque) et lorsque je fais dans ma méthode readData() un appel à des objets de cette API
le rapport plante :
exemple :
ajout de la ligne : Criteria c=new Criteria(); (Birt ne peut découvrir des jar externes au j2sdk ?)

Bref mon besoin est de pouvoir à chaque génération d'un rapport d'initialiser un dataset.
J'ai regardé un code de BIM

Classe java :
Code Java :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
public static List getCouts(int iNumerodemande) {
		// TODO Raccord de méthode auto-généré
		List lCouts=new ArrayList();
		try {
			Criteria c=new Criteria();
			c.add(CoutsPeer.NUMERODEMANDE,iNumerodemande);
			c.addAscendingOrderByColumn(CoutsPeer.NUMEROCOUTS);
			lCouts=CoutsPeer.doSelect(c);
		} catch (TorqueException e1) {
			// TODO Bloc catch auto-généré
			e1.printStackTrace();
		}
 
		CoutsPeer.intialisationValeur(lCouts);
		List lStringCouts=new ArrayList();
		for(Iterator ii=lCouts.iterator();ii.hasNext();){
			Couts oCouts=(Couts)ii.next();
			String[] sCouts=new String[4];
			sCouts[0]=oCouts.getIntituledepense();
			double somme=oCouts.getOGlobalAsset()+oCouts.getOGlobalNonAsset();
			sCouts[1]=""+somme;
			sCouts[2]=""+oCouts.getOGlobalNonAsset();
			sCouts[3]=""+oCouts.getOGlobalAsset();
			lStringCouts.add(sCouts);
		}
		return lStringCouts;
	}
open :
Code :
1
2
3
4
5
6
7
 
firstRow = params["list"].value;
noLine = 0;
IF (firstRow != NULL)
	noLine = firstRow.size();
 
currentLine = 0;
fetch:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
IF (currentLine >= noLine)
	RETURN false;
 
var item = firstRow.get(currentLine);
 
row["Depenses"]=item[0];
row["Somme"]=item[1];
row["Assets"]=item[2];
row["NonAssets"]=item[3];
 
 
currentLine++;
 
RETURN true;
close : je n'ai rien mis..

Et je ne m'en sors pas.. est ce que vous voyez quelque de chose de flagrant dans mon code ?
mediateur59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h52.


 
 
 
 
Partenaires

Hébergement Web