BC430 - Dictionnaire de Données ABAP 2000 - FR

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 175

BC430 - Dictionnaire de donnes ABAP

BC430

R/3 System
Release 46B
03.10.2000

0
BC430 - Dictionnaire de donnes ABAP ...............................................................................................................0-1
Copyright............................................................................................................................................................0-2
ABAP Workbench..........................................................................................................................................0-4
Table des matires ..........................................................................................................................................0-5
Introduction ........................................................................................................................................................1-1
Objectifs du cours...........................................................................................................................................1-2
Fonctions du dictionnaire ABAP....................................................................................................................1-3
Objets de base de donnes dans le dictionnaire ABAP ..................................................................................1-4
Dfinitions de types dans le dictionnaire ABAP ............................................................................................1-5
Services du dictionnaire ABAP ......................................................................................................................1-6
Relations avec les environnements de dveloppement et d'excution............................................................1-7
Rsum du chapitre ........................................................................................................................................1-8
Tables dans le dictionnaire ABAP......................................................................................................................2-1
Objectifs du cours...........................................................................................................................................2-2
Tables et zones ...............................................................................................................................................2-3
Objets de base du dictionnaire ABAP ............................................................................................................2-4
Concept de domaine deux niveaux : exemple..............................................................................................2-5
Tables transparentes et structures ...................................................................................................................2-6
Structures d'includes.......................................................................................................................................2-7
Options techniques .........................................................................................................................................2-8
Catgorie de donnes......................................................................................................................................2-9
Catgorie de taille.........................................................................................................................................2-10
Journalisation................................................................................................................................................2-11
Rsum du chapitre ......................................................................................................................................2-12
Donnes pour les exercices...........................................................................................................................2-13
Exercices : tables du dictionnaire ABAP......................................................................................................2-15
Solutions : tables du dictionnaire ABAP ......................................................................................................2-20
Performances lors de l'accs aux tables ..............................................................................................................3-1
Objectifs du cours...........................................................................................................................................3-2
Structure d'un index........................................................................................................................................3-3
Accs aux index..............................................................................................................................................3-4
Accs aux donnes par la mmoire tampon....................................................................................................3-5
Mise en mmoire tampon des tables...............................................................................................................3-6
Mise en mmoire tampon totale .....................................................................................................................3-7
Mise en mmoire tampon gnrique...............................................................................................................3-8
Mise en mmoire tampon par enregistrement.................................................................................................3-9
Synchronisation des mmoires tampon 1 .....................................................................................................3-10
Synchronisation des mmoires tampon 2 .....................................................................................................3-11
Synchronisation des mmoires tampon 3 .....................................................................................................3-12
Synchronisation des mmoires tampon 4 .....................................................................................................3-13
Synchronisation des mmoires tampon 5 .....................................................................................................3-14
Synchronisation des mmoires tampon 6 .....................................................................................................3-15
Rsum du chapitre ......................................................................................................................................3-16
Exercices : performances lors de l'accs aux tables......................................................................................3-17
Solutions : performances lors de l'accs aux tables ......................................................................................3-19
Cohrence au cours des contrles de saisie ........................................................................................................4-1
Objectifs du cours...........................................................................................................................................4-2
Constantes ......................................................................................................................................................4-3
Table des valeurs ............................................................................................................................................4-4
Insertion d'un enregistrement de donnes.......................................................................................................4-5
Violation du contrle de cls externes............................................................................................................4-6
Zones de cl externe/zones de contrle ..........................................................................................................4-7
Cohrence des donnes via les cls externes ..................................................................................................4-8
Dfinitions de cl externe dans la zone de contrle........................................................................................4-9
Table de contrle diffrente de la table des valeurs......................................................................................4-10
Attributs smantiques ...................................................................................................................................4-11
Table de texte ...............................................................................................................................................4-12
Rsum .........................................................................................................................................................4-13
Exercices : cohrence au cours des contrles de saisie.................................................................................4-14
Solutions : cohrence au cours des contrles de saisie .................................................................................4-16
Dpendances des objets du dictionnaire ABAP .................................................................................................5-1
Objectifs du cours...........................................................................................................................................5-2
Versions active et inactive..............................................................................................................................5-3
Objets d'excution ..........................................................................................................................................5-4
Traitement des objets dpendants...................................................................................................................5-5
Cas d'emploi ...................................................................................................................................................5-6
Dictionnaire ABAP du systme d'information du rfrentiel .........................................................................5-7
Rsum du chapitre ........................................................................................................................................5-8
Exercices : dpendances des objets du dictionnaire ABAP............................................................................5-9
Solutions: dpendances des objets du dictionnaire ABAP ...........................................................................5-11
Modification des tables de base de donnes .......................................................................................................6-1
Objectifs du cours...........................................................................................................................................6-2
Modification des tables...................................................................................................................................6-3
Mode d'ajustement de la structure ..................................................................................................................6-4
Processus de conversion 1 ..............................................................................................................................6-5
Processus de conversion 2 ..............................................................................................................................6-6
Processus de conversion 3 ..............................................................................................................................6-7
Processus de conversion 4 ..............................................................................................................................6-8
Processus de conversion 5 ..............................................................................................................................6-9
Problmes pouvant survenir lors des conversions ........................................................................................6-10
Reprise des conversions interrompues..........................................................................................................6-11
Structures append 1 ......................................................................................................................................6-12
Structures append 2 ......................................................................................................................................6-13
Structures append 3 ......................................................................................................................................6-14
Rsum .........................................................................................................................................................6-15
Exercices : modifications des tables de base de donnes..............................................................................6-16
Solutions : modifications des tables de base de donnes ..............................................................................6-18
Vues....................................................................................................................................................................7-1
Objectifs du cours...........................................................................................................................................7-2
quoi servent les vues ? ................................................................................................................................7-3
Structure d'une vue - Situation de dpart........................................................................................................7-4
Structure d'une vue - Condition de jointure....................................................................................................7-5
Structure d'une vue - Slection de zones (projection).....................................................................................7-6
Structure d'une vue - Condition de slection ..................................................................................................7-7
Mode de liaison des tables aux vues...............................................................................................................7-8
Structure de la vue ..........................................................................................................................................7-9
Slection de donnes avec les vues ..............................................................................................................7-10
Vues de base de donnes ..............................................................................................................................7-11
Includes dans les vues de base de donnes ...................................................................................................7-12
Vues de gestion.............................................................................................................................................7-13
Inner Join et Outer Join ................................................................................................................................7-14
Rsum du chapitre ......................................................................................................................................7-15
Exercices : vues ............................................................................................................................................7-16
Solutions : vues ............................................................................................................................................7-19
Aides la recherche............................................................................................................................................8-1
Objectifs du cours...........................................................................................................................................8-2
Fonction standard de R/3 : aide la saisie......................................................................................................8-3
Conditions requises pour l'aide la saisie ......................................................................................................8-4
Aide la recherche d'objets dans le dictionnaire ABAP ................................................................................8-5
Mthode de slection d'une aide la recherche..............................................................................................8-6
Description du droulement du dialogue ........................................................................................................8-7
Interface d'une aide la recherche..................................................................................................................8-8
Utilisation des aides la recherche.................................................................................................................8-9
Intgration d'aides la recherche dans le dictionnaire ABAP ......................................................................8-10
Vue d'ensemble : mcanismes d'aide la saisie ...........................................................................................8-11
Performances de l'aide la saisie .................................................................................................................8-12
Chemins de recherche alternatifs..................................................................................................................8-13
Aides la recherche groupe et lmentaire ................................................................................................8-14
Aides la recherche append .........................................................................................................................8-15
Rsum du chapitre ......................................................................................................................................8-16
Exercices : aides la recherche ....................................................................................................................8-17
Solutions : aides la recherche.....................................................................................................................8-21
Annexe................................................................................................................................................................9-1
Modle de donnes de vol pour les cours de formation ABAP ......................................................................9-2
Modle de donnes .........................................................................................................................................9-3
Mise en uvre dans le dictionnaire ABAP.....................................................................................................9-4
Arbre de dcision pour mise en mmoire tampon ..........................................................................................9-5
Vue sous forme de mthode de slection d'une aide la recherche ...............................................................9-6
Autres options pour les aides la recherche...................................................................................................9-7
Exit d'aide la recherche (Non standard) .......................................................................................................9-8
Migration des aides la saisie existantes .......................................................................................................9-9
Autres affichages de l'aide la saisie ...........................................................................................................9-10
Principaux chemins de menus et transactions...............................................................................................9-11
BC430 - Dictionnaire de donnes ABAP

BC430
Dictionnaire de
donnes ABAP
SAP AG 1999
SAP AG

n Systme R/3
n Version 4.6A
n Version : janvier 2000
n 5003 3691

(C) SAP AG BC430 0-1


Copyright

Copyright 2000 SAP AG. Tous droits rservs.


Toute reprsentation ou reproduction de ce manuel, mme
partielle, par quelque procd et quelque fin que ce soit, est
interdite sans lautorisation crite explicite de SAP AG. Les
informations contenues dans ce manuel peuvent tre modifies
ou compltes sans pravis.

Tous droits rservs.

SAP AG 1999

n Marques dposes :
n Microsoft , Windows , NT , PowerPoint , WinWord , Excel , Project , SQL-Server ,
Multimedia Viewer , Video for Windows , Internet Explorer , NetShow , et HTML Help
sont des marques dposes de Microsoft Corporation.
n Lotus ScreenCam est une marque dpose de Lotus Development Corporation.
n Vivo et VivoActive sont des marques dposes de RealNetworks, Inc.
n ARIS Toolset est une marque dpose de IDS Prof. Scheer GmbH, Saarbruck
n Adobe et Acrobat sont des marques dposes de Adobe Systems Inc.
n TouchSend Index est une marque dpose de TouchSend Corporation.
n Visio est une marque dpose de Visio Corporation.
n IBM , OS/2 , DB2/6000 et AIX sont des marques dposes de IBM Corporation.
n Indeo est une marque dpose de Intel Corporation.
n Netscape Navigator , et Netscape Communicator sont des marques dposes de Netscape
Communications, Inc.
n OSF/Motif est une marque dpose de Open Software Foundation.
n ORACLE est une marque dpose de ORACLE Corporation, California, USA.
n INFORMIX -OnLine for SAP est une marque dpose de Informix Software Incorporated.
n UNIX et X/Open sont des marques dposes de SCO Santa Cruz Operation.
n ADABAS est une marque dpose de Software AG
n ABAP/4, InterSAP, RIVA, R/2, R/3, R/3 Retail, SAP (Word), SAPaccess, SAPfile, SAPfind,
SAPmail, SAPoffice, SAPscript, SAPtime, SAPtronic, SAP-EDI, SAP EarlyWatch, SAP
ArchiveLink, SAP Business Workflow, et ALE/WEB sont des marques ou marques dposes de
(C) SAP AG BC430 0-2
SAP AG. Le logo SAP et tous les autres produits, services, logos, ou noms de marques sont
galement des marques ou marques dposes de SAP AG.
n Les autres produits, services, logos, ou noms de marques sont des marques ou marques dposes de
leurs propritaires respectifs.

(C) SAP AG BC430 0-3


ABAP Workbench
Niveau 2 Niveau 3
BC402 3 jours BC414 2 jours
Techniques de BC490 3 jours
Programmation des
programmation ABAP mises jour de la base Analyses des
de donnes performances
BC404 3 jours
ABAP
ABAP Objects - BC415 2 jours
Programmation oriente ABAP Workbench -
objets dans R/3 Interfaces de
BC405 3 jours communication
BC425 3 jours
Reporting dans ABAP
Workbench Extensions et
modifications
BC410 5 jours
BC412 2 jours
Programmation interactive Programmation de
BC400 5 jours BC420 5 jours dialogues l'aide des
Introduction ABAP Workbench - contrles EnjoySAP
ABAP Workbench Interface de donnes BC440 5 jours
BC430 2 jours Dveloppement des
Dictionnaire de donnes applications sur Internet
MBC40 2 jours
ABAP
Gestion des projets de BC460 3 jours Cours supplmentaires
dveloppement ABAP Edition et impression de recommands : Business
Process Technologies
formulaires dans CA925, CA926, CA927
SAPscripts BC095 (Technologie
CA610 2 jours d'intgration) BC619 (ALE),
CATT - Test Workbench et BC620, BC621
Computer Aided Test Tool
SAP AG 1999

(C) SAP AG BC430 0-4


Table des matires

Prface

Chapitre 1 Introduction Chapitre 5 Dpendances des


objets du
Chapitre 2 Tables du dictionnaire
dictionnaire ABAP ABAP
Chapitre 3 Performances lors Chapitre 6 Modifications des
de l'accs aux tables tables
Chapitre 4 Cohrence au cours Chapitre 7 Vues
des contrles de
saisie Chapitre 8 Aides la
recherche

Exercices
Solutions
Annexes
SAP AG 1999

(C) SAP AG BC430 0-5


Introduction

l Fonction du dictionnaire ABAP dans le systme R/3

l Dfinition d'objets de base de donnes

l Types dfinis par l'utilisateur

l Services du dictionnaire ABAP

l Relations avec les environnements de


dveloppement et d'excution

SAP AG 1999

(C) SAP AG BC430 1-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l De comprendre la fonction du dictionnaire ABAP dans
le systme R/3
l De dfinir de diverses faons les types et objets de
donnes
l De dcrire les services proposs par le dictionnaire
ABAP
l De comprendre le mode de relations entre le
dictionnaire ABAP et les environnements de
dveloppement et d'excution

SAP AG 1999

(C) SAP AG BC430 1-2


Fonctions du dictionnaire ABAP

Objets de BD
Dfinitions de types

Structure Table

Table
de BD

lments de Type de table


donnes

Services
Valeurs possibles
cran

F4

SAP AG 1999

n Avec le dictionnaire ABAP, toutes les dfinitions de donnes utilises dans le systme R/3 peuvent
tre gres de faon centralise.
n Le dictionnaire ABAP permet de crer des types dfinis par l'utilisateur (lments de donnes,
structures et types de tables) pouvant tre utiliss dans les programmes ABAP ou pour les interfaces
de modules fonction. Les objets de base de donnes, tels que les tables et les vues, peuvent
galement tre dfinis dans le dictionnaire ABAP, puis crs avec cette dfinition dans la base de
donnes.
n Le dictionnaire ABAP fournit plusieurs services supportant le dveloppement de programmes
comme le blocage et le dblocage, la dfinition d'une aide la saisie (touche d'aide F4) et l'ajout
d'une aide (touche d'aide F1) sur une zone d'cran.

(C) SAP AG BC430 1-3


Objets de base de donnes dans le dictionnaire
ABAP

Vue

Les objets sont


Table 1 Table 2 automatiquement crs dans
la BD et adapts aux
modifications
Dictionnaire ABAP

Base de
donnes
SAP AG 1999

n Les vues de base de donnes et de tables peuvent tre dfinies dans le dictionnaire ABAP.
n Ces objets sont crs dans la base de donnes sous-jacente avec cette dfinition. Les modifications
apportes la dfinition d'une vue de table ou de base de donnes sont galement appliques la
base de donnes.
n Pour optimiser l'accs aux donnes d'une table, vous pouvez dfinir des index dans le dictionnaire
ABAP. Ces index sont galement crs dans la base de donnes.

(C) SAP AG BC430 1-4


Dfinitions de types dans le dictionnaire ABAP

Salari

Nom Adresse Tlphone

Prnom Nom Ville Adresse Numros

C. postal Ville Rue N

SAP AG 1999

n Il existe trois catgories type dans le dictionnaire ABAP :


lments de donnes : description d'un type lmentaire via la dfinition du type de donnes, de
la longueur et du nombre de dcimales ventuelles.
Structures : constitues de composants de tout type.
Types de table : description de la structure d'une table interne.
n Tout type complexe dfini par l'utilisateur peut tre labor partir de ces types de base.
n Exemple : les donnes d'un salari sont stockes dans une structure SALARI avec les composants
NOM, ADRESSE et TLPHONE. Le composant NOM dispose lui-mme des composants
PRNOM et NOM. Ces deux composants sont lmentaires. En d'autres termes, leur type est dfini
par un lment de donnes. ADRESSE est galement dfini par une structure dont les composants
constituent eux-mmes des structures. Le composant TLPHONE est dfini par un type de table
(car un salari peut avoir plusieurs numros de tlphone).
n Les types servent d'exemples dans les programmes ABAP ou dfinir les types de paramtres
d'interface des modules fonction.

(C) SAP AG BC430 1-5


Services du dictionnaire ABAP

Cie arienne LH
N Ville de dpart Ville d'arrive
0400 Frankfurt New York

Gestion des vols 0402 Frankfurt New York


2402 Frankfurt Berlin

Cie arienne LH ... ... ...

N de vol F4

...
F1
Code de la correspondance
Code dfinissant une correspondance
entre deux villes. Exemple : 0400
Frankfurt - New York.

SAP AG 1999

n Le dictionnaire ABAP fournit plusieurs services supportant le dveloppement de programmes.


Les aides la saisie (touche F4) pour les zones d'cran peuvent tre dfinies avec des aides la
recherche.
Il est facile d'affecter une aide aux zones d'cran (touche F1) en crant une documentation pour
l'lment de donnes.
Un contrle de saisie garantissant la cohrence des valeurs saisies dans les zones d'cran peut tre
dfini en toute simplicit l'aide de cls externes.
le dictionnaire ABAP vous assiste lors du blocage et du dblocage. Pour ce faire, crez des objets
de blocage dans le dictionnaire ABAP. Des modules fonction destins au blocage et dblocage
sont automatiquement gnrs partir de ces objets, qui peuvent ensuite tre lis au programme
d'application.
Les performances des accs aux donnes peuvent tre amliores pour les objets de base de
donnes (tables, vues) l'aide d'options de mmoire tampon.
Lors de la journalisation, vous pouvez activer l'enregistrement automatique des modifications
apportes aux entres d'une table.

(C) SAP AG BC430 1-6


Relations avec les environnements de
dveloppement et d'excution

Environnement de
dveloppement
Screen
Lecture de la Interface de
Painter
structure d'objets base de
de base de donnes
Outils donnes
ABAP

Lecture des
Dictionnaire
dfinitions de ABAP
types
Environnement
d'excution
Interprteur
d'cran

Interprteur
ABAP

SAP AG 1999

n Le dictionnaire ABAP est intgr de faon active aux environnements de dveloppement et


d'excution. Chaque modification prend donc immdiatement effet dans les programmes ABAP et
les crans concerns.
n Exemples :
Lorsqu'un programme ou un cran est gnr, les interprteurs ABAP et d'cran accdent aux
dfinitions de types stockes dans le dictionnaire ABAP.
les outils ABAP et Screen Painter utilisent les informations stockes dans le dictionnaire ABAP,
afin de vous assister au cours du dveloppement de votre programme. Exemple : la fonction Zones
du dictionnaire dans Screen Painter permet de placer dans un cran des zones d'une table ou d'une
structure dfinie dans le dictionnaire ABAP.
L'interface de base de donnes se sert des informations relatives aux vues de table ou de base de
donnes stockes dans le dictionnaire ABAP, afin d'accder aux donnes de ces objets.

(C) SAP AG BC430 1-7


Rsum du chapitre

l Le dictionnaire ABAP gre les dfinitions de donnes

l Vous pouvez dfinir des types spcifiques dans le


dictionnaire ABAP, utiliss pour les programmes ABAP, par
exemple
l Des vues de table et de base de donnes sont dfinies dans
le dictionnaire ABAP et automatiquement cres avec cette
dfinition dans la base de donnes sous-jacente
l Le dictionnaire ABAP fournit plusieurs services supportant le
dveloppement de programmes
l Le dictionnaire ABAP est intgr de faon active aux
environnements de dveloppement et d'excution

SAP AG 1999

(C) SAP AG BC430 1-8


Tables dans le dictionnaire ABAP

l Concept de domaine deux niveaux

l Mise en correspondance dans le systme de base de


donnes relationnelle
l Structures d'includes

l Options techniques

n Catgorie de donnes

n Catgorie de taille

n Mise en mmoire tampon

n Journalisation

SAP AG 1999

(C) SAP AG BC430 2-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l De crer des tables

l D'utiliser le concept de domaine deux niveaux

l De dfinir les options techniques d'une table

l De crer et d'utiliser des structures d'includes

SAP AG 1999

(C) SAP AG BC430 2-2


Tables et zones

Table
Cl 1 Cl 2 Cl n Z1 Z2 Zn

Ligne

. . . . . .
. . . . . .
. . . . . .

Cl Zones de fonction
SAP AG 1999

n La structure des objets d'un dveloppement d'application est mise en correspondance dans les tables
de la base de donnes relationnelle sous-jacente.
n Les attributs de ces objets correspondent aux zones de la table.
n Une table est compose de colonnes (zones) et de lignes (entres). Elle porte un nom et dispose de
certains attributs, tels que l'autorisation de maintenance et la classe de livraison.
n Une zone porte un seul nom et dispose d'attributs (une zone-cl, par exemple).
n Une table peut comprendre plusieurs zones-cls appeles cls primaires.
n Les valeurs de ces zones-cls identifient de faon unique une entre de table.
n Spcifiez une table de rfrence pour les zones contenant une devise (type de donnes CURR) ou
une quantit (type de donnes QUAN). Cette table doit contenir une zone (zone de rfrence) au
format adapt aux cls de devise (type de donnes CUKY) ou aux units (type de donnes UNIT).
La zone est affecte uniquement la zone de rfrence lors de l'excution du programme.

(C) SAP AG BC430 2-3


Objets de base du dictionnaire ABAP

Table
Zone de
table

utilise

lment
lment de
donnes
donnes
utilise

Domaine

SAP AG 1999

n Les objets de base servant aux dfinitions de donnes dans le dictionnaire ABAP sont des tables, des
domaines et des lments de donnes. Le domaine est utilis pour la dfinition technique d'une zone
de table (par exemple, le type et la longueur de zone) et l'lment de donnes sert la dfinition
smantique (par exemple, la description synthtique).
n Un domaine dcrit la plage de valeurs d'une zone. Il est dfini par son type de donnes et par sa
longueur. Pour limiter la plage de valeurs, dterminez des valeurs fixes.
n Un lment de donnes dcrit la signification d'un domaine dans un contexte de gestion particulier.
Il contient principalement l'aide de zone (documentation de la zone F1) et les descripteurs de zones
de l'cran.
n Une zone n'est pas un objet indpendant. Elle dpend d'une table et ne peut tre gre qu' l'intrieur
de cette table.
n Vous pouvez directement saisir le type de donnes et la longueur pour une zone. Aucun lment de
donns n'est requis ce niveau. En revanche, le type de donnes et la longueur sont dfinis via la
spcification d'un type direct.
n Les attributs de type de donnes d'un lment peuvent galement tre dfinis via un type prdfini
dans lequel le type de donnes et la longueur sont directement saisis.

(C) SAP AG BC430 2-4


Concept de domaine deux niveaux : exemple

Table SPFLI
MANDT CARRID CONNID ... AIRPFROM ... AIRPTO

lments
lments de donnes
donnes S_FROMAIRP lments
lments de donnes
donnes S_TOAIRP

Domaine S_AIRPID

SAP AG 1999

