Scénario de gestion
- Les requêtes vous permettent d'afficher et de mettre en forme rapidement les données d'une base de données société SAP Business One. Vous pouvez utiliser les requêtes de plusieurs façons, par exemple :
- Pour produire des rapports ad hoc qui peuvent être exécutés à plusieurs reprises. Il s'agit de requêtes utilisateur.
- Créez des alertes définies par l'utilisateur et des processus d'approbation dans SAP Business One. La requête peut contrôler les conditions qui ne sont pas couvertes par des alertes prédéfinies ou des procédures d'approbation standard.
- Renseignez le contenu d'une zone, y compris les zones définies par l'utilisateur. La requête est ajoutée à la zone en tant que valeurs définies par l'utilisateur (recherches formatées) et peut renseigner la valeur de zone à partir des résultats de la requête.
- Pour afficher des informations dynamiques pour les analyses dans les tableaux de bord et les indicateurs de performance clés
- Pour valider les valeurs importées dans une table ou une zone lors de la migration des données.
- Vous devez comprendre que les outils de requête ne sont pas conçus pour produire des états ou des mises en page complexes et entièrement formatés ; vous devez utiliser Crystal Reports à ces fins. Vous n'êtes pas autorisé à utiliser les outils de requête pour insérer, mettre à jour ou supprimer des zones de table standard.
Informations système

Pour exécuter des requêtes, vous devez connaître les noms des tables et des zones SAP Business One. Ces informations sont affichées lorsque vous activez Informations système.
Objets et tables

Un objet peut couvrir plusieurs tables dans la base de données SAP Business One.
Par exemple, l'objet de données de base partenaire est géré dans plusieurs tables de la base de données, y compris la table d'en-tête OCRD. Il existe des tables subordonnées liées, telles que OCPR, CRD1, OSLP, etc. Ces tables inférieures contiennent les données que vous voyez dans les différents onglets de la fiche partenaire.
Dans SAP Business One, les noms de table comportent 4 caractères.
Informations système

Pour développer une requête SQL, vous devez connaître la table de base de données et le nom de zone à sélectionner.
Lorsque vous ouvrez un objet dans SAP Business One, vous pouvez rechercher le nom de table d'une zone en activant Informations système à partir du menu Afficher. Vous pouvez également utiliser le raccourci clavier Ctrl + Maj + I.
Ensuite, lorsque vous maintenez la souris sur une zone de l'objet, les informations de table pertinentes pour la zone sont affichées dans la barre d'état en bas de la fenêtre.
Vous disposez maintenant du nom de table et du nom de zone à saisir dans votre requête SQL.
D'autres informations sur la zone sont affichées, telles que la longueur maximale de la zone.
L'objet de données de base partenaire est affiché dans la diapositive. Si vous placez le curseur sur la zone Nom, vous verrez que la table est OCRD et que le nom de zone est NomCarte.
Documents et objets

Les documents de vente et d'achat, tels que les commandes, les offres et les factures, ont tous la même structure et sont basés sur deux objets principaux :
- L'objet Documents pour les parties d'en-tête du document
- L'objet Document_Lines pour la section matrice ou ligne du document
Un type de document, tel qu'une commande client, couvre plusieurs tables. Les tables seront différentes pour chaque type de document, de sorte que l'ensemble de tables d'une commande d'achat est différent de l'ensemble de tables d'une commande client.
Par exemple, la commande client utilise la table de base de données ORDR pour l'en-tête et la table RDR1 pour les lignes.
Informations système - Numéros d'article et de colonne

