Decideo - Actualités sur le Big Data, Business Intelligence, Data Science

Abonnez-vous gratuitement à Decideo !


Decideo


 
Forums, dernières contributions

Lister tous les objets d'un rapport webi par le sdk

 Fabrice
Mercredi 18 Mars 2009

Version imprimable
[Ignorer]
Bonjour,

Je cherche à écrire un programme pour documenter tous mes rapports WEBI.
Je veux lister pour chaque rapport le détail des objets utilisés dans chaque requête.
J'ai commencé avec du vba et excel (sdk bo pour vba), j'arrive à lister tous mes rapports mais à rentrer dans le détail des requêtes. En vba j'arrive aussi à avoir le détail de l'univers, des rapports deski mais par contre les rapports webi non.
Après quelques recherche, j'ai l'impression qu'il est impossible de le faire en vba mais qu'il faut se tourner vers Java.
Quelqu'un aurait t'il des détails ou un bout de code pour réaliser ceci.

Merci
Cordialement,
Fabrice
 Joel Da Costa
Jeudi 19 Mars 2009

Version imprimable
[Ignorer]
Bonjour Fabrice,

Je confirme, c'est impossible à réaliser en VBA et .Net.
Il faut utiliser le ReportEngine SDK qui n'est disponible qu'en Java.

Il vous faudra ouvrir chaque document avec le SDK (DocumentInstance.openDocument()) , parcourir les dataproviders de chacun des documents (doc.getDataproviders()), parcourir les objets du résultats (Dataprovider.getQuery().getResultObject(index)) mais aussi parcourir les filtres (Dataprovider.getQuery().getCondition())c'est là qu'est la partie la plus compliquée car ceux-ci sont stockés sous forme d'arbres (dans le ConditionContainer) et le principe de parcours via le SDK n'est pas simple au premier abord.

Vous trouverez toute la doc de ce SDK ici :

http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/RE_SDK/resdk_java_doc/doc/resdk_java_apiRef/index.html

Cordialement,
Joël Da Costa
 Fabrice
Vendredi 20 Mars 2009

Version imprimable
[Ignorer]
Bonjour,

Je vous remercie pour votre réponse.

J'ai réussi à créer un fichier csv listant pour chaque rapport et chaque requête tous les objets associés en java.
J'ai aussi créer en vba un fichier csv listant tous les objets de l'univers.
J'aimerais pouvoir faire un lien entre ces 2 fichiers, le nom n'est pas satisfaisant car de nombreux objets ont le même nom. Idéalement, j'aimerais utiliser l'ID de l'objet mais je n'ai pas trouver de méthode en vba me ramenant l'ID de l'objet (par contre je l'ai trouvé avec le sdk java). OU sinon dernière solution en prenant la classe de l'objet + le nom.

Savez vous si on peut récupérer l'ID de l'objet dans un univers en vba ?

En vous remerciant,
Fabrice
 Joel Da Costa
Lundi 23 Mars 2009

Version imprimable
[Ignorer]
Bonjour Fabrice,

J'avais tenté la même chose de mon côté et il me semble qu'en vba je n'arrivais pas a récupérer l'ID d'un objet dans l'univers, j'avais été obligé d'utiliser comme clé le trio nom de l'objet - chemin complet de la classe de l'objet - type de l'objet.
C'est relativement pénible.

Cependant vous avez une autre méthode pour obtenir la liste de tous les objets d'un univers, toujours en passant par le ReportEngine java sdk.
Au lieu d'ouvrir un report existant, créez un nouveau rapport en sdk en java, et créez un nouveau dataprovider et une nouvelle requête sur l'univers en question.
Et vous avez accès au dictionnary complet de l'univers, c'est a dire tous les objets disponibles, avec leur ID (DataSourceObject ID).
Vous pourrez ainsi vous faire un fichier (ou une table) avec la liste de tous les objets de l'univers, et un fichier (ou une table) avec la liste de tous les objets utilisés par vos requêtes.

En revanche il vous sera impossible d'accéder au contenu des objets (par exemple la fonction de répartition, le mapping avec la colonne de la Base de données) ces informations restent la 'propriété' du sdk designer en java.

Perso dans l'outil que j'avais développé, mon algo sortait la liste des tous les univers disponibles, créait une query sur chaque univers et j'allais remplir une table avec toutes ces infos. Puis je scannais tous les reports webi, je les ouvrais un par un pour obtenir la liste des objets utilisés par les reports pour alimenter un certain nombre d'autres tables.

Et par dessus tout ça un univers qui attaquait ces tables et permettait de faire tout sortes d'analyses.

Cordialement,
 Fabrice
Lundi 23 Mars 2009

Version imprimable
[Ignorer]
Bonjour,

Je vous remercie pour toutes ces explications. Je vais malheuresement devoir utiliser la clé : nom de l'objet - chemin complet de la classe de l'objet - type de l'objet car je dois remonter certaines informations 'propriétaire' du sdk Designer.

L'outil que vous avez développer semble interressant, est-il possible d'en avoir une copie (fabrice.sentenac@gmail.com)?

En vous remerciant pour toutes ces informations.

Cordialement,
Fabrice
 Joel Da Costa
Vendredi 27 Mars 2009

Version imprimable
[Ignorer]
Bonjour Fabrice,

Concernant l'outil, désolé mais c'est impossible, ce développement a été réalisé dans le cadre de mon précédent emploi, le code est donc la propriété de mon précédent employeur qui le 'commercialise' d'ailleurs dans le cadre de mission de conseil.

Je ne peux donc vous le transmettre, cependant je suis toujours dispo pour vous renseigner / aider si vous avez des questions.

Cordialement,
J. Da Costa


Twitter
Rss
LinkedIn
Facebook
Apple Podcast
App Store
Google Play Store