n Les horaires des vols sont stocks dans la table SPFLI. Les zones de la table AIRPFROM (aroport
de dpart) et AIRPTO (aroport d'arrive) ont le mme domaine S_AIRPID, car elles contiennent
des ID d'aroport et possdent donc les mmes attributs techniques. Leur signification smantique est
cependant diffrente et elles utilisent d'autres lments de donnes pour la documenter. La zone
AIRPFROM utilise l'lment de donnes S_FROMAIRP et la zone AIRPTO, l'lment de donnes
S_TOAIRP.

(C) SAP AG BC430 2-5


Tables transparentes et structures

Table Dictionnaire ABAP Structure

Zone 1 Zone 2 Zone 3 Zone 4


Zone 1 Zone 2 Zone 3 Zone 4

Base de donnes

Table
Zone 1 Zone 2 Zone 3 Zone 4

Dfinition physique de la table

SAP AG 1999

n Lorsqu'une table transparente est active dans le dictionnaire ABAP, elle est automatiquement cre
dans la base de donnes. La description de la table dans le dictionnaire ABAP, indpendante de la
base de donnes, est alors traduite dans la langue du systme de base de donnes utilis.
n La table de la base de donnes porte le mme nom que celle qui figure dans le dictionnaire ABAP.
Les zones portent galement le mme nom dans la base de donnes et le dictionnaire ABAP. Les
types de donnes du dictionnaire ABAP sont convertis dans les types de donnes correspondants du
systme de base de donnes.
n L'ordre des zones qui figurent dans le dictionnaire ABAP peut diffrer de celui existant dans la base
de donnes. Cela permet d'insrer de nouvelles zones sans avoir convertir la table. Lorsqu'une
nouvelle zone est ajoute, l'ajustement est effectu en modifiant le catalogue de base de donnes
(ALTER TABLE). La nouvelle zone est ajoute la table de base de donnes, quel que soit son
emplacement dans le dictionnaire ABAP.
n Les programmes ABAP peuvent accder une table transparente de deux manires : l'aide d'OPEN
SQL (ou EXEC SQL) ou l'aide de la dfinition de variables (ou de type plus complexes) permettant
d'accder un type structur dtermin par la table.
n Vous pouvez galement crer un type structur dans le dictionnaire ABAP pour lequel il n'existe
aucun objet correspondant dans la base de donnes. Ces types sont appels des structures. Ces
structures peuvent galement servir dfinir les types de variables.

(C) SAP AG BC430 2-6


Structures d'includes

Table 1 Table 2

Zone 1 Zone 2 Zone A Zone B Zone 3 Zone A Zone B Zone 4

Zone A Zone B Structure d'include

Base de donnes

Zone 1 Zone 2 Zone A Zone B Zone 3 Zone A Zone B Zone 4

SAP AG 1999

n Les structures peuvent tre intgres des tables ou d'autres structures, afin d'viter des dfinitions
de structures redondantes.
n Une table ne peut tre incluse que dans son intgralit.
n Une chane d'includes peut contenir une seule table de base de donnes. La table dans laquelle vous
effectuez l'inclusion appartient la chane d'includes. En d'autres termes, vous ne pouvez pas inclure
une table transparente dans une autre table transparente.
n Les includes peuvent contenir d'autres includes.
n En gnral, la table incluse transmet ses dfinitions de cl externe la table incluante. Les attributs
de dfinition de cl externe sont transmis de l'include vers la table incluante, de telle sorte que la cl
externe dpende de la dfinition de l'include.

(C) SAP AG BC430 2-7


Options techniques

Dans quel domaine Catgorie


physique de la base de de donnes
donnes stocker la table ?
BD Catgorie de taille
Combien
d'enregistrements la
table contiendra-t-elle ?
Mise en mmoire tampon
BD
R/3
Tampon de table

Les modifications
Les enregistrements apportes aux
de table doivent-ils enregistrements de
tre mis en mmoire donnes doivent-elles
Journalisation
tampon ? tre journalises ?

SAP AG 1999

n Lorsque vous dfinissez une table transparente dans le dictionnaire ABAP, vous devez grer ses
options techniques.
n Ces options servent optimiser de faon individuelle les besoins en stockage et le comportement des
accs chaque table de la base de donnes.
n Elles vous permettent galement de dterminer le mode de traitement d'une table lorsqu'elle est cre
dans la base de donnes : mise en mmoire tampon, journalisation des modifications des entres.
n La table est cre automatiquement dans la base de donnes lorsqu'elle est active dans le
dictionnaire ABAP. La zone de stockage (tablespace) slectionner et les options d'affectation
d'espace sont dfinies partir des options relatives la catgorie de donnes et la catgorie de
taille.
n Des options dterminent si la table doit tre mise en mmoire tampon et la faon d'y parvenir.
n Vous pouvez indiquer si vous souhaitez journaliser les modifications des entres de table.

(C) SAP AG BC430 2-8


Catgorie de donnes

Tables dans le dictionnaire ABAP


Donnes Donnes Donnes Donnes
de base organisation altrables systme
Table 1

Table 3 Table 2 Table 5 Table 7

Table 4 Table 6 Table 9 Table 8

Base de donnes

Don. de Don. org. Don. alt. Don. syst.


base de de de de
tablespace tablespace tablespace tablespace
Table 1

Table 3 Table 2 Table 5 Table 7

Table 6 Table 9 Table 8


Table 4

SAP AG 1999

n La catgorie de donnes dfinit de faon logique le domaine physique de la base de donnes (dans la
terminologie ORACLE, il s'agit du "tablespace") dans lequel votre table doit tre stocke. Si vous
choisissez correctement la catgorie de donnes, la table est automatiquement cre dans le domaine
correspondant de la base de donnes, lorsqu'elle est active dans le dictionnaire ABAP.
n Les catgories de donnes les plus importantes sont les donnes de base, les donnes altrables, les
donnes organisation et les donnes systme.
n Les donnes de base sont rarement modifies. Exemple : donnes contenues dans un fichier
d'adresses, telles que le nom, l'adresse et le numro de tlphone.
n Les donnes altrables sont souvent modifies. Exemple : le stock articles d'un entrept, modifi
aprs chaque commande.
n Les donnes organisation sont dfinies pendant le customizing du systme au cours de son
installation et sont rarement modifies par la suite. Exemple : les cls de pays.
n Les donnes systme sont utilises par le systme R/3 lui-mme. Exemple : les sources de
programmes.
n D'autres catgories de donnes, savoir les catgories de donnes client (USR, USR1), sont livres
aux clients. Elles sont destines aux dveloppements effectus par le client. Il est alors ncessaire
d'affecter des zones de stockage spciales dans la base de donnes.

(C) SAP AG BC430 2-9


Catgorie de taille

Options techniques

Catgorie de taille
TABA 1
TABB 3
Extent Premier Second
TABC 4
initial extent extent

Base de donnes

TABA

TABB

TABC

SAP AG 1999

n La catgorie de taille dcrit le besoin en stockage probable de la table dans la base de donnes.
n Un extent initial est rserv lorsqu'une table est cre dans la base de donnes. La taille de cet extent
est identique pour chaque catgorie de taille. Si, par la suite, la table a besoin de plus d'espace pour
ses donnes, des extents sont ajouts. Ces extents supplmentaires sont de taille fixe, dtermine par
la catgorie de taille indique dans le dictionnaire ABAP.
n Vous pouvez choisir une catgorie de taille entre 0 et 4. Une taille d'extent fixe, qui dpend du
systme de base de donnes utilis, est affecte chaque catgorie.
n L'affectation de la bonne catgorie de taille vite ainsi la prolifration de petits extents. Elle vite
galement le gaspillage de stockage li la cration d'extents trop grands.

(C) SAP AG BC430 2-10


Journalisation

Dictionnaire ABAP
TAB journal
Transaction
d'application
TAB
Zone 2 Zone 3 Zone 5

Modifier un
enregistrement

Profils systme Base de donnes

...
rec/client = ALL TAB Table journal
... Zone 1 Zone 2 Zone 3

SAP AG 1999

n Les modifications apportes aux entres d'une table peuvent tre enregistres et journalises.
n Pour dclencher la journalisation, la zone correspondante doit tre slectionne dans les options
techniques. Cependant, la journalisation n'a lieu que si le systme R/3 a t dmarr avec un profil
contenant le paramtre "rec/client". Il ne suffit pas de slectionner le marqueur dans le dictionnaire
ABAP pour dclencher la journalisation.
n Le paramtre "rec/client" peut prendre les valeurs suivantes :
rec/client = ALL Tous les mandants doivent tre journaliss.
rec/client = 000[...] Seuls les mandants spcifis doivent tre journaliss.
rec/client = OFFLa journalisation n'est pas mise en uvre sur ce systme.
n Les modifications de donnes sont journalises indpendamment de la mise jour. Les journaux
peuvent tre affichs avec la transaction Historique de table (SCU3).
n La journalisation cre un "goulot d'tranglement" dans le systme :
Accs en criture supplmentaire pour chaque modification aux tables journaliser.
Cela peut provoquer des situations de blocage, bien que les utilisateurs accdent des tables
d'application diffrentes.

(C) SAP AG BC430 2-11


Rsum du chapitre

l Toutes les donnes de gestion sont gres sous forme de


tables dont la dfinition est stocke dans le dictionnaire
ABAP
l Un concept de domaine deux niveaux est employ pour
la dfinition des tables. La dfinition smantique est mise
en uvre avec des lments de donnes et la dfinition
technique avec des domaines
l Les zones des structures d'includes peuvent tre
intgres des tables
l Les options techniques d'une table dfinissent le mode de
stockage de la table dans la base de donnes (tablespace,
taille de l'extent) et si les modifications apportes aux
enregistrements de donnes doivent tre journalises

SAP AG 1999

(C) SAP AG BC430 2-12


Donnes pour les exercices
Explications sur les symboles utiliss dans les exercices et les solutions :

Exercices

Solutions

Objectifs du cours

Scnario de gestion

Astuces

Avertissement

Donnes utilises dans les exercices


Type de donnes Donnes utilises pour le systme de
formation
Modle de donnes BC_TRAVEL oui
Ensemble des objets de la classe de oui
dveloppement BC_DATAMODEL
Ensemble des objets de la classe de oui
dveloppement BC430

Lors de la cration dobjets dans le dictionnaire ABAP


pendant ce cours, conformez-vous aux conventions
suivantes :
Les noms des objets pour les tables, les lments de
donnes et les domaines doivent commencer par un Z et se
terminer par les deux chiffres de votre numro de groupe (xx).
Utilisez la fois vos propres lments de donnes ou
domaines (Z<Nomobjet>xx) et les objets SAP standard pour
les zones des tables.
Tous les objets doivent tre crs en tant qu'objets locaux
(classe de dveloppement $tmp).

(C) SAP AG BC430 2-13


Des informations figurent en annexe propos des modles de
donnes relatifs aux vols utiliss dans les cours de formation.

(C) SAP AG BC430 2-14


Exercices : tables du dictionnaire ABAP

(C) SAP AG BC430 2-15


(C) SAP AG BC430 2-16
Chapitre : tables du dictionnaire ABAP

la fin de ces exercices, vous serez en mesure :


de crer des tables et d'utiliser le concept de domaine deux
niveaux ;
de dfinir avec prcision les options techniques ;
de documenter les zones ;
de crer et d'utiliser des structures d'includes.
Pour ces exercices, les tables du modle de vol sont agrmentes
de la gestion des salaris. Cette gestion doit permettre aux
compagnies ariennes de saisir, puis d'exploiter des donnes
relatives leurs salaris (par exemple : nom, matricule, salaire,
service, etc.) et aux affectations au sein de l'entreprise (services
de la compagnie arienne).
Au cours de cet exercice, deux tables doivent tre cres pour les
donnes du salari et les services de la compagnie arienne.
Ces tables sont dveloppes tape par tape au cours des
exercices suivants.

2-1 Crez deux tables transparentes ZEMPLOYxx et ZDEPMENTxx, puis


dfinissez leurs zones-cls. Dfinissez les options techniques lors de
l'activation des tables.
Remarque :
Les donnes gres concernent trois compagnies ariennes. L'une d'elle
comprend 20 000 salaris et entre 10 et 30 services. Ne mettez pas ces
donnes en mmoire tampon et ne les journalisez pas. La mise en mmoire
tampon sera traite dans les exercices du chapitre suivant.

2-1-1 Crez la table ZEMPLOYxx. Les donnes des salaris sont gres ce
niveau. Les noms et adresses des salaris, ainsi que leurs salaires sont
stocks ici.

(C) SAP AG BC430 2-17


Table ZEMPLOYxx

Nom de zone lment de Domaine Type, longueur


donnes
Mandant S_MANDT MANDT

Cie arienne S_CARR_ID S_CARR_ID

Matricule au choix au choix NUMC, 10

Prnom S_FNAME S_FNAME

Nom S_LNAME S_LNAME

Code de service au choix au choix CHAR, 4

Domaine au choix au choix CHAR, 1

Salaire au choix au choix CURR, 10


2 dcimales
Devise S_CURRCODE S_CURR

2-1-2 Crez la table ZEMPLOYxx. Cette table contient les services de la


compagnie arienne. Chacun d'entre eux dispose d'un numro de
tlphone et de tlcopie.

Table ZDEPMENTxx

Nom de zone lment de Domaine Type, longueur


donnes
Mandant S_MANDT MANDT

Cie arienne S_CARR_ID S_CARR_ID

Code de service au choix au choix CHAR, 4

Tlphone au choix S_PHONE CHAR, 30

Tlcopie au choix S_PHONE CHAR, 30

2-2 Documentez les zones Matricule et Code de service.


2-3 Les modifications apportes aux tables ZEMPLOYxx et ZDEPMENTxx sont
dterminantes et doivent donc tre enregistres. La transaction de gestion
doit comporter le nom de la dernire personne ayant modifi une entre de
table. Pour ce faire, ajoutez des zones pour le matricule de la personne
l'origine des dernires modifications et pour la date laquelle les dernires
entres ont t effectues dans les tables ZEMPLOYxx et ZDEPMENTxx.
Pour vrifier si ces mmes zones sont disponibles dans les deux tables
pour l'enregistrement des modifications, ajoutez-les aux tables avec une
sous-structure ZCHANGExx. Crez un nouvel lment de donnes pour la
zone Modifi par, mais utilisez un domaine existant. Utilisez S_CHDATE
comme lment de donnes pour la date de la dernire modification.
Quelles sont les actions excutes dans la base de donnes lors de
l'activation ?
(C) SAP AG BC430 2-18
Remarque : dans une "vraie" application, le dveloppement ci-dessus
entrane systmatiquement la dsactivation de la gestion de table pour les
deux tables. l'inverse, vos propres transactions de gestion sont cres
pour la table dans laquelle les zones de journalisation des modifications
sont renseignes de faon interne par le programme, et non directement
par l'utilisateur.
Une telle cration de transactions dpasse le cadre de ce cours. Par
consquent, nous partons ici du principe que l'ensemble des utilisateurs
renseignent eux-mmes (correctement) ces zones dans le programme de
gestion de la table standard.

Lancez le programme BC430_CHECK dans la


transaction SE38. Ce programme vrifie si vos solutions sont
correctes, puis renseigne les nouvelles tables ZEMPLOYxx et
ZDEPMENTxx l'aide des donnes chantillon ncessaires
aux exercices ultrieurs.

(C) SAP AG BC430 2-19


Solutions : tables du dictionnaire ABAP

Chapitre : tables du dictionnaire ABAP

2-1 Chemin de menus


Outils ABAP Workbench Dveloppement Dictionnaire ou la
transaction SE11 vous fait accder l'cran de vue d'ensemble du
dictionnaire ABAP.
2-1-1 Pour crer la table ZEMPLOYxx :
1) Marquez la table de base de donnes, puis saisissez le nom
de table ZEMPLOYxx dans la zone de saisie correspondante.
2) Slectionnez Crer.
3) Saisissez une dsignation dans l'cran de gestion de la table.
4) Slectionnez la classe de livraison A, puis marquez Gestion
de table autorise.
5) Pour accder la dfinition des zones de l'cran de gestion,
cliquez sur la page onglets Zones. Saisissez des noms de
zones (il n'est pas obligatoire qu'ils figurent dans l'espace nom
client).
6) Pour les zones Mandant, Cie arienne, Prnom, Nom et
Devise, saisissez les noms des lments de donnes fournis
dans la colonne Type de zone. Sauvegardez vos entres.
7) Crez vos propres lments de donnes pour les zones
Matricule, Code de service, Domaine et Salaire. Saisissez un
nom (Z<objet>xx) pour l'lment de donnes de la colonne
Type de zone. Double-cliquez sur le nom de l'lment de
donnes. Sa dfinition apparat.
8) Saisissez une dsignation (composante de l'aide F1). Cliquez
sur la page onglets Descripteur de zone, puis stockez les
textes des descripteurs de zones cet endroit.
9) Vous devez galement affecter une description technique
(domaine) l'lment de donnes. Cliquez sur page onglets
Dfinition, puis saisissez un nom (Z<objet>xx) pour votre
domaine. Si ce domaine est prdfini, activez l'lment de
donnes, puis revenez l'cran de gestion des zones de table
(F3 ou ). Sinon, cliquez deux fois sur le nom du domaine. La
dfinition du domaine apparat.
10) Dfinissez la description synthtique, le type de donnes (par
exemple NUMC) et le nombre de caractres (par exemple 10).
Activez le domaine.
11) Revenez un cran en arrire (F3 ou ) pour accder la
dfinition de l'lment de donnes, puis activez cet lment.

(C) SAP AG BC430 2-20


12) Revenez un cran en arrire pour accder la dfinition de
zone. Suivez nouveau les tapes partir du numro 7
jusqu' ce que l'ensemble des zones de la table soit dfini.
Sauvegardez votre table.
13) Dfinissez la table de rfrence et la zone de rfrence pour
la zone relative au salaire. Double-cliquez sur le nom de zone,
puis saisissez les lments ci-dessous dans la bote de
dialogue suivante :
Table de rfrence : ZEMPLOYxx
Zone de
rfrence : Devise
14) Dfinissez les zones-cls de la table ZEMPLOYxx. Les zones
Mandant, Cie arienne et Matricule identifient une entre
unique. Par consquent, elles doivent tre marques comme
zones-cls. Pour ce faire, marquez la colonne Cl suivant le
nom de zone. Les zones-cls doivent se situer au dbut de la
liste de zones, dans cet ordre.
15) Activez la table. L'cran de gestion des options techniques
apparat automatiquement :
Comme le contenu de la table ZEMPLOYxx est rarement
modifi, slectionnez la catgorie de donnes APPL0
(donnes de base). Le nombre d'enregistrements attendu
dans la table ZEMPLOYxx est de 60 000. Par consquent,
vous devez slectionner la catgorie de taille 2. La table ne
doit tre ni mise en mmoire tampon, ni journalise.

ZEMPLOYxx

Catgorie de donnes APPL0 (donnes de base)


Catgorie de taille 2
Mise en mmoire tampon Interdite
Journalisation Aucune journalisation

Sauvegardez les options techniques. Revenez l'cran de gestion


de la table (F3 ou ). La table est active.
2-1-2 Pour crer la table ZDEPMENTxx :
1) 12) : rfrez-vous la solution 2-1-1.
13) Dfinissez les zones-cls de la table ZDEPMENTxx. Les
zones Mandant, Cie arienne et Code de service identifient
une entre unique. Par consquent, elles doivent tre
marques comme zones-cls. Pour ce faire, marquez la
colonne Cl suivant le nom de zone.
14) Activez votre table, puis dfinissez les options techniques :
Comme le contenu de la table ZDEPMENTxx est rarement
modifi, slectionnez la catgorie de donnes APPL0
(donnes de base). Le nombre d'enregistrements attendu
dans la table ZDEPMENTxx est de 90 au maximum. Par
consquent, vous devez slectionner la catgorie de tailles 0.

(C) SAP AG BC430 2-21


La table ne doit tre ni mise en mmoire tampon, ni
journalise.

ZDEPMENTxx

Catgorie de donnes APPL0 (donnes de base)


Catgorie de taille 0
Mise en mmoire tampon Interdite
Journalisation Aucune journalisation

2-2 Pour documenter les zones Matricule et Code de service :


1) Double-cliquez pour accder ces lments de donnes dans la
dfinition des lments de donnes. Pour accder au mode de
modification, utilisez Afficher <-> Modifier. Cliquez sur
Documentation ou slectionnez Saut Documentation.
2) Saisissez un texte pour les zones, puis sauvegardez vos entres.
2-3 Pour crer la structure ZCHANGExx, procdez comme suit :
1) Dans l'cran initial du dictionnaire ABAP, marquez le type de
donnes, puis saisissez ZCHANGExx dans la zone correspondante.
Slectionnez Crer.
2) Marquez Structure dans la bote de dialogue suivante.
3) Saisissez les noms de zones dans la colonne Composante, ainsi que
les lments de donnes correspondants dans la colonne Type de
composante. Crez une zone pour le matricule et une autre pour la
date de modification. Utilisez l'lment de donnes S_CHDATE pour
cette zone. Crez votre propre lment de donnes pour la premire
zone, comme dans l'exercice 2-1. Utilisez le domaine cr pour le
matricule de la table ZEMPLOYxx.
4) Activez la structure ZCHANGExx.
Pour insrer ZCHANGExx en tant qu'include dans les tables ZEMPLOYxx
et ZDEPMENTxx, procdez comme suit :
1) Accdez l'cran de gestion de la table ZEMPLOYxx.
2) Slectionnez Nouvelles lignes, puis placez le curseur sur la premire
nouvelle zone.
3) Slectionnez Traiter Include Insrer.
4) Dans la bote de dialogue suivante, saisissez le nom ZCHANGExx,
puis cliquez sur Suite.
5) Activez la table.
6) Vous pouvez afficher les actions excutes dans la base de donnes
avec UtilitairesEProtocole d'activation.
7) Pour insrer la sous-structure ZCHANGExx dans la table
ZDEPMENTxx, commencez par l'tape 1).

(C) SAP AG BC430 2-22


(C) SAP AG BC430 2-23
Performances lors de l'accs aux tables

l Index
n Index primaire et index secondaire
n Structure d'un index
n Accs aux donnes l'aide d'un index
l Mise en mmoire tampon des tables
n Avantages de la mise en mmoire tampon
n Tampons de tables locaux
n Types de mise en mmoire tampon
n Synchronisation des mmoires tampon
n Tables mettre en mmoire tampon

SAP AG 1999

(C) SAP AG BC430 3-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l D'valuer quand il est possible d'avoir recours
des index pour acclrer les accs aux tables
l De crer des index dans le dictionnaire ABAP

l De dcrire les diffrents types de mise en


mmoire tampon
l D'valuer le moment o il est intressant de
mettre une table en mmoire tampon et le type de
mise en mmoire tampon slectionner
l De mettre une table en mmoire tampon l'aide
des options techniques

SAP AG 1999

(C) SAP AG BC430 3-2


Structure d'un index

Table SCOUNTER
SELECT * FROM AIRPORT P MANDT CARRID COUNTNUM AIRPORT
SCOUNTER WHERE ACA 1 001 LH 00000005 ACA
AIRPORT = 'LHR'. ACE 2 001 BA 00000004 ACE
BER 3 001 UA 00000001 BER
BER 6 001 LH 00000002 LCY
DEN 7 001 BA 00000003 LHR
FRA 8 001 LH 00000007 BER
HAM 14 001 AA 00000001 DEN
Recherche LCY 4 001 LH 00000003 FRA
binaire LCY 9 001 BA 00000001 LCY
LGW 10 001 LH 00000001 LGW
LHR 5 001 LH 00000004 LHR
LHR 11 001 BA 00000002 MUC
MUC 12 001 LH 00000006 RTM
RTM 13 001 00000008 HAM
LH
Index pour
AIRPORT

SAP AG 1999

n Le rle d'un index est d'acclrer la slection des enregistrements de donnes dans une table.
n Un index correspond la copie d'une table de base de donnes rduite certaines zones. Les donnes
sont stockes sous une forme trie dans cette copie. Un tel tri permet d'accder rapidement aux
enregistrements de la table (par exemple, par une recherche binaire). Certaines zones de la table ne
figurent pas dans l'index. Pour permettre la lecture du contenu de toutes les zones, l'index contient
galement un pointeur qui associe l'entre d'index l'entre de table correspondante.
n Lors de la cration des index, tenez compte des points suivants :
Un index ne peut tre utilis que jusqu' la dernire zone spcifie dans la slection. Les zones
dfinies dans la clause WHERE pour un grand nombre de slections doivent tre places en
premire position.
Seules les zones dont les valeurs limitent le volume de donnes sont significatives dans un index.
Lorsque vous modifiez un enregistrement dans une table, adaptez le tri de l'index. Par consquent,
les tables dont le contenu est frquemment modifi ne doivent pas comporter de nombreux index.
Veillez ce que les index d'une table soient aussi disjoints que possible.

(C) SAP AG BC430 3-3


Accs aux index

Programme

SELECT * FROM TAB