- Les informations système affichent également, en plus du nom de la table et de la zone, le numéro d'article pour une zone d'en-tête et le numéro d'article, de colonne et de ligne pour une zone basée sur des lignes.
- Par exemple, dans une commande client, le numéro d'article pour la zone CardCode est 4. Le numéro de colonne pour la zone CardCode n'est pas affiché car il s'agit d'une zone d'en-tête dans la table ORDR et le numéro de colonne pour toutes les zones d'en-tête est 0.
- Si vous ouvrez d'autres documents commerciaux, vous verrez que la zone CardCode est toujours 4.
- Pourquoi est-ce important ? Le numéro de poste d'une zone est commun à tous les types de documents qui ont la même structure, tels que les documents de vente et d'achat. Dans ces documents, les numéros de poste sont identiques, mais les noms de table sont différents. L'utilisation du numéro d'article au lieu du nom de zone vous permet d'écrire des requêtes pouvant fonctionner dans plusieurs types de documents, en référençant le même numéro d'article.
- Dans la capture d'écran inférieure de la diapositive, vous pouvez voir que la zone ItemCode dans la matrice du document de commande client a le numéro d'article 38 et le numéro de colonne 1. Le numéro de ligne 1 indique la première ligne du document (c'est-à-dire que les numéros de ligne commencent par 1).
- Vous remarquerez que le numéro d'article et de colonne d'une zone de ligne est identique dans les types de documents similaires. Par exemple, ItemCode a le numéro d'article 38 et le numéro de colonne 1 dans tous les documents de vente et d'achat.
Informations système - Zones calculées

- Vous constaterez que le nom de table et de zone n'est pas affiché pour certaines zones, y compris le prix unitaire et les zones calculées telles que les totaux et les taxes. Ces zones sont affichées dans le document concaténé avec le symbole de devise, tandis que dans la base de données, le montant est enregistré sans le symbole de devise.
- Vous pouvez toujours utiliser ces zones dans une requête. Vous pouvez utiliser le numéro de poste pour faire référence à la zone ou vous pouvez obtenir le nom de la zone de base de données à partir de la référence des tables de base de données.
Référence des tables de base de données

Vous trouverez le fichier de référence des tables de base de données REFDB dans le dossier SAP Business One SDK > Aide ou, si vous avez installé le Data Transfer Workbench, vous pouvez l'ouvrir à partir du menu Aide.
En plus des noms de zone pour un objet, le fichier de référence fournit :
- La description
- Type de zone (par exemple, Int, VarChar, Numeric, Text, etc.).
- Longueur maximale d'une zone
- Si la zone est une clé externe, il existe un lien vers la table associée.
- Une valeur par défaut s'il en existe une
- Contraintes sur les valeurs de zone
Outils de requête

SAP fournit deux outils de requête qui vous aident à développer la syntaxe de la requête.
Outils de requête

- Les outils de création et de gestion des requêtes utilisateur se trouvent dans le menu Outils de la barre de menus supérieure de l'application client.
- SAP Business One fournit deux outils, le générateur de requêtes et l'assistant pour requêtes, pour vous aider à créer des requêtes à l'aide du langage de requête structuré (SQL). SQL est un ensemble de commandes standardisé permettant d'accéder aux données et de les mettre en forme dans les bases de données relationnelles. Les deux outils produisent finalement les mêmes résultats, et c'est principalement une question de votre préférence quant à l'outil que vous utilisez.
Assistant pour requêtes

- Comme son nom l'indique, l'assistant pour requêtes vous guide pas à pas tout au long du processus de création d'une requête sans avoir à écrire de commandes SQL et de syntaxe. Vous devez utiliser cet outil si vous n'avez pas beaucoup d'expérience avec SQL. L'assistant de requête est un assistant à plusieurs étapes.
- Pour exécuter une requête à partir de l'assistant de requêtes, dans l'étape finale, cliquez sur le bouton Terminer.
- La requête générée et les résultats de la requête s'affichent dans la fenêtre d'aperçu de la requête.
Exemple de requête avec l'assistant pour requêtes

- Dans la première étape de l'assistant, appuyez sur la touche Tabulation pour afficher la liste des tables de base de données et sélectionnez la table requise (les tables associées sont affichées et peuvent être sélectionnées).
- Ensuite, à l'étape suivante, appuyez sur la touche de tabulation pour afficher et sélectionner les zones. Toutes les zones de la table sont affichées et vous pouvez saisir des noms partiels dans la zone Rechercher. Double-cliquez sur une zone pour la sélectionner pour la requête. Sélectionnez chaque zone sur une ligne distincte dans l'étape de l'assistant.
- Le système génère les instructions SQL en arrière-plan afin que vous n'ayez pas besoin de connaissances précises en syntaxe SQL. Cependant, comme cette opération est effectuée par un assistant, plusieurs étapes sont nécessaires pour générer la requête.
- L'assistant pour requêtes est plus facile à utiliser si vous ne connaissez pas bien les tables SAP Business One et comment elles sont liées les unes aux autres. Lorsque vous sélectionnez une table, l'assistant pour requêtes affiche toutes les tables liées à la table que vous avez sélectionnée, ce qui vous permet de sélectionner des données dans plusieurs tables. Si vous sélectionnez plusieurs tables pour votre requête, l'assistant s'occupera des jointures de tables.
- La syntaxe de requête générée est affichée dans la diapositive.
Générateur de requêtes

- Le deuxième outil, le générateur de requêtes, vous permet de créer le SQL dans un seul écran. Si vous avez des connaissances de base en SQL, vous trouverez le générateur de requêtes beaucoup plus rapide que l'assistant pour requêtes.
- Vous sélectionnez les tables, puis les zones, et la requête s'affiche dans la partie droite de la fenêtre.
- Pour exécuter la requête assemblée dans le générateur de requêtes, cliquez sur le bouton Exécuter.
- Les résultats de la requête s'affichent dans la fenêtre d'aperçu de la requête.
Exemple de requête avec générateur de requêtes

- Pour générer la requête, saisissez le nom de la table dans la zone de texte en haut à gauche de la fenêtre ou appuyez sur Tab dans cette zone pour afficher la liste complète des tables.
- Appuyez à nouveau sur la touche de tabulation pour afficher une liste de toutes les zones de la table. Double-cliquez pour sélectionner chaque zone dans la liste affichée. Les éléments de la requête sont créés et affichés dans la partie droite de la fenêtre de l'outil.
- Comme l'assistant pour requêtes, le générateur de requêtes fournit automatiquement la jointure interne lorsque vous sélectionnez plusieurs tables pour une requête. Bien qu'elle n'affiche pas la liste des tables liées à la table que vous avez sélectionnée, les zones qui sont des clés des tables associées sont affichées en gras. Vous pouvez glisser-déplacer le champ en gras vers la colonne de sélection de la table et le générateur de requêtes ouvrira la table associée, ce qui vous permettra de sélectionner des champs dans cette table.
Fenêtre Aperçu de requête

La fenêtre Aperçu de requête affiche la syntaxe de la requête et les résultats.
La syntaxe SQL générée par les outils de requête intégrés dépend de la base de données sous-jacente, soit la base de données SQL Server, soit SAP HANA. Cependant, les résultats seront les mêmes.
Dans la fenêtre d'aperçu de la requête, vous avez la possibilité de modifier la requête créée. Cliquez sur l'icône en forme de crayon pour modifier la syntaxe de la requête. En mode de modification, vous pouvez écrire et exécuter votre propre requête à partir de zéro.
La fenêtre d'aperçu des requêtes vous permet également de sauvegarder des requêtes pour les réutiliser. Ce sujet sera abordé plus loin dans ce cours.
Syntaxe de requête

Les deux outils de requête vous aident à développer la requête, mais vous avez également besoin de connaissances de base sur les éléments qui composent la syntaxe de requête SQL.
Éléments de base d'une requête

Une requête, ou l'instruction SQL sous-jacente, contient un ou plusieurs des éléments de base répertoriés dans la diapositive :
- Sélection de zones. Vous pouvez également indiquer des zones de calcul qui affichent le résultat d'une addition, d'une soustraction, d'une multiplication ou d'une division de deux zones.
- Conditions de sélection (clause WHERE)
- Ordre de tri (clause Trier par)
- Regroupement et regroupement (clause Group by)
L'exemple de requête affiché dans la partie supérieure droite de l'écran affichera des informations sur les commandes fournisseur en cours qui ont été ajoutées la semaine dernière. La requête sélectionne les données de la table de commande d'achat OPOR. Les résultats de la requête, un simple instantané de la base de données, sont affichés. Le total des lignes n'est pas affiché, mais vous pouvez l'ajouter au rapport en maintenant la touche Ctrl enfoncée et en cliquant deux fois avec la souris.
Notez que SQL n'est pas sensible à la casse, les commandes ne doivent donc pas nécessairement être en majuscules. Pour les noms de table et de zone qui contiennent des lettres minuscules, dans la syntaxe SAP HANA, vous devez ajouter des guillemets doubles autour des noms de zone.
Tous les exemples de requête présentés dans ce cours concernent SAP HANA. Pour obtenir une liste des différences dans la syntaxe SQL pour SAP HANA, voir le document Meilleures pratiques SQL dans la base de données SAP HANA.
Éléments de requête - Clause Where

- La clause Where facultative vous permet de filtrer uniquement les enregistrements qui répondent aux critères spécifiés. Bien que les outils de requête vous aident à assembler les éléments de base de la requête, vous devez connaître la syntaxe SQL pour compléter la clause Where.
- Dans la clause Where, vous pouvez inclure :
- Conditions fixes comme comparaisons. Par exemple, dans notre exemple de requête, seules les commandes fournisseur en cours (DocStatus "O") seront affichées.
- Calculs et fonctions. Dans l'exemple de requête, nous avons ajouté un calcul pour inclure uniquement les commandes d'achat qui ont été comptabilisées au cours des 7 derniers jours. Nous faisons correspondre la valeur de la date comptable (DocDate) à la date du jour - 7. La fonction ADD_DAYS permet de calculer la date du jour moins 7.
- Variables. Les variables sont spécifiées comme [%0], [%1], [%2], etc. Lorsque vous incluez une variable, l'utilisateur est invité à saisir une valeur comme paramètre lors de l'exécution de la requête.
- Les opérateurs AND et OR peuvent être utilisés pour lier plusieurs conditions. Dans l'exemple de requête, nous utilisons l'opérateur AND car les deux critères doivent être remplis.
Remarque : l'exemple de requête affiché utilise la zone DocStatus comme critère. Dans la base de données, cette zone contient une liste fixe de valeurs autorisées (contraintes). Pour connaître les valeurs possibles pour une zone telle que DocStatus, vous disposez de deux options :
- Exécutez une requête sur la table et sélectionnez le nom de zone. Dans les résultats, vous verrez les valeurs possibles qui sont déjà stockées dans la base de données.
- Voir la référence des tables de base de données pour obtenir une liste des valeurs autorisées (contraintes).
Éléments de requête - Clause Where (suite)

- Les variables donnent à l'utilisateur la possibilité de modifier les paramètres lors de l'exécution de la requête.
- Les variables sont simplement définies entre crochets avec %0 comme première variable, %1 la deuxième variable, etc.
- Dans l'exemple, la date comptable DocDate est utilisée comme filtre, mais nous avons ajouté une condition de variable. Lorsque l'utilisateur exécute la requête, il est invité à saisir la date comptable. La date saisie par l'utilisateur est utilisée dans la clause Where et comparée à la date comptable de la commande d'achat. Seuls les enregistrements dont les données comptabilisées sont postérieures à la date du paramètre seront inclus dans les résultats de la requête.
Éléments de requête - Tri

- Vous pouvez éventuellement trier les résultats de la requête en ajoutant la clause Order By à la requête.
- Les résultats seront triés par défaut par ordre croissant (ASC) à l'aide de la zone indiquée. Dans cet exemple, les lignes de résultats (commandes d'achat) seront triées par date comptable (DocDate).
- Vous pouvez trier par ordre décroissant en ajoutant le mot-clé DESC.
- Vous pouvez effectuer un tri en fonction de plusieurs zones et ces zones peuvent faire partie de la clause select ou d'autres zones dans n'importe quelle table de la requête.
Éléments de requête - Clause Group By

