Reporting à partir de sources de données SAP. SAP 2011
Astuce
Vous pouvez également ajouter des InfoSets ou des requêtes SAP à des rapports existants. Pour cela, ouvrez le rapport de votre choix puis, dans le menu
Base de données
, sélectionnez
Expert Base de données
.
10. Dans la zone Sources de données disponibles, sélectionnez la requête ou l'InfoSet que vous souhaitez utiliser comme source de données pour le rapport :
○ Développez I (pour Info Set) ou Q (pour requête SAP).
○ Développez G (pour effectuer une recherche dans la zone globale) ou L (pour effectuer une recherche dans la zone locale).
Remarque
Les requêtes et les InfoSets de la zone locale dépendent du client.
11. Cliquez deux fois sur la requête ou sur l'InfoSet que vous souhaitez utiliser comme source de données pour le rapport.
Remarque
Si la requête ou l'InfoSet contient des paramètres, la boîte de dialogue Saisir des valeurs de paramètre apparaît. Elle vous permet d'indiquer les données que vous souhaitez inclure. Cliquez sur OK.
12. Dans la boîte de dialogue
Explorateur de données
, cliquez sur
OK
.
Astuce
Pour en savoir plus sur les paramètres et sur les sujets ayant trait à la conception de rapports en général, voir l'Aide en ligne de Crystal Reports.
25.3.2 Reporting à partir de sources de données SAP
Outre les pilotes mentionnés ci-dessus, Crystal Reports comprend également le pilote Open SQL qui permet de créer des rapports à partir de sources de données SAP supplémentaires dans Crystal Reports.
25.3.2.1 Reporting à partir de tables, de vues, de clusters et de fonctions
Le pilote Open SQL est le pilote le plus puissant compte tenu de la souplesse qu'il offre pour l'accès aux données dans SAP. Cette souplesse se traduit toutefois par un niveau de complexité supérieur à celui du pilote InfoSet.
Lorsque vous créez des rapports qui utilisent le pilote Open SQL, vous pouvez accéder aisément aux tables transparentes, aux tables de pools, aux tables de clusters et aux vues. Les utilisateurs qui ont des rapports ABAP en production peuvent, grâce à ce pilote, créer des rapports rapidement et très simplement.
602
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
Les fonctionnalités avancées du pilote permettent également le reporting à l'aide des fonctions ABAP et des clusters de données ABAP. Les développeurs ABAP peuvent utiliser ces fonctions pour exécuter des tâches avancées sur les clusters de données dans HR.
25.3.2.1.1 Présentation du pilote Open SQL
Le pilote Open SQL est le pilote le plus puissant des pilotes SAP BusinessObjects Enterprise XI Integration for SAP
Solutions compte tenu de la souplesse qu'il offre pour l'accès aux données dans SAP. En écrivant des rapports à l'aide du pilote Open SQL, vous pouvez accéder aisément aux tables transparentes, de pools, de clusters et de vues. Si vous avez actuellement des rapports ABAP en production, ce pilote vous permettra de créer des rapports rapidement et très simplement.
Les fonctionnalités avancées du pilote vous permettent de créer des rapports à partir de fonctions ABAP et de clusters de données ABAP. Les développeurs ABAP peuvent par conséquent exécuter des tâches avancées telles que le reporting sur les clusters de données dans HR. L'outil de définition de clusters est fourni dans le cadre de l'installation du serveur pour les utilisateurs qui veulent ajouter, modifier et supprimer des définitions de clusters de données. Les développeurs peuvent également utiliser ABAP pour améliorer le traitement des rapports.
Par ailleurs, le pilote Open SQL permet de sécuriser les données auxquelles les utilisateurs ont accès. Vous pouvez appliquer des restrictions à des tables particulières, ou à un niveau plus granulaire, sur certaines lignes d'une table. Pour en savoir plus sur l'utilisation de l'éditeur de définition de sécurité afin de personnaliser votre propre jeu d'autorisations d'accès aux données, reportez-vous à la section “Définition de la sécurité pour le kit d'accès aux données” du Guide d'installation de la plateforme SAP BusinessObjects Business Intelligence.
Objets pris en charge par le pilote Open SQL
Le pilote Open SQL permet d'accéder à plusieurs objets sous-jacents dans SAP, tels que les tables transparentes, les tables de pools et de clusters, ainsi que les fonctions et clusters de données ABAP.
Tables transparentes
Ce type d'objet de base de données est similaire à la table de base de données classique. Les tables transparentes contiennent la majorité des données des applications SAP à partir desquelles vous pouvez dériver des informations décisionnelles. La plupart des applications SAP utilisent une ou plusieurs tables transparentes pour stocker et extraire des transactions de gestion. Vous pouvez relier ces tables à d'autres tables transparentes afin d'extraire des informations à partir d'autres zones des applications du système SAP.
Tables de pools et de clusters
Les tables de pools et de clusters sont constituées d'un regroupement logique d'autres tables de base de données. Elles servent avant tout à stocker les informations de contrôle et de configuration des applications et
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
603
non les données effectives des applications. Dans la mesure où ces tables ne représentent qu'une vue logique de plusieurs tables combinées, elles sont accessibles uniquement par l'intermédiaire du pilote Open SQL. L'accès à la base de données native n'offre pas la même vue de ces données.
Vues
Une vue apparaît en tant que table avec une liste de champs, mais elle se compose en fait de plusieurs tables liées les unes aux autres. Les vues donnent une vision plus abstraite des données et vous permettent de créer des rapports sans avoir à vous soucier de l'établissement de liens entre les différentes tables d'un rapport. Les vues sont gérées au sein de SAP ; il n'est pas nécessaire de les configurer pour pouvoir les utiliser à des fins de reporting. Pour en savoir plus sur les vues, consultez votre documentation SAP.
Fonctions et clusters de données ABAP
Le reporting à partir de fonctions et de clusters de données ABAP est une rubrique avancée qui requiert habituellement une certaine connaissance du langage de programmation ABAP. Pour en savoir plus, voir
Reporting à partir de clusters de données ABAP
25.3.2.1.2 Sélection des tables, vues, fonctions et clusters
Une fois que vous avez sélectionné le pilote Open SQL et fourni des références de connexion utilisateur SAP valides, utilisez la boîte de dialogue Options pour choisir les tables, les vues, les fonctions ou les clusters que vous voulez ajouter au rapport. Vous pouvez appliquer un filtre par type de table ou par nom réel de la table. Notez que, dans cette situation, la table fait aussi référence aux vues, aux clusters de données ABAP et aux fonctions ABAP.
Pour sélectionner des tables, des vues, des fonctions et des clusters
1. Démarrez Crystal Reports.
2. Cliquez sur l'onglet
Page de début
si la Page de début n'apparaît pas déjà dans Crystal Reports.
3. Cliquez sur
Rapport vide
dans la zone Nouveaux rapports.
La boîte de dialogue
Expert Base de données
s'affiche.
4. Dans le dossier
Créer une nouvelle connexion
, développez
Table, Cluster ou Fonction SAP
.
La boîte de dialogue
Connexion au système SAP
apparaît.
5. Connectez-vous à un système SAP, saisissez vos références de connexion et spécifiez les paramètres de connexion étendus requis. Cliquez ensuite sur
Terminer
.
La boîte de dialogue
Expert Base de données
apparaît de nouveau.
6. Cliquez avec le bouton droit de la souris sur la connexion que vous avez créée et sélectionnez
Options
.
604
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
La boîte de dialogue
Options
apparaît, et seul l'onglet
Base de données
s'affiche.
7. Dans la zone Explorateur de données, cochez les cases des types de données que vous souhaitez rendre disponibles pour le rapport.
8. Utilisez le champ
Nom de table LIKE
pour ne sélectionner qu'un sous-ensemble des types de données disponibles. Utilisez l'une des techniques suivantes lors du filtrage :
○ Saisissez les noms de tables complets ou partiels.
○ Ajoutez des caractères génériques pour sélectionner plusieurs requêtes ou InfoSets : utilisez le symbole de pourcentage (%) pour représenter plusieurs caractères et le trait de soulignement (_) pour représenter un caractère unique. Les caractères génériques % et _ correspondent respectivement aux caractères génériques * et ? utilisés sous Windows. Les caractères génériques % et _ correspondent respectivement aux caractères génériques * et + utilisés dans SAP.
○ Laissez le champ vide et cliquez sur
OK
pour continuer sans filtrage. Notez toutefois que le nombre d'objets pouvant être affiché dans l'Explorateur de données est limité. Si le nombre de requêtes ou d'InfoSets dans SAP dépasse cette limite (qui se situe à 8 000 par défaut), vous recevrez un message d'erreur vous informant que la mémoire est insuffisante ou l'Explorateur de données sera vide.
9. Dans la zone Tables et champs, sélectionnez
Afficher la description
.
10. Cliquez sur
OK
.
L'Expert Base de données affiche les clusters, les tables ou les fonctions sélectionnés, avec les descriptions définies par l'administrateur SAP. Trois branches apparaissent sous la connexion de données que vous avez créée :
○ les modules de fonction ABAP
○ les clusters de données
○ le dictionnaire de données
11. Dans la zone des sources de données disponibles, cliquez deux fois sur les tables, clusters ou fonctions que vous souhaitez ajouter au rapport.
Astuce
Vous pouvez également appuyer sur la touche Ctrl tout en cliquant sur plusieurs tables avant de cliquer sur
>.
12. Cliquez sur
OK
.
Si vous avez sélectionné plusieurs tables pour le rapport, vous devez fournir les informations de mise en relation des tables. Pour en savoir plus, voir
Mise en relation des tables et des vues
[page 605]. Si vous n'avez sélectionné qu'une seule table, vous pouvez maintenant ajouter des champs au rapport.
25.3.2.1.3 Mise en relation des tables et des vues
Les rapports basés sur des tables SAP (tables transparentes, tables de pools et tables de clusters, ainsi que les vues) se comportent de la même manière que les rapports fondés sur des bases de données courantes. Si vous insérez plusieurs tables ou plusieurs vues dans un rapport, vous devez définir la relation entre les tables dans l'onglet Liens dans l'Expert Base de données de Crystal Reports.
Compte tenu des conventions standardisées des noms de champs utilisées par SAP, il se peut que vous trouviez que la fonction de mise en relation automatique (sous l'onglet Liens de l'Expert Base de données) crée des liens inutiles entre les tables.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
605
Pour annuler les mises en relation automatiques
1. Dans le menu
Base de données
, cliquez sur
Expert Base de données
.
2. Dans l'onglet
Liens
, cliquez sur
Effacer les liens
.
3. Cliquez sur
OK
.
Remarque
L'onglet
Liens
s'affiche dans l'Expert Base de données uniquement lorsque au moins deux tables sont sélectionnées pour le rapport.
Les fonctions des champs de client et de langue suivants sont propres aux tables SAP.
Champ Client
Dans SAP, la plupart des tables contiennent un champ client (le nom de champ natif est MANDT). Dans la mesure où différents systèmes SAP peuvent être configurés pour héberger les données de plusieurs clients, le champ client détermine les lignes de données d'une table en fonction des différents clients. Le pilote Open SQL gère cette configuration automatiquement. Lorsque vous vous connectez à SAP, vous êtes invité à fournir le numéro du client, ce qui vous évite de devoir créer une formule de sélection pour filtrer les clients. Par ailleurs, si un rapport contient plusieurs tables, vous n'avez pas besoin d'incorporer un lien dans le champ client, cela étant également géré automatiquement par le pilote Open SQL.
Champ Langue
Dans SAP, certaines tables (notamment celles qui contiennent des descriptions textuelles) contiennent une entrée pour chacune des langues qui ont été installées sur le système SAP. Par conséquent, vous devez créer à l'aide de ces tables une formule de sélection sur la clé de la langue (le nom de champ natif est SPRAS) et spécifier la langue à afficher. Par exemple :
{table.spras} = "E"
Pour obtenir une aide supplémentaire sur la mise en relation des tables et sur des questions générales de conception de rapports, voir l'Aide en ligne de Crystal Reports.
25.3.2.1.4 Reporting à partir d'ABAP
Le reporting à partir de fonctions ABAP exige des connaissances préalables en matière de programmation ABAP.
Bien que d'un point de vue technique une fonction ABAP ne soit pas une table, elle est souvent utilisée dans le reporting SAP pour fournir des calculs et extraire des données basées sur des paramètres qui sont transmis à la fonction (matricule d'un employé transmis à une fonction qui renvoie l'adresse de l'employé par exemple). Pour cette raison, le pilote Open SQL permet d'appeler les fonctions ABAP qui possèdent des types de retour définis, et
606
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
d'afficher leurs résultats. Les fonctions ABAP sont également utiles quand il est nécessaire d'effectuer un prétraitement complexe des données avant visualisation, ou lorsque vous souhaitez optimiser davantage les performances d'une requête.
Description
Sélectionnez une fonction conformément à la procédure décrite dans
Sélection des tables, vues, fonctions et clusters
[page 604]. Dans la zone Sources de données disponibles de l'Expert Base de données, cliquez avec le bouton droit de la souris sur Modules de fonction ABAP et sélectionnez
Options
. Saisissez ensuite le nom de fonction complet ou partiel dans le champ LIKE du nom de la table. Lorsque vous l'ajoutez au rapport, la fonction s'affiche comme une table dans l'onglet Liens de l'Expert Base de données (en supposant qu'il existe plusieurs tables ou plusieurs fonctions déjà ajoutées au rapport). Tous les paramètres d'entrée et de sortie sont affichés en tant que champs dans la table.
Spécifiez les paramètres d'entrée soit en les reliant aux champs d'une autre table, soit en les ajoutant à une formule de sélection d'enregistrements. Si la fonction a pour résultat une ou plusieurs tables, la table virtuelle est constituée de lignes qui représentent le produit vectoriel des valeurs de toutes les tables. Si la fonction a pour résultat une ou plusieurs valeurs ou instances de structure, la table virtuelle est composée d'une ligne unique contenant toutes les valeurs/valeurs de structure.
Limitations
Pour qu'elles puissent être utilisées dans un rapport, les fonctions doivent satisfaire à deux conditions :
● Les fonctions doivent avoir des types de retour définis pour chacun des paramètres de sortie.
● Les fonctions ne doivent pas avoir des tables entières en tant que paramètres d'entrée.
Remarque
Si une fonction ne répond pas à la première condition, vous pouvez écrire une fonction wrapper avec des types de retour définis, puis appeler la fonction d'origine à partir de cette fonction wrapper.
Enfin, la possibilité d'appeler des programmes entiers n'est pas prise en charge ; vous pouvez seulement appeler les fonctions individuellement.
Exemples
Les exemples suivants illustrent les différents types de fonctions ABAP pouvant être appelés par le pilote Open
SQL et montrent comment ils apparaissent dans Crystal Reports.
Fonctions ayant des valeurs en tant qu'entrées et sorties
Function F
Importing
VALUE(NAME) TYPE C
VALUE(DEPARTMENT) TYPE C
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
607
Exporting
VALUE(Years_of_service) TYPE I
VALUE(Age) TYPE I
Cette fonction apparaîtrait en tant que table appelée "F" avec le schéma suivant :
Champ
Name (nom)
Department (service)
Years_of_service (années_ancienneté)
Age (âge)
Type
Chaîne
Chaîne
Entier
Entier
Les deux premiers champs, Name et Department, sont des paramètres d'entrée. Vous devez soit établir un lien avec eux à partir d'une autre table (ou fonction), soit les définir avec une formule de sélection d'enregistrements
(par exemple, {F.Name} = "Richard").
Par exemple, si la table "T" contient des services qui ont dépassé leur budget, vous pouvez relier {T.Department} à
{F.Department} et faire en sorte que la formule de sélection d'enregistrements spécifie {F.Name} = "Richard".
Cette formule extrait les années d'ancienneté et l'âge de toutes les personnes qui portent le prénom Richard et qui travaillent dans un service ayant dépassé son budget.
Fonctions ayant des valeurs en tant qu'entrées et sorties ainsi que des paramètres d'entrée et de sortie
(CHANGING)
Function F
IMPORTING
VALUE(NAME) TYPE C
VALUE(DEPARTMENT) TYPE C
EXPORTING
VALUE(Years_of_service) TYPE I
VALUE(Age) TYPE I
CHANGING
DATEFIELD TYPE D
Cette fonction apparaîtrait en tant que table appelée "F" avec le schéma suivant :
Champ
Name (nom)
Department (service)
Years_of_service (années_ancienneté)
Age (âge)
DateField_In (champdate_début)
DateField_Out (champdate_fin)
Type
Chaîne
Chaîne
Entier
Entier
Date
Date
Lorsque vous utilisez les champs Name, Department et DateField_In, vous devez soit les relier à une autre table, soit les spécifier dans une formule de sélection d'enregistrements.
608
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
Par exemple, si la table "T" contient des services qui ont dépassé leur budget, vous pouvez relier {T.Department} à
{F. Department} et faire en sorte qu'une formule de sélection d'enregistrements spécifie {F.Name} =
"Richard" et DateField = Date(1999,04,14). Cette formule extrait les années d'ancienneté, l'âge et la date d'embauche de toutes les personnes qui portent le prénom Richard et qui travaillent dans un service ayant dépassé son budget au 14 avril 1999.
Fonctions ayant des structures en tant qu'entrées et sorties
Function F
IMPORTING
VALUE(ADDRESS) LIKE S_ADDR STRUCTURE S_ADDR
EXPORTING
VALUE(CONTACTINFO) LIKE S_CINFO STRUCTURE S_CINFO
S_CINFO is defined as:
PHONE(20) TYPE C
EMAIL(100) TYPE C
S_ADDR is defined as:
STREET(100) TYPE C
ZIPCODE(6) TYPE N
Cette fonction apparaîtrait en tant que table appelée "F" avec le schéma suivant :
Champ
Address.street (adresse.rue)
Address.zipcode (adresse.codepostal)
ContactInfo.Phone (coordonnées.téléphone)
ContactInfo.email (coordonnées.messagerie)
Type
Chaîne
Entier
Chaîne
Chaîne
Comme précédemment, vous devez relier les champs de l'adresse et du code postal à une autre table ou à partir de celle-ci, ou les définir dans une formule de sélection d'enregistrements.
Fonctions ayant une table en tant que sortie
Function F
IMPORTING
VALUE(NAME) TYPE C
EXPORTING
VALUE(GENDER) TYPE C
TABLES
POSITIONS STRUCTURE S_POSN
S_POSN is defined as:
TITLE(20) TYPE C
STARTDATE TYPE D
Dans ce cas, la fonction prend un nom en tant qu'argument et renvoie l'âge et le poste de cette personne.
Supposons que Tom soit de sexe masculin, et que la table Positions renvoyée par F pour Tom contienne ce qui suit :
Titre
Mail Clerk (employé du service courrier)
Manager, Mail (responsable du service courrier)
StartDate (datedébut)
1/1/93
3/4/95
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
609
Titre
VP, Mail (VP du service courrier)
StartDate (datedébut)
7/12/98
Lorsque la fonction est appelée, le résultat obtenu est une table appelée "F" dont le contenu est le suivant :
Name (nom)
Tom
Tom
Tom
Gender (sexe)
M
M
M
Positions.Title
(postes.titre)
Mail Clerk (employé du service courrier)
Manager, Mail
(responsable du service courrier)
VP, Mail (VP du service courrier)
Positions.StartDate
(postes.datedébut)
1/1/93
3/4/95
7/12/98
Fonctions ayant plusieurs tables en tant que sortie
Function F
IMPORTING
VALUE(NAME) TYPE C
EXPORTING
VALUE(GENDER) TYPE C
TABLES
POSITIONS STRUCTURE S_POSN
OPTIONS STRUCTURE S_OPTN
S_POSN is defined as before and S_OPTN is defined as:
GRANTDATE TYPE D
NUMBER TYPE I
Supposons que les données de la table Positions soient comme avant ("defined as before") et que la table Options se présente comme suit :
GrantDate (dateadmi)
4/4/93
5/6/97
Number (identificateur)
1 000
15300
Lorsque la fonction est appelée, le résultat obtenu est une table appelée "F" dont le contenu est le suivant :
Name (nom) Gender (sexe)
Tom M
Positions.Title
(postes.titre)
Positions.
(postes.)
StartDate
(datedébut)
Mail Clerk
(employé du service courrier)
1/1/93
Options.
GrantDate
(dateadmi)
4/4/93
Options.
Number
(identificateur)
1 000
610
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
Name (nom)
Tom
Tom
Tom
Tom
Tom
Gender (sexe)
M
M
M
M
M
Positions.Title
(postes.titre)
Positions.
(postes.)
StartDate
(datedébut)
Manager, Mail
(responsable du service courrier)
3/4/95
VP, Mail (VP du service courrier)
7/12/98
Mail Clerk
(employé du service courrier)
1/1/93
Manager, Mail
(responsable du service courrier)
3/4/95
VP, Mail (VP du service courrier)
7/12/98
Options.
GrantDate
(dateadmi)
4/4/93
4/4/93
5/6/97
5/6/97
5/6/97
Options.
Number
(identificateur)
1 000
1 000
15300
15300
15300
25.3.2.1.5 Reporting à partir de clusters de données ABAP
Le reporting à partir de clusters de données ABAP est une rubrique avancée qui exige une certaine connaissance de la programmation ABAP.
Définition du cluster de données
Contrairement au reste du système SAP, le module des ressources humaines stocke l'essentiel de ses données dans des clusters de données ABAP, plutôt que dans des tables de dictionnaires de données telles que les tables transparentes, les tables de pools ou les tables de clusters. Les clusters de données sont en fait stockés dans quelques tables transparentes. Toute table transparente peut contenir de nombreux types de clusters différents.
Chaque cluster de données est stocké dans des champs codés en binaire. Un cluster peut contenir un nombre quelconque de composants ou d'éléments de données, qui peuvent aller de valeurs uniques à des tables, en passant par les structures.
Dans un programme ABAP, vous pouvez accéder à un cluster de données en exécutant la commande IMPORT.
Cette commande accepte certains paramètres tels que le nom de la base de données de cluster, un ID de cluster, etc., ainsi qu'une liste d'éléments de données à importer. La commande IMPORT copie également le contenu du cluster de données dans des variables locales du code d'appel. Une table transparente type qui contient des données de cluster a une structure similaire à celle qui suit :
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
611
client zone clé compteur de lignes données utilisateur longueur des données clusters de données
La combinaison zone et nom de la table transparente identifie le type de cluster à importer, alors que la clé identifie le cluster spécifique. Pour les modules des ressources humaines, la clé de cluster représente généralement une combinaison constituée d'un numéro personnel et d'un autre élément. La clé est stockée dans un champ de texte unique, mais peut en fait représenter beaucoup plus qu'un champ de clé logique (par exemple, un numéro personnel + un numéro de séquence pour les données de paie HR).
Description
La difficulté d'utilisation des clusters du point de vue d'accès aux données relationnelles génériques tient au fait que la définition des clusters n'est pas stockée dans un référentiel tel que le dictionnaire ABAP (contrairement aux définitions des tables transparentes, des tables de pools et des tables de clusters, par exemple). De plus, le format de ces clusters peut varier d'un site à l'autre en raison de personnalisations. Enfin, il est fondamentalement difficile de mapper ceux-ci en tant que tables dans le sens relationnel car, bien que les données représentées soient relationnelles, elles sont stockées dans des clusters indépendants selon une structure quasi-hiérarchique.
Pour surmonter ces handicaps, il est nécessaire de mapper les différents composants des clusters de données en tant que tables. Vous pouvez y parvenir en créant un dictionnaire des clusters sur un système SAP particulier.
25.3.2.1.6 Mappage des clusters de données ABAP
L'outil de définition de clusters (transaction ZCDD) vous permet de créer un dictionnaire des clusters de données sur votre système SAP. Une fois que vous avez ajouté un cluster de données au dictionnaire, vous pouvez sélectionner le cluster dans Crystal Reports et créer des rapports à partir de ses données à l'aide du pilote
Open SQL. Il vous faudra généralement acquérir une expérience préalable en programmation ABAP, car vous devez trouver les définitions de clusters dans R/3 avant de les saisir à l'aide de l'outil de définition de clusters.
Les procédures suivantes montrent comment mapper la table SALDO (temps par période) à votre dictionnaire de clusters de données à l'aide de l'outil de définition de clusters. La table SALDO se trouve dans la zone de cluster
B2 (PDC Data (Month)) du cluster de données ABAP qui est stocké dans la table transparente PCL2 (HR cluster
2). Dans ce cas, PCL2 est la base de données de clusters, B2 est la zone ou le type de cluster, et SALDO est la table. Les procédures répertoriées ci-dessous s'appliquent à la version 4.6b de SAP R/3.
Création d'une nouvelle entrée de cluster dans le dictionnaire
Cette section explique comment définir une nouvelle entrée de cluster dans le dictionnaire.
Pour créer une nouvelle entrée de cluster dans le dictionnaire
1. A partir de SAPGUI, exécutez la transaction ZCDD.
L'outil de définition de cluster affiche l'écran de
visualisation de la table des ID de cluster
.
612
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
2. Cliquez sur
Ajouter
pour créer une nouvelle entrée.
L'écran de
modification de la table des ID de cluster
s'affiche.
3. Dans le champ
Base de données cluster
, saisissez le nom de la table contenant le cluster de données ABAP.
Dans cet exemple, saisissez PCL2.
Remarque
Pour déterminer la table transparente contenant un cluster de données ABAP, interrogez un expert en la matière au sujet du module que vous utilisez. Autrement, si vous essayez de localiser les données à partir d'un programme particulier (par exemple un rapport SAP tel que RPC11XE0), recherchez la table dans le code ABAP. Lorsque vous trouvez la table, examinez les données figurant dans le champ RELID pour y repérer une liste de zones de cluster.
4. Dans le champ
Zone de cluster
, saisissez le nom de la zone de cluster ou RELID.
Dans cet exemple, saisissez B2.
5. Cliquez sur
Enregistrer
et quittez l'outil de définition de clusters.
Vous devez à présent rechercher la clé de la zone de cluster. Plus précisément, il vous faut le nom de la table ou de la structure du dictionnaire où sont stockés les champs de clés, et il vous faut également les noms de ces champs de clés. Pour localiser les champs de clés de la zone de cluster, passez à la section suivante,
Localisation des champs clés de la zone de cluster
Localisation des champs clés de la zone de cluster
Cette section explique comment localiser les champs clés de la zone de cluster à l'aide de l'entrée de cluster que vous avez créée dans la section précédente,
Création d'une nouvelle entrée de cluster dans le dictionnaire
612].
Il existe plusieurs manières de trouver ces informations au sein de SAP. Cet exemple utilise l'Explorateur d'objets pour obtenir les informations clés pour la zone de cluster B2.
Pour localiser les champs de clés de la zone de cluster
1. Exécutez la transaction SE80 pour accéder à l'Explorateur d'objets.
2. Sélectionnez
Programme
dans la liste et saisissez le nom du programme contenant les informations clés relatives à la zone de cluster.
Dans cet exemple, saisissez RPCLSTB2, à savoir le nom du programme qui contient les informations clés pour la zone de cluster B2.
3. Appuyez sur la touche
Entrée
.
L'Explorateur d'objets affiche les informations concernant le programme spécifié.
4. Dans la liste
Nom de l'objet
, développez le dossier
Champs
.
5. Cliquez deux fois sur l'entrée correspondant à votre clé de zone de cluster.
Pour cet exemple, cliquez deux fois sur l'entrée B2-KEY.
Le code ABAP approprié s'affiche.
6. Dans le code ABAP, recherchez l'en-tête marquant le début de la clé de la zone de cluster, et notez la structure qui est incluse dans la ligne suivante.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
613
Dans cet exemple, recherchez la ligne INCLUDE STRUCTURE PC2B0 (mise en surbrillance dans l'image cidessus) en-dessous de l'en-tête DATA BEGIN OF B2-KEY. Cela indique que la structure PC2B0 contient les champs de la clé.
Maintenant que vous avez trouvé le nom de la structure contenant les champs de la clé, vous devez déterminer les noms de ces champs de clé.
7. Créez une nouvelle session dans R/3 et exécutez la transaction SE11 pour accéder au dictionnaire ABAP/4.
L'écran
initial du dictionnaire ABAP
s'affiche.
8. Sélectionnez
Table base de données
et saisissez le nom de la structure contenant les champs de clé.
Dans cet exemple, saisissez PC2B0.
9. Cliquez sur
Afficher
.
L'écran d'
affichage de la structure du dictionnaire
s'affiche.
10. Relevez le nom des champs de clé affichés dans la colonne
Composante
.
Dans ce cas, les quatre champs de clé sont PERNR, PABRJ, PABRP, CLTYP.
Vous devez à présent ajouter les champs de clé à votre nouvelle entrée de dictionnaire dans l'outil de définition de clusters. Pour ajouter ces champs de clé à l'entrée du dictionnaire, passez à la section suivante,
Ajout de champs clés à l'entrée du dictionnaire
[page 614]
Ajout de champs clés à l'entrée du dictionnaire
Cette section explique comment ajouter des champs clés à l'entrée du dictionnaire à partir des champs clés que vous avez notés dans la section précédente,
Localisation des champs clés de la zone de cluster
Les étapes requises pour ajouter les quatre champs clés à l'entrée du dictionnaire que vous avez créée pour la zone de cluster B2 sont décrites ci-dessous.
Pour ajouter les champs de clé à l'entrée du dictionnaire
1. Dans l'écran SAP Easy Access, exécutez la transaction ZCDD pour accéder à l'outil de définition de clusters.
2. Dans l'écran de
visualisation de la table des ID de cluster
, sélectionnez l'entrée que vous venez de créer.
Pour cet exemple, sélectionnez l'entrée PCL2 B2.
3. Cliquez sur
Modifier
.
L'écran d'
affichage des données du cluster
apparaît.
4. Cliquez sur
Nouvelle clé de cluster
.
L'écran de
modification de la clé de cluster
s'affiche.
5. Dans le champ
Numéro de clé
, saisissez le numéro de séquence du champ clé que vous souhaitez spécifier.
Dans cet exemple, saisissez 001 (la première entrée pour cette clé de zone de cluster).
6. Dans le champ
Nom de clé
, saisissez le nom qui doit s'afficher lorsque vous utilisez ce champ de clé dans
Crystal Reports.
Dans cet exemple, saisissez K_PERNR.
614
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
Astuce
En principe, suivez une convention d'affectation de noms. Par exemple, précédez le nom du champ clé par
K_ pour le spécifier en tant que champ clé, tel qu'indiqué dans cet exemple.
7. Utilisez le champ
Table de référence
pour définir le type de données du champ de clé en faisant référence à un champ existant du même type dans une autre table.
Dans cet exemple, saisissez PC2B0 car il s'agit du nom de la structure qui contient le champ de référence.
8. Dans le champ
Champ de référence
, saisissez le nom du champ auquel vous souhaitez faire référence. Ce champ doit exister dans la table de référence.
Dans cet exemple, saisissez PERNR.
Remarque
Si le champ de clé n'est pas déjà défini dans le dictionnaire de données, et si vous ne le définissez pas en référençant un champ existant, vous pouvez spécifier manuellement le type ABAP et la longueur afin de définir le type de données du champ de clé. Dans cet exemple, le champ de clé est défini par référence, ce qui fait que vous pouvez ignorer les champs de longueur et de type ABAP.
9. Cliquez sur
Enregistrer
, puis sur
Précédent
pour revenir à l'écran d'accès aux données du cluster.
10. Répétez les étapes 4 à 9 pour chaque champ de la clé. Dans le champ
Numéro de clé
, veillez à incrémenter le numéro de séquence d'une unité à chaque fois que vous définissez un nouveau champ de clé pour cette zone de cluster.
Dans cet exemple, chaque champ a les valeurs suivantes :
Numéro de clé
002
003
004
Nom de clé
PABRJ
PABRP
CLTYP
Table de référence
PC2B0
PC2B0
PC2B0
Champ de référence
PABRJ
PABRP
CLTYP
Une fois toutes les définitions saisies, l'écran d'
affichage des données du cluster
se présente comme suit :
Vous devez à présent déterminer la structure de la table à laquelle vous voulez accéder. Dans cet exemple, la table en question est SALDO. Il existe plusieurs manières de déterminer la structure de la table SALDO dans SAP.
L'une d'elles est décrite dans la section suivante
Identification de la structure de la table de cluster
Identification de la structure de la table de cluster
Cette section explique comment identifier la structure de la table de cluster en fonction de l'entrée de cluster que vous avez créée dans la section précédente. L'exemple ci-dessous utilise de nouveau l'Explorateur d'objets pour rechercher les informations requises concernant la table SALDO.
Pour déterminer la structure de la table de clusters
1. Dans l'écran SAP Easy Access, exécutez la transaction SE80 pour accéder à l'Explorateur d'objets.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
615
2. Sélectionnez
Programme
dans la liste et saisissez le nom du programme contenant les informations clés relatives à la zone de cluster.
Pour cet exemple, saisissez RPCLSTB2, correspondant au programme contenant les informations clés pour la zone de cluster B2 et sa table SALDO.
3. Dans la liste
Nom de l'objet
, développez le dossier
Champs
.
4. Cliquez deux fois sur l'entrée correspondant à la table à laquelle vous voulez accéder.
Pour cet exemple, cliquez deux fois sur l'entrée SALDO.
Le code ABAP approprié s'affiche.
5. Dans le code ABAP, recherchez l'en-tête qui représente le début de la table et notez la structure qui est incluse dans la ligne suivante.
Dans cet exemple, recherchez la ligne INCLUDE STRUCTURE PC2B5 (mise en surbrillance dans l'image cidessus) en dessous de l'en-tête DATA BEGIN OF SALDO OCCURS 50. Cela indique que la structure PC2B5 contient les champs de la table SALDO.
Maintenant que vous avez déterminé quelles structures définissent les champs de la table à partir de laquelle vous voulez créer des rapports, il vous faut ajouter ces informations à votre nouvelle entrée de dictionnaire. Pour cela, suivez les étapes de la section
Ajout de la table à l'entrée du dictionnaire
Ajout de la table à l'entrée du dictionnaire
Cette section explique comment ajouter la table à l'entrée du dictionnaire conformément à la structure de table de cluster que vous avez créée dans la section précédente,
Identification de la structure de la table de cluster
615].
Pour ajouter la table à l'entrée de dictionnaire
1. Dans l'écran SAP Easy Access, exécutez la transaction ZCDD pour accéder à l'outil de définition de clusters.
2. Dans l'écran de
visualisation de la table des ID de cluster
, sélectionnez votre nouvelle entrée.
Pour cet exemple, sélectionnez l'entrée PCL2 B2.
3. Cliquez sur
Modifier
.
4. Dans l'écran d'
affichage des données du cluster
, cliquez sur l'option de
nouvelles données de cluster
.
L'écran de
modification des données du cluster
s'affiche.
5. Dans le champ
Nom de la pièce
, saisissez le nom de la table tel qu'il apparaît dans la zone de cluster.
Dans cet exemple, saisissez SALDO.
6. Dans le champ
Nom d'affichage
, saisissez le nom de la table tel que vous voulez qu'il apparaisse dans
Crystal Reports.
Dans cet exemple, saisissez B2SALDO.
Astuce
Dans la mesure du possible, utilisez une convention d'affectation de noms. Par exemple, combinez le nom de la table au nom de la zone de cluster, comme pour l'exemple précédent (au cas où il existerait une autre table SALDO dans une zone de cluster différente).
616
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
7. Dans le champ
Classe de la pièce
, saisissez l'abréviation appropriée pour l'élément de données : (T)able,
(S)tructure ou (B)asique.
Dans cet exemple, saisissez T.
8. Utilisez le champ
Table de référence
pour définir la structure du nouvel élément de données en faisant référence à une structure existante du même type dans une autre table.
Dans cet exemple, saisissez PC2B5.
Remarque
Dans cet exemple, il n'est pas nécessaire de renseigner les autres champs (Champ de référence, Type
ABAP et Longueur). Utilisez ces champs pour ajouter des informations spécifiques si la structure de la table n'est pas définie dans le dictionnaire de données.
9. Cliquez sur
Enregistrer
, puis sur
Précédent
pour revenir à l'écran d'
accès aux données du cluster
.
Toutes les définitions ayant été entrées, vous avez maintenant fini de créer votre nouvelle entrée de dictionnaire dans l'outil de définition de cluster. L'écran d'
affichage des données du cluster
apparaît.
Lorsque vous créez un rapport avec le pilote Open SQL, vous pouvez le générer à partir de votre cluster de données ABAP personnalisé en recherchant la table B2SALDO.
Bien que la définition de chaque cluster de données prenne du temps, n'oubliez pas qu'une fois la définition complète, le cluster de données est accessible à tous les utilisateurs, et ce qu'ils aient une expérience préalable d'ABAP ou non.
25.3.2.1.7 Définition de la sécurité pour le pilote Open SQL
Cette section explique comment utiliser l'éditeur de définition de la sécurité afin de définir la sécurité de niveau ligne et table pour des tables SAP spécifiques lorsque vous y accédez en utilisant le pilote Open SQL. L'éditeur de définition de sécurité vous permet de gérer vos niveaux de sécurité SAP lorsque vous déployez le pilote Open
SQL.
Présentation de l'éditeur de définition de la sécurité
En déployant le composant d'accès aux données et en distribuant les pilotes de base de données, vous permettez aux utilisateurs SAP d'accéder aux données stockées dans vos systèmes SAP R/3, mySAP ERP et BW. Par défaut, le pilote Open SQL offre un environnement de reporting ouvert, sans la moindre restriction d'accès aux données.
(Vous pouvez, cependant, facilement inverser ce mode de fonctionnement par défaut à l'aide de la fonction de verrouillage global de l'éditeur de définition de la sécurité, qui empêche dans un premier temps les utilisateurs d'accéder à toutes les tables SAP.
Si vous devez déployer un modèle de sécurité qui réglemente l'accès des utilisateurs aux données SAP, utilisez l'éditeur de définition de la sécurité (transaction /CRYSTAL/RLS) pour restreindre l'accès aux données aux niveaux table et ligne. L'éditeur de définition de la sécurité définit la sécurité pour les tables transparentes, les tables de pools, les tables de clusters et les tables contenant des clusters de données (par exemple, PCL2). Les restrictions que vous spécifiez s'appliquent chaque fois qu'un utilisateur tente de se connecter à SAP à l'aide du pilote Open SQL, que ce soit pour concevoir, pour actualiser ou pour planifier un rapport Crystal. Ainsi, pour
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
617
concevoir, actualiser ou planifier un rapport Crystal sur R/3, mySAP ou BW, les utilisateurs doivent avoir accès à toutes les tables référencées par ce rapport.
Les restrictions d'accès aux données que vous définissez à l'aide de l'éditeur de définition de la sécurité s'appliquent client par client. Cela signifie que les restrictions que vous appliquez affectent tous les utilisateurs qui accèdent à SAP en utilisant le client utilisé pour définir les restrictions.
Dans les versions antérieures de SAP BusinessObjects Enterprise, les restrictions d'accès aux données ne dépendaient pas du client. Pour conserver les restrictions que vous avez définies à l'aide des versions antérieures de cet outil, suivez les instructions fournies dans la section
Transfert de votre modèle de sécurité existant
618] avant de continuer.
Remarque
L'éditeur de définition de la sécurité est fourni par le transport de l'éditeur de définition de la sécurité, que vous importez dans votre système SAP lors de l'installation de l'accès aux données.
Transfert de votre modèle de sécurité existant
Pour continuer à utiliser les restrictions d'accès aux données que vous avez définies à l'aide d'une version antérieure de SAP BusinessObjects XI Integration (avec la transaction ZRLS), vous devez importer ces restrictions sous une forme dépendante du client au moyen de /CRYSTAL/RLS. Importez ces restrictions avant d'utiliser /CRYSTAL/RLS pour créer ou modifier des restrictions supplémentaires. Les modifications que vous avez apportées à l'aide de /CRYSTAL/RLS seront remplacées lorsque vous importerez les restrictions globales.
Pour appliquer vos restrictions d'accès aux données globales à des clients supplémentaires, vous devez importer ces restrictions une fois pour chaque client.
Pour transférer les restrictions d'accès aux données
1. Saisissez la transaction /CRYSTAL/RLS dans votre système SAP.
2. Dans le menu
Extras
, sélectionnez
Importer les données globales
.
La boîte de dialogue qui s'affiche vous avertit que les restrictions que vous importez écraseront les restrictions définies à l'aide de /CRYSTAL/RLS.
3. Cliquez sur
Oui
.
Les restrictions globales d'accès aux données, indépendantes du client sont importées.
Sélection du modèle de sécurité de niveau table
Pour plus de souplesse, l'éditeur de définition de sécurité fournit une fonction de verrouillage global, qui vous permet de définir la base de votre modèle de sécurité d'accès aux données de l'une des deux façons suivantes :
● Verrouillage global désactivé
Dans ce modèle de sécurité ouvert, tous les utilisateurs ont initialement accès à toutes les tables. Pour personnaliser ce modèle afin qu'il corresponde à la configuration de sécurité SAP en cours, vous pouvez empêcher les utilisateurs d'accéder à des tables particulières au cas par cas. Lorsque vous déployez l'accès aux données, le verrouillage global est désactivé par défaut.
618
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
● Verrouillage global activé
Dans ce modèle de sécurité fermé, l'accès à toutes les tables est initialement interdit à tous les utilisateurs.
Pour personnaliser le modèle afin qu'il corresponde à vos règles de sécurité SAP en cours, vous pouvez autoriser l'accès à des tables particulières, au cas par cas. En outre, vous pouvez spécifier une liste de fonctions personnalisées à partir desquelles les utilisateurs peuvent encore créer des rapports lorsque le verrouillage global est activé.
Une fois que vous avez activé ou désactivé la fonction de verrouillage global, vous pouvez affiner le modèle de sécurité en personnalisant les autorisations d'accès aux données pour des tables particulières.
Pour activer ou désactiver la fonction de verrouillage global
1. A partir de SAPGUI, exécutez la transaction /CRYSTAL/RLS.
L'
éditeur de définition de la sécurité
apparaît.
2. Deux options s'offrent à vous :
○ Si vous souhaitez activer le verrouillage global, sélectionnez l'option
autorisant l'accès uniquement aux tables spécifiées
.
○ Si vous souhaitez désactiver le verrouillage global, désélectionnez l'option
autorisant l'accès uniquement aux tables spécifiées
.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
619
A présent que vous avez choisi une base ouverte ou fermée pour votre modèle de sécurité, vous pouvez personnaliser les autorisations en fonction d'utilisateurs ou de tables spécifiques, autorisant ou interdisant ainsi l'accès aux données selon vos propres règles de sécurité SAP.
Personnalisation des autorisations pour des tables particulières
Que la fonction de verrouillage global soit activée ou désactivée, vous pouvez quand même personnaliser les autorisations d'accès aux données pour une ou plusieurs tables SAP. Si le verrouillage global est activé, vous devrez autoriser tout ou partie des utilisateurs à accéder à des tables particulières. (Autrement, les utilisateurs ne pourront ni concevoir ni actualiser des rapports dans le système SAP.) En revanche, si le verrouillage global est désactivé, vous devrez peut-être empêcher tout ou partie des utilisateurs d'accéder aux tables contenant des données confidentielles.
Dans un cas comme dans l'autre, que vous souhaitiez interdire ou permettre l'accès à une table, vous devez utiliser un objet d'autorisation à cette fin. (Vous pouvez personnaliser un nouvel objet d'autorisation, ou réutiliser un objet existant.) Ensuite, en utilisant l'éditeur de définition de la sécurité, vous associez l'objet d'autorisation à la table en question. Enfin, vous incorporez le nouvel objet d'autorisation dans votre configuration de profils d'utilisateurs ou de rôles.
Au fond, en associant un objet d'autorisation à une table SAP, vous désignez cette table comme faisant exception aux paramètres de verrouillage global définis dans l'éditeur de définition de la sécurité. Autrement dit, une fois que vous avez associé un objet d'autorisation à une table, celle-ci devient inaccessible pour tous les utilisateurs, quels que soient les paramètres de verrouillage global. Vous devez alors utiliser l'objet d'autorisation en accord avec vos règles de sécurité SAP habituelles afin de fournir à des utilisateurs particuliers l'accès à la table SAP.
Pour personnaliser des autorisations pour une table particulière
1. Créez un nouvel objet d'autorisation.
Pour cet exemple, créez un objet d'autorisation appelé ZTABCHK composé d'un champ d'autorisation appelé
TABLE. L'autorisation ZTABCHK est utilisée pour sécuriser la table VBAK par rapport à tous les utilisateurs, sauf un groupe d'utilisateurs particulier.
Remarque
Utilisez la transaction SU21 pour créer l'objet d'autorisation ou consultez l'aide de SAP pour en savoir plus sur la création d'objets d'autorisation.
2. A partir de SAP, exécutez la transaction /CRYSTAL/RLS.
L'écran de l'
éditeur de définition de la sécurité
apparaît.
620
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
Vous allez associer votre nouvel objet d'autorisation à une table SAP.
3. Dans le champ
Nom table
, saisissez le nom de la table dont vous voulez personnaliser la définition de sécurité.
Pour cet exemple, saisissez
VBAK
.
4. Cliquez sur
Créer
.
L'écran des
entrées d'autorisation
apparaît.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
621
5. Cliquez sur
Créer
.
La boîte de dialogue de l'
entrée des objets d'autorisation
apparaît.
6. Cliquez sur
Référence à un objet d'autorisation
.
622
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
L'écran de l'
entrée des objets d'autorisation apparaît
.
7. Dans le champ
Nom de l'objet d'autorisation
, saisissez le nom de l'objet d'autorisation que vous avez créé à l'étape 1.
Pour cet exemple, saisissez
ZTABCHK
.
8. Cliquez sur
Créer
.
L'écran des
valeurs des champs d'autorisation
apparaît.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
623
9. Dans la liste
Valeur de champ
, saisissez le nom de la table dont vous voulez personnaliser la définition de sécurité.
Pour cet exemple, saisissez
VBAK
.
10. Cliquez sur
Enregistrer
.
Vous allez associer votre nouvel objet d'autorisation personnalisé à une table SAP spécifique.
11. Quittez l'éditeur de définition de la sécurité.
12. En suivant la procédure habituelle, incorporez le nouvel objet d'autorisation dans votre configuration de profils d'utilisateurs ou de rôles.
Par exemple, dans ce cas, appliquez l'objet d'autorisation ZTABCHK au groupe d'utilisateurs qui doivent accéder à la table VBAK.
En fonction de la version de R/3 ou de mySAP ERP que vous utilisez et du modèle d'autorisation SAP que vous avez déjà déployé, vous pouvez accomplir cette opération de diverses manières :
○ Joignez le nouvel objet d'autorisation à un nouveau rôle que vous ajouterez ensuite au profil de sécurité de chaque utilisateur.
○ Joignez le nouvel objet d'autorisation à un nouveau profil que vous ajouterez ensuite au profil de sécurité de chaque utilisateur.
Au final, l'autorisation est ajoutée aux données de l'utilisateur principal de façon que les pilotes de base de données puissent adhérer à vos restrictions d'accès aux données personnalisées.
624
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
Remarque
Quelle que soit la méthode utilisée, assurez-vous que votre nouvelle autorisation contient le nom de la table de base de données correcte dans sa valeur de champ TABLE. Dans cet exemple, il s'agit de la table
SALDO.
Personnalisation des autorisations pour des fonctions particulières
Lorsque la fonction de verrouillage global est désactivée, les concepteurs de rapports sont autorisés à appeler n'importe quelle fonction sur le système SAP. Pour limiter les fonctions disponibles pour la création de rapports, activez le verrouillage global. Les utilisateurs ne peuvent plus appeler n'importe quelle fonction sur le système
SAP. Dans la table CRYSTAL/AUTHFCN, vous pouvez spécifier une liste de fonctions qui sont les exceptions au verrouillage global. En d'autres termes, vous pouvez spécifier une liste de fonctions que les utilisateurs peuvent appeler. Pour accéder à la liste des fonctions, utilisez l'outil /CRYSTAL/RLS et accédez à
Extras Modules de fonction
.
Définition des autorisations des tables par groupe
L'éditeur de définition de la sécurité propose deux façons pour définir rapidement des autorisations de table pour des tables qui requièrent des niveaux de sécurité similaires :
● Une table peut référencer n'importe quelle autre table dont les autorisations d'accès aux données sont déjà définies.
L'option de
référence à une table ou un groupe déjà défini
est fournie dans l'écran de
sélection de type d'entrée d'autorisation
, qui apparaît dans l'éditeur de définition de la sécurité lorsque vous créez une entrée d'autorisation pour une table.
● Plusieurs tables peuvent référencer une table de groupe qui sert de modèle de sécurité.
Pour créer une table de groupe, exécutez la transaction /CRYSTAL/RLS et spécifiez un nom de table qui n'existe pas dans l'éditeur. (Lorsque la table spécifiée n'existe pas, l'éditeur suppose alors que vous créez un groupe ou un modèle.) L'écran principal répertoriant toutes les définitions affiche le type de table en tant que groupe. Vous pouvez maintenant partager les niveaux de sécurité en renvoyant des tables existantes vers ce modèle de sécurité.
Application de la sécurité de niveau ligne
Dans certains cas, le sécurité de niveau table ne vous permet pas de sécuriser les données conformément aux privilèges de sécurité des utilisateurs SAP. Vous pouvez avoir besoin d'accorder l'accès d'une table particulière à tous les utilisateurs tout en limitant un groupe de ces utilisateurs à une partie des données de la table. Pour ce faire, utilisez l'éditeur de définition de la sécurité afin de définir un niveau de sécurité supplémentaire pour les différentes lignes de données.
En général, la sécurité de niveau ligne est basée sur un champ particulier d'une table. Par exemple, vous pouvez souhaiter empêcher les utilisateurs de consulter les données de tous les clients figurant dans une table Ventes.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
625
Pour activer ce type de restriction, créez un objet d'autorisation et utilisez l'éditeur de définition de la sécurité pour associer l'objet au champ Client de la table Ventes. Ensuite, lorsque vous appliquez le nouvel objet d'autorisation au profil ou au rôle de chaque utilisateur, vous spécifiez les valeurs de client pour les clients dont les enregistrements Ventes peuvent être consultés par l'utilisateur. Lorsque l'utilisateur conçoit ou actualise des rapports dans la table Ventes, les données sont renvoyées uniquement pour les clients que vous avez spécifiés.
Au fond, en associant un objet d'autorisation à un champ dans une table SAP, vous désignez cette table comme faisant exception aux paramètres de verrouillage global effectués dans l'éditeur de définition de la sécurité.
Autrement dit, une fois que vous avez associé un objet d'autorisation à un champ, la table parente est sécurisée par rapport à tous les utilisateurs, indépendamment des paramètres de verrouillage global. Vous devez alors utiliser l'objet d'autorisation en accord avec vos règles de sécurité SAP habituelles afin de fournir à des utilisateurs particuliers l'accès à des lignes de données de la table SAP.
Vous pouvez sécuriser les lignes d'une table en utilisant les objets d'autorisation et/ou les fonctions personnalisées.
Sécurisation des lignes à l'aide d'objets d'autorisation
Pour définir la sécurité de niveau ligne pour des tables, vous pouvez créer un objet d'autorisation et utiliser l'éditeur de définition de la sécurité pour associer cet objet à l'un des champs de la table. Vous appliquez ensuite le nouvel objet d'autorisation aux rôles ou profils des utilisateurs SAP qui doivent accéder aux données de la table.
Lorsque vous appliquez l'objet d'autorisation, vous spécifiez les lignes de données auxquelles chaque utilisateur peut accéder.
Pour définir la sécurité de niveau ligne à l'aide d'un objet d'autorisation
1. Créez un nouvel objet d'autorisation.
Pour cet exemple, créez un objet d'autorisation appelé Z_BUKRS composé d'un champ d'autorisation appelé
BUKRS. Cette autorisation est utilisée pour sécuriser la table GLT0 basée sur les valeurs du champ BUKRS
(codes société).
Remarque
Utilisez la transaction SU21 pour créer l'objet d'autorisation ou consultez l'aide de SAPGUI pour en savoir plus sur la création d'objets d'autorisation.
2. Exécutez la transaction /CRYSTAL/RLS pour accéder à l'éditeur de définition de la sécurité.
3. Dans le champ
Nom table
, saisissez le nom de la table contenant les lignes que vous voulez sécuriser.
Pour cet exemple, saisissez
GLT0
.
Remarque
Vous pouvez à présent utiliser des caractères génériques pour spécifier le nom de la table. Cela permet d'appliquer une autorisation à plusieurs tables ayant des noms similaires, en une seule opération. Utilisez
*
pour spécifier zéro caractère ou plus, et
+
pour spécifier un caractère.
4. Cliquez sur
Créer
.
5. Dans l'écran des
entrées d'autorisation
qui apparaît, cliquez sur
Créer
.
6. Dans l'écran de
sélection du type d'entrée d'autorisation
, cliquez sur
Référence à un objet d'autorisation
.
7. Cliquez sur
OK
pour accéder à l'écran d'
entrée de l'objet d'autorisation
.
8. Dans le champ
Nom de l'objet d'autorisation
, saisissez le nom de l'autorisation que vous avez créée à l'étape 1.
Pour cet exemple, tapez
Z_BUKRS
.
626
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
9. Cliquez sur
Créer
.
L'écran des
valeurs des champs d'autorisation
apparaît.
10. Dans la liste
Valeur de champ
, saisissez le signe égal (=) et le nom du champ que vous voulez sécuriser.
Pour cet exemple, tapez
=BUKRS
.
Astuce
Pour afficher la liste des champs disponibles, cliquez avec le bouton droit sur la liste des valeurs de champ, puis cliquez sur les entrées possibles dans le menu contextuel. Cliquez deux fois sur le champ voulu (en l'occurrence, BUKRS) pour l'insérer avec le signe égal (=) requis.
11. Cliquez sur
Enregistrer
.
12. Quittez l'éditeur de définition de la sécurité.
13. En suivant la procédure habituelle, appliquez le nouvel objet d'autorisation aux profils ou rôles des utilisateurs appropriés.
Par exemple, en suivant cet exemple, appliquez l'objet d'autorisation Z_BUKRS à chaque utilisateur devant accéder aux lignes de données de la table GLT0. Lorsque vous appliquez l'objet d'autorisation, vous saisissez les valeurs de code de société appropriées dans le champ d'autorisation BUKRS, indiquant ainsi les codes société que l'utilisateur spécifié est autorisé à consulter.
En fonction de la version de R/3 ou de mySAP ERP que vous utilisez et du modèle d'autorisation SAP que vous avez déjà déployé, vous pouvez accomplir cette opération de diverses manières :
○ Joignez la nouvelle autorisation à un nouveau rôle que vous ajouterez ensuite au profil de sécurité de chaque utilisateur.
○ Joignez la nouvelle autorisation à un nouveau profil que vous ajouterez ensuite au profil de sécurité de chaque utilisateur.
Au final, l'autorisation est ajoutée aux données de l'utilisateur principal de façon que les pilotes de base de données puissent adhérer à vos restrictions d'accès aux données personnalisées.
Sécurisation des lignes à l'aide des sorties de sécurité personnalisées
En supplément ou en remplacement des restrictions d'autorisation pour les tables, vous pouvez sécuriser des lignes à l'aide de sorties de sécurité personnalisées. En d'autres termes, vous pouvez mapper les champs de table vers des paramètres de fonction afin de pouvoir définir l'appel vers une fonction pour gérer le filtrage d'une table.
Remarque
Vous devez saisir une valeur (constante ou mappée dans un champ) pour tous les paramètres non facultatifs.
Remarque
Effectuez des mappages entre des types compatibles. Par exemple, ne reliez pas un paramètre de fonction pour une date à un champ numérique. Le mappage de types incompatibles entraîne une erreur au moment de l'exécution.
L'exemple suivant montre comment mapper des champs de table vers des paramètres de fonction dans une sortie de sécurité personnalisée.
Pour définir une sécurité de niveau ligne à l'aide d'une sortie de sécurité personnalisée
Guide de l'utilisateur de SAP Crystal Reports 2011
Intégration d'applications de gestion à Crystal Reports
©
2013 SAP AG ou société affiliée SAP. Tous droits réservés.
627

Öffentlicher Link aktualisiert
Der öffentliche Link zu Ihrem Chat wurde aktualisiert.