Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > SDK
SDK Forum d'entraide pour la programmation des outils BO par des API (VBA, ASP, Java)
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 05/01/2007, 16h13   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Par défaut [SDK]Référentiel BO et Visual Studio 2005

Bonjour,

Je suis actuellement en train de développer une console d'administration interfacée en web pour une appli existante. Pour cela, je dois notamment récupérer la liste des groupes et dossiers du référentiel BO et les stocker dans un document Excel.

Je suis sous Windows 2003 Server, et je travaille avec BO XI R2, Visual Studio 2005 et en VB.NET.

Quelqu'un peut-il m'aider à récupérer la liste des groupes et utilisateurs du référentiel BO en VB.NET ? Comment dois-je procéder en utilisant le SDK de BO ?

J'ai été sur http://devlibrary.businessobjects.com mais je n'ai pas trouvé.

Merci beaucoup de votre aide!
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2007, 13h28   #2
Membre confirmé
 
Inscription : juillet 2005
Messages : 402
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 402
Points : 269
Points : 269
Salut.

J'ai regardé le lien de ton post, et 2 classes ont retenu mon attention : CrystalDecisions.Enterprise.Desktop.User Assembly et CrystalDecisions.Enterprise.Desktop.UserGroup Assembly.
Les avais-tu remarquées ? Cela ne conviendrait-il pas ?
marchand_de_sable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 10h36   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Salut

Oui oui j'ai remarqué ces deux classes, précisément même UserGroup plutôt que User car je ne m'intéresse pas encore aux utilisateurs mais aux groupes d'utilisateurs. De la même façon j'ai trouvé une classe Folder qui doit sûrement contenir les dossiers du référentiel BO.

Ces deux classes sont donc effectivement la base de mon travail.

Le problème est que je ne sais pas comment m'y prendre pour les utiliser car mes notions dans ce domaines ne sont pas énormes.

Mon but est d'utiliser ces classes pour accéder à la liste de ces fameux groupes et dossiers pour les lister / récupérer / modifier / etc.

Merci par avance
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 11h37   #4
Membre confirmé
 
Inscription : juillet 2005
Messages : 402
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 402
Points : 269
Points : 269
Citation:
Envoyé par titlola
Le problème est que je ne sais pas comment m'y prendre pour les utiliser car mes notions dans ce domaines ne sont pas énormes.
Oups, ben moi non plus. Je connais un peu VB, mais pas .NET, du coup je ne saurais pas te dire comment utiliser ces classes...
marchand_de_sable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 14h06   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Bon ben merci quand même d'avoir essayé.

Avis aux autres développeurs, je suis toujours en galère!

Merci

Edit :

une question sûrement pas compliquée mais qui me pose problème : ça fait quoi "DataBind" ? Je l'ai partout, avec plein de fonctions, mais à part le dico qui me dit que "bind" veut dire "lier", je sais pas trop à quoi ça sert...
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 16h58   #6
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Je colle l'edit précédent pour faire un up :

une question sûrement pas compliquée mais qui me pose problème : ça fait quoi "DataBind" ? Je l'ai partout, avec plein de fonctions, mais à part le dico qui me dit que "bind" veut dire "lier", je sais pas trop à quoi ça sert...

Et en même temps j'ajoute une question :

Quelqu'un peut-il me traduire ça :
"a 2-dimensional array (a jagged array)"
"the outer jagged array"
C'est quoi un "array" en terme de développement ?


La phrase de base c'est ça :
Declare and populate a 2-dimensional array (a jagged array) nesting two string arrays within the outer jagged array.

Mais quoi qu'est-ce donc ??

Edit (encore) :

Question plus orientée Visual Studio 2005 : c'est quoi IDictionary, ça sert à quoi et ça marche comment (de façon simplissime) ?

Merci !
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 17h11   #7
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
array = tableau.

bind ça doit vouloir dire qu'on peut utiliser des requêtes bindées, cad dont les paramètres sont juste des variables, ce qui permet au SGBD de ne pas avoir à reparser la requête s'il l'a encore en mémoire (gain de temps).

Sinon pour les groupes et utilisateurs, une bonne requête directement dans les tables du référentiel...
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 17h49   #8
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Merci nuke_y pour ces précisions mais je dois avouer que je n'y comprends pas grand chose (hélas!).