- La clause Regrouper par facultative vous permet d'afficher les résultats de la requête regroupés ou résumés par une zone spécifique, par exemple, par partenaire. Dans notre exemple, la requête d'origine a été réécrite pour utiliser l'élément Group By et est affichée à côté de la requête d'origine sur la diapositive.
- Les résultats regroupés sont regroupés dans des ensembles à l'aide du ou des champs Grouper par comme valeur commune.
- Regrouper par est généralement utilisé conjointement avec une fonction mathématique telle que Nombre ou Somme. Dans l'exemple de requête, la fonction Count compte le nombre de commandes d'achat et la fonction SUM calcule le total du document à partir de chaque commande d'achat.
- Les zones sélectionnées sont consolidées en fonction des zones spécifiées dans la clause Group by. Par conséquent, dans l'exemple de requête, les résultats sont consolidés par fournisseur (CardCode) et la requête affiche une ligne consolidée pour chaque fournisseur avec le nombre et le montant total de toutes les commandes fournisseur en cours pour le fournisseur.
- Notez que nous devons fournir les intitulés de colonne pour les zones comptées et totalisées, car les intitulés de colonne pour ces zones ne sont pas dans la base de données.
- Lorsque vous utilisez la clause Group by, les champs que vous utilisez dans l'instruction Select doivent également apparaître dans la clause Group By ou dans la fonction d'agrégat (Count ou SUM). Pour cette raison, nous avons spécifié le champ CardName dans la clause Group by.
Alias de table et jointures