WHERE F2 = `10.

Optimiseur

Index 0 Index A TAB


F1 Z F2 Z F1 F2 F3

10
A3 10 Text

SAP AG 1999

n L'index de la table utilis par la base de donnes pour accder aux enregistrements de donnes est
dtermin par l'optimiseur de la base de donnes.
n Il convient de faire la distinction entre l'index primaire et les index secondaires d'une table. L'index
primaire contient les zones-cls de la table. L'index primaire est automatiquement gnr dans la
base de donnes lorsque la table est active. Si une table de grande taille fait l'objet de tant d'accs
qu'il est impossible de lui affecter le tri par l'index primaire, des index secondaires doivent alors tre
crs.
n L'ID de l'index d'une table comporte trois caractres. '0' est rserv l'index primaire. Les clients ont
la possibilit de crer leurs propres index pour les tables SAP. Leur ID doit alors commencer par Y
ou Z.
n Si les zones d'un index disposent d'une fonction-cl (c'est--dire qu'elles identifient chaque
enregistrement de la table), vous avez affaire un index unique. Un tel index constitue la garantie
qu'il n'existe aucun duplicata de zones d'index dans la base de donnes.
n Lorsque vous dfinissez un index secondaire dans le dictionnaire ABAP, vous pouvez indiquer s'il
doit galement tre cr pour la base de donnes lors de son activation. Certains index amliorent les
performances uniquement pour des systmes de base de donnes spcifiques. Lors de la dfinition
d'un index, vous pouvez par consquent spcifier une liste de systmes de base de donnes. L'index
est alors cr uniquement pour ces systmes de base de donnes, lors de leur activation.

(C) SAP AG BC430 3-4


Accs aux donnes par la mmoire tampon

Programme ABAP Mmoire tampon


SELECT * FROM SBOOK des tables R/3
WHERE ...

Interface de base de donnes

Base de donnes

Processus Mmoire
Systme de communication
de BD tampon de
BD

SAP AG 1999

n La mise en mmoire tampon d'une table amliore les performances lors de la lecture des
enregistrements qu'elle contient.
n Les enregistrements des tables mises en mmoire sont lus directement partir de la mmoire tampon
locale du serveur d'applications excutant la transaction d'accs aux tables. Cette procdure entrane
un gain de temps lors des accs la base de donnes. L'accs est de 10 100 fois plus rapide. Cette
augmentation de la vitesse dpend de la structure de la table et de la configuration exacte du systme.
La mise en mmoire tampon peut donc amliorer considrablement les performances du systme.
n Si l'encombrement de la mmoire tampon augmente en raison de l'arrive de nouvelles donnes,
celles qui n'ont pas t consultes pendant la priode la plus longue sont dplaces. Ce dplacement
s'effectue en mode asynchrone certains moments dfinis de manire dynamique selon les accs la
mmoire tampon. Les donnes sont dplaces uniquement si l'espace libre dans la mmoire tampon
est infrieur une valeur prdfinie ou si la qualit des accs n'est pas satisfaisante ce moment
prcis.
n La saisie de $TAB dans la zone de commande provoque la rinitialisation des mmoires tampon de
tables sur le serveur d'applications correspondant. Utilisez cette commande uniquement s'il existe des
incohrences dans la mmoire tampon. Dans les systmes de grandes tailles, plusieurs heures sont
parfois ncessaires pour renseigner les mmoires tampons. Les performances sont considrablement
diminues pendant cette priode.

(C) SAP AG BC430 3-5


Mise en mmoire tampon des tables

Serveur d'applications 1 Serveur d'applications 2

Programme Programme

Tampon de table Tampon de table

Le programme lit les donnes dans


Les enregistrements une table mise en mmoire tampon
sont chargs
dans la mmoire
tampon
TAB

Base de donnes
SAP AG 1999

n Le systme R/3 gre et synchronise les mmoires tampon sur les diffrents serveurs d'applications. Si
un programme d'application accde aux donnes d'une table, les interfaces de la base de donnes
recherchent la prsence de ces donnes dans la mmoire tampon du serveur d'applications. Si les
donnes s'y trouvent, elles sont lues directement dans la mmoire tampon. Sinon, les donnes sont
lues directement dans la base de donnes et charges dans la mmoire tampon. La mmoire tampon
peut donc permettre l'accs suivant les donnes.
n Le type de mise en mmoire tampon dtermine les enregistrements de la table charger dans la
mmoire tampon du serveur d'applications, lors de la consultation d'un enregistrement de la table. Il
existe trois types de mise en mmoire tampon :
n Mise en mmoire tampon totale : lors de l'accs l'un des enregistrements de la table, tous les
enregistrements de la table sont chargs dans la mmoire tampon.
n Mise en mmoire tampon gnrique : lorsqu'un enregistrement de la table est consult, tous les
enregistrements de la table dont la partie justifie gauche de la cl est identique sont chargs dans
la mmoire tampon.
n Mise en mmoire tampon par enregistrement : seul l'enregistrement qui a t consult est charg
dans la mmoire tampon.

(C) SAP AG BC430 3-6


Mise en mmoire tampon totale

Table de base de donnes SCOUNTER Contenu de la mmoire tampon


MANDT CARRID COUNTNUM AIRPORT 001 AA 00000001 ACA
001 AA 00000001 ACA 001 BA 00000001 ACE
001 BA 00000001 ACE 001 BA 00000002 BER
001 BA 00000002 BER 001 BA 00000003 LCY
001 BA 00000003 LCY 001 BA 00000004 LHR
001 BA 00000004 LHR 001 LH 00000001 BER
001 LH 00000001 BER 001 LH 00000002 DEN
001 LH 00000002 DEN 001 LH 00000003 FRA
001 LH 00000003 FRA 001 LH 00000004 LCY
001 LH 00000004 LCY 001 LH 00000005 LGW
001 LH 00000005 LGW 001 LH 00000006 LHR
001 LH 00000006 LHR 001 LH 00000007 MUC
001 LH 00000007 MUC 001 LH 00000008 RTM
001 LH 00000008 RTM 001 UA 00000001 HAM
001 UA 00000001 HAM
Serveur d'applications
SELECT * FROM SCOUNTER WHERE
MANDT = '001' AND CARRID = 'LH'
AND COUNTNUM = '00000004'.
SAP AG 1999

n Lors d'une mise en mmoire tampon totale, la table est place intgralement dans cette mmoire ou
pas du tout. Lors de l'accs l'un des enregistrements de la table, tous les enregistrements de cette
table sont chargs dans la mmoire tampon.
n Lorsque vous devez dcider de la mise en mmoire tampon totale d'une table, vous devez tenir
compte de la taille de cette table, du nombre d'accs en mode lecture et en mode criture. Les tables
de petite taille sont soumises un nombre lev d'accs en mode lecture, mais un nombre rduit
d'accs en mode criture, et sont donc les plus adaptes aux mmoires tampon.
n La mise en mmoire tampon totale est galement souhaitable pour les tables qui subissent des accs
frquents des enregistrements inexistants. Dans la mesure o tous les enregistrements de la table
rsident en mmoire tampon, il est possible de dterminer directement si un enregistrement existe
dj ou non dans la mmoire tampon.
n Les enregistrements stocks dans la mmoire tampon sont tris par cl de table. Lorsque vous
utilisez SELECT pour accder aux donnes, vous ne pouvez utiliser que les zones jusqu' la dernire
zone cl spcifie. La partie justifie gauche de la cl doit donc tre aussi grande que possible pour
de tels accs. Exemple : si vous ne dfinissez pas la premire zone-cl, le systme explore la totalit
de la table dans la mmoire tampon. Dans ce cas, il est plus intressant de consulter directement la
base de donnes, condition qu'un index secondaire appropri ait t cr.

(C) SAP AG BC430 3-7


Mise en mmoire tampon gnrique

Table de base de donnes SCOUNTER Contenu de la mmoire tampon


MANDT CARRID COUNTNUM AIRPORT
001 AA 00000001 ACA 001 LH 00000001 BER
001 BA 00000001 ACE 001 LH 00000002 DEN
001 BA 00000002 BER 001 LH 00000003 FRA
001 BA 00000003 LCY 001 LH 00000004 LCY
001 BA 00000004 LHR 001 LH 00000005 LGW
001 LH 00000001 BER 001 LH 00000006 LHR
001 LH 00000002 DEN 001 LH 00000007 MUC
001 LH 00000003 FRA 001 LH 00000008 RTM
001 LH 00000004 LCY
001 LH 00000005 LGW
001 LH 00000006 LHR
001 LH 00000007 MUC
001 LH 00000008 RTM
001 UA 00000001 HAM
Serveur d'applications
SELECT * FROM SCOUNTER WHERE
Cl gnrique MANDT = '001' AND CARRID = 'LH'
AND COUNTNUM = '00000004'.
SAP AG 1999

n Avec la mise en mmoire tampon gnrique, lorsque vous accdez un enregistrement de la table,
tous les enregistrements dont les zones de cl gnrique correspondent l'enregistrement sont
chargs dans la mmoire tampon. La cl gnrique est une section justifie gauche de la cl
primaire de la table, dfinir lors de la slection du type de mise en mmoire tampon. Vous devez
slectionner cette cl de telle sorte que les domaines gnriques ne soient pas trop petits, ce qui se
traduirait par un trop grand nombre de domaines gnriques. La mise en mmoire tampon totale est
gnralement la meilleure solution si une table contient peu d'enregistrements par domaine
gnrique. Si vous slectionnez une cl gnrique de trop grande taille, de nombreuses donnes ne
seront pas valides en cas de modifications apportes aux entres de table, ce qui rduira le niveau de
performances.
n Vous devez effectuer la mise en mmoire tampon d'une table uniquement si certains domaines
gnriques de la table sont rgulirement ncessaires pour le traitement.
n Les tables dpendantes du mandant et totalement places en mmoire tampon font automatiquement
l'objet d'une mise en mmoire tampon gnrique. La zone Mandant est alors la cl gnrique, en
partant de l'hypothse que tous les traitements ne sont pas effectus simultanment pour tous les
mandants sur un serveur d'applications. Ce type de mise en mmoire tampon est conseill pour les
tables dpendantes de la langue galement. La cl gnrique comprend alors toutes les zones cls
jusqu' la zone relative la langue incluse.
n Les domaines gnriques sont grs dans la mmoire tampon comme des objets indpendants. Ils
sont ainsi administrs de la mme faon que les tables entirement mises en mmoire tampon. Vous
devez donc suivre les instructions relatives la mise en mmoire tampon totale.

(C) SAP AG BC430 3-8


Mise en mmoire tampon par enregistrement

Table de base de donnes SCOUNTER Contenu de la mmoire tampon


MANDT CARRID COUNTNUM AIRPORT
001 AA 00000001 ACA 001 LH 00000004 LCY
001 BA 00000001 ACE
001 BA 00000002 BER
001 BA 00000003 LCY
001 BA 00000004 LHR
001 LH 00000001 BER
001 LH 00000002 DEN
001 LH 00000003 FRA
001 LH 00000004 LCY
001 LH 00000005 LGW
001 LH 00000006 LHR
001 LH 00000007 MUC
001 LH 00000008 RTM
001 UA 00000001 HAM
Serveur d'applications
SELECT SINGLE * FROM SCOUNTER WHERE
MANDT = '001' AND CARRID = 'LH' AND
COUNTNUM = '00000004'.
SAP AG 1999

n Seuls les enregistrements qui sont rellement consults sont chargs dans la mmoire tampon. La
mise en mmoire tampon par enregistrement occupe moins d'espace que les mises en mmoire
tampon gnrique et totale. En revanche, la gestion de la mmoire tampon par enregistrement est
plus lourde et le nombre d'accs la base de donnes pour charger les enregistrements est plus
important.
n Nous vous conseillons la mise en mmoire tampon par enregistrement pour les grandes tables dans
lesquelles peu d'enregistrements sont consults par le biais de l'instruction SELECT SINGLE. Tous
les accs la table qui n'utilisent pas l'instruction SELECT SINGLE court-circuitent la mmoire
tampon et accdent directement la base de donnes.
n Si vous accdez un enregistrement qui n'a pas encore t mis en mmoire tampon via SELECT
SINGLE, le systme accde la base de donnes pour charger cet enregistrement. Il est signal
comme inexistant dans la mmoire tampon si la table ne contient pas d'enregistrement pour la cl
indique. Cela vite un accs supplmentaire la base de donnes si vous effectuez un autre accs
avec la mme cl.
n Un seul accs la base de donnes suffit pour charger une table mise en mmoire tampon totale,
mais plusieurs accs sont requis dans le cas d'une mise en mmoire tampon par enregistrement. La
mise en mmoire tampon prsente donc en rgle gnrale plus d'avantages pour les petites tables
faisant l'objet d'accs frquents.

(C) SAP AG BC430 3-9


Synchronisation des mmoires tampon 1

Mmoire tampon Mmoire tampon

TAB

Serveur 2 Serveur 1

SELECT * FROM TAB


WHERE FIELD = 'X'.

11

22
TAB
Table de synchronisation

SAP AG 1999

n tant donn que les mmoires tampon rsident en local sur les serveurs d'applications, ces derniers
doivent tre synchroniss aprs les modifications des donnes des tables en mmoire tampon. Cette
synchronisation s'effectue intervalles rguliers, pouvant tre dfinis dans le profil systme. Le
paramtre correspondant, rdisp/bufreftime, dfinit la dure de l'intervalle en secondes. La valeur doit
se situer entre 60 et 3 600 secondes, et de prfrence entre 60 et 240.
n L'exemple ci-dessous illustre la synchronisation des mmoires tampon locales du systme. Cet
exemple s'appuie sur un systme avec deux serveurs d'applications.
n Situation initiale : aucun des serveurs n'a eu accs aux enregistrements de la table TAB mettre en
mmoire tampon totale. La table n'existe donc pas encore dans leurs mmoires tampon locales.
n tape 1 : le serveur 1 lit les enregistrements de la table TAB dans la base de donnes.
n tape 2 : l'intgralit de la table TAB est charge dans la mmoire tampon locale du serveur 1. Les
accs aux donnes de la table TAB partir de ce serveur recourent prsent la mmoire tampon
locale de ce dernier.

(C) SAP AG BC430 3-10


Synchronisation des mmoires tampon 2

Mmoire tampon Mmoire tampon

TAB TAB

Serveur 2 Serveur 1

SELECT * FROM TAB


WHERE FIELD = 'Y'.

44

33

TAB
Table de synchronisation

SAP AG 1999

n tape 3 : le serveur 2 accde aux enregistrements de la table. Puisque celle-ci n'existe pas encore
dans la mmoire tampon locale de ce serveur, les enregistrements sont lus directement dans la base
de donnes.
n tape 4 : la table TAB est charge dans la mmoire tampon locale du serveur 2, qui utilise lui aussi
sa mmoire tampon locale pour accder aux donnes de la table lors du prochain accs en lecture.

(C) SAP AG BC430 3-11


Synchronisation des mmoires tampon 3

Mmoire tampon Mmoire tampon

TAB 77 TAB

Serveur 2 Serveur 1

DELETE * FROM TAB


WHERE FIELD = 'X'.

66
55
TAB modifie
par Serveur 1

TAB
Table de synchronisation

SAP AG 1999

n tape 5 : le serveur 1 supprime des enregistrements de la table TAB et met jour la base de
donnes.
n tape 6 : le serveur 1 enregistre une entre dans la table de synchronisation.
n tape 7 : le serveur 1 met jour sa mmoire tampon locale.

(C) SAP AG BC430 3-12


Synchronisation des mmoires tampon 4

Mmoire tampon Mmoire tampon

88 TAB TAB

Serveur 2 Serveur 1

SELECT * FROM TAB


WHERE FIELD = 'X'.

TAB modifie
par Serveur 1

TAB
Table de synchronisation

SAP AG 1999

n tape 8 : le serveur 2 tente d'accder aux enregistrements de donnes supprims. La table TAB tant
dj situe dans sa mmoire tampon locale, il y accde via cette mmoire.
n Le serveur 2 trouve donc les enregistrements, bien qu'ils n'existent plus dans la table de base de
donnes.
n Si le mme accs avait eu lieu sur le serveur 1 partir d'un programme d'application, ce programme
aurait dtect que les enregistrements n'existaient plus. ce moment prcis, le comportement d'un
programme d'application dpend donc du serveur qui l'exploite.

(C) SAP AG BC430 3-13


Synchronisation des mmoires tampon 5

Mmoire tampon Mmoire tampon

TAB TAB
10
10
Serveur 2 Serveur 1

Synchronisation

99 99

TAB modifie
par Serveur 1

TAB
Table de synchronisation

SAP AG 1999

n tape 9 : il est maintenant temps d'effectuer la synchronisation. Les deux serveurs contrlent la table
de synchronisation et dtectent si un autre serveur a modifi dans l'intervalle l'une des tables dans sa
mmoire tampon locale.
n tape 10 : le serveur 2 dtecte que la table TAB a t modifie dans l'intervalle par le serveur 1. Il
annule donc cette table dans sa mmoire tampon locale. La prochaine fois, le serveur 2 accdera
donc aux donnes de la table TAB via la base de donnes. Le serveur 1 ne doit pas ncessairement
annuler la table dans sa mmoire tampon, car il est le seul avoir modifi la table TAB. La
prochaine fois, le serveur 1 utilisera donc de nouveau sa mmoire tampon locale pour accder aux
enregistrements de la table TAB.

(C) SAP AG BC430 3-14


Synchronisation des mmoires tampon 6

Mmoire tampon Mmoire tampon

TAB TAB

Serveur 2 Serveur 1

SELECT * FROM TAB


WHERE FIELD = 'Y'.

12
12

11
11

TAB
Table de synchronisation

SAP AG 1999

n tape 11 : le serveur 2 accde de nouveau aux enregistrements de la table TAB. Puisque cette table a
t annule dans sa mmoire tampon locale, cet accs se fait par la base de donnes.
n tape 12 : la table est de nouveau charge dans la mmoire tampon locale du serveur 2. Les
informations sur la table TAB sont redevenues cohrentes dans les deux serveurs et dans la base de
donnes.
n Avantages et inconvnients de cette mthode de synchronisation de mmoire tampon :
Avantage : la charge sur le rseau reste un niveau minimal. Si les mmoires tampon devaient
tre synchronises immdiatement aprs chaque modification, chaque serveur devrait informer
tous les autres serveurs rseau de chaque modification d'une table en mmoire tampon. Cela aurait
un impact ngatif sur les performances.
Inconvnient : les mmoires tampon locales des serveurs d'applications peuvent contenir des
donnes primes entre les synchronisations.
n Cela signifie que :
seules les tables sur lesquelles les accs en mode criture sont trs rares (accs surtout en lecture)
ou celles pour lesquelles les incohrences temporaires ne revtent aucune importance peuvent tre
mises en mmoire tampon ;
les tables dont les entres changent frquemment ne doivent pas tre mises en mmoire tampon.
En effet, l'annulation et le rechargement constants nuisent galement aux performances.

(C) SAP AG BC430 3-15


Rsum du chapitre

l Un index acclre le processus d'accs une table en


mode lecture. Cet index peut tre considr comme une
copie trie de la table, rduite aux zones d'index
l Les mmoires tampon des tables rsident en local sur
les serveurs d'applications
l La mise en mmoire tampon peut considrablement
amliorer les performances lors de la consultation des
enregistrements d'une table. Le choix du type de mise
en mmoire tampon correct est important
l Les mmoires tampon des tables sont corriges
intervalles rguliers en fonction des modifications
apportes aux entres des tables
l La mise en mmoire tampon d'une table est d'autant
plus approprie que les accs en lecture cette table
sont frquents et les modifications de son contenu,
rares
SAP AG 1999

(C) SAP AG BC430 3-16


Exercices : performances lors de l'accs aux tables

Chapitre : performances lors de l'accs aux tables

la fin de ces exercices, vous serez en mesure :


de crer des index ;
de grer les attributs de mise en mmoire tampon d'une table.

Au quotidien, les salaris de la compagnie arienne doivent tre


en mesure d'accder rapidement aux donnes des tables
d'administration des salaris. Cet exercice doit leur permettre de
raliser ces accs rapides.

3-1 La combinaison du prnom et du nom est souvent utilise pour accder aux
donnes d'un salari. Le nom de famille est en rgle gnrale plus connu (
savoir spcifi dans l'accs) que le prnom.
Crez un index supportant cet accs. Assurez-vous que vous le crez dans
la base de donnes.
3-2 Pour prparer un quipage, vous devez affecter des salaris (pilotes et
stewards) des vols. Crez une table rpertoriant les salaris concerns et
leurs fonctions pour chaque vol.
Une table avec la structure correspondante existe dj dans le systme.
Copiez cette table SFLCREW dans la table ZFLCREWxx. Remplacez
l'lment de donnes existant relatif au matricule de salari par le vtre.
N'oubliez pas d'activer la table ZFLCREWxx.
3-3 Rflchissez nouveau aux options dfinies pour les tables de mise en
mmoire tampon ZDEPMENTxx et ZFLCREWxx. Gardez l'esprit les
informations suivantes, afin de les utiliser pour les tables :
Les compagnies ariennes disposent de 10 30 services. Seuls
quelques-unes (maximum 3) sont gres dans les tables. Les donnes
relatives aux quipages de vols finaliss sont archives tous les trois mois.
La table ZFLCREWxx comporte donc relativement peu d'entres (5 000
maximum par compagnie arienne).
Les tables ZDEPMENTxx et ZFLCREWxx sont trs frquemment
consultes et leurs enregistrements de donnes sont lus de faon rpte.
Les salaris administratifs d'une seule compagnie arienne travaillent sur
un serveur d'applications. Les donnes relatives l'quipage prsentent un
intrt uniquement pour la compagnie arienne laquelle ils appartiennent.
Cependant, les salaris administratifs d'une compagnie arienne ont
(C) SAP AG BC430 3-17
souvent accs aux donnes des services d'autres compagnies puisque
certains services sont partags par toutes.

Lancez le programme BC430_CHECK dans la


transaction SE38. Ce programme vrifie si vos solutions sont
correctes, puis renseigne la nouvelle table ZFLCREW l'aide
des donnes chantillon ncessaires aux exercices ultrieurs.
Si vous effectuez l'exercice supplmentaire, lancez le
programme uniquement aprs avoir termin cet exercice.
3-4 Exercice supplmentaire : l'utilisation d'un index sur les domaines peut
entraner une amlioration des performances lors de l'accs aux donnes
des salaris, par exemple si tous les pilotes sont souvent slectionns.
Quant aux mesures des performances effectues sur les diffrents
systmes de bases de donnes, il s'est avr que seuls ADABAS et SQL
Server bnficient d'une amlioration des performances. Crez un index et
assurez-vous qu'il est cr uniquement pour ces deux systmes de base de
donnes.

(C) SAP AG BC430 3-18


Solutions : performances lors de l'accs aux tables

Chapitre : performances lors de l'accs aux tables

3-1 Les donnes des salaris sont gres dans la table ZEMPLOYxx. Crez un
index pour cette table. Il doit contenir les zones Mandant, Nom et Prnom.
Puisque le nom de famille est gnralement spcifi et permet une
meilleure slection qu'avec le prnom, il doit figurer dans l'index. L'ordre
des zones est alors Mandant, Nom, puis Prnom.
Pour crer l'index :
1) En mode d'affichage, affichez l'cran de gestion de la table
ZEMPLOYxx, puis slectionnez Index.
2) Dans la bote de dialogue affiche, confirmez la cration d'un index.
3) Dans la bote de dialogue suivante, saisissez un code d'indexation
trois caractres, puis cliquez sur Suite.
4) L'cran de gestion de l'index apparat. Saisissez une description
synthtique.
5) Slectionnez Zones de table. La liste de toutes les zones de la table
apparat. Marquez les zones Mandant, Nom et Prnom, puis cliquez
sur Copier.
6) Les zones sont copies de la bote de dialogue vers l'index dans cet
ordre. Si la zone Prnom se situe avant la zone Nom, vous devez
modifier cet ordre. Pour ce faire, placez le curseur sur la ligne de la
zone Prnom, puis slectionnez Couper. Placez ensuite le curseur
sur la premire ligne vierge situe aprs la zone Nom, puis
slectionnez Coller.
7) L'index n'est probablement pas unique puisque des salaris peuvent
porter les mmes noms et prnoms. Rien ne justifie la cration d'un
index uniquement dans certains systmes de base de donnes. Par
consquent, il est conseill de conserver les options standard Index
non-unique et Index pour tous systmes de BD.
8) Activez l'index. Il est automatiquement cr dans la base de
donnes.
3-2 Pour copier la table SFLCREW :
1) Dans l'cran initial du dictionnaire ABAP, saisissez SFLCREW dans
la zone Table de BD. Slectionnez Copier.
2) Dans la bote de dialogue suivante, saisissez le nom ZFLCREWxx
dans la zone vers table, puis cliquez sur Suite.
3) En mode de modification, accdez l'cran de gestion de la table,
puis remplacez l'lment de donnes SEMP_NUM par celui cr
pour le matricule.
4) Activez la table.
(C) SAP AG BC430 3-19
3-3 Vous pouvez grer les options de mise en mmoire tampon pour les tables
spcifies dans leurs options techniques. Pour ce faire, accdez l'cran
de gestion de la table en mode d'affichage, puis slectionnez Options
techniques. L'cran souhait apparat. Vous pouvez alors passer en mode
de modification.
Dans la mesure o le contenu de la table ZDEPMENTxx est rarement
modifi mais frquemment lu, il est recommand de ne pas mettre cette
table en mmoire tampon. Marquez Buffrisation active. Puisque l'accs
la table n'est restreint en aucune manire et que cette table est de petite
taille, slectionnez la mise en mmoire tampon complte. Marquez
Totalement buffris.
Activez les options techniques de la table ZDEPMENTxx.
Les donnes de la table ZFLCREWxx sont lues frquemment. Les accs
entranant une modification du contenu sont rares. Il est donc conseill de
mettre la table en mmoire tampon. Marquez Buffrisation active. En rgle
gnrale, seules les donnes d'une compagnie arienne sont ncessaires
sur un serveur d'applications. Mettez en mmoire tampon la table de
manire gnrique avec la cl Mandant et Cie arienne. Marquez
Buffrisation gnrique, puis slectionnez 2 pour le nombre de zones-cls
gnriques.
Activez les options techniques de la table ZFLCREWxx.
3-4 Si vous suivez les instructions du paragraphe 3.1, le systme affiche l'index
cr dans la bote de dialogue. Slectionnez Crer dans cette bote de
dialogue. Intgrez les zones Mandant, Cie arienne et Domaine dans
l'index. Il ne s'agit pas non plus d'un index unique.
Pour crer l'index uniquement dans les systmes de bases de donnes
Adabas et SQL Server :
1) Marquez Pour les systmes de base de donns slectionns.
2) Cliquez ensuite sur le symbole reprsentant une flche dans cette
ligne. Marquez Liste de slection. l'aide de la touche de fonction
d'aide F4, slectionnez dans la liste les identificateurs des systmes
de bases de donnes Adabas (ADA) et SQL Server (MSS).
3) Cliquez sur Suite.
4) Activez l'index.
L'index est cr dans la base de donnes uniquement si votre systme de
formation fonctionne sur l'un des systmes de base de donnes
slectionns.

(C) SAP AG BC430 3-20


Cohrence au cours des contrles de saisie

l Constantes

l Table des valeurs

l Qu'est-ce qu'une cl externe ?

l Affectation de zones l'aide de la zone de


contrle
l Table des cls externes/Table de contrle

l Attributs smantiques de la cl externe

l Table de texte

SAP AG 1999

(C) SAP AG BC430 4-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l De crer et d'utiliser des constantes

l De dfinir une cl externe

l D'appliquer les conditions relatives l'affectation de


zones de la cl externe
l De diffrencier la table des valeurs et la table de contrle

l De crer une cl externe

SAP AG 1999

(C) SAP AG BC430 4-2


Constantes

Entre Table Traiter Saut Options Environnement Systme Aide

Insrer
Insrer table SBOOK
Rinitialiser Table de contrle

Classe de vol

Classe Description synthtique

SAP AG 1999

n Le domaine dcrit la plage de valeurs d'une zone en spcifiant le type de donnes et la longueur de la
zone. Si seul un groupe limit de valeurs est autoris, les valeurs peuvent tre dfinies comme des
constantes.
n Si vous indiquez des constantes, elles limitent la plage de valeurs du domaine. Les constantes sont
immdiatement utilises comme valeurs de contrle dans les saisies l'cran. Vous pouvez
galement vous servir de la touche d'aide F4.
n Le contrle des constantes a lieu uniquement dans les crans. Aucun contrle n'est effectu lorsque
les enregistrements de donnes sont insrs dans une table par un programme ABAP.
n Les constantes peuvent tre rpertories individuellement ou dfinies sous forme d'intervalle.

(C) SAP AG BC430 4-3


Table des valeurs

Cration d'une cl externe

Cl externe inexistante.

xxxx une proposition avec la table des valeurs SCARR


comme table de contrle ?

Oui Non Interrompre

Table SCARR
MANDT CARRID CARRNAME CURRCODE
401 AA American Airlines USD
401 BA British Airways GBP
401 Lufthansa DEM
410 LH
UA United Airlines USD

DOMAIN S_CARR_ID
Table des valeurs SCARR
SAP AG 1999

n La plage de valeurs d'une zone peut galement tre dfinie en spcifiant une table des valeurs dans le
domaine.
n Toutefois, contrairement aux constantes, la spcification d'une table des valeurs n'entrane pas le
contrle des saisies et aucune aide F4 n'est disponible.
n Si vous indiquez une table de valeurs, le systme peut proposer une dfinition de cl externe.
n Une table des valeurs sert de table de contrle seulement prs la dfinition d'une cl externe.
Si vous faites rfrence un domaine avec une table de valeurs dans une zone, sans qu'aucune cl
externe ne soit dfinie au niveau de la zone, le systme n'effectue aucun contrle.

(C) SAP AG BC430 4-4


Insertion d'un enregistrement de donnes

Table de base de donnes Entres dans les zones de la


SCOUNTER table SBOOK
(Comptoir des ventes) (Rservation de vols) :
MANDT CARRID COUNTNUM AIRPORT
001 AA 00000001 ACA CARRID (Cie arienne) AA
001 BA 00000001 ACE CONNID (Correspondance) 0017
001 BA 00000002 BER
001 BA 00000003 LCY FLDATE (Date du vol) 25.07.2000
001 BA 00000004 LHR
CUSTOMID (Client) 00000148
001 LH 00000001 BER
001 LH 00000002 DEN COUNTER (Comptoir des 00000008
001 LH 00000003 FRA ventes)
001 LH 00000004 LCY
001 LH 00000005 LGW
001 LH 00000006 LHR
001 LH 00000007 MUC
001 LH 00000008 RTM La rservation de ce vol
001 UA 00000001 HAM peut-elle tre effectue au
comptoir des ventes n8 ?
SAP AG 1999

n Un client souhaite effectuer une rservation sur un vol American Airlines (AA). Ce vol, dont le
numro est 0017, est prvu pour le 22 novembre 1997. Les rservations doivent tre effectues
auprs du comptoir des ventes 8.
n La table SBOOK contient l'ensemble des rservations de vol de toutes les compagnies.
n La table SCOUNTER contient l'ensemble des comptoirs des ventes corrects de toutes les
compagnies.
n Si une entre est effectue dans la zone COUNTER de la table SBOOK, assurez-vous que seuls les
comptoirs corrects puissent tre saisis. En d'autres termes, les comptoirs doivent tre stocks dans la
table SCOUNTER.
n Question : tes-vous autoris insrer l'enregistrement de donnes ci-dessus dans la table SBOOK ?

(C) SAP AG BC430 4-5


Violation du contrle de cls externes

Table de base de donnes Entres dans les zones de la


SCOUNTER table SBOOK :

MANDT CARRID COUNTNUM AIRPORT CARRID (Cie arienne) AA


001 AA 00000001 ACA
001 BA 00000001 ACE CONNID (Correspondance) 0017
001 BA 00000002 BER FLDATE (Date du vol) 25.07.2000
001 BA 00000003 LCY
001 BA 00000004 LHR CUSTOMID (Client) 00000148
001 LH 00000001 BER
COUNTER (Comptoir des 000000008
001 LH 00000002 DEN
ventes)
001 LH 00000003 FRA
001 LH 00000004 LCY
001 LH 00000005 LGW Insertion interdite !
001 LH 00000006 LHR
001 LH 00000007 MUC Effet de la dfinition
dfinition de cl
cl externe :
001 LH 00000008 RTM la table SCOUNTER ne contient
001 UA 00000001 HAM aucun enregistrement de donnes
donnes
avec le contenu : MANDT = '001',
CARRID = 'AA', COUNTNUM =
SAP AG 1999
'000000008'.

n Aucune rservation ne peut avoir lieu sur le vol, car American Airlines (AA) ne dispose pas de
comptoir des ventes n8.
n Aucun enregistrement n'est slectionn dans la table SCOUNTER pour les saisies de l'exemple. La
saisie pour la table SBOOK est rejete.
n Dans le dictionnaire ABAP, des relations de ce type entre deux tables sont appeles cls externes et
doivent tre dfinies de manire explicite dans les zones.
n Les cls externes servent assurer la cohrence des donnes. Pour contrler la cohrence des
donnes saisies, celles-ci sont compares aux donnes existantes.

(C) SAP AG BC430 4-6


Zones de cl externe/zones de contrle

Zones de cl externe

Table des cls externes SBOOK

MANDT CARRID CONNID FLDATE CUSTOMID ... COUNTER ... CANCELED

Zone de
contrle
Table de contrle SCOUNTER

MANDT CARRID COUNTNUM AIRPORT

Zones-cls

SAP AG 1999

n EXEMPLE :
Dans l'exemple de la diapositive, la table des cls externes est SBOOK. Le rle de la cl externe
consiste s'assurer que seuls les comptoirs corrects des compagnies peuvent tre affects une
rservation. La table de contrle SCOUNTER contient ces informations exactes. Chaque comptoir
est identifi par trois zones-cls de cette table : MANDT, CARRID et COUNTNUM.
n Pour dfinir la cl externe, ces trois zones sont affectes des zones de la table des cls externes
(zones de cl externe) avec laquelle la saisie contrler est effectue l'cran. Dans la table
SBOOK, ces zones sont : MANDT, CARRID et COUNTER. La saisie est accepte si elle
correspond un comptoir correct. Sinon, le systme la rejette.
n La cl externe est dfinie pour la zone SBOOK-COUNTER (zone de contrle). Autrement dit, la
saisie de cette zone est contrle. La zone COUNTER est donc la zone de contrle pour cette cl
externe.
Une cl externe est dfinie pour la zone COUNTER de la table SBOOK. Cela aboutit aux
affectations de zone suivantes :
Table des cls externes Table de contrle SCOUNTER-MANDT
SBOOK-MANDT
SCOUNTER-CARRID SBOOK-CARRID
SCOUNTER-COUNTNUM SBOOK-COUNTER

(C) SAP AG BC430 4-7


Cohrence des donnes via les cls externes

SCARR : table de contrle = obj. de rf. SPFLI : table des cls externes = obj. de dp.
MANDT CARRID ... MANDT CARRID CONNID ...
800 AA 800 AA 0017
800 AC 800 AA 0064
800 AF 800 Rome 0555
800 Rome 800 Rome 0788

SPFLI-MANDT SPFLI-CARRID
Zones de cl externe

Gestion dtaille

Cie arienne AB STOP Zone de contrle

N de vol 0020

SAP AG 1999

n La combinaison de zones d'une table peut tre identifie comme une cl externe, si elle constitue la
cl primaire d'une autre table.
n Une cl externe relie deux tables.
n La table de contrle correspond la table dont les zones sont contrles. Elle porte galement le nom
de table de rfrence.
n Une saisie doit tre crite dans la table des cls externes. Elle doit tre cohrente avec les zones-cls
de la table de contrle.
n La zone de la table de cls externes contrler s'appelle zone de contrle.
n Les cls externes peuvent tre utilises uniquement dans les crans. Les enregistrements de donnes
peuvent tre crits dans la table sans avoir t contrls pralablement l'aide d'un programme
ABAP.
n Exemple : une saisie doit tre crite dans la table SPFLI (programme des vols). Un contrle vrifie
si la compagnie arienne est stocke dans la table SCARR (compagnie arienne) pour la zone
SPFLI-CARRID. L'enregistrement est alors copi uniquement dans la table SPFLI (table des cls
externes). Une cl externe est dfinie pour la zone SPFLI-CARRID (zone de contrle), qui va donc
tre contrle. La table de contrle correspondante est SCOUNTER avec les zones de cl primaire
MANDT et CARRID.

(C) SAP AG BC430 4-8


Dfinitions de cl externe dans la zone de contrle

Relation de cl externe avec la zone de contrle Aroport de dpart

avec la table de contrle : SAIRPORT

Table SAIRPORT Table SPFLI


Aroport
MANDT Aroport ...... MANDT de ...
dpart

Zones-cls

lments
lments de donnes
donnes S_AIRPORT lments
lments de donnes
donnes S_FROMAIRP

Domaine S_AIRPID
Table des valeurs SAIRPORT

SAP AG 1999

n Dans le dictionnaire ABAP, le mme domaine est requis pour la zone de contrle et la zone-cl de
rfrence dans la table de contrle, afin d'viter de comparer des zones dont le type de donnes et les
longueurs sont diffrents. Il est essentiel que le domaine soit commun. Il est possible d'utiliser
diffrents lments de donnes, mais ils doivent tous faire rfrence au mme domaine.
n La ncessit d'un domaine commun ne s'applique qu' la zone de contrle. Pour toutes les autres
zones de cl externe, il suffit que le type de donnes et la longueur de zone soient gaux. Vous devez
nanmoins essayer de faire en sorte que le domaine soit le mme. Dans ce cas, si la longueur de zone
change, la cl externe reste cohrente, parce que les zones correspondantes sont galement
modifies. Lorsque les domaines sont diffrents, la cl externe devient incohrente lorsque vous
modifiez, par exemple, la longueur de zone.
n Si le domaine de la zone de contrle comporte une table des valeurs, vous pouvez faire en sorte que
le systme propose cette table en tant que table de contrle. Une proposition est alors cre pour
l'affectation de zone dans la cl externe.
n AVERTISSEMENT
La combinaison dans laquelle un domaine possdant lui-mme SAIRPORT comme table des
valeurs aprs la zone SAIRPORT-Aroport est correcte ! Toutefois, il n'existe jamais de cl
externe dfinie pour cette zone (ce qui vite une boucle).

(C) SAP AG BC430 4-9


Table de contrle diffrente de la table des valeurs

Table des cls externes SBOOK

MANDT CARRID ... AGENCYNUM ... CANCELED

Table STRAVELAG

MANDT AGENCYNUM ...

Table SBUSPART

MANDT BUSPARTNUM ...

Domaine S_BUSPARNUM
Table des valeurs SBUSPART
SAP AG 1999

n Dans l'exemple ci-dessus relatif la dfinition de cl externe pour la zone SBOOK-AGENCYNUM,


la proposition du systme, base sur la table des valeurs dans le domaine, est la suivante :
Table de contrle : SBUSPART
Affectation de zone :
Table de contrle Table des cls externes
SBUSPART-MANDT SBOOK-MANDT
SBUSPART-BUSPARTNUM SBOOK-AGENCYNUM
n Cette proposition ne rpond pas aux attentes :
La table SBUSPART contient tous les partenaires commerciaux des compagnies ariennes, mais
seules les agences de voyages sont autorises dans la zone SBOOK-AGENCYNUM. Par
consquent, la table SBUSPART contient des donnes incorrectes pour cette zone. La proposition du
systme est donc incorrecte. La table de contrle correcte est STRAVELAG. Elle constitue un sous-
ensemble de la table SBUSPART en raison de sa dfinition de cl externe dans la zone
AGENCYNUM.
Vous devez remplacer la proposition du systme par la table STRAVELAG. Si vous ignorez
quelle est la table de contrle correcte, le systme vous aide en affichant la liste de toutes les
tables en question. Cette liste inclut toutes les tables ayant une zone-cl pour le domaine S_
BUSPARNUM.

(C) SAP AG BC430 4-10


Attributs smantiques

Cardinalit
C F C F

1:1 1:N

C F C F

1:C 1:CN

SAP AG 1999

n La cardinalit d'une relation de cl externe indique le nombre d'enregistrements de la table de


contrle affects des enregistrements de la table des cls externes. Elle est toujours dfinie du point
de vue de la table de contrle.
n Le type de la zone de cl externe indique si cette zone identifie ou non une entre de table. En
d'autres termes, les zones de cl externe peuvent tre des zones-cls ou constituer des cas spciaux,
savoir des zones-cls d'une table de texte.
n Les zones de cl externe sont de plusieurs types :
Non spcifi : aucune information n'est fournie sur le type de cl externe.
Aucune zone/candidate-cl : les zones de cl externe ne reprsentent pas des zones-cls primaires
de la table des cls externes et n'identifient pas de manire unique un enregistrement de table de
cls externes (candidates-cls). Les zones de cl externe n'identifient donc pas l'intgralit de la
table des cls externes.
Zone/candidate-cl : les zones de cl externe reprsentent des zones-cls primaires de la table des
cls externes ou identifient de manire unique un enregistrement de table de cls externes
(candidates-cls). Les zones de cl externe identifient donc une partie de la table des cls externes.
Zones-cls d'une table de texte : la table des cls externes reprsente la table de texte d'une table
de contrle. La cl de table de cls externes diffre uniquement de celle de la table de contrle
dans une zone de code langue supplmentaire. Il s'agit l d'un cas spcial de la catgorie
Zones/candidates-cls.

(C) SAP AG BC430 4-11


Table de texte

Relation de cl externe avec la table de contrle SMEAL


Type de zones de cl externe : zones-cls d'une table de texte

Table SMEAL Table de texte SMEALT

MANDT CARRID MEAL- MEAL- MANDT CARRID MEAL- LANGUAGE TEXT


NUMBER TYPE NUMBER

Zones-cls Zones-cls

SAP AG 1999

n La table SMEAL contient les repas servis aux passagers sur un vol. Les noms des repas sont grs
dans la table SMEALT.
n Cette table est une table de texte pour la table SMEAL, car la cl de SMEALT est constitue de la
cl de SMEAL et d'une zone de code langue supplmentaire (zone avec le type de donnes LANG).
n La table SMEALT peut contenir un texte explicatif en plusieurs langues pour chaque entre de cl de
SMEAL.
n Pour lier les entres de cl au texte, vous devez lier la table de texte SMEALT la table SMEAL
l'aide d'une cl externe. Les zones-cls d'une table de texte doivent tre slectionnes pour le type des
zones de cl externe.
n La relation de cl externe est dfinie partir de SMEALT vers SMEAL.
n Une seule table de texte peut tre cre pour une table.

(C) SAP AG BC430 4-12


Rsum

l Ce chapitre vous a prsent deux manires de


contrler la cohrence des donnes :
n Constantes (mode statique)
n Cls externes (mode dynamique)
l Les constantes sont stockes dans le domaine
l La cl externe permet de comparer les valeurs saisies
et les donnes existantes
l La relation de cl externe est gre pour la zone de
contrle (zone de la table des cls externes)
l La zone de contrle doit tre affecte une zone-cl de
table de contrle disposant du mme domaine

SAP AG 1999

(C) SAP AG BC430 4-13


Exercices : cohrence au cours des contrles de saisie

Chapitre : cohrence au cours des contrles de


saisie

la fin de ces exercices, vous serez en mesure :


de crer des constantes ;
de dfinir des tables sur le contexte correct ;
de dfinir des cls externes ;
d'utiliser le mcanisme dcrit ci-dessus pour vous assurer de la
cohrence des donnes.

Lorsque vous saisissez ou modifiez les donnes de base d'un


salari, seules les donnes cohrentes, savoir les compagnies
ariennes correctes, les services, les domaines, etc., doivent tre
autorises. Le prochain exercice traite cet aspect.

4-1 Les salaris des compagnies ariennes sont diviss en personnel


d'administration (A), en personnel navigant (N) et en personnel de service (S).
Ils sont affects aux domaines d'activit A, N ou S correspondants.
Assurez-vous que seuls les domaines d'activit valables peuvent tre saisis
dans la table ZEMPLOYxx.
4-2 Dfinissez des cls externes correctes pour les tables ZEMPLOYxx et
ZDEPMENTxx. Pour dfinir les cls externes, utilisez les tables du modle de
vol ou les tables T000 (mandant) et SCURX (code de devise), ainsi que vos
propres tables. Paramtrez un contrle de cl externe pour chacune des
zones suivantes :
ZEMPLOYxx-Mandant
ZEMPLOYxx-Compagnie arienne
ZEMPLOYxx-Code de service
ZEMPLOYxx-Devise
et
ZDEPMENTxx-Mandant
ZDEPMENTxx-Compagnie arienne
Grez les donnes de la table ZEMPLOYxx, puis testez l'impact des relations
de votre cl externe.
4-3 Certains des salaris de compagnies ariennes travaillent dans des agences
de voyages, o ils assurent la vente des billets d'avion pour le compte de leur

(C) SAP AG BC430 4-14


socit. Dveloppez la table ZEMPLOYxx avec une zone contenant, pour
chaque salari, l'agence de voyage pour laquelle il travaille.
Dveloppez la table ZEMPLOYxx en consquence, puis dfinissez la relation
de cl externe.

La table de l'ensemble des agences de voyages est appele


STRAVELAG.

4-4 Pour expliquer le code de service de l'ensemble des salaris des compagnies
ariennes de tous les pays, crez une table de texte ZDEPMENTTxx pour la
table ZDEPMENTxx.
Crez la table correspondante et utilisez les lments de donnes SPRAS et
S_TEXT pour la dfinition des zones.
Dfinissez les relations de cl externe requises.

Lancez le programme BC430_CHECK dans la


transaction SE38. Ce programme vrifie si vos solutions sont
correctes, puis renseigne la nouvelle table ZDEPMENTTxx
l'aide des donnes chantillon ncessaires aux exercices
ultrieurs.

(C) SAP AG BC430 4-15


Solutions : cohrence au cours des contrles de saisie

Chapitre : cohrence au cours des contrles de


saisie

4-1 Appelez l'cran de gestion de domaine pour la zone ZEMPLOYxx-Domaine.


Pour ce faire, naviguez de l'cran de gestion de la table vers l'lment de
donnes correspondant, puis de cet lment vers le domaine (en cliquant
deux fois). Cliquez sur la page onglets Plage de valeurs, puis saisissez
les constantes suivantes :

Constante Description synthtique


A Personnel d'administration
N Personnel navigant
S Personnel de service

Activez votre domaine.


4-2 Pour grer chaque cl externe, appelez le programme de gestion des tables
en question. Cliquez sur la page onglets Zones.
Pour crer la cl externe ZEMPLOYxx-Mandant :
1) Placez le curseur sur la zone ZEMPLOYxx-Mandant. Cliquez sur Cl
externe ou slectionnez Saut Cl externe.
2) Comme vous utilisez le domaine MANDT pour la zone
ZEMPLOY-Mandant, le systme propose la table des valeurs T000
en tant que table de contrle.
3) Le systme propose une dfinition pour la cl externe. Contrlez
cette proposition. Les zones suivantes doivent tre affectes :
Table de CkTabFld Table des cls Zone de cl
contrle externes externe
T000 MANDT ZEMPLOYxx Mandant

4) Saisissez une dsignation, puis dfinissez les attributs smantiques


comme suit :
Type de zones de cls externes : zones/candidates-cls
Cardinalit : 1:CN
5) Sauvegardez votre cl externe.
Pour crer la cl externe ZEMPLOYxx-CIE_ARIENNE :
1) Placez le curseur sur la zone ZEMPLOYxx-CIE_ARIENNE. Cliquez
sur Cl externe ou slectionnez Saut Cl externe.

(C) SAP AG BC430 4-16


2) Comme vous utilisez le domaine S_CARR_ID pour la zone
ZEMPLOY-CIE_ARIENNE, vous pouvez recourir la table des
valeurs SCARR pour la dfinition de la cl externe.
3) Le systme propose une dfinition pour la cl externe. Contrlez
cette proposition. Les zones suivantes doivent tre affectes :

Table de ChkTablFld Table des cls Zone de cl


contrle externes externe
SCARR MANDT ZEMPLOYxx Mandant
SCARR CARRID ZEMPLOYxx Cie arienne

4) Saisissez une dsignation, puis dfinissez les attributs smantiques


comme suit :
Type de zones de cls externes : zones/candidates-cls
Cardinalit : 1:CN
5) Sauvegardez votre cl externe.
Pour crer la cl externe ZEMPLOYxx-Service :
1) Pour obtenir une proposition de dfinition de cl externe, vous devez
modifier le domaine de la zone ZEMPLOYxx-Code de service. Cela
n'est pas absolument indispensable pour les dfinitions de cls
externes ultrieures, mais cela facilite les choses. Saisissez la table
des valeurs ZDEPMENTxx dans le domaine correspondant cette
zone, puis activez le domaine.
2) Placez le curseur sur la zone ZEMPLOYxx-Code de service. Cliquez
sur Cl externe ou slectionnez Saut Cl externe.
3) Comme vous utilisez le domaine de zone ZDEPMENTxx-Code de
service pour la zone correspondante, vous pouvez recourir la table
des valeurs ZDEPMENTxx pour la dfinition de la cl externe.
4) Le systme propose une dfinition pour la cl externe. Contrlez
cette proposition. Les zones suivantes doivent tre affectes :

Table de ChkTablFld Table des cls Zone de cl


contrle externes externe
ZDEPMENTxx Mandant ZEMPLOYxx Mandant
ZDEPMENTxx Cie arienne ZEMPLOYxx Cie arienne
ZDEPMENTxx Code de service ZEMPLOYxx Code de service

5) Saisissez une dsignation, puis dfinissez les attributs smantiques


comme suit :
Type de zones de cls externes : aucune zone/candidate-cl
Cardinalit : 1:CN
6) Sauvegardez votre cl externe.
Pour crer la cl externe ZEMPLOYxx-Devise :

(C) SAP AG BC430 4-17


1) Placez le curseur sur la zone ZEMPLOYxx-Devise. Cliquez sur Cl
externe ou slectionnez Saut Cl externe.
2) Comme vous utilisez le domaine S_CURR pour la zone
ZEMPLOYxx-Devise, vous pouvez recourir la table des valeurs
SCURX pour la dfinition de la cl externe.
3) Le systme propose une dfinition pour la cl externe. Contrlez
cette proposition. Les zones suivantes doivent tre affectes :

Table de ChkTablFld Table des cls Zone de cl


contrle externes externe
SCURX CURRKEY ZEMPLOYxx Devise

4) Saisissez une dsignation, puis dfinissez les attributs smantiques


comme suit :
Type de zones de cls externes : aucune zone/candidate-cl
Cardinalit : 1:CN
5) Sauvegardez votre cl externe.
Pour crer la cl externe ZDEPMENTxx-Mandant :
Rfrez-vous la cl externe ZEMPLOYxx-Mandant.
Pour crer la cl externe ZDEPMENTxx-CIE_ARIENNE :
Rfrez-vous la cl externe ZEMPLOYxx-CIE_ARIENNE.

Dans l'cran de gestion de la table ZEMPLOYxx, slectionnez Utilitaires


Contenu de table Crer entres.
Saisissez des donnes, puis vrifiez que votre cl externe fonctionne
correctement l'aide de la touche d'aide F4.

4-3 Pour crer une nouvelle zone Agence dans votre table ZEMPLOYxx,
procdez comme suit :
1) Accdez l'cran de gestion de zone pour la table ZEMPLOYxx.
Insrez une nouvelle zone Agence dans la liste des zones (Cliquez
sur Nouvelles lignes). Dans l'cran de gestion de la table
STRAVELAG, vous remarquez que l'lment de donnes correct est
nomm S_AGNCYNUM. Affectez cet lment de donnes votre
nouvelle zone ZEMPLOYxx-Agence.
2) Placez le curseur sur la zone Agence, puis attendez que le systme
propose une dfinition de cl externe.
3) Contrlez cette proposition. La table de contrle est SBUSPART.
Elle est incorrecte, car elle contient l'ensemble des partenaires
commerciaux des compagnies ariennes, et non pas uniquement les
agences.

(C) SAP AG BC430 4-18


4) La table de contrle correcte est STRAVELAG, qui contient les
agences avec lesquelles les compagnies ariennes travaillent.
5) Vous pouvez apporter davantage d'informations en vous rfrant la
dfinition de la table STRAVELAG au cours d'une seconde session.
La zone AGENCYNUM dispose d'une cl externe avec la table de
contrle SBUSPART. La table STRAVELAG est donc un
sous-ensemble de la table SBUSPART.
Dans la dfinition de la cl externe pour ZEMPLOYxx-Agence,
crasez l'entre SBUSBART dans la zone de saisie Table de
contrle avec STRAVELAG.
6) Cliquez sur Copier. Le systme reconnat la modification apporte
la table de contrle, puis offre de crer une proposition. Acceptez
l'offre, puis contrlez la proposition. Les zones suivantes doivent tre
affectes :
Table de ChkTablFld Table des cls Zone de cl
contrle externes externe
STRAVELAG MANDT ZEMPLOYxx Mandant
STRAVELAG AGENCYNUM ZEMPLOYxx Agence

7) Saisissez une description synthtique. Saisissez la cardinalit 1:CN,


puis marquez les zones de cl externe comme n'tant pas des
zones/candidates-cls. Slectionnez Copier.
8) Activez la table.
9) Dans l'cran de gestion de la table ZEMPLOYxx, slectionnez
Utilitaires Contenu de table Crer entres.
Vrifiez votre cl externe l'aide de la touche d'aide F4.

4-4 Pour crer votre table de texte ZDEPMENTTxx, procdez comme suit :
1) Copiez la table ZDEPMENTxx vers la table ZDEPMENTTxx.
2) Accdez l'cran de gestion de zone pour la table ZDEPMENTTxx.
Supprimez l'ensemble des zones n'tant pas des zones-cls. Crez
les nouvelles zones suivantes :

Nom de zone lment de Type de donnes,


donnes longueur
Langue SPRAS LANG
Description S_TEXT CHAR40

La zone ZDEPMENTxx-Langue doit constituer une zone-cl.


3) Les cls externes des zones ZDEPMENTTxx-Mandant et
ZDEPMENTTxx-CIE_ARIENNE ont dj t correctement dfinies

(C) SAP AG BC430 4-19


par copie. Il vous reste dfinir les cls externes des zones
ZDEPMENTTxx-Code de service et ZDEPMENTTxx-Langue.
4) Placez le curseur sur la zone ZDEPMENTTxx-Code de service.
Cliquez sur Cl externe ou slectionnez Saut Cl externe.
5) Comme vous utilisez le domaine de zone ZDEPMENTxx-Code de
service pour la zone correspondante, vous pouvez recourir la table
des valeurs ZDEPMENTxx pour la dfinition de la cl externe.
6) Le systme propose une dfinition pour la cl externe. Contrlez
cette proposition. Les zones suivantes doivent tre affectes :

Table de ChkTablFld Table des cls Zone de cl


contrle externes externe
ZDEPMENTxx Mandant ZDEPMENTTxx Mandant
ZDEPMENTxx Cie arienne ZDEPMENTTxx Cie arienne
ZDEPMENTxx Code de service ZDEPMENTTxx Code de service

7) Saisissez une dsignation, puis dfinissez les attributs smantiques


en procdant comme suit :
Type de zones de cl externe : zones-cls d'une table de texte.
Cardinalit : 1:CN
8) Sauvegardez vos cls externes.
9) Placez le curseur sur la zone ZDEPMENTTxx-Langue. Cliquez sur
Cl externe ou slectionnez Saut Cl externe.
10) Comme vous utilisez le domaine SPRAS pour la zone
ZDEPMENTTxx-Langue, vous pouvez recourir la table des valeurs
T002 pour la dfinition de cl externe.
11) Le systme propose une dfinition pour la cl externe. Contrlez
cette proposition. Les zones suivantes doivent tre affectes :

Table de ChkTablFld Table des cls Zone de cl


contrle externes externe
T002 SPRAS ZDEPMENTTxx Langue

12) Saisissez une dsignation, puis dfinissez les attributs smantiques


en procdant comme suit :
Type de zones de cl externe : zones/candidates-cls
Cardinalit : 1:CN
13) Sauvegardez votre cl externe.
14) Activez la table.

(C) SAP AG BC430 4-20


(C) SAP AG BC430 4-21
Dpendances des objets du dictionnaire ABAP

l Activation des objets du dictionnaire ABAP

l Traitement des objets dpendants

l Cas d'emploi et systme d'information du rfrentiel


R/3 du point de vue du dictionnaire ABAP

SAP AG 1999

(C) SAP AG BC430 5-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l De diffrencier les versions active et inactive d'un objet
du dictionnaire ABAP
l De dcrire le mcanisme de traitement des objets
dpendants du dictionnaire ABAP
l D'expliquer le fonctionnement du systme d'information
du rfrentiel et les cas d'emploi des objets du
dictionnaire ABAP

SAP AG 1999

(C) SAP AG BC430 5-2


Versions active et inactive

Version active

Zone 1 Zone 2 Zone 3

Ajouter la zone 4 au dictionnaire ABAP

Version active Version inactive

Zone 1 Zone 2 Zone 3 Zone 1 Zone 2 Zone 3 Zone 4

Activer

Version active

Zone 1 Zone 2 Zone 3 Zone 4

SAP AG 1999

n Au cours du dveloppement, il est parfois ncessaire de modifier un objet (actif) dj utilis par le
systme. Une telle modification est supporte dans le dictionnaire ABAP via la sparation des
versions active et inactive.
n La version active d'un objet du dictionnaire ABAP est la version accessible partir des autres
composantes de l'environnement d'excution (processeur ABAP, interface de base de donnes, etc.).
Cette version n'est initialement pas modifie.
n Une version inactive est cre lorsqu'un objet actif est modifi. Cette version peut tre sauvegarde
sans contrle. Elle n'affecte en aucune faon le runtime system.
n Le runtime system utilise la version active et le processus de dveloppement traite la version
inactive, le tout par activation. En premier lieu, la cohrence de la version inactive de l'objet est
contrle. Si la version est cohrente, la version inactive remplace la version active. Ds lors, le
runtime system utilise la nouvelle version (active).
n L'exemple ci-dessus illustre les modifications du statut de l'objet. Une structure active contient trois
zones. Une zone est ajoute cette structure dans le dictionnaire ABAP. Aprs cette action, il existe
une version active compose de trois zones et une version inactive de quatre zones. Au cours de
l'activation, la version active est crase par la version inactive. La version inactive devient alors
active. Dsormais, la seule version active correspond la structure comptant quatre zones.

(C) SAP AG BC430 5-3


Objets d'excution

Structure
Informations sur
Zone 1 Zone 2 Zone 3 la structure Objet d'excution
de la structure

lments de donnes
lment
lment lment
lment lment
lment
de de de
donnes
donnes 1 donnes
donnes 2 donnes
donnes 3
Informations
de zone

Domaine 1 Domaine 2 Domaine 3


Interprteur
ABAP

SAP AG 1999

n Dans le dictionnaire ABAP, les informations relatives une structure (ou table) sont rparties en
domaines, lments de donnes et dfinition de structure. L'objet d'excution (nametab) regroupe ces
informations dans une structure sous une forme optimise qui facilite l'accs partir des programmes
ABAP. L'objet d'excution est cr lorsqu'une structure est active.
n Les objets d'excution de structures sont mis en mmoire tampon pour permettre l'ABAP
RUNTIME SYSTEM d'accder rapidement aux informations.
n L'objet d'excution contient galement des informations relatives la structure globale (nombre de
zones) et aux zones de structure individuelles (nom de zone, emplacement de la zone au sein de la
structure, type de donnes, longueur, nombre de dcimales, zone de rfrence, table de rfrence,
table de contrle, routine de conversion, etc.).
n Il comporte d'autres informations requises par l'interface de la base de donnes pour accder aux
donnes de table (dpendance du client, mise en mmoire tampon, zones-cls, etc.).
n Les objets d'excution sont crs pour l'ensemble des objets du dictionnaire ABAP pouvant tre
utiliss comme modles dans les programmes ABAP. Il s'agit d'lments de donnes, de types de
table et de vues, ainsi que de structures et de tables.

(C) SAP AG BC430 5-4


Traitement des objets dpendants

Table 2

Includes

Structure 1 Structure 2 Table 1 Structure 3

lment
lment de donnes
donnes 1 lment
lment de donnes
donnes 2 lment
lment de donnes
donnes 3

Domaine
SAP AG 1999

n Si des modifications sont apportes un objet dj actif, elles peuvent s'appliquer d'autres objets
utilisant cet objet (directement ou indirectement). Ces objets sont dpendants. Il peut tre ncessaire
d'ajuster les objets d'excution de ces objets dpendants en fonction des modifications, mais celles-
ci peuvent rendre un objet dpendant incohrent.
n C'est pourquoi les objets dpendants sont dtermins et activs (le cas chant) lors de l'activation
d'un objet actif. Les versions actives des objets dpendants sont nouveau actives. Remarque : les
versions nouvelles et inactives des objets utilisant l'objet modifi restent telles quelles.
n Exemple : aprs la modification d'un domaine (modification de son type de donnes, par exemple)
tous les lments de donnes, structures et tables faisant rfrence ce domaine doivent tre
ractivs. L'activation est automatiquement dclenche lorsque le domaine est activ. Les objets
d'excution ainsi affects sont donc tous ajusts en fonction des informations de type modifies.
n Si un objet du dictionnaire ABAP a pour objet dpendant une table, ses objets de base de donnes et
d'excution peuvent ncessiter d'tre modifis lors de l'activation de cet objet dpendant. Le
prochain chapitre traite de la mthode utiliser.

(C) SAP AG BC430 5-5


Cas d'emploi

Utilisation
Table 2
Programme 1 Programme 2

Structure 1 Structure 2 Table 1 Structure 3

lment
lment de donnes
donnes 1 lment
lment de donnes
donnes 2 lment
lment de donnes
donnes 3

Cas d'emploi
Domaine
SAP AG 1999

n La modification d'un objet du dictionnaire ABAP peut galement influer sur ses objets dpendants.
Avant de procder une modification importante (portant par exemple sur le type de donnes ou
entranant la suppression d'une zone), dfinissez le groupe d'objets concerns, afin d'valuer les
implications de l'opration effectue.
n Il existe un cas d'emploi pour chaque objet du dictionnaire ABAP vous permettant de rechercher
l'ensemble des objets faisant rfrence cet objet. Vous pouvez appeler le cas d'emploi partir de la
transaction de gestion de l'objet.
n Avec le cas d'emploi, vous pouvez trouver les utilisations directes et indirectes d'un objet du
dictionnaire ABAP. Vous devez galement dfinir les types d'objets inclure dans la recherche (
savoir toutes les structures et tables utilisant un lment de donnes). Enfin, vous pouvez rechercher
les objets d'utilisation n'appartenant pas au dictionnaire ABAP ( savoir l'ensemble des programmes
recourant une table). Cette recherche peut tre limite la classe de dveloppement ou l'espace
nom de l'utilisateur.
n Si un objet semble tre utilis par plusieurs objets, procdez une recherche en arrire-plan.

(C) SAP AG BC430 5-6


Dictionnaire ABAP du systme d'information du
rfrentiel

? ?
Recherche par attribut Cas d'emploi

Liste de tous les objets de type X


Liste de tous les objets de type X
utilisant
avec attribut Y
l'objet Y

Dictionnaire
ABAP
Informations sur les
relations entre tables
Preuve de modification

Indique l'ensemble
Indique l'ensemble des zones des objets de type X modifis par
de table avec la table l'utilisateur Y la date
de contrle X du JJMMAAAA

SAP AG 1999
? ?
n Le dictionnaire ABAP du systme d'information du rfrentiel fait partie du systme gnral
d'information du rfrentiel. Il vous assiste dans votre recherche d'objets du dictionnaire ABAP et de
leurs utilisateurs.
n Les cas d'emploi des objets du rfrentiel peuvent tre appels partir du systme d'information.
Celui-ci vous permet galement de rechercher des objets par leurs attributs.
n Vous pouvez rechercher tous les objets l'aide de critres de recherche spcifiques aux objets (mise
en mmoire tampon de types pour les tables, par exemple), mais galement selon la classe de
dveloppement, la description synthtique ou l'auteur et la date de la dernire modification.
n Les listes d'objets cres par le systme d'information de rfrentiel sont entirement intgres dans
ABAP Workbench. Elles vous permettent de naviguer directement vers les transactions de gestion
des objets trouvs.

(C) SAP AG BC430 5-7


Rsum du chapitre

l Le dictionnaire ABAP contient les versions active et


inactive des objets. Le runtime system utilise la
version active et le processus de dveloppement
traite la version inactive
l Lorsqu'un objet est activ, sa version inactive
devient active (aprs un contrle) et l'ancienne
version active est crase
l Lorsqu'un objet dj actif est activ, tous les objets
dpendants actifs le sont galement. L'objet
d'excution et l'objet de la base de donnes de ces
objets dpendants sont galement mis jour
l Le cas d'emploi peut servir rechercher les objets
du rfrentiel utilisant un objet du dictionnaire
ABAP
l Vous pouvez trouver des objets du dictionnaire
ABAP par leurs attributs dans le systme
d'information du rfrentiel
SAP AG 1999

(C) SAP AG BC430 5-8


Exercices : dpendances des objets du dictionnaire ABAP

Chapitre : dpendances des objets du dictionnaire


ABAP

la fin de ces exercices, vous serez en mesure :


de dvelopper des tables et des structures avec des zones ;
d'utiliser le systme d'information du rfrentiel R/3, ainsi que
les cas d'emploi des objets du dictionnaire ABAP.

Les informations relatives au chef de service doivent tre stockes


dans le systme de gestion des salaris. Le journal des
modifications doit galement tre dtaill. Cet exercice consiste
dvelopper de manire adquate les tables et les structures.

5-1 Un chef est la tte de chaque service d'une compagnie arienne.


L'affectation entre le service et son chef doit tre mise en correspondance
dans le modle de vol. Dveloppez la table ZDEPMENTxx avec la zone
ChefServ. Dfinissez une cl externe adapte cette zone.

Utilisez le concept de domaine deux niveaux.

5-2 Le journal des modifications des tables ZEMPLOYxx et ZDEPMENTxx


manque de prcision. Outre la personne l'origine des dernires
modifications, ainsi que la date laquelle elles ont t apportes, vous
souhaitez galement enregistrer l'heure. Insrez une zone pertinente dans
les deux tables aussi simplement que possible. Utilisez l'lment de
donnes S_TIME.
Assurez-vous que la zone est insre dans les deux tables. Vrifiez le
protocole d'activation des tables et structures concernes.

Lancez le programme BC430_CHECK dans la


transaction SE38. Il contrle si vos solutions sont correctes.

(C) SAP AG BC430 5-9


5-3 Crez une liste avec les objets du dictionnaire ABAP suivants :
5-3-1 Tous les domaines avec des constantes dont les noms commencent
par Z.
5-3-2 Toutes les zones de table utilisant l'lment de donnes S_FNAME.
5-3-3 Toutes les tables du modle de vol (classe de dveloppement
BC_DATAMODEL) avec la classe de livraison A.
5-4 Dterminez l'ensemble des programmes utilisant la table SFLIGHT.
5-5 Quel est le nom des lments de donnes crs par vos voisins ?

(C) SAP AG BC430 5-10


Solutions: dpendances des objets du dictionnaire ABAP

Chapitre : dpendances des objets du dictionnaire


ABAP

5-1 Dans notre modle, les personnes sont identifies par leurs matricules.
C'est pourquoi la nouvelle zone ajouter la table ZDEPMENTxx doit
contenir des matricules (et non des noms). Par consquent, cette zone doit
correspondre au domaine des matricules cr au cours du premier
exercice. Le rle de la personne grer dans ce cas est particulier. Crez
un nouvel lment de donnes, n'utilisez pas celui dj cr pour le
matricule. Vous pouvez commencer par crer l'lment de donnes, puis
grer la table ou crer l'lment de donnes partir de l'cran de gestion
de table l'aide de la navigation vers la page suivante. La seconde
procdure est explique ci-dessous :
1) Passez en mode d'affichage dans l'cran de gestion de la table
ZDEPMENTxx. Cliquez sur la page onglets Zones.
2) Cliquez sur Nouvelles lignes.
3) Pour saisir la nouvelle zone directement aprs les zones existantes,
saisissez un nom de zone correct dans la premire colonne et un
nom pour l'lment de donnes crer dans la colonne Type de
zone.
4) Sauvegardez la dfinition de table.
5) Cliquez deux fois sur le nom de l'lment de donnes crer.
Confirmez votre intention de crer un lment de donnes.
6) Saisissez une dsignation pour l'lment de donnes, puis le nom de
domaine dj cr pour le matricule dans la zone Domaine.
7) Cliquez sur la page onglets Descripteurs de zone, puis saisissez le
texte correspondant.
8) Activez l'lment de donnes. Pour revenir l'cran de gestion de la
table ZDEPMENTxx, cliquez sur Retour.
9) Pour crer la cl externe de la nouvelle zone, suivez la procdure
habituelle. La table de contrle est ZEMPLOYxx. Si vous avez stock
cette table comme une table des valeurs pour le domaine du
matricule, le systme gnre une proposition. Dans le cas contraire,
vous devez la saisir vous-mme. Vous pouvez copier la proposition
du systme dans l'allocation de zone de la cl externe. Saisissez la
cardinalit 1:CN, puis marquez les zones de cl externe comme
n'tant pas des zones/candidates-cls.
10) Activez la table.
5-2 Les zones du journal des modifications se situent dans la structure d'include
ZCHANGExx. La nouvelle zone doit par consquent tre insre dans cette
structure et automatiquement insre dans les tables ZEMPLOYxx et

(C) SAP AG BC430 5-11


ZDEPMENTxx l'aide du mcanisme d'include. Pour ce faire, procdez
comme suit :
1) Dans l'cran initial du dictionnaire ABAP, cliquez sur Type de
donnes, puis saisissez ZCHANGExx dans la zone correspondante.
Cliquez sur Modifier.
2) Cliquez sur la page onglets Composantes. Saisissez le nom de la
nouvelle zone dans la premire ligne vide de la liste de
composantes, puis saisissez S_TIME dans la colonne Type de
composante.
3) Activez la structure.
4) Pour rechercher le protocole d'activation de la structure, cliquez sur
Utilitaires Protocole d'activation. ce niveau, les tables
ZEMPLOYxx et ZDEPMENTxx sont actives en tant qu'objets
dpendants et elles sont dveloppes avec la nouvelle zone.
5) Passez en mode d'affichage dans l'cran de gestion de la table
ZEMPLOYxx (ou ZDEPMENTxx). Slectionnez Utilitaires Contenu
de table Crer entres. Vous remarquez que la table a t
rellement dveloppe avec la zone correspondante.
5-3 Tous les exercices peuvent tre rsolus avec le systme d'information du
rfrentiel partir de l'cran initial du dictionnaire ABAP sous
Environnement Systme d'information du rfrentiel. Dveloppez les
nuds du dictionnaire ABAP.
1) Dveloppez le nud Objets de base. Cliquez deux fois sur
Domaines. Dans l'cran de slection, saisissez Z* dans la premire
zone. Slectionnez Toutes slections. Dans l'cran de slection
dvelopp, marquez Uniqt domaines avec constantes. Pour crer la
liste souhaite, cliquez sur Excuter.
2) Pour revenir l'cran initial du systme d'information du rfrentiel,
cliquez sur Retour deux reprises. Dveloppez le nud Zones.
Cliquez deux fois sur Zones de table. Cliquez sur Toutes slections,
puis saisissez S_FNAME dans la zone lment de donnes. Pour
crer la liste souhaite, cliquez sur Excuter.
3) Pour revenir l'cran initial du systme d'information du rfrentiel,
cliquez sur Retour deux reprises. Le nud Objets de base est
toujours dvelopp. Cliquez deux fois sur Tables de base de
donnes. Saisissez la classe de dveloppement BC_DATAMODEL
et (aprs avoir slectionn Toutes slections) la classe de
livraisons A dans l'cran de slection. Pour crer la liste souhaite,
cliquez sur Excuter.
5-4 Accdez l'cran initial du dictionnaire ABAP. Cliquez sur Table de base de
donnes, puis saisissez SFLIGHT dans la zone correspondante. Cliquez
sur Cas d'emploi. L'utilisation dans les programmes est dj marque
(seule) dans la bote de dialogue suivante. Pour crer la liste souhaite,
cliquez sur Excuter.
5-5 Vous pouvez nouveau crer la liste souhaite dans le dictionnaire ABAP
du systme d'information du rfrentiel. Dveloppez le nud Objets de
base, puis cliquez deux fois sur lments de donnes. Vous pouvez dfinir
les lments de donnes de votre voisin l'aide d'un modle de recherche
du nom (si votre voisin a respect la convention d'appellation) ou l'aide de

(C) SAP AG BC430 5-12


Modifi par (aprs avoir slectionn Toutes slections). Si vous disposez de
deux groupes de voisins, utilisez Slection multiple. Vous pouvez limiter la
slection l'aide de la date de la dernire modification (qui doit avoir t
effectue aprs le dbut de ce cours) au moins dans le premier cas
(convention d'appellation).

(C) SAP AG BC430 5-13


Modification des tables de base de donnes

l Modification des tables de base de donnes


l Impact des modifications sur la structure de table
l Conversion des tables
l Problmes pouvant survenir lors des conversions
l Structures append

SAP AG 1999

(C) SAP AG BC430 6-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l De modifier les tables

l D'valuer l'impact de ces modifications sur la base


de donnes
l De convertir les tables

l De poursuivre les conversions interrompues

l D'ajouter des zones client aux tables standard SAP


l'aide de structures append sans apporter de
modification

SAP AG 1999

(C) SAP AG BC430 6-2


Modification des tables

Dictionnaire ABAP

Zone 1 Zone 2 Zone 3


Version inactive
Version active
Zone 1 Zone 2 Zone 3 Zone 4

Zone 1 Zone 2 Zone 3

Base de donnes
SAP AG 1999

n L'accs des programmes ABAP la table de base de donnes est possible uniquement si l'objet
d'excution de la table est cohrent avec la structure de la table de base de donnes. chaque
modification apporte la dfinition de la table dans le dictionnaire ABAP, vrifiez si la structure de
base de donnes relative la table doit tre adapte cette dfinition lorsqu'elle est active (lorsque
l'objet d'excution est rcrit).
n La structure de la base de donnes ne requiert pas ncessairement une adaptation aprs certaines
modifications apportes au dictionnaire ABAP. Exemple : modification de l'ordre des zones du
dictionnaire ABAP (hormis les zones-cls). Dans ce cas, la structure modifie est simplement active
dans le dictionnaire ABAP et la structure de la base de donnes reste inchange.

(C) SAP AG BC430 6-3


Mode d'ajustement de la structure

Zone 1 Zone 2 Zone 3 Quelles modifications ont t effectues ?

Version active
Zone 1 Zone 2 Zone 3 Zone 4

Version inactive
Supprimer, recrer
La table contient-elle des donnes ? ou
Modifier le catalogue de
la BD (ALTER TABLE)
Quel est le systme de ou
base de donnes utilis ?
Convertir la table

Zone 1 Zone 2 Zone 3

SAP AG 1999

n L'ajustement de la table de base de donnes sa dfinition modifie dans le dictionnaire ABAP peut
prendre trois formes :
Suppression et recration de la table de la base de donnes. Vous supprimez la table de base de
donnes, vous activez la table inactive dans le dictionnaire ABAP, puis vous la recrez dans la
base de donnes. Les donnes existant dans la table sont perdues.
Modification du catalogue de la base de donnes (ALTER TABLE). Vous modifiez simplement la
dfinition de la table dans la base de donnes et conservez ainsi les donnes existantes. Il peut
cependant tre ncessaire de reconstruire les index de la table.
Conversion de la table. Il s'agit de la mthode d'ajustement de structure la plus longue.
n Si la table ne contient aucune donne, elle est supprime de la base de donnes, puis recre avec sa
nouvelle structure. Si la table contient des donnes, le programme tente d'ajuster la structure avec
ALTER TABLE. Si le systme de base de donnes utilis n'y parvient pas, l'ajustement de structure
se fait par conversion de la table.

(C) SAP AG BC430 6-4


Processus de conversion 1

Zone 1 Zone 2 Zone 3


NUMC,6 CHAR, 8 CHAR, 60
Version active de TAB
Zone 1 Zone 2 Zone 3
NUMC,6 CHAR, 8 CHAR, 30
Version inactive de TAB

TAB

Zone 1 Zone 2 Zone 3


NUMC, 6 CHAR, 8 CHAR, 60 TAB ~ 0
000100 1111A00 Text1...
001200 0222B10 Text2 ... TAB ~ A11
003000 0030B20 Text3 ...

SAP AG 1999

n L'exemple ci-dessous illustre les tapes requises lors d'une conversion.


n Situation initiale : la table TAB a t modifie dans le dictionnaire ABAP. La longueur de la zone 3
a t rduite de 60 30 caractres.
n Le dictionnaire ABAP contient donc une version active (la longueur de la zone 3 est de 60
caractres) et une version inactive (la zone 3 comporte toujours 30 caractres) de la table.
n La version active de la table a t cre dans la base de donnes. Ainsi, la zone 3 contient
actuellement 60 caractres. Un index secondaire dont l'ID est A11, galement cr dans la base de
donnes, est dfini pour la table du dictionnaire ABAP.
n La table contient dj des donnes.

(C) SAP AG BC430 6-5


Processus de conversion 2

TAB bloque
Zone 1 Zone 2 Zone 3 11
NUMC,6 CHAR, 8 CHAR, 60
Version active de TAB
Zone 1 Zone 2 Zone 3
NUMC,6 CHAR, 8 CHAR, 30 TAB est bloque
Version inactive de TAB

Renommer TAB Supprimer


en QCMTAB Index
QCMTAB TAB
Zone 1 Zone 2 Zone 3 Zone 1 Zone 2 Zone 3
NUMC, 6 CHAR, 8 CHAR, 60 NUMC, 6 CHAR, 8 CHAR, 60 TAB ~ 0
22
000100 1111A00 Text1... 000100 1111A00 Text1... TAB ~ A11
001200 0222B10 Text2 ... 001200 0222B10 Text2 ...
003000 0030B20 Text3 ... 003000 0030B20 Text3 ...

SAP AG 1999

n tape 1 : la table est bloque contre toute nouvelle modification de structure. Si une erreur provoque
l'interruption de la conversion, la table reste bloque. Ce mcanisme de blocage est conu pour
empcher toute modification de structure tant que la conversion n'est pas correctement effectue.
Sinon, des donnes pourraient tre perdues.
n tape 2 : la table de base de donnes est renomme. Tous les index de la table sont supprims. Le
nom de la nouvelle table (temporaire) se compose du prfixe QCM et du nom de la table, savoir
QCMTAB pour la table TAB.

(C) SAP AG BC430 6-6


Processus de conversion 3

TAB bloque
Zone 1 Zone 2 Zone 3
NUMC,6 CHAR, 8 CHAR, 60
Version active de TAB
Zone 1 Zone 2 Zone 3
NUMC,6 CHAR, 8 CHAR, 30
Version inactive de TAB
33 Activer dans le
33
dictionnaire ABAP

TAB nouvellement cre dans la BD

Zone 1 Zone 2 Zone 3 Zone 1 Zone 2 Zone 3


TAB ~ 0
NUMC, 6 CHAR, 8 CHAR, 60 NUMC, 6 CHAR, 8 CHAR, 30
QCMTAB 000100 1111A00 Text1...
001200 0222B10 Text2 ... TAB
003000 0030B20 Text3 ...

SAP AG 1999

n tape 3 : la version inactive de la table est active dans le dictionnaire ABAP. La table est cre
dans la base de donnes avec sa nouvelle structure et l'index primaire. Aprs cette tape, la structure
de la table de base de donnes est identique celle du dictionnaire ABAP. Cependant, la table de
base de donnes ne contient aucune donne.
n Le systme tente galement de bloquer la table de base de donnes en cours de conversion. Si
l'opration russit, les programmes d'application ne peuvent pas crire dans la table au cours de la
conversion.
n La conversion se poursuit mme si la base de donnes ne peut pas tre bloque. Les programmes
d'application peuvent alors crire dans la table. Toutes les donnes n'ayant peut-tre pas t
recharges dans la table, les donnes de cette dernire peuvent tre incohrentes.
n Aussi, assurez-vous qu'aucune application n'accde la table en cours de conversion.

(C) SAP AG BC430 6-7


Processus de conversion 4

Zone 1 Zone 2 Zone 3


TAB bloque
NUMC,6 CHAR, 8 CHAR, 30
Version active de TAB

Donnes recharges dans TAB

QCMTAB TAB

Zone 1 Zone 2 Zone 3 Zone 1 Zone 2 Zone 3


NUMC, 6 CHAR, 8 CHAR, 60 44 NUMC, 6 CHAR, 8 CHAR, 30
TAB ~ 0
000100 1111A00 Text1... 000100 1111A00 Text1...
001200 0222B10 Text2 ... 001200 0222B10 Text2 ...
003000 0030B20 Text3 ... 003000 0030B20 Text3 ...

SAP AG 1999

n tape 4 : les donnes sont recharges de la table temporaire (table QCM) dans la nouvelle table
(avec MOVE-CORRESPONDING). Aprs cette tape, les donnes existent dans la table de base de
donnes et dans la table temporaire. Lorsque vous rduisez la taille des zones, les caractres en trop,
par exemple, sont tronqus pendant le rechargement des donnes.
n Dans la mesure o les donnes existent la fois dans la table d'origine et dans la table temporaire
lors de la conversion, les besoins en mmoire augmentent pendant l'opration. Avant de convertir des
tables de grande taille, vous devez donc vrifier si l'espace disponible dans le tablespace est suffisant.
n Lorsque les donnes sont copies de la table QCM dans la table d'origine, un commit de base de
donnes est enregistr aprs 16 Mo. Un processus de conversion ncessite donc 16 Mo de ressources
dans le segment rollback. La base de donnes bloque est dbloque l'aide du Commit, puis
rebloque avant la conversion du domaine de donnes suivant.
n Lorsque vous rduisez la taille des cls, un seul enregistrement peut tre recharg s'il existe plusieurs
enregistrements dont la cl ne peut pas tre distingue. Il est alors impossible de dterminer de quel
enregistrement il s'agira. Dans ce cas, nettoyez les donnes de la table avant la conversion.

(C) SAP AG BC430 6-8


Processus de conversion 5

Zone 1 Zone 2 Zone 3 TAB bloque


NUMC,6 CHAR, 8 CHAR, 30
Version active de TAB
77
Supprimer blocage

Supprimer table temporaire Crer index

QCMTAB TAB
55
Zone 1 Zone 2 Zone 3 Zone 1 Zone 2 Zone 3
NUMC, 6 CHAR, 8 CHAR, 60 66 NUMC, 6 CHAR, 8 CHAR, 30 TAB ~ 0

000100 1111A00 Text1... 000100 1111A00 Text1...


001200 0222B10 Text2 ... 001200 0222B10 Text2 ... TAB ~ A11
003000 0030B20 Text3 ... 003000 0030B20 Text3 ...

SAP AG 1999

n tape 5 : les index secondaires dfinis pour la table du dictionnaire ABAP sont recrs.
n tape 6 : la table temporaire (table QCM) est supprime.
n tape 7 : le blocage plac au dbut de la conversion est lev.
n Si la conversion s'interrompt, la table reste bloque et un protocole de reprise est crit.
n Avertissement : pendant une conversion, les donnes d'une table sont incohrentes. Les programmes
ne doivent par consquent pas accder la table pendant cette opration, car ils pourraient utiliser
des donnes incorrectes lors de la lecture de cette table, puisque certains enregistrements n'ont pas
t recopis de la table temporaire. N'effectuez donc aucune conversion au cours de la production
! Il est indispensable de dsactiver l'ensemble des applications utilisant les tables convertir.
n Les conversions interrompues doivent tre nettoyes. Sinon, les programmes qui accdent la
table risquent de ne pas fonctionner correctement. Dans ce cas, recherchez pourquoi la conversion
s'est interrompue (l'interruption peut tre due, par exemple, un dbordement du tablespace
correspondant), corrigez le problme, puis reprenez la conversion.

(C) SAP AG BC430 6-9


Problmes pouvant survenir lors des conversions

Tablespace insuffisant

Perte des donnes en cas de


rduction de la taille de la cl
Modification du type incorrecte

SAP AG 1999

n Dans la mesure o les donnes existent la fois dans la table d'origine et dans la table temporaire
pendant la conversion, les besoins en mmoire augmentent pendant l'opration. Si le tablespace se
rvle insuffisant lors du rechargement des donnes de la table temporaire, la conversion
s'interrompt. tendez alors le tablespace, puis relancez la conversion partir de l'utilitaire de base de
donnes.

n Si vous rduisez la cl d'une table (par exemple lorsque vous supprimez ou rduisez la longueur des
zones-cls), vous ne pouvez pas diffrencier les nouvelles cls des enregistrements existants de la
table. Lorsque vous rechargez les donnes de la table temporaire, seul un enregistrement peut tre
recharg dans la table. Il est alors impossible de dterminer de quel enregistrement il s'agit. Si vous
souhaitez copier certains enregistrements, nettoyez la table avant de procder la conversion.

n Lors d'une conversion, les donnes sont recopies de la table de base de donnes l'aide de
l'instruction ABAP MOVE-CORRESPONDING). Seules les modifications pouvant tre excutes
avec cette instruction sont autorises. Toutes les autres provoquent l'interruption de la conversion
lorsque les donnes sont recharges partir de la table d'origine. Vous devez alors reconstruire
l'ancien statut avant de procder la conversion. l'aide des outils de base de donnes, supprimez la
table, redonnez la table QCM son ancien nom, reconstruisez l'objet d'excution (dans l'utilitaire de
base de donnes), recrez le statut initial de la structure de table dans le dictionnaire, puis activez la
table.

(C) SAP AG BC430 6-10


Reprise des conversions interrompues

Journal d'objet

Vidages de Syslog
la mmoire

Ce que vous devez faire

Ce que vous devez viter


SAP AG 1999

n Si une conversion est interrompue, l'entre de blocage de la table paramtre lors de la premire
tape est conserve. La table ne peut plus tre dite l'aide des outils de gestion du dictionnaire
ABAP (transaction SE11).
n Vous pouvez analyser une conversion interrompue l'aide de l'utilitaire de base de donnes
(transaction SE14), puis la reprendre. Cet utilitaire comporte un outil d'analyse vous permettant de
rechercher la cause de l'erreur et le statut courant de l'ensemble des tables concernes par la
conversion.
n La raison prcise de l'interruption figure en rgle gnrale dans le journal d'objet. Si ce journal ne
fournit aucune information sur la cause de l'erreur, analysez le syslog ou les vidages d'une partie de
la mmoire.
n En cas d'interruption de conversion, deux options sont affiches sous la forme de boutons de
commande dans l'utilitaire de base de donnes :
Une fois l'erreur corrige, vous pouvez reprendre la conversion au niveau o elle a t interrompue
l'aide de l'option Poursuivre l'adaptation.
Vous pouvez galement utiliser l'option Dbloquer table, afin de supprimer l'entre de blocage
existante de la table. Ne slectionnez jamais Dbloquer table pour une conversion interrompue si
les donnes existent uniquement dans la table temporaire, c'est dire si l'interruption s'est produite
l'tape 3 ou 4.

(C) SAP AG BC430 6-11


Structures append 1

Zone A Zone B

Table Structure append

Zone 1 Zone 2 Zone 3

Zone 1 Zone 2 Zone 3 Zone A Zone B

SAP AG 1999

n Les structures append permettent d'ajouter des zones client une table SAP standard sans avoir
modifier la dfinition de table.
n Une telle structure est affecte une seule table, mais une table peut possder plusieurs structures
append.
n Lorsqu'une table est active, le systme recherche toutes les structures append actives pour cette
table et ajoute leurs zones cette table. Si vous crez ou modifiez une structure append, la table
laquelle elle est affecte est galement active. Les modifications prennent alors effet dans la table
son activation.
n l'instar de toutes les structures, une structure append dfinit un type pouvant tre utilis dans les
programme ABAP.

(C) SAP AG BC430 6-12


Structures append 2

Zone A Zone B
Table Structure append
Zone 1 Zone 2 Zone 3

Importation de la
nouvelle version de SAP
Zone 1 Zone 2 Zone 3 Zone 4

Zone 1 Zone 2 Zone 3 Zone A Zone B

SAP AG 1999

n Les clients crent des structures append dans leurs espaces nom. Ces structures sont ainsi protges
contre l'crasement pendant une mise niveau.
n Les nouvelles versions des tables standard sont importes pendant la mise niveau. Lorsque ces
tables sont actives, les zones qui figurent dans des structures append actives y sont ajoutes.
Lorsque des structures append sont ajoutes une table, il n'est plus ncessaire d'ajuster
manuellement les modifications apportes par le client la nouvelle version SAP de la table
(transaction SPDD) pendant la mise niveau.
n L'ordre des zones du dictionnaire ABAP peut diffrer de celui de la base de donnes. Il est donc
inutile de convertir la table lors de l'ajout d'une structure append ou de l'insertion de zones dans une
structure append existante. Les nouvelles zones sont simplement ajoutes la table existante de la
base de donnes. Vous pouvez galement adapter la structure via le catalogue de base de donnes
(ALTER TABLE).

(C) SAP AG BC430 6-13


Structures append 3

Zone A Zone B

Table Structure append

Zone 1 Zone 2 Zone 3 Zone 4

Ajout de zone dans la


base de donnes
Activer

Zone 1 Zone 2 Zone 3 Zone A Zone B Zone 4

SAP AG 1999

n La nouvelle version de la table SAP standard est active et la nouvelle zone est ajoute la table de
base de donnes.
n Remarques sur les structures append :
Aucune structure append ne peut tre cre pour les tables pool et cluster.
Si une zone de grande taille (type de donnes LCHR ou LRAW) apparat dans une table, elle ne
peut pas tre tendue avec des structures append. En effet, une telle zone doit toujours tre place
en dernire position dans la liste de zones d'une table.
Si, en tant que client, vous ajoutez une structure append une table SAP, les zones de cette
structure doivent se trouver dans l'espace nom client associ aux zones et donc commencer par YY
ou ZZ. Cela vite les collisions de noms avec les nouvelles zones insres dans la table standard
par SAP.
Si vous tes un partenaire et que vous avez rserv votre propre espace nom pour vos
dveloppements, les zones slectionnes dans les structures append doivent toujours figurer dans
cet espace nom.

(C) SAP AG BC430 6-14


Rsum

l L'objet d'excution et la dfinition de base de donnes


d'une table doivent toujours tre cohrents. C'est la raison
pour laquelle la table de base de donnes correspondante
doit tre ajuste lorqu'une table du dictionnaire ABAP est
modifie
l Le systme tente toujours de modifier la structure des
tables via le catalogue de base de donnes (ALTER
TABLE). Si cela se rvle impossible, une conversion a lieu
l Dans une conversion, les donnes sont stockes dans une
table temporaire, puis recopies dans la table avec sa
nouvelle structure
l Les zones client doivent toujours tre ajoutes aux tables
SAP standard l'aide de structures append

SAP AG 1999

(C) SAP AG BC430 6-15


Exercices : modifications des tables de base de donnes

Chapitre : modifications des tables de base de


donnes

la fin de ces exercices, vous serez en mesure :


de modifier les objets existants ;
de convertir des tables ;
de dvelopper les tables standard avec des structures append
sans les modifier.

La conception d'origine de la gestion de salaris n'est plus


approprie depuis l'apport de modifications organisationnelles aux
compagnies ariennes. Il est donc ncessaire d'apporter quelques
modifications aux objets dj crs. Ces modifications sont
effectues dans cet exercice.

6-1 La conception de la table ZFLCREWxx n'est plus approprie. La zone du


rle du salari pendant le vol est trop longue. Pour corriger cette erreur,
rduisez la longueur de la zone 15 caractres.
Crez un nouvel lment de donnes ZROLExx, puis remplacez l'lment
de donnes existant par le nouveau. Lorsque vous dfinissez l'lment de
donnes ZROLExx, n'utilisez aucun domaine. Saisissez plutt le type de
donnes et la longueur directement lors de la dfinition de l'lment de
donnes. Activez la table.
6-2 Les salaris ayant des fonctions administratives ou de gestion travaillent
dans un aroport. Ils sont joignables par tlphone. Enregistrez galement
le lieu de travail des employs administratifs (bureau). Intgrez ces
informations dans la table ZEMPLOYxx.
Crez une structure append pour la table ZEMPLOYxx avec les
informations suivantes :

Zone lment de donnes


Aroport S_AIRPORT
Bureau S_BUREAUNO
Tlphone S_TELNO

Remarque : les noms de zones d'une structure append


doivent figurer dans l'espace nom client des zones et
doivent donc commencer par ZZ ou YY.

(C) SAP AG BC430 6-16


6-3 Crez une cl externe adapte pour la zone Aroport de la structure
append.

La table de l'ensemble des aroports est SAIRPORT.


Pour terminer la dfinition de la cl externe, dfinissez
galement une zone pour la table d'ajout (ZEMPLOYxx).

Aprs cet exercice, lancez le programme BC430_CHECK


avec la transaction SE38. Il contrle si vos solutions sont
correctes.

(C) SAP AG BC430 6-17


Solutions : modifications des tables de base de donnes

Chapitre : modifications des tables de base de


donnes

6-1 Passez en mode d'affichage dans l'cran de gestion de la table


ZFLCREWxx. Procdez comme suit :
1) crasez l'lment de donnes SEMP_ROLE de la colonne Type de
zone avec le nom de votre lment de donnes ZROLExx.
Sauvegardez la modification.
2) Cliquez deux fois sur le nom ZROLExx. Dans la bote de dialogue
suivante, confirmez votre intention de crer cet lment de donnes.
3) L'cran de gestion d'lments de donnes apparat. Saisissez une
dsignation.
4) Cliquez sur la page onglets Dfinition. Marquez Type prdfini.
Vous pouvez prsent saisir des valeurs dans les zones
Typedonnes, Longueur et Dcimales. Saisissez CHAR pour le type
de donnes et 15 pour la longueur.
5) Dans la page onglets Descripteur de zone, grez le texte de
l'lment de donnes.
6) Activez l'lment de donnes.
7) Accdez au protocole d'activation. Un message vous rappelle que
pour rduire la zone, la table ZFLCREWxx doit tre convertie.
8) Revenez l'cran de gestion de table.
9) Accdez l'utilitaire de base de donnes via Utilitaires Utilitaire de
BD.
10) Cliquez sur Activer et ajuster base de donnes. Confirmez la requte
de scurit qui suit. Le systme convertit la table.
6-2 Pour dfinir la structure append de la table ZEMPLOYxx :
1) Passez en mode d'affichage dans l'cran de gestion de la table
ZEMPLOYxx.
2) Slectionnez Saut Structure append.
3) Dans la bote de dialogue suivante, saisissez le nom requis pour la
structure append. Il doit tre conforme aux conventions d'appellation
habituelles. Cliquez sur Suite.
4) L'cran de gestion de la structure append apparat. La gestion de
cette structure append ressemble celle de toute structure.
5) Saisissez une dsignation, puis insrez les zones Aroport, Bureau
et Tlphone l'aide des lments de donnes spcifis.
6) Remarque : tous les noms de zones d'une structure append doivent
figurer dans l'espace nom client. Les noms de zones doivent donc
commencer par ZZ ou YY.
(C) SAP AG BC430 6-18
7) Activez la structure append. Affichez le protocole d'activation via
Saut Protocole activation.
La table ZEMPLOYxx est automatiquement adapte lors de l'activation de
la structure append. Les nouvelles zones sont ajoutes aux zones
existantes de la base de donnes.
6-3 La cl externe doit tre dfinie dans le programme de gestion de la
structure append. Pour y accder, saisissez son nom comme type de
donnes dans l'cran initial du dictionnaire ABAP, puis slectionnez
Modifier ou naviguez via Saut Structure append dans l'cran de gestion
de la table ZEMPLOYxx. Procdez comme suit :
1) Placez le curseur sur la zone Aroport. Slectionnez l'icne en forme
de cl. Copiez la proposition du systme.
2) Une bote de dialogue vous informe que la cl externe n'est pas
entirement dfinie. Cliquez sur Suite.
La cl externe ne peut pas tre spcifie dans son intgralit dans la
structure append, car la cl de la table de contrle SAIRPORT
contient la zone du code de l'aroport et celle du mandant, mais la
structure append ne comprend pas cette dernire zone.
3) L'cran de gestion de la cl externe apparat. La table de contrle et
l'affectation de zone sont dj renseignes par la proposition du
systme. Saisissez une description synthtique adapte.
4) Terminez l'affectation de zone. Supprimez le marquage de
l'affectation gnrique. Saisissez ensuite ZEMPLOYxx dans la
colonne Table de cls externes, puis le nom de la zone mandant de
cette table dans la colonne Zone de cls externes.
5) Slectionnez Zones/candidates non-cls en tant que type de zones
de cls externes (car la zone de l'aroport n'est pas une zone de cl
de la table ZEMPLOYxx) et en tant que cardinalit C (car tous les
salaris ne sont pas affects un aroport) CN (car tous les
salaris peuvent tre affects au mme aroport).
6) Cliquez sur Copier, puis activez la structure append.

(C) SAP AG BC430 6-19


Vues

l quoi servent les vues ?


l Cration d'une vue par jointure, projection et
slection
l Conditions de jointure et cls externes
l Slection de donnes avec des vues
l Vues de base de donnes
l Vues de gestion
l Inner Join et Outer Join

SAP AG 1999

(C) SAP AG BC430 7-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l De comprendre le mode de cration d'une vue partir
de tables avec des jointures, des projections et des
slections
l De crer des vues de base de donnes

l De crer une liaison entre des cls externes et des


conditions de jointure
l D'utiliser des vues dans les programmes pour la
slection de donnes
l De savoir quand utiliser des vues de gestion

l De distinguer inner join et outer join

SAP AG 1999

(C) SAP AG BC430 7-2


quoi servent les vues ?

Vues sur les tables

Z1 Z2 Z3 Z5 Z8

Vue sur des


donnes
Z1 Z2 Z3 Z6 Z7 Z8
rparties sur Z4 Z5
plusieurs tables

Table 1 Table 3
Table 2

SAP AG 1999

n Les donnes relatives un objet d'application sont souvent rparties sur plusieurs tables de base de
donnes. Les systmes de base de donnes vous permettent de dfinir des vues sur les donnes
contenues dans plusieurs tables en fonction de l'application. Il s'agit de vues.
n Les donnes de plusieurs tables peuvent tre combines d'une manire logique l'aide d'une vue
(jointure). Vous pouvez galement masquer les informations sans intrt (projection) ou afficher
uniquement les enregistrements de donnes rpondant certaines conditions (slection).
n Les donnes d'une vue peuvent tre affiches exactement comme les donnes d'une table dans la
gestion de table tendue.

(C) SAP AG BC430 7-3


Structure d'une vue - Situation de dpart

Table Zone 1 Zone 2 Zone 3 Zone 4 Zone 5 Table


TABA TABB
1 Texte 1 1 A Texte 3
2 Texte 2 1 B Texte 4
2 A Texte 5
2 B Texte 6

Zone 1 Zone 2 Zone 3 Zone 4 Zone 5 Inter-produit des


tables TABA et
1 Texte 1 1 A Texte 3 TABB
1 Texte 1 1 B Texte 4
1 Texte 1 2 A Texte 5
1 Texte 1 2 B Texte 6
2 Texte 2 1 A Texte 3
2 Texte 2 1 B Texte 4
2 Texte 2 2 A Texte 5
2 Texte 2 2 B Texte 6
SAP AG 1999

n L'exemple ci-dessus illustre la structure d'une vue et la slection de donnes l'aide de cette vue.
n Prenons les deux tables TABA et TABB. La table TABA contient deux entres et la table TABB,
quatre entres.
n Les tables sont d'abord combines, formant ainsi un inter-produit des deux tables o chaque
enregistrement de TABA est combin avec chaque enregistrement de TABB.

(C) SAP AG BC430 7-4


Structure d'une vue - Condition de jointure

Condition de jointure : TABA - Zone 1 = TABB - Zone 3

Zone 1 Zone 2 Zone 3 Zone 4 Zone 5

1 Texte 1 1 A Texte 3
1 Texte 1 1 B Texte 4
1 Texte 1 2 A Texte 5
Rduction de 1 Texte 1 2 B Texte 6
l'inter-produit 2 Texte 2 1 A Texte 3
2 Texte 2 1 B Texte 4
2 Texte 2 2 A Texte 5
2 Texte 2 2 B Texte 6

SAP AG 1999

n En rgle gnrale, l'intgralit de l'inter-produit ne constitue pas une slection importante. Il est par
consquent conseill de dlimiter l'inter-produit avec une condition de jointure. Cette condition
dcrit les relations entre les enregistrements des deux tables.
n Dans notre exemple, la zone 3 de TABB identifie la zone 1 de TABA. La condition de jointure est
alors la suivante :
TABA - Zone 1 = TABB - Zone 3
n Avec cette condition de jointure, tous les enregistrements dont l'entre dans la zone 1 diffre de
l'entre dans la zone 3 sont supprims de l'inter-produit. La colonne correspondant la zone 3 est par
consquent inutile dans la vue.

(C) SAP AG BC430 7-5


Structure d'une vue - Slection de zones
(projection)

Zone 1 Zone 2 Zone 4 Zone 5

1 Texte 1 A Texte 3
1 Texte 1 B Texte 4
2 Texte 2 A Texte 5
2 Texte 2 B Texte 6

Projection

Zone 1 Zone 2 Zone 5

1 Texte 1 Texte 3
1 Texte 1 Texte 4
2 Texte 2 Texte 5
2 Texte 2 Texte 6

SAP AG 1999

n Souvent, certaines zones des tables impliques dans une vue ne prsentent aucun intrt. Vous
pouvez dfinir de manire explicite l'ensemble des zones inclure dans la vue (projection).
n Dans notre exemple, la zone 4 ne revt aucune importance et peut donc tre masque.

(C) SAP AG BC430 7-6


Structure d'une vue - Condition de slection

Zone 1 Zone 2 Zone 5 Zone 4

1 Texte 1 Texte 3 A
1 Texte 1 Texte 4 B
2 Texte 2 Texte 5 A
2 Texte 2 Texte 6 B

Condition de slection : TABB - Zone 4 = "A".

Zone 1 Zone 2 Zone 5

1 Texte 1 Texte 3
1 Texte 1 Texte 4
2 Texte 2 Texte 5
2 Texte 2 Texte 6

SAP AG 1999

n Une condition de slection permet de limiter davantage l'ensemble d'enregistrements pouvant tre
affich avec la vue.
n Dans l'exemple ci-dessus, seuls les enregistrements contenant la valeur "A" dans la zone 4 doivent
tre affichs dans la vue.
n Une condition de slection peut donc galement tre formule avec une zone non contenue dans la
vue.

(C) SAP AG BC430 7-7


Mode de liaison des tables aux vues

MANDT ID NAME CITY ... SCUSTOM


001 122356 Smith New York ...

MANDT CARRID CONNID FLDATE BOOKID CUSTOMID ...


SBOOK
001 AA 48 ... 3689 122356 ...

001 324 ... 3690 122356 ...


LH

MANDT CARRID CONNID ... CITYFROM ... CITYTO ... SPFLI


001 AA 48 ... New York ... Berlin ...

001 324 ... Berlin ... Tokyo ...


LH

SAP AG 1999

n Exemple : les agences de voyage doivent parfois vrifier quels clients ont effectu une rservation
pour tel ou tel vol. Les donnes correspondantes sont rparties sur plusieurs tables :
SCUSTOM : donnes client, telles que son numro, son nom et son adresse.
SBOOK : donnes relatives aux rservations, telles que la compagnie, le numro du vol et le
passager (numro de client).
SPFLI : donnes relatives aux vols, telles que la ville de dpart et la ville d'arrive.
n Afin d'obtenir les donnes relatives aux rservations, il est ncessaire de crer une vue pour les tables
SCUSTOM, SBOOK et SPFLI.
n Dans ce cas, les conditions de jointure sont les suivantes :
SBOOK-MANDT = SCUSTOM-MANDT
SBOOK-CUSTOMID = SCUSTOM-ID
SPFLI-MANDT = SBOOK-MANDT
SPFLI-CARRID = SBOOK-CARRID
SPFLI-CONNID = SBOOK-CONNID

(C) SAP AG BC430 7-8


Structure de la vue

Vue SCUS_BOOK pour les rservations client


MANDT ID NAME CITY CARRID CONNID FLDATE BOOKID CITYFROM CITYTO

001 122356 Smith New York AA 48 4.9.1999 3689 New York Berlin
001 122356 Smith New York LH 324 9.9.1999 3690 Berlin Tokyo

SAP AG 1999

n Pour obtenir les donnes de rservation relatives un client particulier, slectionnez les
enregistrements correspondants pour les cls MANDT et CUSTOMID de la table SBOOK.
n Vous pouvez obtenir les donnes de vol de la table SPFLI pour chaque rservation dans la table
SBOOK en slectionnant l'enregistrement correspondant pour les cls MANDT, CARRID et
CONNID dans la table SPFLI.
n Vous pouvez afficher uniquement les rservations client non annules l'aide de la vue avec la
condition de slection suivante :
SBOOK-CANCELED <> "X"
n Les conditions de jointure peuvent galement driver des relations de cl externe existantes. Les
conditions de jointures sont copies partir des cls externes l'aide de la transaction de gestion.
n Les noms des zones sous-jacentes de la table servent en rgle gnrale de noms de zones de la vue.
Toutefois, vous pouvez choisir d'autres noms. Cela se rvle parfois ncessaire, par exemple lorsque
deux zones de tables diffrentes, mais portant le mme nom, doivent tre copies dans la vue. Vous
devez alors choisir un autre nom pour l'une des zones de la vue.

(C) SAP AG BC430 7-9


Slection de donnes avec les vues

REPORT CUSBOOK1.

PARAMETERS: CUSTOMID LIKE SBOOK-CUSTOMID.


DATA: BOOKINGS TYPE SCUS_BOOK.

WRITE: / 'Rservations existantes pour client ', CUSTOMID,':'.

SELECT * FROM SCUS_BOOK INTO BOOKINGS


WHERE CUSTOMID = CUSTOMID.

WRITE: / 'CLIENT', SCUS_BOOK-NAME, 'rserv sur', SCUS_BOOK-


CARRID,SCUS_BOOK-CONNID, 'de',SCUS_BOOK-CITYFROM,
'',SCUS_BOOK-CITYTO,'le',SCUS_BOOK-FLDATE.
ENDSELECT.

IF SY-SUBRC <> 0.
WRITE: / 'Aucune rservation n'existe'.
ENDIF.

SAP AG 1999

n Vous pouvez obtenir les mmes rsultats en utilisant les instructions SELECT imbriques :
SELECT * FROM SCUSTOM WHERE ID = CUSTOMID.
SELECT * FROM SBOOK WHERE CUSTOMID = SCUSTOM-ID.
SELECT * FROM SPFLI WHERE CARRID = SBOOK-CARRID AND
CONNID = SBOOK-CONNID
WRITE: / 'Client', SCUS_BOOK-NAME, 'rserv sur', SCUS_BOOK-
CARRID,SCUS_BOOK-CONNID, 'de',SCUS_BOOK-CITYFROM, '',SCUS_BOOK-
CITYTO,'le',SCUS_BOOK-FLDATE.
ENDSELECT.
ENDSELECT.
ENDSELECT.
n La slection avec une vue de base de donnes est souvent plus efficace que celle effectue avec une
instruction SELECT imbrique.
n partir de la version 4.0, vous pouvez galement formuler la condition de jointure directement dans
OPEN SQL.
n Une vue prsente des caractres de type, est accessible via des programmes comme tous les autres
types et peut servir dfinir des objets de donnes.

(C) SAP AG BC430 7-10


Vues de base de donnes

La dfinition de vue dans le dictionnaire ABAP Programme ABAP

Z1 Z2 Z3 Z5 Z8

est cre dans la Interface de base de donnes


base de donnes
pendant l'activation

Z1 Z2 Z3 Z5 Z8 Dfinition de vue
dans la base de
donnes

Z1 Z2 Z3 Z6 Z7 Z8
Z4 Z5

Table 1 Table 3
Table 2

SAP AG 1999

n Une vue de base de donnes est dfinie dans le dictionnaire ABAP et automatiquement cre dans la
base de donnes pendant l'activation. Les accs une vue de base de donnes sont transfrs
directement vers la base de donnes via son interface. Le logiciel de base de donnes excute la
slection des donnes.
n Si la dfinition d'une vue de base de donnes est modifie dans le dictionnaire ABAP, la vue cre
dans la base de donnes doit tre ajuste en consquence. Une vue ne contenant aucune donne, cet
ajustement consiste supprimer l'ancienne dfinition de vue et recrer la vue dans le dictionnaire
ABAP avec sa nouvelle dfinition.
n Selon le statut de gestion, vous pouvez utiliser la vue en lecture uniquement ou galement en
criture. Si une vue de base de donnes a t dfinie avec plusieurs tables, seule la lecture est
possible.
n Les donnes lues avec une vue de base de donnes peuvent tre mises en mmoire tampon. Cette
opration est analogue la mise en mmoire tampon des tables. Les options techniques d'une vue de
base de donnes dterminent si les donnes de la vue peuvent tre mises en mmoire tampon et
comment elles doivent l'tre. Vous pouvez utiliser ici les mmes options (types de mise en mmoire
tampon) que pour les tables. Lorsque les donnes sont modifies dans l'une des tables de base de
donnes, les donnes de la vue mises en mmoire tampon deviennent incorrectes.

(C) SAP AG BC430 7-11


Includes dans les vues de base de donnes

Vue de base de donnes sur TABA, TABB et TABC

Z1 Z3 Z 4 Z5 Z6 Z8

TABB
incluse
dans la vue

Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8

TABA TABB TABC

SAP AG 1999

n Vous pouvez inclure des tables entires dans des vues de base de donnes. Dans ce cas, toutes les
zones de la table incluse deviennent des zones de la vue (vous avez la possibilit d'exclure certaines
zones de faon explicite). Si de nouvelles zones sont incluses dans la table ou si des zones existantes
sont supprimes, la vue fait l'objet d'un ajustement automatique en fonction de ces modifications.
Une zone nouvelle ou supprime est donc automatiquement incluse dans la vue ou supprime.
n Si une structure append est ajoute une table incluse dans une vue, les zones ajoutes avec la
structure append sont automatiquement incluses dans la vue.
n Pour inclure une table dans une vue, saisissez dans la gestion de la vue le caractre "*" dans la zone
Zone de vue, le nom de la table inclure dans la zone Table et de nouveau le caractre "*" dans la
zone Nom de zone.
n Si vous ne souhaitez pas inclure une zone de la table incluse dans la vue, procdez comme suit :
Saisissez un "-" dans la zone Zone de vue.
Saisissez le nom de la table incluse dans la zone Table.
Saisissez le nom de la zone dans la zone Nom de zone.

(C) SAP AG BC430 7-12


Vues de gestion

Objet d'application

Vue de gestion
sur les tables Z1 Z2 Z3 Z5 Z8 change de donnes
avec la vue de
gestion

Table 1 Table 3
Table 2
Z1 Z2 Z3 Z6 Z7 Z8
Z4 Z5

Cl externe Cl externe
SAP AG 1999

n Les donnes rparties sur plusieurs tables forment souvent une unit logique, appele objet
d'application. Vous devez tre capable d'afficher, de modifier et de crer conjointement les donnes
d'un tel objet d'application. En gnral, l'utilisateur ne s'intresse pas la mise en uvre technique de
l'objet d'application (par exemple, la rpartition des donnes entre plusieurs tables).
n Vous pouvez grer facilement des objets d'application complexes l'aide d'une vue de gestion. Les
donnes sont automatiquement rparties entre les tables de base de donnes sous-jacentes.
n Toutes les tables utilises dans une vue de gestion doivent tre lies par une cl externe. Les
conditions de jointure sont donc toujours drives de la cl externe dans la vue de gestion. Il est
impossible de saisir les conditions de jointure directement dans une vue de base de donnes.
n Une interface de gestion devant servir afficher, modifier et crer les donnes d'une vue doit tre
gnre partir de la dfinition de la vue de gestion dans le dictionnaire ABAP.
n Une fois cette interface de gestion cre, les modules fonction rpartissant les donnes gres avec la
vue des tables sous-jacentes sont gnrs automatiquement.
n Gnrez l'interface de gestion avec la transaction Gnrer vue de table (transaction SE54) ou partir
de l'cran de gestion des vues avec Utilitaire -> Gnrateur de gestion de table.

(C) SAP AG BC430 7-13


Inner Join et Outer Join

Table TABA Table TABB


Zone 1 Zone 2 Zone 3 Zone 4
A Texte 1 A Texte 3
B Texte 2 B Texte 4
C Texte 5

Condition de jointure

Qu'est-ce qui est affich avec la vue ?


Zone 1 Zone 2 Zone 4 Zone 1 Zone 2 Zone 4

A Texte 1 Texte 3 A Texte 1 Texte 3


B Texte 2 Texte 4 B Texte 2 Texte 4
C Texte 5

Inner join Outer join


SAP AG 1999

n Le groupe de donnes pouvant tre slectionn varie considrablement selon la mise en uvre d'un
Inner join ou d'un Outer join par la vue.
n Avec un Inner join, vous obtenez uniquement les enregistrements comportant une entre pour toutes
les tables incluses dans la vue. Avec un Outer join, en revanche, les enregistrements ne comportant
aucune entre correspondante pour certaines tables incluses dans la vue sont galement slectionns.
n La liste des occurrences obtenue avec un Inner join peut reprsenter un sous-ensemble de la liste
obtenue avec un Outer join.
n Les vues de base de donnes mettent en uvre un Inner join. Vous obtenez uniquement les
enregistrements comportant une entre pour toutes les tables incluses dans la vue.
n Les vues de gestion mettent en uvre un Outer join.

(C) SAP AG BC430 7-14


Rsum du chapitre

l Les enregistrements de donnes rpartis sur diffrentes


tables peuvent tre combins l'aide d'une vue
l Une vue est drive des tables concernes l'aide des
oprateurs relationnels de jointure, de projection et de
slection
l Les programmes ABAP peuvent slectionner des donnes
l'aide d'une vue. En gnral, la slection avec une vue de
base de donnes est plus rapide que la slection de table
directe avec une instruction SELECT imbrique
l Vous pouvez grer ensemble les enregistrements de
donnes de plusieurs tables avec une vue de gestion

SAP AG 1999

(C) SAP AG BC430 7-15


Exercices : vues

Chapitre : vues

la fin de ces exercices, vous serez en mesure :


de crer des vues ;
de dfinir des conditions de jointure ;
de dfinir des conditions de slection ;
de mettre en mmoire tampon des vues de base de donnes.
Les donnes existant pour un salari sont rparties dans plusieurs
tables (correspondant au modle de donnes relationnel).
Toutefois, pour certains exercices, une vue entire de ces
donnes est ncessaire. Ici, les vues correspondantes sont mises
en uvre via la cration de vues.

7-1 Le personnel navigant (ensemble des pilotes et des stewards) doit tre
slectionn lors de la mise en place d'un quipage. Il est possible que, lors
de l'accs aux donnes de la table ZEMPLOYxx, seule une partie d'entre
elles soit affiche. Par exemple, le salari mettant en place les quipages
peut ne pas visualiser le salaire des membres. Le numro de tlphone du
service du salari doit tre indiqu en cas de questions.
7-1-1 Crez une vue de base de donnes adapte ZEMPFLYxx rpondant
ces exigences. Les informations suivantes relatives un salari
doivent tre affiches :
Mandant
Cie arienne
Matricule
Prnom
Nom
Numro de tlphone du service
Code de service
7-1-2 Vrifiez que seul le personnel navigant peut tre slectionn via
cette vue.
7-1-3 Vous devrez probablement accder frquemment aux donnes
l'aide de la vue. Par consquent, les donnes slectionnes doivent
tre mises en mmoire tampon, afin d'amliorer les performances.
Slectionnez le type de mise en mmoire tampon Mise en mmoire
tampon totale.

(C) SAP AG BC430 7-16


7-2 Pour mettre en place les quipages, vous devez slectionner les
affectations de salaris existants pour des vols. Des informations
supplmentaires relatives au vol, telles que les villes de dpart et d'arrive,
sont particulirement importantes.
7-2-1 Crez une vue de base de donnes ZCREWSxx, afin d'afficher les
salaris affects tel ou tel vol.
Les donnes suivantes doivent apparatre :
Mandant
Cie arienne
Numro du vol
Date du vol
Matricule
Prnom et nom du salari
Rle du salari sur le vol (pilote, copilote ou steward)
Type d'avion
Ville de dpart du vol
Ville d'arrive du vol
Utilisez les conditions de jointure de la cl externe entre les tables
ZEMPLOYxx et ZFLCREWxx. Crez les cls externes avant de
dfinir la vue.

La table SFLIGHT contient les informations sur le type


d'avion. Les villes de dpart et d'arrive se situent dans la
table SPFLI.

7-2-2 Saisissez votre propre nom en tant que salari de la compagnie


arienne AA (American Airlines), puis affectez-vous le rle de pilote
sur un vol. Affichez ensuite vos villes de dpart et d'arrive avec la
vue.
7-3 Exercice supplmentaire : crivez un programme ABAP ditant
l'quipage affect un vol. Slectionnez les donnes avec la vue
ZCREWSxx. Les donnes suivantes doivent tre dites :
Cie arienne
Vol
Date du vol
Ville de dpart
Ville d'arrive
Pilote, copilote
Steward
Si vous avez dj suivi un cours sur la programmation ABAP, vous pouvez
diter les messages. Voici un exemple de message clair :
(C) SAP AG BC430 7-17
<Cie arienne> <Vol> le <Date_de_vol> de <Ville_de_dpart>
<Ville_d'arrive>:
Pilote : xx
Copilote : xx
Stewards : xx, xx, xx
xx dsigne ici le prnom, le nom et le matricule de la personne.
7-4 Exercice supplmentaire : crez une vue de gestion nomme
ZPARTNERxx permettant de grer facilement les nouveaux partenaires
commerciaux. Ces derniers sont saisis dans la table SBUSPART. Un
partenaire commercial peut correspondre un passager (client) ou une
agence de voyage. Dans ce dernier cas, il existe une entre
correspondante dans la table STRAVELAG.
Cette vue doit galement vous permettre de grer simultanment les tables
SBUSPART et STRAVELAG. Intgrez l'ensemble des zones des tables
ncessaires dans la vue.
Gnrez l'interface de gestion. Utilisez les paramtres suivants :
Groupe de fonctions : ZZBC430xx
Groupe d'autorisations : SUNI
Type de gestion : un niveau
cran de synthse : 100
Grez les donnes d'une nouvelle agence de voyages l'aide d'une gestion
de table dveloppe (Systme Services Gestion des tables Gestion
table ext.).

(C) SAP AG BC430 7-18


Solutions : vues

Chapitre : vues

7-1 Cette vue doit permettre de visualiser les donnes des tables ZEMPLOYxx
et ZDEPMENTxx. Pour crer la vue :
1) Dans l'cran initial du dictionnaire ABAP, marquez le type d'objet
Vue, saisissez le nom d'objet ZEMPFLYxx, puis cliquez sur Crer.
2) Une bote de dialogue vous invite slectionner le type de vue.
Marquez Vue de BD, puis cliquez sur Slectionner.
3) Saisissez une dsignation dans l'cran suivant.
La vue doit afficher des donnes relatives aux salaris (de la table
ZEMPLOYxx) et aux services (de la table ZDEPMENTxx).
4) Saisissez d'abord la table ZEMPLOYxx dans la zone Tables.
5) Cliquez sur Relations. L'ensemble des relations de cls externes de
la table ZEMPLOYxx vers d'autres tables sont rpertories. Marquez
la relation vers la table ZDEPMENTxx, puis cliquez sur Copier.
6) Les conditions de jointure sont copies partir de la cl externe.
Dans un mode diffrent, affichez la cl externe entre les deux tables,
puis notez la relation existant entre la cl externe et les conditions de
jointure.
7) Vous devez maintenant copier les zones des deux tables dans la
vue. Cliquez sur la page onglets Zones de vues.
8) Slectionnez Zones de table. Dans la bote de dialogue suivante,
marquez la table ZEMPLOYxx, puis cliquez sur Slectionner.
9) Toutes les zones de la table ZEMPLOYxx sont rpertories.
Marquez les zones Mandant, Cie arienne, Matricule, Prnom et
Nom. Cliquez sur Copier. Les zones marques sont prsent
insres dans la vue.
10) Slectionnez nouveau Zones de table. Dans la bote de dialogue,
slectionnez la table ZDEPMENTxx, puis insrez les zones
Tlphone du service et Code de service dans la vue en procdant
comme dcrit ci-dessus.
Seul le personnel navigant doit tre slectionn dans cette vue. Vous
pouvez dfinir cette dlimitation l'aide de conditions de slection.
11) Cliquez sur la page onglets Conditions de slect.
12) La dlimitation selon laquelle un salari appartient au personnel
navigant apparat dans la zone ZEMPLOYxx-Domaine. Saisissez-la
dans les colonnes Table et Nom de zone.
13) Le personnel navigant est identifi par la valeur "N" de la zone
Domaine. Saisissez EQ dans la colonne Oprateur et "N" (y compris
les apostrophes) dans la colonne Compar. valeur.
(C) SAP AG BC430 7-19
Mettez la vue en mmoire tampon.
14) Slectionnez Saut Options techniques. L'cran de gestion des
options techniques de la vue apparat. l'exception de certains
attributs sans importance pour les vues et qui ne sont par
consquent pas affichs, l'cran ressemble celui relatif la gestion
de tables.
15) Marquez Buffrisation active et Mise en mmoire tampon totale.
16) Sauvegardez les options techniques, puis revenez l'cran de
gestion des vues.
17) Activez la vue.
7-2 Cette vue doit permettre de visualiser l'ensemble des donnes des
tables ZFLCREWxx, ZEMPLOYxx, SFLIGHT et SPFLI. Pour crer la vue :
1) Crez d'abord la cl externe. Pour ce faire, accdez l'cran de
gestion de la table ZFLCREWxx. Dfinissez la cl externe avec la
table de contrle ZEMPLOYxx pour la zone EMP_NUM. Utilisez
l'affectation de zone propose par le systme. La cardinalit de la
relation est 1:CN et les zones de cls externes sont des zones-cls.
2) Dans l'cran initial du dictionnaire ABAP, slectionnez le type d'objet
Vue, saisissez le nom d'objet ZCREWSxx, puis cliquez sur Crer.
3) Une bote de dialogue vous invite slectionner le type de vue.
Marquez Vue de BD, puis cliquez sur Slectionner.
4) Saisissez une dsignation dans l'cran suivant.
La vue affiche des donnes relatives l'affectation des salaris sur les vols
(dans la table ZFLCREWxx), aux donnes des salaris (dans la table
ZEMPLOYxx) et aux donnes de vols (dans la table SFLIGHT). Les
informations relatives aux villes de dpart et d'arrive se trouvent dans le
plan des vols (table SPFLI) et non pas directement dans la table SFLIGHT.
5) Saisissez d'abord la table ZFLCREWxx dans la zone Tables.
6) Intgrez la table ZEMPLOYxx dans la vue, puis liez-la la table
ZFLCREWxx. Vous pouvez crer les conditions de jointure partir
de la cl externe entre les tables.
7) Placez le curseur sur ZFLCREWxx, puis cliquez sur Relations.
8) Une bote de dialogue rpertorie toutes les relations de cls externes
existant entre la table ZFLCREWxx et les autres tables. Marquez la
relation vers la table ZEMPLOYxx, puis cliquez sur Copier.
9) La table ZEMPLOYxx est saisie dans la zone Tables et les
conditions de jointure sont cres partir de la cl externe entre les
deux tables.
Crez les conditions de jointure suivantes :
ZEMPLOYxx-Mandant = ZFLCREWxx-CLIENT
ZEMPLOYxx-Cie arienne = ZFLCREWxx-CARRID
ZEMPLOYxx-Matricule = ZFLCREWxx-EMP_NUM
10) Incluez la table SFLIGHT dans la vue en procdant comme
prcdemment. Crez les conditions de jointure partir de la cl
externe entre les tables ZFLCREWxx et SFLIGHT. Elles doivent se
prsenter sous la forme suivante :
(C) SAP AG BC430 7-20
SFLIGHT-MANDT = ZFLCREWxx-CLIENT
SFLIGHT-CARRID = ZFLCREWxx-CARRID
SFLIGHT-CONNID = ZFLCREWxx-CONNID
SFLIGHT-FLDATE = ZFLCREWxx-FLDATE
11) Incluez la table SPFLI dans la vue en procdant comme
prcdemment. Les conditions de jointure peuvent tre cres
partir de la cl externe entre les tables SFLIGHT et SPFLI. Elles
doivent se prsenter sous la forme suivante :
SPFLI-MANDT = SFLIGHT-MANDT
SPFLI-CARRID = SFLIGHT-CARRID
SPFLI-CONNID = SFLIGHT-CONNID
12) Intgrez les zones suivantes dans la vue (se rfrer la solution de
l'exercice 1) :
partir des zones MANDT, CARRID, CONNID, FLDATE,
EMP_NUM et ROLE de la table ZFLCREWxx.
partir des zones Nom et Prnom de la table ZEMPLOYxx.
partir de la zone PLANETYPE de la table SFLIGHT.
partir des zones CITYFROM et CITYTO de la table SPFLI.
13) Activez la vue.
Pour saisir votre propre nom de salari, appelez Utilitaires Contenu de
table Crer entres partir de l'cran de gestion de la table
ZEMPLOYxx. Vous pouvez grer l'enregistrement de donnes ici. De la
mme manire, saisissez vos coordonnes dans la table ZFLCREWxx pour
un vol. Vous pouvez rechercher les informations partir de l'cran de
gestion pour la vue ZFLCREWxx via Utilitaires Contenu.
7-3 Examinez le programme SVIEW_CREW en tant que solution modle.
7-4 Procdez comme suit :
1) Dans l'cran initial du dictionnaire ABAP, marquez le type d'objet
Vue, saisissez le nom d'objet ZPARTNERxx, puis cliquez sur Crer.
2) Une bote de dialogue vous invite slectionner le type de vue.
Marquez Vue de gestion, puis cliquez sur Slectionner.
3) Saisissez une dsignation dans l'cran suivant.
Vous souhaitez grer simultanment les donnes des tables SBUSPART et
STRAVELAG dans la vue de gestion. Pour saisir directement un nouveau
partenaire, commencez par le saisir dans la table SBUSPART. Vous
pouvez alors saisir les donnes correspondantes dans la table
STRAVELAG (en raison du contrle de cls externes existant entre
SBUSPART et STRAVELAG). Vous devez donc commencer par intgrer la
table SBUSPART dans la dfinition de la vue de gestion.
4) Saisissez la table SBUSPART dans la zone Tables. Les zones-cls
de cette table sont automatiquement intgres dans la vue en tant
que zones.
5) Placez le curseur sur l'entre SBUSPART de la zone Tables. Cliquez
sur Relations.

(C) SAP AG BC430 7-21


6) Une bote de dialogue rpertorie toutes les relations de cls externes
existant entre la table SBUSPART et les autres tables. Marquez la
relation de cl externe vers la table STRAVELAG, puis cliquez sur
Copier.
7) Les conditions de jointure sont cres partir de la cl externe. Elles
se prsentent comme suit :
SBUSPART-MANDANT = STRAVELAG-MANDT
SBUSPART-MANDANT = STRAVELAG-MANDT
8) Intgrez les zones des deux tables dans la vue. Accdez la page
onglets Zones de vue. Positionnez le curseur sur la table
SBUSPART, puis cliquez sur Zones de table. La liste de l'ensemble
des zones de la table apparat. Cliquez sur Marquer tout, puis sur
Copier.
9) De la mme manire, intgrez dans la vue toutes les zones de la
table STRAVELAG, l'exception des zones MANDT et
AGENCYNUM. Ces zones sont lies aux zones correspondantes de
la table SBUSPART avec les conditions de jointure et ne doivent
donc pas apparatre dans la vue.
10) Activez la vue.
Gnrez une interface de gestion pour la vue.
11) Cliquez sur Utilitaires Gnrateur de gestion de table.
12) Saisissez le groupe d'autorisations SUNI et le groupe de fonctions
ZZBC430xx dans l'cran suivant.
13) Marquez le type de gestion un niveau. Slectionnez le numro
0100 en tant que numro d'cran de gestion de l'cran de synthse.
14) Cliquez sur Crer. Le systme vous invite saisir la classe de
dveloppement du groupe de fonctions et les objets de gestion
gnrs. Dans les deux cas, cliquez sur Objet local.
15) Appelez la gestion de table dveloppe l'aide du chemin de menu,
puis saisissez les donnes d'une nouvelle agence de voyages.
l'aide du Data Browser (situ dans le menu de l'cran initial du
dictionnaire ABAP), vrifiez que les donnes de la nouvelle agence
de voyages figurent dans les tables SBUSPART et STRAVELAG.

(C) SAP AG BC430 7-22


Aides la recherche

l Aide la saisie dans le systme R/3


l Aide la recherche d'objets dans le dictionnaire
ABAP
n Mthode de slection d'une aide la recherche
n Droulement du dialogue dans une aide la
recherche
n Interface d'une aide la recherche
l Rattachement d'aides la recherche des zones
l Aides la recherche groupe et lmentaire
l Aides la recherche append

SAP AG 1999

(C) SAP AG BC430 8-1


Objectifs du cours

la fin de ce chapitre, vous serez en mesure :


l De dfinir un processus d'aide la saisie avec une aide
la recherche
l De dfinir une aide la recherche avec plusieurs
chemins de recherche
l D'utiliser divers mcanismes d'intgration d'aide la
recherche pour affecter une aide la recherche une
zone d'cran
l De dterminer l'existence ventuelle d'une aide la
saisie pour une zone d'cran, ainsi que sa forme
l D'tendre une aide la recherche groupe avec une aide
la recherche append sans modification

SAP AG 1999

(C) SAP AG BC430 8-2


Fonction standard de R/3 : aide la saisie

Cie arienne LH
N Ville de dpart Ville d'arrive
0400 Frankfurt New York

Gestion des vols 0402 Frankfurt New York


2402 Frankfurt Berlin

Cie arienne LH ... ... ...

N de vol F4

...

SAP AG 1999

n L'aide la saisie (touche F4) est une fonction standard du systme R/3. Elle permet l'utilisateur
d'afficher une liste des valeurs possibles pour une zone d'cran. Celui-ci peut ensuite copier
directement une valeur dans une zone de saisie en la slectionnant dans la liste.
n Le systme R/3 affiche la touche d'aide la saisie droite des zones qui y ont accs. Cette touche
apparat ds que le curseur est positionn sur la zone d'cran correspondante. Pour lancer l'aide,
cliquez sur cet lment d'cran ou utilisez la touche de fonction F4.
n Si le nombre d'entres possibles pour une zone est trs important, vous pouvez restreindre l'ensemble
des valeurs affiches en saisissant d'autres limitations.
n L'affichage des entres possibles peut tre tendu avec l'apport d'informations utiles les concernant.
Cette caractristique est particulirement utile lorsqu'une zone requiert la saisie d'une cl formelle.
n Dans la mesure o l'aide la saisie est une fonction standard, son aspect et son fonctionnement sont
identiques dans l'ensemble du systme R/3. L'environnement de dveloppement propose par
consquent des outils permettant d'affecter une aide la saisie normalise une zone d'cran.
n En gnral, la description prcise de l'aide la saisie correspondant une zone est dfinie par sa
smantique. C'est pourquoi l'aide la saisie correspondant une zone est dfinie dans le dictionnaire
ABAP.

(C) SAP AG BC430 8-3


Conditions requises pour l'aide la saisie

Dtermination Dialogue avec


des valeurs l'utilisateur

Prise en compte du contexte Valeurs renvoyes

SAP AG 1999

n Plusieurs conditions sont requises pour le fonctionnement d'une aide la saisie d'une zone d'cran
(zone de recherche).
n Les informations (relatives au contexte) connues du systme doivent tre prises en compte dans
l'aide la saisie, savoir les entres dj effectues par l'utilisateur dans le modle de saisie courant
et les informations obtenues lors de prcdentes tapes de dialogue. Pour limiter le groupe de valeurs
possibles, l'aide la saisie recourt habituellement au contexte.
n L'aide la saisie doit dterminer les valeurs pouvant tre slectionnes par l'utilisateur, ainsi que
celles afficher en tant qu'informations supplmentaires dans la liste des valeurs possibles. Une fois
les valeurs possibles dtermines, les restrictions dcoulant du contexte et de conditions de recherche
spcifies par l'utilisateur doivent galement tre prises en compte.
n Un dialogue doit s'instaurer entre l'aide la saisie et l'utilisateur. Ce dialogue doit toujours prsenter
les valeurs possibles (avec des informations complmentaires) sous forme de liste et permettre de
slectionner une valeur dans cette liste. Un modle de recherche dans lequel l'utilisateur peut dfinir
les conditions d'affichage de valeurs est parfois ncessaire.
n Lorsque l'utilisateur slectionne une valeur, l'aide la saisie doit la renvoyer la zone de recherche.
Le modle de saisie comprend souvent davantage de zones (d'affichage uniquement, en rgle
gnrale) contenant des explications sur la zone de recherche. L'aide la saisie met galement jour
le contenu de ces zones.

(C) SAP AG BC430 8-4


Aide la recherche d'objets dans le dictionnaire
ABAP

Mthode de Droulement
slection du dialogue

Aide la
recherche

Interface

SAP AG 1999

n L'objet du dictionnaire ABAP aide la recherche permet de dcrire une aide la saisie. La
dfinition contient les informations ncessaires au systme pour remplir les conditions requises.
n L'interface de l'aide la recherche contrle le transfert des donnes du modle de saisie vers l'aide
F4, ainsi que leur renvoi. Elle dfinit les donnes contextuelles utiliser et les donnes renvoyer
vers le modle de saisie lors de la slection d'une valeur.
n Le droulement interne de l'aide la recherche dcrit le processus F4. Ce processus inclut la
mthode de slection, qui dtermine les valeurs afficher, ainsi que le droulement du dialogue,
qui dcrit l'interaction avec l'utilisateur.
n Comme pour les modules fonction, les aides la recherche tablissent une distinction entre
l'interface via laquelle elles changent des donnes avec d'autres logiciels et le droulement interne
(dfini par le texte source dans le cas des modules fonction).
n Il est opportun de dfinir une aide la recherche uniquement s'il existe un mcanisme permettant d'y
accder partir d'un cran. Il s'agit de l'intgration d'une aide la recherche, dcrite
ultrieurement.
n l'instar de l'diteur de modules fonction, l'diteur des aides la recherche vous permet de tester un
objet. Ainsi, vous pouvez tester le droulement d'une aide la recherche sans l'affecter une zone
d'cran.

(C) SAP AG BC430 8-5


Mthode de slection d'une aide la recherche

Gestion des vols

Cie arienne LH

N de vol F4 SELECT * FROM SPFLI


... WHERE CARRID = 'LH'.

SPFLI

SAP AG 1999

n Les entres possibles affiches pour une zone par l'aide la saisie sont dtermines au moment de
l'excution par une slection dans la base de donnes. Lors de la dfinition d'une aide la recherche,
indiquez l'objet de base de donnes dans lequel les donnes doivent tre slectionnes en spcifiant
une table ou une vue comme mthode de slection.
n Il est opportun d'utiliser une vue comme mthode de slection si les donnes des valeurs possibles
convenant l'aide la recherche sont rparties dans plusieurs tables. Si ces donnes sont rassembles
dans une seule table ou dans la table de texte correspondante, utilisez la table comme mthode de
slection. Le systme garantit automatiquement que le texte de la table de texte est utilis dans la
langue de travail de l'utilisateur.
n S'il n'existe aucune vue associant les donnes utiles pour une aide la saisie, crez-la dans le
dictionnaire ABAP.
n Les vues de gestion peuvent ne pas servir de mthode de slection pour une aide la recherche. En
rgle gnrale, une vue de base de donnes est utilise. Toutefois, gardez l'esprit que les vues de
base de donnes (dans le systme R/3) sont toujours cres avec un inner join. Par consquent, seules
les valeurs disposant d'une entre dans chaque table concerne sont proposes dans l'aide la saisie.
Les valeurs doivent parfois tre dtermines avec un outer join. Dans ce cas, slectionnez une vue
d'aide comme mthode de slection. Pour plus d'informations sur les vues d'aide, rfrez-vous
l'annexe.
n Si la mthode de slection d'une aide la recherche dpend du mandant, les valeurs possibles sont
slectionnes uniquement dans le mandant de connexion de l'utilisateur.

(C) SAP AG BC430 8-6


Description du droulement du dialogue

Z4 Cie arienne LH
N Ville de dpart Ville d'arrive
0400 Frankfurt New York
0402 Frankfurt New York
2402 Frankfurt Berlin
... ... ...

Cie arienne =
LH
N de correspondance [*] 0*
Ville de dpart
Ville d'arrive

Limiter l'affichage 500 Aucune limite

SAP AG 1999

n Les valeurs possibles sont prsentes dans la bote de dialogue d'affichage de la liste
d'occurrences dans laquelle l'utilisateur peut slectionner des valeurs. Si les valeurs possibles sont
des cls formelles, davantage d'informations doivent tre affiches.
n Si la liste d'occurrences est trs volumineuse, l'utilisateur doit tre en mesure de dfinir davantage de
limitations pour les attributs de l'entre. Le fait de limiter ainsi les valeurs possibles permet
d'amliorer la prcision de la liste et de rduire la charge du systme. D'autres conditions peuvent
tre saisies dans une nouvelle fentre de dialogue, savoir la bote de dialogue de limitation des
valeurs.
n Lorsque vous spcifiez le type de dialogue d'une aide la recherche, indiquez si la bote de dialogue
de limitation des valeurs doit tre affiche avant que la liste d'occurrences ne soit dtermine.
n Dfinissez les caractristiques afficher dans l'une des botes de dialogue (ou dans les deux) comme
paramtres de l'aide la recherche. Vous pouvez utiliser l'ensemble des zones de la mthode de
slection ( l'exception de la zone mandant) et les zones non-cls de votre table de texte en tant que
paramtres.
n Dfinissez les paramtres afficher dans les botes de dialogue (selon l'ordre spcifi) en affectant
les emplacements de paramtres dans les deux botes de dialogue. Les paramtres (ou les ordres)
peuvent tre diffrents dans les deux botes de dialogue.
n Les types doivent tre dfinis pour les paramtres d'aide la recherche avec des lments de
donnes. Ils dfinissent l'affichage des deux botes de dialogue. Si rien d'autre n'est dfini, un
paramtre utilise l'lment de donnes de la zone correspondante de la mthode de slection.

(C) SAP AG BC430 8-7


Interface d'une aide la recherche

Z4
Cie arienne LH
N Ville de dpart Ville d'arrive
0400 Frankfurt New York
0402 Frankfurt New York

Import
et export

Cie arienne LH

N de vol 0* F4

... Export
SAP AG 1999

n Lorsque vous dfinissez un paramtre d'une aide la recherche, vous devez galement indiquer s'il
doit servir copier les donnes dans l'aide la saisie (paramtre IMPORT) ou renvoyer les donnes
partir de l'aide la saisie (paramtre EXPORT).
n Les paramtres IMPORT et EXPORT d'une aide la recherche constituent votre interface. (Il en est
quasiment de mme pour les modules fonction.)
n Dfinissez galement les paramtres d'interface n'apparaissant ni dans la bote de dialogue
d'affichage de la liste des occurrences, ni dans la bote de dialogue pour la limitation des valeurs.
Une telle dfinition est particulirement utile lorsque, par exemple, les zones d'cran n'apparaissant
dans aucune bote de dialogue doivent tre mises jour lors de la slection d'une valeur.
n L'emplacement partir duquel les paramtres IMPORT d'une aide la recherche obtiennent leurs
valeurs et les zones d'cran dans lesquelles le contenu des paramtres EXPORT est rintgr sont
dfinis dans l'intgration de l'aide la recherche.
n La zone de recherche constitue un cas spcial. Son contenu est utilis dans l'aide la saisie
uniquement s'il s'agit d'une chane de recherche (c'est--dire si elle contient un "*" ou un "+") et si le
paramtre li cette zone est un paramtre IMPORT.
n Les paramtres comprenant uniquement des informations complmentaires sur la zone de recherche
ne doivent pas tre dfinis comme des paramtres IMPORT, sinon l'utilisateur doit vider les zones
d'cran correspondantes chaque fois qu'il souhaite dfinir une nouvelle valeur avec l'aide la saisie.

(C) SAP AG BC430 8-8


Utilisation des aides la recherche

Aide la recherche
Droulement interne

Interface

Renvoi au
DDIC
Modle de saisie
Zone de
Zone 1 recherche Zone 3 ...
Zone 1 Table/structure

Zone de F4
recherche
Zone 3 Dfinitions dans
Screen Painter
SAP AG 1999

n Une aide la recherche dcrit le droulement d'une aide la saisie. Elle est active l'aide d'un
mcanisme l'affectant cette zone. Il s'agit de l'intgration d'une aide la recherche une zone.
n L'intgration d'une aide la recherche une zone a un impact sur le comportement de la zone. C'est
pourquoi elle est considre comme faisant partie de la dfinition de zone.
n En rgle gnrale, les attributs smantiques et techniques d'une zone d'cran (type, longueur, touche
F1,...) ne sont pas dfinis en mme temps que le modle de saisie. Seule une rfrence une zone du
dictionnaire ABAP (portant souvent le mme nom) est spcifie dans Screen Painter. La zone d'cran
acquiert les attributs de cette zone.
La dfinition de l'aide la saisie d'une zone d'cran suit le mme principe. L'aide la recherche est
intgre la zone de recherche du dictionnaire ABAP et non la zone d'cran.
n Les paramtres d'interface de l'intgration de l'aide la recherche et les zones d'cran fournissant des
donnes l'aide la saisie ou recevant des donnes de celle-ci sont affects les uns aux autres. La
zone de recherche doit alors tre affecte un paramtre EXPORT de l'aide la recherche. Ce
paramtre doit galement tre un paramtre IMPORT, de manire ce que l'utilisateur puisse se
servir des modles de recherche existants.
n Les zones ne disposant pas d'intgration d'aide la recherche peuvent disposer d'une aide la saisie,
car d'autres mcanismes (comme les constantes de domaine) sont galement utiliss pour l'aide F4.

(C) SAP AG BC430 8-9


Intgration d'aides la recherche dans le
dictionnaire ABAP

Aide la recherche
Droulement interne

Interface

Table de contrle
Partie lment de
MANDT Cl 1 Cl 2 donnes
donnes

MANDT Zone de Zone 3


Zone 1 ...
recherche
Table/structure
SAP AG 1999

n Trois mcanismes permettent d'intgrer une aide la recherche une zone du dictionnaire ABAP.
n Une aide la recherche peut tre intgre directement une zone, une structure ou une table. La
dfinition de cette intgration est analogue celle d'une cl externe. Dfinissez une affectation (entre
les paramtres d'interface de l'aide la recherche et les zones de la structure) aprs proposition du
systme.
n Si une zone possde une table de contrle, le contenu de cette zone est automatiquement propos
comme valeurs possibles pour l'aide la saisie. Les zones-cls de la table de contrle sont affiches.
Si une table de contrle dispose d'une table de texte, sa premire zone caractre non-cl apparat.
Si la description de l'affichage standard des donnes de la table de contrle ne vous convient pas,
vous pouvez intgrer une aide la recherche cette table. Cette aide sert l'ensemble des zones
ayant pour table de contrle cette table. Spcifiez une affectation entre l'interface de l'aide la
recherche et les cls de la table de contrle lors de la dfinition de l'intgration.
n La smantique d'une zone et ses valeurs possibles sont dfinies par ses lments de donnes. Vous
pouvez donc intgrer une aide la recherche un lment de donnes. Cette aide devient alors
disponible pour toutes les zones se rfrant cet lment de donnes. Dans l'intgration, dfinissez
un paramtre EXPORT de l'aide la recherche pour le transfert de donnes.
n l'intgration d'une aide la recherche une table de contrle (ou un lment de donnes) peut
augmenter le degr de rutilisation. Le transfert de valeurs via l'interface de l'aide la recherche est
nanmoins limit.

(C) SAP AG BC430 8-10


Vue d'ensemble : mcanismes d'aide la saisie

Aide la saisie partir de l'cran

existe
Aide la recherche pour zone n'existe pas
redirig
PROCESS ON
VALUE-REQUEST
Aide de la table de contrle
Aide la recherche
pour zone d'cran
Aide rech.
pour table de Aide la recherche
contrle pour lment de donnes
Contrle de la
logique d'excution
Table de contrle
FIELD SELECT Constantes
avec table de texte
FIELD VALUES

Valeurs-cls de
la table de Aide calendrier
contrle ou dure

SAP AG 1999

n Afin de pouvoir proposer une aide la saisie significative pour le plus grand nombre possible de
zones d'cran, le systme R/3 utilise de nombreux mcanismes. Si plusieurs d'entre eux sont
disponibles pour une zone, celui qui se trouve le plus gauche ou au sommet de la hirarchie
illustre ci-dessus est employ.
n Vous pouvez dfinir l'aide la saisie dans une zone du dictionnaire ABAP l'aide des options
dcrites ci-dessus ou dans la zone d'cran. Cette dernire solution prsente l'inconvnient d'interdire
toute rutilisation automatique.
n Avec l'vnement d'cran POV, vous pouvez programmer vous-mme l'aide la saisie d'une zone.
Pour ajuster la conception de l'aide standard, utilisez les modules fonction
F4IF_FIELD_VALUE_REQUEST ou F4IF_INT_TABLE_VALUE_REQUEST.
Vrifiez nanmoins si la partie de l'aide la saisie que vous avez programme doit plutt tre mise
en uvre comme un exit d'aide la recherche (rfrez-vous l'annexe).
n Vous pouvez intgrer une aide la recherche une zone d'cran dans Screen Painter. Contrairement
l'intgration du dictionnaire ABAP, ce type d'intgration comporte des limitations fonctionnelles.
n N'utilisez plus les contrles de saisie dfinis directement dans la logique d'excution de l'cran et
avec lesquels vous pouvez galement driver des aides la saisie.
n Le menu contextuel de la liste d'occurrences comporte la fonction Info technique. Cette dernire peut
servir connatre le mcanisme en cours d'utilisation.

(C) SAP AG BC430 8-11


Performances de l'aide la saisie

Gestion des vols

Cie arienne LH

N de vol F4

...

SAP AG 1999

n Vous tes parfois amen rechercher un grand volume de donnes avec une aide la recherche. Les
entres possibles peuvent alors mettre beaucoup de temps s'afficher et la charge du systme s'en
trouve considrablement accrue.
n Par consquent, lorsque vous dfinissez une aide la recherche, vous devez vrifier s'il est ncessaire
de prendre des mesures afin d'optimiser l'accs pour la mthode de slection. Cela se vrifie tout
particulirement si la slection utilise une vue et, donc, plusieurs tables physiques.
n Si le nombre d'entres dans la mthode de slection est trs important, limitez la liste d'occurrences
au moyen d'autres conditions. Cette opration clarifie galement la liste. Les conditions
supplmentaires peuvent rsulter directement du contexte ou tre saisies dans la bote de dialogue de
limitation des valeurs. Il est souvent possible d'amliorer de manire significative les performances
de l'aide la saisie en crant un index pour les zones utilises dans la formulation des limitations.
n Si le nombre d'entres dans la mthode de slection est relativement petit, vrifiez systmatiquement
si la mthode de slection peut tre mise en mmoire tampon.

(C) SAP AG BC430 8-12


Chemins de recherche alternatifs

Quel tait le numro de Quelles sont les


rservation pour mon rservations qui ont t
vol destination de effectues dans notre
New York ? agence de voyages ?

SAP AG 1999

n Dans le modle de donnes relationnel, les entits sont habituellement reprsentes par des cls
formelles. En revanche, dans la ralit, elles sont souvent identifies par un ou plusieurs de leurs
attributs. Ainsi, la cl d'une personne est le matricule. Une personne est gnralement dsigne par
son nom et ventuellement son adresse.
n Les attributs utiliss pour identifier une entit peuvent diffrer selon les utilisateurs et les situations.
Un utilisateur utilise ces attributs dans une aide la saisie, afin de dfinir une valeur pour une zone
requrant la saisie d'une cl formelle.
n Des chemins de recherche permettant d'accder aux donnes avec des zones non-cls sont donc
ncessaires. Plusieurs chemins de recherche doivent exister pour une zone.
n Un chemin de recherche pour une zone peut tre mis en uvre avec une aide la recherche du type
dcrit plus haut. Pour dcrire une aide la saisie avec plusieurs chemins de recherche, plusieurs
aides la recherche peuvent tre combines pour former un nouvel objet dans le systme R/3. Cet
objet correspondant la description de l'aide la saisie pour une zone, il est galement appel aide
la recherche.
n Contrairement aux aides la recherche lmentaires dcrites plus haut, les aides la recherche
combinant plusieurs chemins de recherche sont appeles aides la recherche groupes.
n Les aides la recherche groupes servent parfois mettre en correspondance la rpartition des
entres possibles pour une zone de plusieurs groupes de donnes (unis).

(C) SAP AG BC430 8-13


Aides la recherche groupe et lmentaire

Aide la recherche groupe


Aides la recherche incluses

Droulement interne Droulement interne

Interface Interface

Interface

SAP AG 1999

n l'instar d'une aide la recherche lmentaire, une aide la recherche groupe dispose d'une
interface de paramtres IMPORT et EXPORT pour l'change des donnes. Avec cette interface,
l'aide la recherche collective peut tre intgre des zones, des tables et des lments de donnes
exactement comme une aide la recherche lmentaire.
Une seule aide la recherche peut tre intgre une zone, une table ou un lment de donnes.
Plusieurs chemins de recherche sont donc rattachs une aide la recherche groupe.
n Lorsque vous dfinissez une aide la recherche groupe, il est inutile de tenir compte des
composantes pour dcrire le dialogue et la slection de donnes. Les aides la recherche incluses
sont rpertories ici. Pour chaque inclusion, vous devez affecter les paramtres de l'aide la
recherche groupe aux paramtres d'interface de l'aide la recherche incluse.
n Une aide la recherche peut galement tre incluse dans plusieurs aides la recherche groupes et,
simultanment, tre elle-mme intgre des zones, des tables et des lments de donnes. Une aide
la recherche groupe peut galement tre incluse dans une autre aide la recherche de mme type.
n Lorsque vous utilisez une aide la recherche groupe, le systme vous propose les aides la
recherche lmentaires qu'elle contient comme pages onglet parallles. Si vous recourez plusieurs
reprises une aide la recherche groupe, la dernire page onglet utilise est automatiquement
active, car les utilisateurs emploient gnralement le mme chemin de recherche.

(C) SAP AG BC430 8-14


Aides la recherche append

Aide la recherche ajoute


groupe (SAP)

Aides la recherche incluses


Aides la recherche incluses

... ...

Aide la recherche
append (mandant)

SAP AG 1999

n Le groupe de chemins de recherche appropri un objet dpend en grande partie de la situation du


client SAP. Celui-ci souhaite souvent tendre les aides la recherche groupes standard SAP avec
ses propres aides la recherche lmentaires. La version 4.6 comporte une technique d'ajout
permettant l'tendue d'aides la recherche groupes sans apporter de modification.
n Une aide la recherche append est une aide la recherche groupe affecte une autre aide du
mme type (son objet) et qui l'tend avec ses aides la recherche d'ajout. L'aide la recherche
append utilise l'interface de ses objets.
n L'aide la recherche append se situe dans l'espace nom client. Normalement, les aides la recherche
incluses dans l'aide la recherche append sont galement cres par le client et se situent dans
l'espace nom client. Cependant, l'aide la recherche lmentaire peut tre fournie par SAP, auquel
cas il suffit que le client l'ajoute sa propre aide la recherche append.
n Les aides la recherche append permettent d'amliorer la sparation des composantes SAP.
Certaines aides la recherche groupes SAP disposent donc dj d'une ou plusieurs aides la
recherche append dans l'aide la recherche standard. Les extensions client doivent toujours tre
effectues en crant une aide la recherche append distincte.
n Les aides la recherche groupes SAP contiennent frquemment des aides la recherche
lmentaires ne servant pas certains clients. Il est alors possible de masquer ces aides la recherche
lmentaires avec une aide la recherche append. Pour ce faire, l'aide la recherche correspondante
doit tre incluse dans l'aide la recherche append et le drapeau Masque doit tre dfini.

(C) SAP AG BC430 8-15


Rsum du chapitre

l L'aide la saisie (aide F4) est une fonction standard


du systme R/3
l Les aides la recherche permettent de dcrire
facilement et avec souplesse les aides la saisie
l Les tables et les vues peuvent tre utilises comme
mthode de slection d'une aide la recherche
l L'affichage d'une aide la saisie se dtermine dans
les paramtres de l'aide la recherche
l Les aides la recherche peuvent tre lies des
zones, des tables et des lments de donnes
l Les aides la recherche groupes permettent de
mettre en uvre des aides la saisie avec des
chemins de recherche alternatifs
l Les aides la recherche pour aides la recherche
groupes standard peuvent tre ajoutes ou
masques sans modification grce aux aides la
SAP AG 1999
recherche append

(C) SAP AG BC430 8-16


Exercices : aides la recherche

Chapitre : aides la recherche

la fin de ces exercices, vous serez en mesure :


de mettre en uvre les aides la saisie avec des aides la
recherche lmentaires ;
d'appliquer les diffrentes caractristiques d'intgrations d'aide
la recherche dans le dictionnaire ABAP ;
de dfinir les aides la saisie avec plusieurs chemins de
recherche au moyen d'aides la recherche groupes ;
d'ajouter ou de supprimer les chemins de recherche d'aides la
recherche groupes sans apporter de modifications.

Plusieurs tches de gestion ncessitent une recherche de


donnes de salaris. Pour ce faire, des options de recherche
adaptes sont requises. Cet exercice consiste les mettre en
uvre.

8-1 Accdez l'cran d'affichage de la table ZDEPMENTxx, puis appelez


Utilitaires Contenu de table Crer entres. Un modle de saisie dans
lequel vous crez de nouvelles entres pour la table ZDEPMENTxx (par
exemple de nouveaux services) apparat. Le chef du nouveau service doit
galement y tre dfini. Effectuez cette saisie dans la zone Chef de service.
La gestion de cette zone doit tre supporte par une aide la saisie
affichant le salari (c'est--dire son matricule).
Vrifiez que la zone dispose dj d'une aide la saisie. Dterminez le
mcanisme d'aide la saisie utilis ici.
L'objectif consiste rendre l'aide la saisie de la table de contrle
ZEMPLOYxx plus conviviale. Pour contrler le rsultat, appelez nouveau
l'aide la saisie.
Pour ce faire, crez une aide la recherche lmentaire ZEMPLOYxx.
Les attributs suivants doivent apparatre dans l'ordre spcifi de la liste des
occurrences :
Cie arienne
Prnom
Nom
Matricule

(C) SAP AG BC430 8-17


Code de service
Etant donn le nombre lev de salaris, limitez les valeurs affiches en
indiquant le prnom et/ou le nom de la personne avant d'afficher la liste
d'occurrences.
N'oubliez pas que, pour procder une dlimitation, le nom est utilis plus
souvent que le prnom.
Si une compagnie arienne a t spcifie avant l'appel de l'aide la
saisie, seuls ses salaris sont proposs. Sinon, une zone de saisie dans le
modle de saisie de la compagnie arienne est renseigne lors de la
slection du salari.
Assurez-vous que l'aide la recherche dfinie pour l'aide de table de
contrle de la table ZEMPLOYxx est utilise, puis contrlez le rsultat en
procdant comme prcdemment.
8-2 Pour vrifier que l'aide la saisie de la zone ZFLCREWxx-EMP_NUM est
dfinie au moyen de l'aide la recherche venant d'tre cre, appelez
Crer entres dans la table ZFLCREWxx. Comprenez le mcanisme
sous-jacent.
L'aide la saisie de la zone ZFLCREWxx-EMP_NUM affiche l'ensemble
des salaris. Cependant, vous souhaitez uniquement examiner le personnel
navigant de la zone slectionne. L'objectif consiste corriger cela.
Crez une aide la recherche ZEMPLOY_FLYxx affichant uniquement le
personnel navigant. Les attributs d'affichage de l'aide la recherche doivent
tre identiques ceux de l'aide la recherche ZEMPLOYxx. Cependant, la
taille du groupe du personnel naviguant n'tant pas excessive, la liste des
occurrences peut tre affiche immdiatement. L'utilisateur doit tre en
mesure de dlimiter les salaris l'aide de leurs noms et prnoms figurant
dans cette liste.
En utilisant une intgration d'aide la recherche adapte, vrifiez si l'aide
la recherche est utilise pour la zone correspondante, puis examinez le
rsultat de la dmarche en suivant la procdure dcrite prcdemment.

Dterminez si vous pouvez ou non utiliser le travail rsultant


des exercices prcdents. Est-il ncessaire ou pertinent de
crer votre propre vue pour cet exercice ?

8-3 Exercice supplmentaire : sous Crer entres, vrifiez que les zones
contenant le matricule de la personne l'origine de la dernire modification
apporte aux tables ZEMPLOYxx et ZDEPMENTxx ne disposent pas de
leur propre aide la saisie.
L'objectif de cet exercice consiste dfinir une aide la saisie approprie
pour ces deux zones. Les deux aides la recherche dfinies ne peuvent
pas tre utilises, car les tables peuvent tre modifies uniquement par les
employs administratifs. L'aide la saisie dfinir doit par consquent
afficher uniquement celles-ci.
Dfinissez l'aide la recherche ZEMPLOY_ADMxx affichant les employs
administratifs des compagnies ariennes. Cette aide doit possder les
mmes attributs d'affichage que ZEMPLOY_FLYxx. Toutefois, il est difficile
d'valuer le nombre d'employs administratifs. Assurez-vous que l'aide la
(C) SAP AG BC430 8-18
recherche affiche directement les valeurs trouves s'il en existe 100
maximum. Sinon, proposez un modle de recherche o dfinir la
compagnie arienne du salari, ainsi que ses nom et prnom.
Intgrez l'aide la recherche l'lment de donnes. Vrifiez que l'aide la
recherche est prsent utilise la fois dans ZEMPLOYxx et
ZDEPMENTxx pour l'aide la saisie de la zone Modifi par.
Contrlez si les conditions spcifies pour la zone Cie arienne dans
l'exercice 1 sont remplies. Comment expliquez-vous ce rsultat ?
Pouvez-vous l'amliorer en utilisant un autre type d'intgration ?
8-4 Vous pouvez ventuellement proposer d'autres chemins de recherche pour
trouver des salaris. Pour ce faire, procdez comme suit :
Copiez l'aide la recherche ZEMPLOYxx dans l'aide la recherche
ZEMPLOY_SIMPLExx.
Transformez l'aide la recherche ZEMPLOYxx en aide la recherche
groupe.
Intgrez l'aide la recherche ZEMPLOY_SIMPLExx dans l'aide la
recherche ZEMPLOYxx.
Contrlez si l'aide la saisie de la zone ZDEPMENTxx-Superviseur a t
modifie aprs ces tapes.
8-5 Vous devez absolument dvelopper l'aide la saisie des salaris l'aide
d'un autre chemin de recherche aboutissant une vue d'ensemble des
salaris concerns par un vol.
Pour ce faire, crez une autre aide la recherche lmentaire
ZEMPLOY_FLIGHTxx.
Au moyen de celle-ci, l'utilisateur peut limiter la recherche au personnel
navigant de certains vols avant l'affichage des valeurs possibles. Le vol doit
tre identifi par les villes de dpart et d'arrive et par la date du vol.
La compagnie arienne doit tre dfinie selon la procdure dcrite
l'exercice 1.
Les informations suivantes doivent apparatre dans la liste des occurrences
de l'aide la recherche :
Cie arienne
Prnom
Nom
Matricule
Vol
Date du vol
Assurez-vous que l'aide la recherche cre existe comme chemin de
recherche alternatif pour rechercher les salaris, puis vrifiez vos rsultats.

Utilisez les solutions des chapitres prcdents.

(C) SAP AG BC430 8-19


8-6 Votre systme prsente des exigences particulires pour la recherche de
salaris :
8-6.1.1 Un chemin de recherche supplmentaire proposant uniquement le
personnel navigant doit exister.
8-6.1.2 Le chemin de recherche destin trouver les salaris en fonction
des vols est inutile.
Modifiez l'aide la saisie de la zone ZDEPMENTxx-Chef de service en
consquence, sans modifier l'aide la recherche ZEMPLOYxx (ni une table
implique).
8-7 Exercice supplmentaire : appelez la fonction Crer entres pour la table
ZEMPLOYxx. Vrifiez que l'aide de la table de contrle pour la table
ZDEPMENTxx est utilise pour la zone Code de service. Dterminez la
provenance de la zone de texte affiche. Contrlez le comportement de
l'aide la saisie pour la zone Cie arienne dans le modle de saisie.

prsent, dveloppez l'aide de la table de contrle teste de manire ce


que le numro de tlphone du service apparaisse dans la liste
d'occurrences en plus des informations dj affiches. Prenez les mesures
ncessaires, puis contrlez vos rsultats en suivant la dmarche habituelle.
8-8 Exercice supplmentaire : cet exercice dcrit l'utilisation des vues d'aide
(rfrez-vous l'annexe).
tendez l'aide la recherche dfinie dans l'exercice 7 de manire ce que
le nom du chef de service s'affiche galement dans la liste d'occurrences.
Assurez-vous que les services dpourvus de description dans le langage de
connexion de l'utilisateur ou dont la zone Chef de service est vide sont
galement affichs.
Dans la liste d'occurrences, vrifiez que l'en-tte de colonne comportant les
noms de famille des chefs de service est nomm "Chef de service" et non
pas "Nom". Utilisez l'lment de donnes S_HEAD.
Contrlez vos rsultats selon la procdure habituelle.

(C) SAP AG BC430 8-20


Solutions : aides la recherche

Chapitre : aides la recherche

8-1 Commencez par la transaction de gestion de la table ZDEPMENTxx et


appelez l'aide F4 comme dcrit prcdemment. Cliquez sur Info techn.
(avec le bouton droit de la souris) dans la liste d'occurrences. Dans Aide
la recherche, vous pouvez remarquer que l'aide la saisie constitue
exclusivement une aide pour la table de contrle (sans aide la recherche
ni table de texte) de la table ZEMPLOYxx.
Pour crer l'aide la recherche ZEMPLOYxx :
1) Cliquez sur Aide la recherche dans l'cran initial du dictionnaire
ABAP, puis saisissez ZEMPLOYxx dans la zone correspondante.
2) Cliquez sur Crer. Dans la bote de dialogue suivante, confirmez la
cration d'une aide la recherche lmentaire.
3) Saisissez une dsignation pour votre aide la recherche.
4) L'aide la recherche doit supporter la recherche des salaris.
Ceux-ci sont grs dans la table ZEMPLOYxx. Vous devez donc
slectionner cette table (ou une vue de cette table) comme mthode
de slection. Cette table suffit pour cet exercice. Saisissez-la dans la
zone Mthode de slection.
5) Pour obtenir le droulement requis, slectionnez le type de dialogue
Dialogue complexe avec limitation des valeurs.
6) Pour slectionner les paramtres d'aide la recherche, utilisez
l'aide F4. Pour conserver la liste d'occurrences avec les paramtres
d'aide la recherche possibles, cliquez sur Maintenir liste, puisqu'il
est inutile d'appeler nouveau l'aide dans ce cas. Slectionnez les
zones Cie arienne, Prnom, Nom, Matricule et Code de service
comme paramtres.
7) Marquez l'ensemble des paramtres comme paramtres EXPORT
(colonne EXP). Marquez l'attribut rechercher (c'est--dire
Matricule), ainsi que Cie arienne, hirarchiquement plus lev,
comme paramtres IMPORT (colonne IMP). La prise en compte
d'une entre correspondante dans le modle de saisie est ainsi
certaine (comme dcrit dans cet exercice).
8) Pour dfinir la liste d'occurrences, affectez les numros de position
correspondants (par exemple 1, 2, 3, 4, 5) dans la colonne LPos.
9) Pour dfinir la bote de dialogue relative aux limitations des valeurs,
affectez des numros de position dans la colonne SPos. Saisissez
des nombres positifs dans ces colonnes pour les paramtres Prnom
et Nom, la valeur de Nom devant tre infrieure celle de Prnom.

(C) SAP AG BC430 8-21


10) Activez votre aide la recherche. Elle n'est pas encore valable pour
la zone ZDEPMENTxx-Chef de service. Cependant, vous pouvez la
tester immdiatement l'aide de la fonction Test.
L'aide la recherche cre peut uniquement amliorer l'aide de la table de
contrle ZEMPLOYxx (et par consquent, l'aide la saisie de la zone
ZDEPMENTxx-Chef de service) si elle est intgre la table ZEMPLOYxx.
Pour ce faire, procdez comme suit :
1) Passez en mode de modification dans l'cran de gestion de cette
table. Cliquez sur Saut -> Aide recherche -> Pour la table. Dans la
bote de dialogue suivante, saisissez le nom de l'aide la recherche
ZEMPLOYxx. Cliquez sur Suite.
2) La proposition gnre par le systme pour affecter les paramtres
d'aide la recherche aux zones-cls de la table est probablement
correcte. Vrifiez-la, puis copiez la dfinition.
Activez la table ZEMPLOYxx.
3) Appelez nouveau la fonction Crer entres pour la table
ZDEPMENTxx. L'aide la saisie de la zone Chef de service doit
dsormais rpondre vos besoins. Si vous appelez nouveau Info
techn., vous pouvez confirmer que l'aide la recherche venant d'tre
dfinie est active.
8-2 Appelez l'aide la saisie en suivant la procdure dcrite prcdemment.
Avec Info techn., vous pouvez vrifier que l'aide la recherche
ZEMPLOYxx est bien active parce que la table ZEMPLOYxx remplit
galement le rle de table de contrle de la zone ZFLCREWxx-EMP_NUM.

L'aide la recherche crer pour le personnel navigant doit tre presque


identique celle relative l'ensemble des salaris. Par consquent, il est
opportun de copier l'aide la recherche ZEMPLOYxx vers
ZEMPLOY_FLYxx, puis de la modifier. Une autre mthode consiste crer
l'aide la recherche ZEMPLOY_FLYxx en suivant la mthode dcrite
prcdemment, puis en apportant les modifications suivantes :
La dsignation de l'aide la recherche ZEMPLOY_FLYxx doit tre
adapte sa signification.
Le type de dialogue doit tre modifi en Affichage de valeur immdiate (droulant).
Toutefois, ces deux modifications ne rsolvent pas le problme central de
cet exercice, savoir que l'aide la recherche doit afficher uniquement le
personnel navigant. Pour y parvenir, slectionnez une vue contenant
uniquement du personnel navigant en tant que mthode de slection.
Vous avez dj dfini une telle vue au cours de l'exercice 7-1. Saisissez
cette vue en tant que mthode de slection, puis activez l'aide la
recherche pour rsoudre le problme. Cela prsuppose que vous avez
nomm ces zones de vue comme les zones sous-jacentes de la table
ZEMPLOYxx. Sinon, adaptez les noms des paramtres de l'aide la
recherche en fonction des noms des zones de vue.

Cette solution prsente nanmoins un inconvnient. La vue ZEMPFLYxx


est dfinie avec une jointure pour les tables ZEMPLOYxx et ZDEPMENTxx.
Cependant, seules les informations provenant de la table ZEMPLOYxx sont
ncessaires l'aide la recherche. Une requte de base de donnes trop
complexe est donc cre lors de l'utilisation de l'aide la
recherche ZEMPLOY_FLYxx. Cela peut produire un effet ngatif sur les
(C) SAP AG BC430 8-22
performances de l'aide la saisie.

Crez alors une nouvelle vue disposant uniquement de la table de base


ZEMPLOYxx. Pour ce faire, copiez-la partir de la vue ZEMPFLYxx par
exemple, puis supprimez la table de base ZDEPMENTxx de la copie. Les
conditions de jointure et les zones de vue relatives cette table sont
galement supprimes.
prsent, saisissez la vue en tant que mthode de slection pour l'aide la
recherche ZEMPLOY_FLYxx.

Une fois intgre, l'aide la recherche peut tre utilise uniquement pour la
zone ZFLCREWxx-EMP_NUM. Passez en mode de modification dans
l'cran de gestion de la table ZFLCREWxx. Placez le curseur sur la zone
EMP_NUM. Cliquez sur Saut -> Aide la recherche -> Pour la zone.
Dans la bote de dialogue suivante, saisissez le nom de l'aide la
recherche ZEMPLOY_FLYxx. Cliquez sur Suite.
La proposition gnre par le systme pour affecter les paramtres d'aide
la recherche aux zones de la table est probablement correcte. Contrlez
cela, puis copiez la dfinition.
Activez la table ZFLCREWxx.

Vrifiez votre rsultat selon la procdure habituelle.

Remarque : il est naturellement dconseill d'intgrer l'aide la recherche


ZEMPLOY_FLYxx la table ZEMPLOYxx. L'effet recherch pour la zone
ZFLCREWxx-EMP_NUM serait atteint, mais seul le personnel navigant
serait propos pour l'ensemble des autres zones comparer galement la
table ZEMPLOYxx. Cette dlimitation est nanmoins inutile s'agissant, par
exemple, de la zone ZDEPMENTxx-Chef de service.
Remarque : l'aide des valeurs par dfaut des paramtres de l'aide la
recherche dcrits en annexe, vous pouvez galement dfinir l'aide la
recherche ZEMPLOY_FLYxx requise sans recourir une quelconque vue.
Conservez la mthode de slection ZEMPLOYxx. Intgrez Domaine comme
paramtre supplmentaire de l'aide la recherche. Ne renseignez pas les
colonnes IMP, EXP, LPos et SPos pour ce paramtre. Saisissez la valeur
"F" (avec les apostrophes) dans la colonne Valeur par dfaut. L'aide la
recherche ainsi dfinie rpond vos attentes.

Il existe galement une manire de modifier l'aide la recherche


ZEMPLOYxx de faon ce qu'elle puisse tre utilise pour la fonction
souhaite sans nuire aux rsultats obtenus au cours de l'exercice 1. Ajoutez
le paramtre Domaine l'aide la recherche ZEMPLOYxx ce niveau. Il
doit tre marqu en tant que paramtre IMPORT (marquez la colonne IMP,
ne renseignez pas les autres colonnes). Vous pouvez intgrer l'aide la
recherche ZEMPLOYxx la zone ZFLCREWxx-EMP_NUM. Lorsque vous
affectez les zones aux paramtres d'aide le recherche, vous devez
attribuer la constante "F" (avec les apostrophes) au paramtre Domaine.
Aprs ces tapes, l'aide la saisie de la zone ZFLCREWxx-EMP_NUM se
comporte comme prvu, alors que celle de la zone ZDEPMENTxx-Chef de
service n'est influence en rien par ces modifications.
Cette solution ne constitue cependant pas une aide la recherche pour le
personnel navigant. Pour ce faire, vous devez rpter la procdure lors de
l'exercice 8-6.

(C) SAP AG BC430 8-23


8-3 Contrlez si une aide la saisie existe pour les zones en suivant la
dmarche habituelle. Si elle n'existe pas, il est possible qu'aucune cl
externe ne soit dfinie pour ces zones.

L'aide la recherche ZEMPLOY_ADMxx dfinir doit tre presque


identique ZEMPLOY_FLYxx. Crez-la en la copiant, puis procdez aux
modifications suivantes :
La dsignation de l'aide la recherche ZEMPLOY_ADMxx doit tre adapte sa
signification.
Modifiez le type de dialogue en Dialogue dpendant de groupes de valeurs.
Puisque la compagnie arienne doit galement apparatre dans la bote de
dialogue de limitation des valeurs, une entre doit exister dans la colonne SPos
pour les paramtres correspondants. Ce paramtre doit tre infrieur aux deux
paramtres existants. Incrmentez-les le cas chant.
Assurez-vous galement que l'aide la recherche affiche galement les
employs administratifs. Il est vivement conseill de copier la vue cre au
cours du prcdent exercice, puis de remplacer la valeur "F" dans la copie
par "A" dans la condition de slection. Aprs avoir activ cette vue, vous
pouvez la saisir comme mthode de slection pour l'aide la
recherche ZEMPLOY_ADMxx.
Activez l'aide la recherche.

L'aide la recherche fonctionne pour les deux zones si vous passez en


mode de modification pour la transaction de gestion de l'lment de
donnes cr dans l'exercice 2-3 pour Modifi par. Dans Aide la
recherche, saisissez ZEMPLOY_ADMxx dans la zone Nom. Dans la zone
Paramtre, saisissez le nom de la zone du matricule (pouvant tre
slectionn l'aide de la touche de fonction F4).
Activez l'lment de donnes.

Contrlez vos rsultats selon la procdure habituelle. Dans ce cas, la copie


de la compagnie arienne ne fonctionne pas correctement dans les deux
directions. Pour contrler ceci, saisissez une valeur dans la zone Cie
arienne avant d'appeler l'aide la saisie. Elle n'est pas utilise dans cette
aide. De mme, la slection d'une valeur pour Modifi par ne met pas jour
la compagnie arienne.
En effet, il est impossible de tenir compte d'autres paramtres lors de
l'intgration d'une aide la recherche un lment de donnes. Ici, une
telle intgration la zone ZCHANGExx-Changer ne peut pas corriger cette
erreur, car la zone Cie arienne n'est pas comprise dans la
structure ZCHANGExx. Cette zone ne peut donc pas tre prise en compte
dans l'intgration.
8-4 Procdez comme suit :
1) Copiez l'aide la recherche ZEMPLOYxx vers
ZEMPLOY_SIMPLExx, puis activez la nouvelle aide.
2) En mode de modification, accdez l'cran de gestion pour l'aide
la recherche ZEMPLOYxx. Cliquez sur Traiter Modifier type aide
la recherche, puis confirmez votre slection dans la bote de dialogue
suivante.
3) Cliquez sur la page onglets Aides la recherche incluses.
Saisissez l'aide la recherche ZEMPLOY_SIMPLExx.
(C) SAP AG BC430 8-24
4) Placez le curseur sur l'aide la recherche venant d'tre saisie.
Cliquez sur Affectation de paramtres. Attendez que le systme
propose une affectation.
5) La proposition est probablement correcte. Pour plus de scurit,
vrifiez-la, puis copiez-la.
6) Activez l'aide la recherche ZEMPLOYxx.
Pour vrifier que l'aide la saisie fonctionne encore, appelez l'aide la
saisie de la zone ZDEPMENTxx-Chef de service. l'aide de Info techn.,
vrifiez qu'une aide la recherche groupe est active.
8-5 Vous avez dj dfini une mthode de slection adapte (vue ZCREWSxx)
pour la nouvelle aide la recherche lmentaire ZEMPLOY_FLIGHTxx au
cours de l'exercice 7-2. prsent, procdez comme suit :
1) Dans l'cran initial du dictionnaire ABAP, cliquez sur Aide la
recherche. Saisissez le nom ZEMPLOY_FLIGHTxx dans la zone
correspondante, puis cliquez sur Crer. Dans la bote de dialogue
suivante, confirmez la cration d'une aide la recherche
lmentaire.
2) Saisissez une dsignation. Cliquez sur le type de dialogue Dialogue
complexe avec limitation des valeurs.
3) Saisissez la mthode de slection ZCREWSxx.
4) Slectionnez les paramtres d'aide la recherche suivants l'aide
de la touche de fonction F4 : Cie arienne, Prnom, Nom, Matricule,
Numro de vol, Date de vol, Ville de dpart et Ville d'arrive.
5) Marquez l'ensemble des paramtres comme paramtres EXPORT
(colonne EXP). Marquez Cie arienne et Matricule comme
paramtres IMPORT (colonne IMP).
6) Affectez des numros de position aux paramtres de la
colonne LPos. Ne renseignez pas cette dernire pour les paramtres
Ville de dpart et Ville d'arrive.
7) Affectez des numros de position aux paramtres Ville de dpart,
Ville d'arrive et Date de vol de la colonne SPos.
8) Activez l'aide la recherche ZEMPLOY_FLIGHTxx.
Intgrez l'aide la recherche ZEMPLOY_FLIGHTxx dans l'aide la
recherche groupe ZEMPLOYxx. Procdez comme suit :
1) En mode de modification, accdez l'cran de gestion pour l'aide
la recherche ZEMPLOYxx. Cliquez sur la page onglets Aides la
recherche incluses.
2) Dans la liste des aides la recherche, saisissez l'aide la recherche
ZEMPLOY_FLIGHTxx directement sous l'aide
ZEMPLOY_SIMPLExx.
3) Placez le curseur sur l'aide la recherche venant d'tre saisie.
Cliquez sur Affectation de paramtres. Dans la bote de dialogue
suivante, confirmez la cration d'une proposition pour l'affectation de
paramtre.
4) L'affectation de paramtres propose par le systme est
probablement correcte. Vrifiez cela, puis copiez l'affectation.
5) Activez l'aide la recherche ZEMPLOYxx.
(C) SAP AG BC430 8-25
Vous pouvez contrler vos rsultats en suivant la procdure habituelle
consistant appeler l'aide la saisie pour la zone ZDEPMENTxx-Chef de
service.
8-6 Puisque vous souhaitez apporter des modifications sans qu'elles influent
sur les objets existants, crez une aide la recherche append pour l'aide
la recherche groupe ZEMPLOYxx. Procdez comme suit :
1) En mode d'affichage, accdez l'cran de gestion pour l'aide la
recherche ZEMPLOYxx. Cliquez sur Saut Aides la recherche
append.
2) Un nom est propos pour l'aide la recherche append dans la bote
de dialogue suivante. Vous pouvez le copier.
3) Saisissez une dsignation pour votre aide la recherche append.
4) Cliquez sur la page onglets Aides la recherche incluses.
5) Saisissez ZEMPLOY_FLYxx et ZEMPLOY_FLIGHTxx dans la liste
des aides la recherche incluses. Marquez la colonne Masque
pour la seconde entre.
6) Placez le curseur sur le nom de l'aide la recherche
ZEMPLOY_FLYxx. Cliquez sur Affectation de paramtres. Dans la
bote de dialogue suivante, confirmez votre intention de crer une
proposition pour l'affectation de paramtre.
7) L'affectation de paramtres propose par le systme est
probablement correcte. Vrifiez cela, puis copiez l'affectation.
8) Activez votre aide la recherche append.
Vous pouvez contrler vos rsultats en appelant l'aide la saisie pour la
zone ZDEPMENTxx-Chef de service.
8-7 Appelez l'aide la saisie pour la zone ZEMPLOYxx-Code de service en
suivant la procdure dcrite. Grce Info techn., vous remarquez que l'aide
la saisie est dtermine avec la table de contrle ZDEPMENTxx de cette
zone. Il existe galement une table de texte pour la table de contrle.
Ici aussi, les entres existantes de la zone Cie arienne sont prises en
compte dans l'aide F4. De mme, cette zone est mise jour lors de la
slection d'une valeur appartenant la liste d'occurrences.

Pour procder l'extension requise, crez une aide la recherche


lmentaire, puis intgrez-la la table ZDEPMENTxx. L'ensemble des
donnes utiliser dans l'aide la saisie tant contenu dans la table
ZDEPMENTxx et sa table de texte ZDEPMENTTxx, la table ZDEPMENTxx
peut tre utilise comme mthode de slection pour l'aide la recherche.
Procdez comme suit :
1) Dans l'cran initial du dictionnaire ABAP, cliquez sur Aide la
recherche. Saisissez un nom pour l'aide la recherche crer dans
la zone correspondante.
2) Dans la bote de dialogue suivante, cliquez sur Crer, puis confirmez
votre intention de crer une aide la recherche lmentaire.
3) Saisissez une dsignation pour votre aide la recherche.
4) Saisissez ZDEPMENTxx comme mthode de slection.

(C) SAP AG BC430 8-26


5) Avec l'aide la saisie, slectionnez les paramtres d'aide la
recherche Cie arienne, Code de service, Description et Tlphone.
6) Marquez l'ensemble des paramtres comme paramtres EXPORT
(colonne EXP). Marquez Cie arienne et Code de service comme
paramtres IMPORT (colonne IMP).
7) Dans la liste d'occurrences, affectez des numros de position aux
paramtres de la colonne LPos.
8) Sur requte, l'aide de la table de contrle affiche une bote de
dialogue de limitation des valeurs correspondant aux zones Cie
arienne et Code de service. Pour conserver ce droulement,
affectez un numro de position ces deux paramtres de la colonne
SPos.
9) Activez l'aide la recherche.
10) Passez en mode de modification dans l'cran de gestion de la table
ZDEPMENTxx. Cliquez sur Saut -> Aide la recherche -> Pour la
table.
11) Dans la bote de dialogue suivante, saisissez le nom de l'aide la
recherche venant d'tre cre, puis cliquez sur Suite.
12) La proposition gnre pour affecter les paramtres d'aide la
recherche aux zones-cls de la table ZDEPMENTxx est
probablement correcte. Vrifiez cela, puis copiez l'affectation.
13) Activez la table ZDEPMENTxx.
Contrlez vos rsultats selon la procdure habituelle.
8-8 Les noms des chefs de service se situent dans la table ZEMPLOYxx. Les
donnes d'aide la recherche doivent tre slectionnes avec les trois
tables ZDEPMENTxx, ZDEPMENTTxx et ZEMPLOYxx.
Par consquent, vous devez slectionner une vue comme mthode de
slection pour l'aide la recherche. L'exercice spcifie que cette vue doit
mettre en uvre une jointure externe. Slectionnez une vue d'aide.
Pour dfinir cette dernire :
1) Dans l'cran initial du dictionnaire ABAP, cliquez sur Vue. Dans la
zone correspondante, saisissez un nom commenant par le prfixe
H_Z pour la vue d'aide.
2) Dans la bote de dialogue suivante, cliquez sur Crer, puis confirmez
votre intention de crer une vue d'aide.
3) Saisissez une dsignation pour la vue d'aide.
4) Saisissez ZDEPMENTxx dans l'unique zone de saisie de Tables.
5) Placez le curseur sur les noms de tables venant d'tre saisis, puis
cliquez sur Relations. Dans la bote de dialogue suivante, marquez la
relation la table ZEMPLOYxx sous Tables rfrences et la relation
la table ZDEPMENTTxx sous Tables dpendantes. Copiez cette
slection.
6) Cliquez sur la page onglets Zones de vue. Certaines zones ne
pas modifier sont dj saisies ici. Pour intgrer les zones suivantes
dans la vue, utilisez la fonction Zones de table :
ZDEPMENTxx-Tlphone, ZDEPMENTTxx-Description et
ZEMPLOYxx-Nom.

(C) SAP AG BC430 8-27


7) Activez la vue d'aide.
Adaptez l'aide la recherche selon les exigences supplmentaires.
Procdez comme suit :
1) Accdez l'cran de gestion de l'aide la recherche cre au cours
du prcdent exercice. Remplacez ZDEPMENTxx par l'aide de vue
venant d'tre cre dans la zone Mthode de slection.
2) Pour slectionner le paramtre d'aide la recherche supplmentaire
Nom, utilisez l'aide la saisie. Affectez-lui une position dans la liste
d'occurrences de la colonne LPos. Remarquez que cette colonne
peut ne pas contenir de numro (positif) double. Par consquent,
adaptez les numros de position aux autres paramtres.
3) Pour affecter le titre souhait dans la liste d'occurrences de la
colonne contenant les noms de famille des chefs de service,
marquez la colonne Modifi pour le paramtre Nom (situe droite
de la colonne lment de donnes). Saisissez les valeurs pour
l'lment de donnes de ce paramtre. Remplacez l'lment de
donnes saisi S_LNAME par S_HEAD.
4) Activez l'aide la recherche.
Contrlez vos rsultats selon la procdure habituelle.
Remarque : vous pouvez ds prsent spcifier l'autre lment de
donnes pour la colonne Nom lors de la dfinition de la vue d'aide. Pour ce
faire, marquez la colonne Mod de la zone Nom dans l'cran de gestion pour
les zones de vue de la vue d'aide. Vous pouvez alors remplacer l'lment
de donnes S_LNAME par S_HEAD. Dans un tel cas, vous pouvez ignorer
l'tape 4 prcdemment dcrite.

(C) SAP AG BC430 8-28


Annexe

l Modle de vol
l Arbre de dcision pour mise en mmoire tampon
l Informations supplmentaires sur les aides la recherche
l Chemins de menus importants
l Index

SAP AG 1999

(C) SAP AG BC430 9-1


Modle de donnes de vol pour les cours de
formation ABAP

Point de dpart

Aroport de dpart

Tches de l'agence de voyages :


Aroports possibles Aroport d'arrive
Compagnies ariennes disponibles l'horaire souhait
Vols disponibles l'horaire souhait
Informations complmentaires sur les vols :
prix, rservations...
Destination

SAP AG 1999

n Un modle de donnes de vol est utilis dans les cours de formation ABAP. Une simple vue
d'ensemble de ce modle apparat ici, mais des dtails peuvent vous tre fournis si vous le souhaitez.
n Si vous souhaitez vous rendre d'un endroit un autre, vous souhaitez que votre agence de voyages
rponde aux questions suivantes :
n Quels sont les aroports les mieux situs en fonction de votre dplacement ?
n Quels sont les horaires de vols le jour en question ?
n Selon vos conditions d'optimisation personnelles, quelle est la meilleure solution, savoir le meilleur
vol, la correspondance la plus rapide et celle s'approchant au mieux de l'heure d'arrive requise, etc.
n Cette vue diffre de celle d'une agence de voyages : les donnes sont stockes dans le modle de
donnes des tables d'une base de donnes centrale en fonction de critres techniques. En rgle
gnrale, le client ne s'intresse pas toutes les donnes requises (par exemple, vous devez saisir le
nom du client ayant effectu une rservation sur tel ou tel vol, la date laquelle les rservations ont
t effectues, la somme verse par le client, etc.). Les donnes doivent tre regroupes par des
programmes selon les besoins de l'utilisateur.

(C) SAP AG BC430 9-2


Modle de donnes

BC_TRAVLAG T
Agence CR

BC_GEOCITY T
Ville
A BC_CITAIRP T BC_COUNTER T

Affectation Comptoir des CR


d'aroport ventes
A
BC_AIRPORT T
Aroport R BC_CUSTOM T

R Passager

BC_CARRIER T BC_PLANFLI T BC_SFLIGHT T BC_BOOKING T


H H H
Compagnie Horaire de vol Vol Rservations
arienne

Heure
SAP AG 1999

n Des entits peuvent tre dfinies pour l'ensemble des informations logiquement lis : le modle de
donnes de vol contient par consquent une entit pour :
n l'ensemble des villes,
n l'ensemble des aroports,
n l'ensemble des compagnies ariennes,
n l'ensemble des vols,
n l'ensemble des correspondances.
n Des relations spciales lient les entits :
n Dbut et fin des vols d'un aroport.
n Une correspondance est dfinie de faon unique par sa compagnie arienne, son aroport de
dpart, celui d'arrive et par l'horaire du vol.
n Les vols et leurs correspondances peuvent exister diverses dates, mais un seul vol par
correspondance peut tre propos.
n Chaque aroport doit tre affect une ville.
n Ce modle de donnes gre toutes les donnes requises sans rptition inutile et fournit l'agence
celles dont elle a besoin.

(C) SAP AG BC430 9-3


Mise en uvre dans le dictionnaire ABAP

SCARR SPFLI SFLIGHT SBOOK

Cie arienne Horaire de vol Vol Rservation de vol


MANDT MANDT MANDT MANDT
CARRID CARRID CARRID CARRID
CARRNAME CONNID CONNID CONNID
..... AIRPFROM FLDATE FLDATE
AIRPTO SEATSMAX BOOKID
DEPTIME SEATSOCC CUSTOMID
..... ..... COUNTER
AGENCYNUM
.....
H

11001 11001 11001 11001


Compagnie H Horaire de vol H Vol H Rservations
arienne

Heure
SAP AG 1999

n Les exemples et exercices des cours de formation ABAP et la documentation ABAP font rfrence
au modle de donnes de vol SAP. Les objets du rfrentiel pour le modle de donnes de vol
figurent dans la classe de dveloppement SAPBC_DATAMODEL.
n Les tables suivantes du modle de donnes de vol sont principalement utilises dans les cours de
formation ABAP.
l SPFLI : table de correspondances
l SFLIGHT : table de vols
l SBOOK : table de rservations
l SCARR : table de compagnies ariennes
l SBUSPART : table de partenaires des compagnies ariennes
l STRAVELAG : tables d'agences de voyages
l SCUSTOM : table de passagers
l SCOUNTER : table de comptoirs de ventes

(C) SAP AG BC430 9-4


Arbre de dcision pour mise en mmoire tampon

Dpart

Des incohrences temporaires des


donnes de lecture sont-elles Non
acceptables ? Les accs sont-ils La table ne peut pas tre tre mise en mmoire
majoritairement en lecture seule ? tampon.

Oui
La table peut tre tre mise en mmoire tampon.

La taille prvue de la table Oui


est-elle infrieure 8Ko ? Mise en mmoire tampon totale

Non
La table est-elle principalement Oui
accessible via SELECT SINGLE ? Mise en mmoire tampon par enregistrement

Non
Mise en mmoire tampon suivant installation.
La taille prvue de la table est-elle Oui Autres considrations : mise en mmoire
suprieure 1Mo (> 1000 enreg.) tampon totale ou gnrique possible ? Index
? secondaires ou mise en mmoire tampon ?
Non
Oui Mise en mmoire tampon gnrique avec un
Une partie justifie gauche de la nombre appropri de zones-cls gnriques
cl est-elle habituellement spcifie
lors de l'accs la table ? Non
Mise en mmoire tampon totale
SAP AG 1999

(C) SAP AG BC430 9-5


Vue sous forme de mthode de slection d'une
aide la recherche

Table de base 1 Table de base 2

Vue de BD

Table primaire Table secondaire

Vue d'aide
SAP AG 1999

n Si la mthode de slection d'une aide la recherche correspond une vue de base de donnes, l'aide
la saisie affiche uniquement les enregistrements pour lesquels des entres existent dans l'ensemble
des tables de la vue (inner join). Le groupe d'entres possibles est parfois dcrit par les entres d'une
table primaire pour lesquelles des informations complmentaires peuvent tre obtenues d'autres
tables secondaires. Cette vue sur les donnes peut tre mise en uvre avec une vue d'aide. Les vues
d'aide emploient la mme logique de outer join que les vues de gestion.
n Une vue d'aide est dfinie de la mme manire qu'une vue de gestion. Les vues d'aide peuvent servir
uniquement de mthode de slection pour des aides la recherche. Dans la mesure o le systme R/3
ne peut pas transmettre la slection directement la base de donnes avec une vue d'aide, il est
oblig de gnrer ses propres routines d'accs. Il est donc prfrable d'utiliser la vue de base de
donnes comme mthode de slection, plutt que la vue d'aide.
n La slection avec une table et une table de texte correspond une slection avec une vue d'aide
virtuelle. C'est pourquoi une vue d'aide ne doit pas tre cre dans ce cas.
Exception : la table contient une zone portant le mme nom qu'une zone non-cl de la table de texte.
Si cette zone de la table de texte est requise par l'aide la recherche, crez une vue d'aide sur les
deux tables, car la zone de l'aide la recherche n'est pas directement accessible.
n Il est d'usage de placer le prfixe "H_" en tte des noms de vues d'aide. Par consquent, les noms des
vues commenant par les prfixes "H_Y" ou "H_Z" figurent dans l'espace nom client.

(C) SAP AG BC430 9-6


Autres options pour les aides la recherche

Aide la recherche
Valeurs par dfaut Commandes abrges

Masquage d'aides la recherche incluses Affichage de zones dans


la bote de dialogue de
limitation des valeurs

SAP AG 1999

n Vous pouvez prdfinir une valeur pour un paramtre en lui affectant une valeur par dfaut. Cette
valeur est toujours affecte au paramtre, sauf s'il s'agit d'un paramtre IMPORT li une zone de
l'cran, son pool de modules ou un paramtre de l'aide la recherche groupe inclusive.
Les valeurs par dfaut peuvent tre des littraux, des zones systme et des paramtres GET.
Pour formuler une condition de slection simple pour une zone de la mthode de slection, vous
pouvez utiliser une valeur par dfaut.
n Une lettre ou un chiffre peut tre affect(e) comme commande abrge une aide la recherche
lmentaire. Si cette aide la recherche lmentaire est utilise dans une zone d'cran pour l'aide la
saisie et si cette zone utilise le raccourci =<commande abrge>.<SEL1>.<SEL2> lorsque l'aide
la saisie est appele, cette aide la recherche lmentaire est traite. <SEL1>, <SEL2>... est utilis
comme contenu de zone pour la bote de dialogue de limitation des valeurs (avec un '*' la fin) et la
liste d'occurrences apparat immdiatement.
n Des inclusions d'aide la recherche peuvent tre masques dans une aide la recherche groupe.
Ainsi, vous pouvez dsactiver les chemins de recherche inutiles dans un systme. Ils sont
habituellement masqus dans une aide la recherche append sans apport de modification.
n Les paramtres d'une aide la recherche lmentaire peuvent tre marqus comme zones d'affichage
dans la bote de dialogue de limitation des valeurs. En gnral, les paramtres IMPORT auxquels
sont affectes des zones de l'cran non modifiables sont affichs comme non modifiables dans cette
bote de dialogue.

(C) SAP AG BC430 9-7


Exit d'aide la recherche (Non standard)

Gestion des rservations Cie arienne


arienne Alitalia
N Ville de dp.
dp. . . . Libre
Cie arienne AZ 0555 Rome 147
...

N de vol 0555 Rome ... 198

Date du vol F4 ... ... ... ...

...

Exit d'aide la recherche


SAPBC_GLOBAL_F4_SFLIGHT

Ville de dpart Rome


SELECT * FROM
Ville d'arrive SFLIGHT...
...
SAP AG 1999

n Une aide la recherche est un objet dcrivant une aide la saisie standard. Dans certains cas, la
smantique spciale d'une zone ncessite que vous vous cartiez lgrement de cette norme. Cela
peut tre mis en uvre avec un exit d'aide la recherche.
n Un exit d'aide la recherche est un module fonction disposant d'une interface normalise. Le module
fonction F4IF_SHLP_EXIT_EXAMPLE peut servir de modle. Si une aide la recherche dispose
d'un tel exit, celui-ci est appel avant chaque tape du processus. Les donnes de gestion du
processeur d'aide sont transfres par le biais de l'interface. L'exit d'aide la recherche peut
manipuler ces donnes.
n Les donnes de gestion incluent galement les informations relatives l'tape suivante excuter.
L'exit d'aide la recherche peut prsent excuter les actions prparatoires de cette tape ou l'tape
proprement dite (par exemple, une slection de donnes impossible mettre en uvre avec une
instruction SELECT sur une table ou une vue). Dans le second cas, l'exit d'aide la recherche
modifie galement les informations sur l'tape suivante excuter.
n Certains modules fonction pouvant tre utiliss comme exits d'aide la recherche ou pour manipuler
les donnes de gestion dans les exits d'aide la recherche sont dj dfinis avec le prfixe F4UT_.
n Les exits d'aide la recherche doivent tre rservs aux exceptions. Leur utilisation favorise le
dveloppement de solutions non standard et rend la gestion de l'aide la saisie plus difficile.

(C) SAP AG BC430 9-8


Migration des aides la saisie existantes

ID de MC Vue de BD
appartient
gnre M_ABCDA
A
Vue d'aide
Version 3.x Objets MC
H_NAME
ABCD
Table primaire T ID de MC Vue de BD
1 gnre M_ABCD1
Table second. 1 appartient
...

Table
Version 4.x
T Aide source l.
Intgration ABCDA Vue de BD
Aide source l. d'une aide la M_ABCDA
recherche Mthode de
H_NAME slection
Aide rech. groupe
Vue d'aide ABCD
Mthode
ou H_NAME Aide rech. l. Vue de BD
de Inclusions d'aides
slection Table primaire T
la recherche ZABCD1 M_ABCD1

Table second. 1 Mthode de


... slection
SAP AG 1999

n Les aides la recherche ont t introduites dans la version 4.0. Auparavant, les aides la saisies
taient mises en uvre par la cration de matchcodes et de vues d'aide, dont les fonctionnalits
taient cependant moins riches. Lors d'une monte de version, les aides la recherche portant le
mme nom sont cres partir de ces objets (le cas chant, le nom est prcd d'un Y ou d'un Z).
Les objets d'origine restent dans le systme, mais ne sont pas significatifs.
n Avant la version 4.0, une vue d'aide consistait en une description complte d'une aide la saisie
intgre automatiquement sa table primaire (et uniquement celle-ci). Une aide la recherche
lmentaire est cre partir de chaque vue d'aide. La table primaire de la vue d'aide peut tre saisie
comme mthode de slection dans de nombreux cas, la vue d'aide servant dans les autres cas. L'aide
la recherche cre est intgre la table primaire de la vue d'aide.
n Une aide la recherche lmentaire est cre partir d'un ID matchcode. La mthode de slection
affecte correspond la vue de base de donnes (pour un ID transparent) ou la table pool gnre
(pour un ID non-transparent) de l'ID matchcode. Dans le premier cas, la vue gnre est gre
comme un objet indpendant du dictionnaire ABAP. Dans le second cas, la table pool est toujours
intgre son ID matchcode, la technique des matchcodes tant utilise pour mettre jour les
donnes de cette table.
n Une aide la recherche groupe est cre partir d'un objet matchcode. Les matchcodes sont relis
des zones de saisie l'cran. Ces liens sont convertis en liens des aides la recherche groupes des
zones d'cran correspondantes.
n La diapositive ci-dessus illustre la migration des vues d'aide et des matchcodes transparents.

(C) SAP AG BC430 9-9


Autres affichages de l'aide la saisie

Contrle d'aide la saisie

Zone de liste
droulante modifiable

SAP AG 1999

n Le systme R/3 reconnat trois types de prsentation pour l'aide la saisie :


- Zone de liste droulante
- Contrle (amodal)
- Dialogue R/3 (modal)
n La zone de liste droulante modifiable ne fournit aucune autre condition de slection et n'affiche
aucune colonne dans la liste des occurrences. Elle reprsente cependant l'aide la saisie la plus
conviviale pour obtenir des listes une colonne. La dveloppeur d'application dcide de proposer ou
non une zone comme zone de liste droulante, puis stocke ces informations dans Screen Painter pour
la zone correspondante. Lorsque l'utilisateur appelle la zone de liste droulante, les donnes
afficher sont obtenues l'aide du mcanisme d'aide la saisie stock dans le dictionnaire ABAP ou
dans Screen Painter pour la zone. Pour obtenir davantage d'informations, utilisez la zone de liste
droulante dcrite dans le cours BC410 Programmation interactive.
n Vous pouvez galement afficher des zones non prsentes comme zone de liste droulante au moyen
d'un contrle amodal ou d'une bote de dialogue modale mise en uvre avec la technologie d'cran
R/3. Avec Options d'aide, chaque utilisateur peut dfinir la variante de son choix. Ce type de
prsentation est alors utilis par l'ensemble des aides la saisie de cet utilisateur. L'administrateur
systme peut dfinir la valeur par dfaut.
n Le contrle est particulirement utile si plusieurs zones doivent tre renseignes de manire
squentielle avec la mme aide la saisie (par exemple, dans un table control). La fonction
Maintenir liste lance le contrle partir de l'aide modale.

(C) SAP AG BC430 9-10


Principaux chemins de menus et transactions

Gestion/affichage du dictionnaire ABAP


Outils ABAP Workbench Dveloppement Dictionnaire
gestion du dictionnaire (SE11) - Affichage du dictionnaire (SE12)
Dictionnaire ABAP du systme d'information du Rfrentiel R/3
1. Outils ABAP Workbench Dveloppement Dictionnaire (Objet du dictionnaire ;
slectionnez le nom de l'objet, puis une opration)
Environnement Systme d'information du rfrentiel R/3 ou
2. Outils ABAP Workbench Synthse Systme d'information R/3
- Systme d'information du rfrentiel R/3 (SE84)/Dictionnaire ABAP du systme
d'information du rfrentiel (SE15)
Gestion/affichage de donnes (Data Browser)
1. Outils ABAP Workbench Dveloppement Dictionnaire (objet du dictionnaire : table,
saisir le nom de la table, puis l'opration)
Utilitaires Contenu de table Affichage ou Contenu de table Crer des entres
ou
2. Outils ABAP Workbench Synthse Data Browser
Gestion/affichage de donnes (Data Browser) (SE16)
Index
Outils ABAP Workbench Dveloppement Dictionnaire ABAP (Objet du dictionnaire :
table ; slectionnez le nom de table, puis une opration)
Saut Index ou bouton de commande Index
Options techniques
Outils ABAP Workbench Dveloppement Dictionnaire ABAP (Objet du dictionnaire :
table ; slectionnez le nom de table, puis une opration)
Saut Options techniques ou bouton de commande Options techniques (SE13)
Utilitaire de base de donnes
Outils ABAP Workbench Dveloppement Dictionnaire ABAP (Objet du
dictionnaire : saisir le nom d'objet, puis slectionnez opration)
Utilitaires Utilitaire de BD
- Utilitaire de base de donnes (SE14)
Utilitaire de base de donnes
Outils ABAP Workbench Dveloppement Dictionnaire ABAP (Objet du
dictionnaire : saisir le nom d'objet, puis slectionnez l'opration)
Utilitaires Utilitaire de BD
- Utilitaire de base de donnes (SE14)
Constantes
Outils ABAP Workbench Dveloppement Dictionnaire ABAP (Objet du
dictionnaire : domaine. Slectionnez le nom de domaine, puis une opration)
Page onglets Plage de valeurs
Vue de gestion
Outils ABAP Workbench Dveloppement Autres outils
Gn. Dial. Gest. tab
- Gnration de vue de table (SE54)
Affichage de donnes tendu
Systme Utilitaires Gestion des tables Gestion table ext..
- Table de gestion dveloppe (SM30)

(C) SAP AG BC430 9-11

Vous aimerez peut-être aussi