|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 3 ![]() |
Bonjour à tous,
je suis devant une problématique de gestion de restriction de ligne. Ex: J'ai une table d'indicateurs (Table A) qu'il faut filtrer en fonction d'un niveau hiérarchique stocké dans une autre table (Table B). Je peux faire sur la table A une auto-jointure comportant un sous-select vers la table B (Genre: select A.1 from A where A.1 in (select B.1 from B where B.2 = DIRECTEUR) Je me demande si on ne peut pas arriver au même résultat via l'utilisation de la fonction "GERER LES RESTRICITIONS D'ACCES" dans le module designer. Question 1: comment créer une restriction d'accès via cette fonction avec 2 tables. Ou Question 2: Comment forcer l'appel d'une jointure (TABLE A = TABLE B) alors que l'on utilise que des objets de la table A Merci de vos réponses PS: J'utilise la version XIR2 |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 3 ![]() |
Bonjour,
Après recherche, il semble que l'on peut restreindre l'accès aux données via la gestion des profils dans la CMC. Est-ce que quelqu'un peut m'en dire un peu plus sur les limites de cette options. Merci d'avance pour vos réponses. Julix |
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
Je pense qu'il s'agit du niveau de sécurité d'accès (voir dans l'onglet "paramètres avancé" des propriétés de l'objet)
Il y a 5 profils de sécurité !! (par défaut public) -public -controlé -restreint -confidentiel -privé Par défaut les utilisateur ont le profil public. Si on met un objet en privé, seul les utilisateurs possédant ce niveau de profil pour l'univers y auront accès Ceci est géré dans l'onglet "niveau de sécurité objet" de la rubrique Univers. On y ajouter ou y supprimer des groupes d'utilisateurs et leur attribuer un niveau de sécurité (public, restreint, etc...) Pour ton problème de restriction, dans BO Xi, tu peux créer des tables dérivées. Tu peux donc créer une table dérivée qui serait l'union des tes tables A et B uniquement pour les lignes respectant ta condition, ainsi cela te permet non seulement de restreindre les données récupérée par tes objet visant cette table dérivée, mais en plus cela te permet de conserver d'éventuel autres objets n'ayant pas cette restriction ! bon courage !
__________________
~~ bastoonet ~~ "Team BAB - Spécialistes BO" |
|
|
00
|
|
|
#4 | ||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 181 ![]() |
Bonsoir,
Est ce que la solution ne serait pas dans Designer en créant une Table Dérivée (une table dérivée se comporte comme une vue Oracle). Code :
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 3 ![]() |
Merci à tous pour vos contributions.
Je pense que la table de dérivée (ou vue) est une bonne solution. Je pourrai aussi utiliser la clause select * from table B where exists(select * from table A where table A.A1 = table B.B1 and Table A.A1 = DIRECTEUR) Et créer une règle par table à restreindre. je pense que le choix se fera en fonction des performances de chacune des solutions. Il me reste plus qu'à tester ![]() MERCI Julix |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 4 ![]() |
Pour la question 2, s'il est encore temps, c'est dans la définition de l'objet. On a un bouton 'Tables' qui permet de forcer l'appel de la ou des tables sélectionnées dedans. Je n'ai pas encore fait les test en XI mais ça m'étonnerais que cette option n'y soit plus dispo.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com