- Lorsque vous spécifiez plusieurs tables dans votre requête, vous devez normalement créer des jointures entre chaque table. Les outils Assistant pour requêtes et Générateur de requêtes facilitent cette opération en fournissant automatiquement la jointure interne lorsque vous sélectionnez plusieurs tables pour une requête. Par exemple, si vous sélectionnez la table des commandes d'achat (OPOR) et la table des données de base des partenaires (OCRD), les outils de requête lieront ces tables à l'aide du code partenaire commun aux deux tables.
- Les outils de requête ajoutent automatiquement un alias pour chaque table, par exemple, T0, T1, etc. Si la requête fait référence à plusieurs tables, cela vous aide à identifier la table pertinente pour une zone.
- Lorsque vous sélectionnez une table, l'assistant pour requêtes affiche toutes les tables liées à la table que vous avez sélectionnée. Dans le générateur de requêtes, les zones qui sont des clés des tables associées sont affichées en gras. Vous pouvez glisser-déplacer le champ en gras vers la colonne de sélection de la table et le générateur de requêtes ouvrira la table associée, ce qui vous permettra de sélectionner des champs dans cette table.
Intitulés des colonnes du rapport

Lors de l'exécution d'une requête, les intitulés des colonnes de l'état sont repris des noms des colonnes de la base de données. Pour modifier un intitulé de colonne dans l'état de requête :
- Dans l'assistant pour requêtes, saisissez simplement le texte souhaité dans la colonne Intitulé de l'écran de l'assistant.
- Dans le générateur de requêtes, utilisez le mot-clé "as" suivi du nouveau texte d'intitulé entre guillemets doubles. Saisissez ce texte directement dans la zone Sélectionner.
Syntaxe de requête - Fenêtre active

