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 06/04/2011, 16h24   #1
Membre à l'essai
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 22
Points : 22
Par défaut Comment recupérer avec les API BIRT la valeur d'un paramètre initialiser dans un script

Bonjour à tous,
j'ai un rapport dans lequel une partie des paramètres sont initialisée dans le script de l'évènement BeforeFactory du rapport. Lorsque je met à jour les autres paramètres grâce à l'instruction RunTask.setParameterValue() et que je lance la génération du rapport, je constate que les paramètres qui sont initialisés dans le script ne l'on pas été(car je fait l'instruction RunTask.getParameterValue()).

Par la suite, j'ai voulu donc chercher à recupérer les valeurs initialisées dans le script, mais je ne sais pas comment le faire.

Merçi d'avance de votre aide.

Eric.
kadje84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 16h27   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Quand tu fais le runTask.getParameterValue(), tu obtiens les valeurs par défaut du paramètre. Sachant que le rapport n'a pas été généré, il n'est pas passé par beforeFactory. Tu pourrais éventuellement retrouver ces valeurs autrement si tu nous passais un petit bout de code qu'on voit comment et quand tu veux retrouver ces valeurs.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 18h13   #3
Membre à l'essai
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 22
Points : 22
Merci de t'intéresser à mon problème BIM,
j'ai un rapport avec le script suivant dans l'évènement BeforeFactory du rapport:
Code :
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
29
30
31
32
33
 
importPackage (Packages.com.lemoinetechnologies.pulse.reports.functions);
 
// PulseMinDate / PulseMaxDate
var minDate = params["PulseMinDate"].value;
var maxDate = params["PulseMaxDate"].value;
var minMaxDates = DateSelection.getMinMaxDates (
 reportContext.getParameterValue ("PulseDateRange"),
 minDate, maxDate);
reportContext.setParameterValue ("PulseMinDate", minMaxDates [0]);
reportContext.setParameterValue ("PulseMaxDate", minMaxDates [1]);
 
// Check analysis
analysisMessage = reportContext.getMessage(CheckAnalysis.check (minMaxDates[0], minMaxDates[1]),
	reportContext.getLocale());
reportContext.setParameterValue ("PulseInfoMessage",
	CheckAnalysis.updateMessage (reportContext.getParameterValue ("PulseInfoMessage"),
		analysisMessage));
 
// Orientation
var orientationParam = reportContext.getParameterValue("orientation");
if (orientationParam != null) {
	var pages = reportContext.getDesignHandle().getModuleHandle().getAllPages();
	for(var i = 0; i < pages.size(); i++) {
		var page = pages.get(i);
		page.setProperty("orientation", orientationParam);
	}
}
 
// Current date
if (reportContext.getParameterValue ("currentdate") == null) {
	reportContext.setParameterValue ("currentdate", new Date ());
}
ce script met à jour une partie des paramètres de mon rapport.
dans une fonction de mon application web, je conçois une autre fonction pour mettre à jour le reste des paramètres.
Pour rappel, je n'utilise pas le birtviewer, mais uniquement les APIs.
kadje84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 08h09   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Oui mais si j'ai bien compris, tu essayes de récupérer tes paramètres en Java ensuite, je me trompe ?

Si c'est bien le cas, c'est plutôt ce code qui m'intéresse pour t'aider.

Parce que je suppose que ce que tu as fait dans le beforeFactory fonctionne, tu as dû le tester.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 08h31   #5
Membre à l'essai
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 22
Points : 22
Par défaut Différence entre les instructions params["name_param"].value=some_value and reportContext.setParameterValue()

Bonjour à tous,
J'aimerais savoir la différence entre les instructions :
- params["name_param"]=some_value
- reportContext.setParameterValue("name_param",some_value)

dans un script situé dans un rapport tel que dans un ReportDesign.BeforeFactory.

est ce que vous pourriez également m'expliquer ce que représente exactement la variable reportContext et comment est ce que on peut la retrouver à l'aide de l'API Birt
kadje84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 08h39   #6
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Alors pour les instructions que tu présentes, c'est exactement la même chose. Sauf qu'à certains endroits (comme dans les graphiques par exemple), la variable params n'est pas disponible, donc il faut récupérer le reportContext puis les variables qui y sont attachées.

Ensuite, en ce qui concerne l'API BIRT, il faut chercher son interface IReportContext.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 08h56   #7
Membre à l'essai
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 22
Points : 22
Merci de ton aide BIM,
J'utilise actuellement sur un projet Birt 2.6.2 et dans le script BeforeFactory d'un de mes rapports, je met à jour des paramètres grâce à l'instruction reportContext.setParameterValue(). Sauf que lorsque j'exécute un runTask sur ce rapport, j'obtiens des résultats que me montre que ces variable n'ont pas été mise à jour.

S'il te plaît, as tu une explication sur cette situation?
kadje84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 09h20   #8
Membre à l'essai
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 22
Points : 22
J'ai par la suite remplacer les instructions reportContext.setParameterValue() par params[ ].value sans plus de résultat.
Après avoir affecter des valeurs explicites à mes paramètres dans le script, je constate que elles ne sont prises en compte, ce qui m'amène à penser que le script n'est peut-être pas exécuter. Celà est-il possible? Qelqu'un a-t-il déjà été confronté à ce genre de problème?

Merci de me faire part de votre espérience.

Eric.
kadje84 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 05h36.


 
 
 
 
Partenaires

Hébergement Web