Pour la définition de DataBind, je n'ai pas compris ce qu'est une requête bindée, et je ne connais pas non plus le terme reparser. Peux-tu m'éclaircir brièvement et un peu plus simplement ?

Pour groupes et dossiers utilisateurs, comment puis-je faire une requête dans les tables du référentiel ? Où sont ces tables ?

Désolée je suis complète à la ramasse...
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 09h37   #9
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Salut


Pour les tables contenant les groupes et utilisateurs, il faut que tu connaisses le USER qui a été créé pour le référentiel.
Une fois que tu as cette information, tu peux aller voir les tables.

Pour les utilisateurs, sur la version 6.5.1, la table est de la forme xxxx_ACTOR. Je dis cela de mémoire. Ceux qui ont B.O. pourront donner rapidement l'infiormation.

Mais il me semble que sous XI, il y a de grands changements concernant le référentiel !!!



Concernant DATABIND (méthode d'une classe):
L'appel de la méthode DataBind d'un contrôle entraîne un parcours récursif à partir de ce contrôle jusqu'au bas de l'arborescence. L'événement DataBinding se déclenche pour chaque contrôle serveur de cette hiérarchie et les expressions de liaison de données des contrôles sont évaluées en conséquence. Ainsi, si la méthode DataBind de la page est appelée, toutes les expressions de liaison de données de la page le sont également.

IDictionary is the interface to handle class dictionary informations


En espérant avoir aidé

A bientôt

Frédéric
___________
Vaut mieux un qui sait que deux qui cherchent...mais deux qui cherchent valent toujours mieux qu'un qui croit savoir...

Trois mois au minimum en mission à Marseille loin de ma copine qui reste à Paris, dur... dur... dur...
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h24   #10
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Salut,

Merci pour ces infos. Je comprends un peu mieux le Databind.

En revanche, pour les tables contenant groupes, dossiers et utilisateurs, de quel USER parles-tu ? Qui est celui qui a été créé pour le référentiel ? Est-ce que c'est l'administrateur avec lequel je me loggue sous la Central Management Console de B.O. ?

En admettant que ce soit ça, où puis-je voir les tables contenant ces infos ? J'ai été voir dans SQL Server, j'ai bien des tables BO_XI_R2 mais pas la moindre info sur les groupes, users, etc.

Bon, j'attends de l'aide supplémentaire si quelqu'un en a !

Merci
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h38   #11
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
N'ayant pas B.O. installé sur mon portable (je suis en intercontrat en plus), je ne peux pas te donner toutes les infos. De toute façon, je travaillais dernièrement sur la v6.5.1
Il me semble comme déjà dit, qu'il y a des changement sur la XI en ce qui concerne le référentiel

Sinon, il faudrait que tu fasses des recherche du style dans le user que tu as trouvé contenant des tables BO_XI...

select table_name, column_name
from user_tab_columns
where column_name like '%ACTO%'

select distinct table_name
from user_tab_columns
where table_name like '%ACTO%'


J'ai fait les requêtes de tête donc user_tab_columns s'écrit peut-être sans S...



A bientôt

Frédéric
___________
Vaut mieux un qui sait que deux qui cherchent...mais deux qui cherchent valent toujours mieux qu'un qui croit savoir...

Trois mois au minimum en mission à Marseille loin de ma copine qui reste à Paris, dur... dur... dur...
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 11h59   #12
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Je n'ai pas réussi tes requêtes ; SQL Server me dit qu'il n'a pas trouvé user_tab_columns ni user_tab_column. Est ce que je dois remplacer quelque chose ou écrire la requête tel quel ? Car comme ça, ça ne fonctionne pas.

A ce rythme, je vais finir par me dire que la prog, ce n'est pas pour moi.

Autre question concernant Visual Studio, je souhaite écrire plusieurs lignes dans un Label, comment peut-on aller à la ligne dans cet objet ?

WordWrap ne me convient pas. Je voudrais pouvoir aller à la ligne à chaque fois que je concatène une nouvelle chaine à la propriété Text déjà existante.

Merci !
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 12h17   #13
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Je suis désolé. J'ai tellement l'habitude d'ORACLE que je t'ai donné les tables utilisés par ORACLE.

Avec SQL Server, je ne connais pas les tables "systèmes", l'équivalent des USER_... ou les ALL_... ou encore DBA_...

Dans ce cas, il te faut un spécialiste de SQL Server. Recherche sinon dans tes tables s'il y en a qui portent un nom équivalent à ACTOR

Je ne peux pas malheureusement t'aider plus... désolé


A bientôt

Frédéric
___________
Vaut mieux un qui sait que deux qui cherchent...mais deux qui cherchent valent toujours mieux qu'un qui croit savoir...

Trois mois au minimum en mission à Marseille loin de ma copine qui reste à Paris, dur... dur... dur...
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 14h40   #14
Membre confirmé
 
Inscription : juillet 2005
Messages : 402
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 402
Points : 269
Points : 269
Salut.

Je confirme que le référentiel de la XI (r2) ne contient pas de table dont le nom contient ACTOR... Celle qui devrait contenir les infos relatives aux groupes et utilisateurs s'appelle CMS_InfoObjects.
Je ne peux malheureusement pas te le confirmé, car la majorité des champs sont au format binaire, et je ne sais pas comment lire les champ type BLOB...
marchand_de_sable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 15h11   #15
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Oui c'est exactement ça. J'ai CMS_InfoObjects, avec une colonne où je suis censée avoir mes groupes d'users, mais dedans j'ai "données binaires".

Hmmm... Bon.

Autre chose, quelqu'un aurait-il un bon tuyau (lien utile ?) pour faire joujou avec Excel sous Visual Studio 2005 ? (= créer un fichier XLS, l'ouvrir, faire des modifs sur les cellules, etc)