- Dans de nombreuses situations, la requête doit référencer des zones dans la fenêtre active. Dans l'exemple, la fenêtre active est identifiée par une ligne bleue en haut du formulaire ou du document.
- Cela s'applique aux requêtes utilisées dans les procédures d'approbation et avec des valeurs définies par l'utilisateur. Dans ces deux cas, la requête est exécutée alors qu'un document est en cours de traitement par l'utilisateur dans la fenêtre active.
- Si une requête doit faire référence à une zone dans la fenêtre active plutôt qu'à partir de la base de données, vous devez inclure un signe $ et placer des crochets autour de la table et du nom de zone pour indiquer que la zone se trouve dans la fenêtre active.
- Dans l'exemple illustré, vous avez ajouté une requête en tant que valeurs définies par l'utilisateur à une zone de la commande client. La requête extrait la situation du compte du client de l'enregistrement de données de base et affiche le solde dans une zone définie par l'utilisateur de la commande client. La commande client est la fenêtre active car l'utilisateur travaille dessus. Par conséquent, la référence à CardCode inclut la syntaxe spéciale. La requête fait correspondre le CardCode de la fenêtre active au CardCode dans les données de base.
- Dans cet exemple, l'enregistrement de données de base ne se trouve pas dans la fenêtre active. Les zones accessibles à partir de la base de données, comme la zone de solde de l'enregistrement de données de base, n'ont pas besoin du signe $.
- Pour plus d'informations sur les requêtes et les processus d'approbation, voir le cours Processus d'approbation. Pour plus d'informations sur les requêtes et les valeurs définies par l'utilisateur, voir le cours Valeurs définies par l'utilisateur.
Syntaxe pour référence à la fenêtre active

- Lorsque vous faites référence à une zone dans la fenêtre active, vous pouvez utiliser la syntaxe des noms de table et de zone ou la syntaxe des numéros d'article et de colonne.
- La diapositive est un exemple de requête utilisée dans un processus d'approbation. Si vous utilisez la syntaxe des noms de table et de zone pour la fenêtre active, la requête inclut le nom de la table et ne peut être utilisée qu'avec un seul type de document. Dans ce cas, la requête peut uniquement être exécutée pour approuver les commandes fournisseur car la table OPOR est explicitement incluse dans la requête.
Remarque : les requêtes utilisées dans les processus d'approbation doivent toujours sélectionner un résultat vrai. Dans SAP HANA SQL, s'il n'existe aucune clause FROM dans l'instruction, utilisez FROM DUMMY.
Syntaxe pour référence à la fenêtre active

