BC430 - Dictionnaire de Données ABAP 2000 - FR
BC430 - Dictionnaire de Données ABAP 2000 - FR
BC430 - Dictionnaire de Données ABAP 2000 - FR
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
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.
Prface
Exercices
Solutions
Annexes
SAP AG 1999
SAP AG 1999
SAP AG 1999
Objets de BD
Dfinitions de types
Structure Table
Table
de BD
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.
Vue
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.
Salari
SAP AG 1999
Cie arienne LH
N Ville de dpart Ville d'arrive
0400 Frankfurt New York
N de vol F4
...
F1
Code de la correspondance
Code dfinissant une correspondance
entre deux villes. Exemple : 0400
Frankfurt - New York.
SAP AG 1999
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
SAP AG 1999
l Options techniques
n Catgorie de donnes
n Catgorie de taille
n Journalisation
SAP AG 1999
SAP AG 1999
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.
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.
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.
Base de donnes
Table
Zone 1 Zone 2 Zone 3 Zone 4
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.
Table 1 Table 2
Base de donnes
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.
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.
Base de donnes
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.
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.
Dictionnaire ABAP
TAB journal
Transaction
d'application
TAB
Zone 2 Zone 3 Zone 5
Modifier un
enregistrement
...
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.
SAP AG 1999
Exercices
Solutions
Objectifs du cours
Scnario de gestion
Astuces
Avertissement
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.
Table ZDEPMENTxx
ZEMPLOYxx
ZDEPMENTxx
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
SAP AG 1999
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.
Programme
Optimiseur
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.
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.
Programme Programme
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.
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.
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.
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.
TAB
Serveur 2 Serveur 1
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.
TAB TAB
Serveur 2 Serveur 1
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.
TAB 77 TAB
Serveur 2 Serveur 1
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.
88 TAB TAB
Serveur 2 Serveur 1
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.
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.
TAB TAB
Serveur 2 Serveur 1
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.
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.
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.
l Constantes
l Table de texte
SAP AG 1999
SAP AG 1999
Insrer
Insrer table SBOOK
Rinitialiser Table de contrle
Classe de vol
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.
Cl externe inexistante.
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.
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 ?
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.
Zones de cl externe
Zone de
contrle
Table de contrle SCOUNTER
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
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
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.
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).
Table STRAVELAG
Table SBUSPART
Domaine S_BUSPARNUM
Table des valeurs SBUSPART
SAP AG 1999
Cardinalit
C F C F
1:1 1:N
C F C F
1:C 1:CN
SAP AG 1999
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.
SAP AG 1999
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.
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.
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 :
SAP AG 1999
SAP AG 1999
Version active
Activer
Version active
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.
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
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.
Table 2
Includes
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.
Utilisation
Table 2
Programme 1 Programme 2
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.
? ?
Recherche par attribut Cas d'emploi
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.
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
SAP AG 1999
SAP AG 1999
Dictionnaire ABAP
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.
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
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.
TAB
SAP AG 1999
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
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.
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
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.
QCMTAB TAB
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.
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
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.
Tablespace insuffisant
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.
Journal d'objet
Vidages de Syslog
la mmoire
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.
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.
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
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).
Zone A Zone B
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.
SAP AG 1999
SAP AG 1999
SAP AG 1999
Z1 Z2 Z3 Z5 Z8
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.
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.
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.
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
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.
1 Texte 1 Texte 3 A
1 Texte 1 Texte 4 B
2 Texte 2 Texte 5 A
2 Texte 2 Texte 6 B
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.
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
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.
REPORT CUSBOOK1.
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.
Z1 Z2 Z3 Z5 Z8
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.
Z1 Z3 Z 4 Z5 Z6 Z8
TABB
incluse
dans la vue
Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8
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.
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.
Condition de jointure
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.
SAP AG 1999
Chapitre : 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.
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.
SAP AG 1999
SAP AG 1999
Cie arienne LH
N Ville de dpart Ville d'arrive
0400 Frankfurt New York
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.
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.
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.
Cie arienne 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.
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
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.
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.
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.
Aide la recherche
Droulement interne
Interface
Table de contrle
Partie lment de
MANDT Cl 1 Cl 2 donnes
donnes
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.
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.
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.
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).
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.
... ...
Aide la recherche
append (mandant)
SAP AG 1999
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.
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.
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
Point de dpart
Aroport de dpart
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.
BC_TRAVLAG T
Agence CR
BC_GEOCITY T
Ville
A BC_CITAIRP T BC_COUNTER T
R Passager
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.
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
Dpart
Oui
La table peut tre tre mise en mmoire tampon.
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
Vue de BD
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.
Aide la recherche
Valeurs par dfaut Commandes abrges
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.
...
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.
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
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.
Zone de liste
droulante modifiable
SAP AG 1999