Pour le moment j'ai réussi à ouvrir un fichier existant. Je cherche maintenant comment écrire un truc dans une cellule si quelqu'un sait!

Merci!

EDIT : trouvé
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 15h34   #16
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Lorsque j'ai travaillé avec Excel, je créais des macros, new macro puis enregistrer, et ainsi je récupère le code VBA pour les modifications.
Avec cela, tu as déjà je pense une base pour travailler. Il faudra simplement vérifier que les méthodes existent réellement.

Des pros pourront te donner d'autres renseignements.

Tu peux déjà voir :
http://morpheus.developpez.com/vsto2/
ou
http://groups.google.fr/group/micros...3554624c239875


En ce qui concerne les champs de type CLOB, ce sont de véritables casses-têtes. J'ai déjà eu des soucis sous ORACLE mais j'aurais pu t'envoyer des scripts pour les transformer. Malheureusement, je n'ai rien pour SQL Server.

Une piste:
http://groups.google.fr/group/micros...f9785c2c27b4fb


Encore désolé


A bientôt

Frédéric
___________
Vaut mieux un qui sait que deux qui cherchent...mais deux qui cherchent valent toujours mieux qu'un qui croit savoir...

Trois mois au minimum en mission à Marseille loin de ma copine qui reste à Paris, dur... dur... dur...
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 16h24   #17
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Autre Question qui m'ennuie :

Comment fait-on pour aller à la ligne en VB.NET ?? Je cherche l'équivalent du \n du langage C, mais en vain...

EDIT : merci pour ta réponse, je ne l'avais pas lue, elle était passée en page 2 et j'actualisais la page 1

EDIT : Question BO
J'ai trouvé un tuto dans lequel la requete contient la table CI_SYSTEMOBJECTS et dans celle ci, les colonnes SI_ID et SI_NAME. Ca me ramène bien mes ID et Noms de groupes. Le problème c'est que lorsque j'ouvre SQL Server, je n'ai pas la table CI_SYSTEMOBJECTS !

Comment cela peut-il fonctionner ?? Suis-je au bon endroit pour voir les tables ?
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 08h51   #18
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Bonjour


En ce qui concerne ta question VB.net, vas-plutôt voir à :

http://www.developpez.net/forums/f486/dotnet/langages/vb-net/

C'est le forum du VB.net
Mais si ta question concerne le saut de ligne dans Excel, il faudrait que tu essayes dans ton code un Chr(10).
J'ai créé une macro pour tester et il m'a mis ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 10/01/2007 par FPST
'
 