- Si vous utilisez à la place la syntaxe des numéros d'article et de colonne, la requête peut être utilisée avec plusieurs types de documents de structure similaire. Par exemple, cette requête peut être utilisée dans un processus d'approbation dans lequel plusieurs documents commerciaux de vente et d'achat sont sélectionnés dans le modèle d'approbation.
- Le système identifie de manière univoque chaque zone d'un document à l'aide de l'index de zone et du numéro de colonne.
- Lorsque vous référencez une zone d'en-tête à l'aide de la syntaxe d'article et de colonne, définissez le numéro de colonne sur 0.
- La zone est extraite sous forme de chaîne. Par conséquent, si vous avez besoin d'un format différent, vous devez spécifier le format après le numéro de colonne :
- 0 - qui est le format de chaîne par défaut
- Nombre - qui renvoie le résultat sous forme numérique que vous pouvez utiliser dans les opérateurs de calcul ou de comparaison. Dans l'exemple de la diapositive, le résultat est comparé à 500. Étant donné que la zone DocTotal contient à la fois le montant et le symbole de devise, l'indication d'une valeur numérique ici extraira le montant.
- Devise - qui renvoie le symbole de devise à partir d'un champ contenant à la fois le montant et le symbole de devise, comme DocTotal.
- Date - qui ne doit être utilisée que si la zone est une zone de date. La date est renvoyée dans un format à utiliser dans les opérateurs de calcul ou de comparaison.
Sauvegarde et gestion des requêtes

Après avoir créé une requête, vous pouvez la sauvegarder pour la réutiliser.
Sauvegarde d'une requête

- Vous pouvez sauvegarder une requête à partir de la fenêtre Aperçu de requête. Lorsque vous sauvegardez une requête, vous devez sélectionner une catégorie. La catégorie Général est fournie pour vous, mais si vous prévoyez d'ajouter de nombreuses requêtes utilisateur, vous devez créer des catégories supplémentaires pour gérer les requêtes.
- Les requêtes que vous sauvegardez se trouvent sous Requêtes utilisateur. Pour exécuter une requête utilisateur sauvegardée, sélectionnez le menu Outils dans SAP Business One, puis sélectionnez la catégorie et le nom de la requête.
Gestionnaire des requêtes

- Comme son nom l'indique, le gestionnaire des requêtes vous permet de gérer les requêtes utilisateur que vous sauvegardez.
- Vous pouvez sauvegarder et organiser les requêtes par catégorie. Vous pouvez également supprimer des requêtes.
- La catégorie Système est destinée aux requêtes fournies par SAP. La catégorie Général vous permet de sauvegarder les requêtes utilisateur et vous pouvez créer des catégories supplémentaires.
- Pour créer une catégorie, cliquez sur le bouton Gérer catégories. Sélectionnez ensuite Ajouter pour ajouter la nouvelle catégorie et sauvegarder votre requête. Dans cet exemple, nous allons créer une nouvelle catégorie appelée Achats.
Groupes d'autorisations de requête

- Lorsque vous créez une catégorie, vous devez l'affecter à au moins un groupe d'autorisations de requête, sinon vous ne pourrez pas sauvegarder la nouvelle catégorie.
- Seuls les utilisateurs ayant accès à un groupe d'autorisations de requête peuvent exécuter les requêtes sauvegardées pour la catégorie. Cela permet de contrôler les utilisateurs qui peuvent accéder à la requête utilisateur sauvegardée et l'exécuter.
Examinons l'exemple fourni ici :
- Vous pouvez voir que les groupes d'autorisations de requête 1 et 2 sont affectés à la catégorie de requête Ventes. Les groupes d'autorisations de requête 2 et 3 sont affectés à la catégorie Achats.
- Les utilisateurs Bill et Donna sont affectés au groupe d'autorisations de requête 1.
- Les utilisateurs Sophie et Tim sont affectés au groupe d'autorisations de requête 2.
- Julie et Juan sont affectés au groupe d'autorisations de requête 3.
- Ainsi, Bill et Donna peuvent exécuter toutes les requêtes sauvegardées dans la catégorie Ventes via leur association avec le groupe d'autorisations de requête 1. Sophie et Tim peuvent exécuter toutes les requêtes sauvegardées dans les catégories Ventes et Achats car les deux catégories sont associées au groupe d'autorisations de requête 2. Julie et Juan peuvent exécuter toutes les requêtes sauvegardées dans la catégorie Achats associée au groupe d'autorisations de requêtes 3.
Autorisation utilisateur pour catégorie de requête

