Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Cognos
Cognos Forum d'entraide Cognos : Impromptu, Powerplay, transformer,...
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 01/04/2008, 11h46   #1
Invité régulier
 
Inscription : février 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 15
Points : 6
Points : 6
Par défaut [8.2] Ajout Nouveau Parametre utilisateur

Bonjour,

Mon Ldap est géré par access manager (v7).

Je cherche à ajouter des parametres (instance de base de données et la classe d'utilisateur) à mes utilisateurs.
Dans cognos connection il est possible dajouter ces parametres mais dans le framework je ne les retrouve pas dans "les parametres de session" et je ne sais pas comment les renseigner lors d'un traitement par lot des uitlisateurs.

J'ai contourné mon probleme en ajoutant ces parametres dans le parametre "téléphone" de l'utilisateur. Ceci marche mais n'est pas propre.

De plus je cherche à afficher (et aussi l'utiliser comme condition d'acces) ces parametres dans mes rapports, dans l'aide il est possible d'utiliser des macro mais je n'y suis pas arrivée, je suis passée par un editeur d'expression de rapport.

Avez vous une idée?

Merci
linda_t est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 16h37   #2
Membre habitué
 
Inscription : août 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 132
Points : 142
Points : 142
Citation:
Envoyé par linda_t Voir le message
Bonjour,

Mon Ldap est géré par access manager (v7).

Je cherche à ajouter des parametres (instance de base de données et la classe d'utilisateur) à mes utilisateurs.
Dans cognos connection il est possible dajouter ces parametres mais dans le framework je ne les retrouve pas dans "les parametres de session" et je ne sais pas comment les renseigner lors d'un traitement par lot des uitlisateurs.

J'ai contourné mon probleme en ajoutant ces parametres dans le parametre "téléphone" de l'utilisateur. Ceci marche mais n'est pas propre.

De plus je cherche à afficher (et aussi l'utiliser comme condition d'acces) ces parametres dans mes rapports, dans l'aide il est possible d'utiliser des macro mais je n'y suis pas arrivée, je suis passée par un editeur d'expression de rapport.

Avez vous une idée?

Merci
On peut définir de manière dynamique l'instance de base de données qu'un utilisateur doit utiliser pour faire le requêtage des données. Cela se fait au niveau de Framework Manager, il faut créer une macro au niveau de la source de données.

Le moyen le plus propre de faire cela est de passer par les Parameters Map. Il faut créer une parameter map, avec dans les clefs, les noms des users (valeurs qui correspond à la variable de session : $account.defaultName ), puis dans les valeurs, il faut mettre les valeurs correspondantes pour chaque user. Quand on a un fichier Excel, cela se charge facilement dans un parameter map.

Ensuite, la macro permettant de récupérer de manière dynamique la valeur correspondant à un user peut s'écrire comme suit, en supposant que le Parameter Map se nomme : Param_Map :
Code :
#$Param_Map{$account.defaultName}#
En ce qui concerne l'attribut telephone utilisé, effectivement, ce n'est pas très propre. Pour les namespace de type LDAP, s'il existe un attribut quelconque qui n'est pas mappé, on aurait pu créer la valeur dans Cognos Configuration dans la partie "Custom Properties" du namespace LDAP et l'utiliser à cet effet.
xoninkara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 17h17   #3
Invité régulier
 
Inscription : février 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 15
Points : 6
Points : 6
Merci pour ta réponse,

Mais ceci n'est pas stable, il faut gérer un fichier de correspondance user/base...

J'ai classé ds mon ldap les utilisateurs par classe ( qui me permet de gérer les droits cognos), est -il possible de récupérer cette classe? et ensuite d'y appliquer ta méthode (correspondance classe d'utilisateur/instance de base) ceci serai plus simple à gérer au quotidien.

Citation:
Pour les namespace de type LDAP, s'il existe un attribut quelconque qui n'est pas mappé, on aurait pu créer la valeur dans Cognos Configuration dans la partie "Custom Properties" du namespace LDAP et l'utiliser à cet effet.
J'ai effectivement essayé ceci mais je ne sais pas comment alimenter ce parametre lors du traitement par lot (script de création de users en masse) et surtout je ne retrouve pas ce parametre dans le framework

Merci de ton aide
linda_t est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 18h19   #4
Membre habitué
 
Inscription : août 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 132
Points : 142
Points : 142
Citation:
Envoyé par linda_t Voir le message
Merci pour ta réponse,

Mais ceci n'est pas stable, il faut gérer un fichier de correspondance user/base...

J'ai classé ds mon ldap les utilisateurs par classe ( qui me permet de gérer les droits cognos), est -il possible de récupérer cette classe? et ensuite d'y appliquer ta méthode (correspondance classe d'utilisateur/instance de base) ceci serai plus simple à gérer au quotidien.
Les classes d'utilisateurs correspondent aux rôles dans le namespace sous Cognos.
On peut utiliser la macro CSVIdentityNameList pour connaître les rôles dont appartient un user. Ensuite, il faut utiliser des fonctions de manipulation de strings pour extraire la chaîne de caractère qu'on veut. Dans la base de connaissance de Cognos, si tu y as accès, recherche : "how to hide a report column depending on user classes or role". Il y a un exemple d'utilisation de cette macro.


Citation:
Envoyé par linda_t Voir le message
J'ai effectivement essayé ceci mais je ne sais pas comment alimenter ce parametre lors du traitement par lot (script de création de users en masse) et surtout je ne retrouve pas ce parametre dans le framework

Merci de ton aide
L'attribut doit d'abord exister pour les utilisateurs dans ton LDAP. Exemple : si dans ton ldap, il existe un attribut 'site' qui donne le site où est basé chaque utilisateur, il suffit, dans Cognos Configuration, dans les custom properties, de créer une variable du même nom (site) avec comme valeur (par exemple) 's', pour que la variable de session puisse exister dans Framework Manager (après, bien sûr le redémarrage du service).
Ainsi, cette variable de session sera intitulée : $account.site et permettra d'afficher dynamiquement le site de l'utilisateur en cours.
Si c'est pas tjrs clair, je ferai une copie d'écran, mais, là, j'ai pas trop le temps.
xoninkara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2008, 10h59   #5
Invité régulier
 
Inscription : février 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 15
Points : 6
Points : 6
Citation:
Envoyé par xoninkara Voir le message
Les classes d'utilisateurs correspondent aux rôles dans le namespace sous Cognos.
On peut utiliser la macro CSVIdentityNameList pour connaître les rôles dont appartient un user. Ensuite, il faut utiliser des fonctions de manipulation de strings pour extraire la chaîne de caractère qu'on veut. Dans la base de connaissance de Cognos, si tu y as accès, recherche : "how to hide a report column depending on user classes or role". Il y a un exemple d'utilisation de cette macro.
J'ai mis en place cette solution, mais une fois que je fais des tests sur les rapports ou dans le framework voici l'erreur :

QE-DEF-0406 Unknown function 'CSVIdentityNameList' in macro expression

Au support, une erreur equivalente a été mentionnée :QE-DEF-0406 - Unknown function 'promptmany' in macro expression mais la solution : dans la prochaine release ... merci cognos

Merci encore pour ton aide... je vais garder ma solution pas tres propre mais qui marche!!!
linda_t est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h06.


 
 
 
 
Partenaires

Hébergement Web