'
    Range("B1").Select
    ActiveCell.FormulaR1C1 = _
        "Ceci est un test " & Chr(10) & "pour écrire sur la 2ème ligne" & Chr(10) & "et 3ème ligne d'une cellule"
    With ActiveCell.Characters(Start:=1, Length:=70).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
End Sub
Pour B.O., si ton tuto est en ligne, je serais intéressé pour avoir le lien. Je pense que d'autres le sauraient aussi.
Concernant ta question sur les tables, je ne peux rien te dire de plus. marchand_de_sable t'a pourtant dit que tu avais les informations dans CMS_InfoObjects. Il y avait juste un problème de format. Pour ta conversion, je te conseille d'aller voir dans le forum ci-dessous:
http://www.developpez.net/forums/f49/bases-donnees/ms-sql-server/
et plus précisément:
http://www.developpez.net/forums/sho...highlight=BLOB
ou encore
http://www.developpez.net/forums/sho...highlight=BLOB

D'après ce que j'ai lu, SQL Server ne connait pas les BLOB. Tes champs doivent être au format text de 2Go de longueur maxi. Quel est le format de ta table que te donne SQL Server ?


En espérant t'avoir aidé


A bientôt

Frédéric
___________
Vaut mieux un qui sait que deux qui cherchent...mais deux qui cherchent valent toujours mieux qu'un qui croit savoir...

Trois mois au minimum en mission à Marseille loin de ma copine qui reste à Paris, dur... dur... dur...
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 10h01   #19
Candidat au titre de Membre du Club
 
Inscription : avril 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 42
Points : 13
Points : 13
Salut frederic_s

Pour le tuto il s'agit du lien suivant (je l'ai déjà donné je crois) :

http://devlibrary.businessobjects.co...HowTos219.html

A propos du VB.NET on m'a trouvé la solution : dans mon label, il s'agit de la balise <br> qu'il faut mettre dans la propriété Text.

Pour ma question sur les tables, le problème n'est pas là où tu le dis : j'exécute une requête (trouvée sur le tuto BO) qui contient une table (CI_SYSTEMOBJECTS) mais cette table n'apparait pas dans la base. Ce n'est pas une question de format ou de colonnes, mais bien une table qui n'apparait pas. Comment cela peut-il fonctionner ? Où est cachée cette table ?

C'est quoi un BLOB ?

EDIT : autre question BO, je voudrais gérer les groupes et leurs sous groupes, j'arrive à récupérer les noms et les ID des groupes, mais quand j'utilise une méthode qui s'appelle "Parent", tous les groupes parents sont un seul et unique groupe (pourtant j'ai bien des sous groupes). Quel est la propriété qui puisse me dire quel groupe est le parent / le sous groupe de tel autre groupe ?
titlola est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2007, 10h14   #20
Membre confirmé
 
Inscription : juillet 2005
Messages : 402
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 402
Points : 269
Points : 269
Citation:
Envoyé par titlola
j'exécute une requête (trouvée sur le tuto BO) qui contient une table (CI_SYSTEMOBJECTS) mais cette table n'apparait pas dans la base
As-tu installé Performance Manager ? J'ai regardé le référentiel de PM, et les tables ont des noms de la forme CI_NomTable. Donc peut-être que tu ne cherches pas la table au bon endroit

Sinon, BLOB signifie : Binarie Large OBject. Autrement dit, un gros objet enregistré au format binaire. C'est souvent utilisé pour stocker des images. Mais mes connaissances sur cette question s'arrête là....
J'ai vu quelque part qu'on pouvait caster les données de ce format, par exemple :
Code :
SELECT CAST (Mon_BLOB AS VARCHAR) FROM Ma_Table;
pour l'avoir en type texte. J'ai tenté dans le référentiel BO sur le champ ObjName de la table CMS_InfoObjects5, et le résultat n'ai pas génial, genre : GQSF.F!//RS`H,FS
D'après ce qu'on m'a dit, il faudrait appliquer une fonction de décryptage, mais où trouver cette fonction ?

Si tu as du nouveau, n'oublie pas de nous tenir au courant.
A+
marchand_de_sable 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 00h21.


 
 
 
 
Partenaires

Hébergement Web