Un utilisateur dispose d'une autorisation pour un groupe d'autorisations de requête dans la fenêtre Autorisations générales. Vous trouverez cette autorisation sous États > Générateur de requêtes. Vous pouvez voir 15 autorisations de requête - Requêtes sauvegardées - Groupe n° 1 -15. Elles vous sont fournies prêtes à l'emploi. Vous pouvez créer des groupes d'autorisations de requête supplémentaires dans le gestionnaire des requêtes.
Dans l'exemple de la diapositive, l'utilisateur bob est autorisé à interroger les groupes d'autorisations 1 et 2 en lecture seule. Le même utilisateur dispose également d'une autorisation globale pour le groupe appelé "Requêtes utilisateur pour alertes", qui est un nouveau groupe d'autorisations qui a été ajouté à la liste.
Étant donné que l'autorisation est accordée au niveau de la catégorie, l'utilisateur BOB peut exécuter n'importe quelle requête sauvegardée dans une catégorie associée à l'un de ces groupes d'autorisations sélectionnés.
Si vous souhaitez sécuriser l'accès aux requêtes utilisateur sauvegardées, vous devez planifier avec soin les catégories de requête et les groupes d'autorisations de requête.
Notez que les groupes d'autorisations de requête ne sont pas les mêmes que les groupes d'utilisateurs Autorisation utilisés pour affecter des autorisations générales à plusieurs utilisateurs. Pour en savoir plus sur les autorisations générales, voir le cours associé Autorisations générales et groupes d'utilisateurs. Vous pouvez également affecter l'autorisation simultanément à plusieurs utilisateurs d'un groupe d'utilisateurs.
Autres autorisations de requête

Les nouveaux utilisateurs, sauf s'ils sont superutilisateurs, n'ont pas l'autorisation de créer de nouvelles requêtes utilisateur ou catégories de requête. Il est conçu pour protéger les informations dans la base de données. Les autorisations requises sont les suivantes :
- Nouvelles requêtes : créer de nouvelles requêtes à l'aide du générateur de requêtes
- Créer/Modifier des catégories : créer et modifier des catégories dans le gestionnaire des requêtes
- Assistant pour requêtes : utilisez l'outil de requête
- Gestionnaire des requêtes : utilisez le gestionnaire des requêtes pour gérer les requêtes sauvegardées
- Planification de rapport : planifier une requête enregistrée en tant que rapport
Remarque : pour afficher les tableaux de bord et les vues interactives dans SAP HANA, des autorisations doivent être définies pour le domaine Analyses.
Synthèse
Voici quelques points à retenir de cette session. Veuillez prendre une minute pour passer en revue les points clés suivants :
- Les requêtes SQL peuvent être utilisées pour produire des rapports ad hoc, comme première étape pour concevoir un rapport plus complexe, avec des alertes utilisateur et des procédures d'approbation, et pendant le projet d'implémentation pour valider les données migrées importées dans les tables.
- Les informations système peuvent aider à identifier les noms de table et de zone ou les numéros d'article et de colonne. Utilisez la commande Vue > Informations système pour activer l'affichage des informations système.
- Il existe deux outils pour vous aider à créer des requêtes SQL : l'assistant pour requêtes et le générateur de requêtes. Essayez les deux outils pour voir ce que vous préférez.
- Vous pouvez sauvegarder les requêtes en tant que requêtes utilisateur et les organiser par catégorie. Le gestionnaire des requêtes vous permet d'organiser et de gérer les requêtes utilisateur sauvegardées.
- Les utilisateurs ont besoin d'une autorisation pour exécuter des requêtes utilisateur sauvegardées. Sélectionnez d'abord un groupe d'autorisations de requête pour la catégorie dans laquelle la requête a été sauvegardée, puis affectez un utilisateur au groupe d'autorisations de requête de la catégorie dans la fenêtre Autorisations générales.
- Une syntaxe spéciale est utilisée pour les requêtes exécutées pendant le traitement d'un document dans la fenêtre active. Cela s'applique principalement aux requêtes utilisées dans les processus d'approbation.