6 visiteur(s) et 0 membre(s) en ligne. Devenez membre privilégié en cliquant ici
jeudi 03 avril 2025
Article du Jour
Il n'y a pas encore d'Article du Jour.
Activité du Site
Pages vues depuis 15/01/2008 : 21 175 694
  • Nb. de Membres : 2 146
  • Nb. d'Articles : 80
  • Nb. de Forums : 10
  • Nb. de Sujets : 4
  • Nb. de Critiques : 2

Top 15  Statistiques

Sondage

Intéresser par
 ABAP
 Aministration SAP
 Autorisation-Securité
 SAP BW
 SAP Webdynpro,BSP...
 SAP Fonctionnel
 Autres...

  Results, Résultats


  • Votes : 1299
  • Commentaire(s) : 0
Lettre d'information


Votre adresse E-mail



Recevez par mail les nouveautés du site.

Utilisation du Dictionnaire de donnees


1.1    Le Dictionnaire de données


Le dictionnaire de données sert d'interface avec la base de donnée.
Il permet de déclarer également des objets ( structures, types, vues ..)  qui pourront être partagés par tous les programmes.

On utilise la transaction SE11

 Les tables

Les tables du dictionnaire de données sont une représentation des tables de la base de données.

Les structures

C’est l’équivalent des structures créées dans les programmes ; Celles-ci seront utilisables par tous les programmes.
On y accède par le radio-bouton types de données.

Les éléments de données ( ou Types de données )

S’il est possible de typer directement une zone de table ou de structure, on utilise en général pour cela les éléments de donnés.
Il permettent d’associer à une zone un sens applicatif
On leur associe des désignations qui seront utilisées selon le contexte ( taille de la zone )
On leur associe de la documentation ( quand on fait F1 sur la zone )
On leur associe un domaine de valeurs.
On peut leur associer également une aide à la recherche.
On peut leur associer un parameter ID

Les domaines de valeurs

Il regroupe un type de données élémentaire  de la base de données avec en général une plage de valeurs et éventuellement des fonctions de conversion.

1.2    Utilisation du dictionnaire dans les programmes

Les zones de structures ou de table du dictionnaire de données, les types de données pourront être utilisés pour typer les variables d’un programme.

    DATA nomvariable LIKE MARA-MATNR.

    DATA nomvariable TYPE EMATNR.

Les structures ( mais également les tables ) pourront être utilisées pour définir des structures ou des tables internes du programme.

DATA nomstructure like EMARA.ou DATA nomstructure type EMARA
Mais également

DATA : BEGIN OF  nomstructure ,
                Nomzone TYPE  I.
  !include! STRUCTURE VBAP.
 DATA :   Nom_zone2 LIKE VBAK-KUNNR.
         END OF nomstructure.

Les zones de saisie de l’écran de sélection pourront également s’appuyer sur les zones des tables et structures du dictionnaire de données , elles pourront ainsi récupérer quand elles existent des aides à la recherche.:

SELECT-OPTIONS nom_zone FOR MARA-MATNR.
PARAMETERS nom_zone LIKE MARA-MATNR.

1.3    Accès à la base de donnée dans les programmes

Le dialogue avec la base de donnée se fait grace à un ensemble d’instructions constituant  l’OPEN SQL ; C’est un langage SQL propre à SAP qui est indépendant de la base de donnée utilisée.

Instruction TABLES

Avant de pouvoir être utilisée dans les instructions de lecture ou de mise à jour , une table doit être déclarée par l’instruction TABLES.

TABLES MARA.
Cette déclaration déclare dans le même temps une structure MARA qui pourra être utilisée comme telle.

Lecture de  données

L'instruction SELECT permet de lire les données de la base.

a) Premier exemple

C’est l’équivalent de la boucle LOOP pour les tables internes

SELECT * FROM nomtable
                 WHERE conditions.
  xxxxxxxxxxxxxxxxxx
ENDSELECT.

b) Second exemple

SELECT SINGLE * FROM nom_table  WHERE conditions.

c) Troisième exemple

SELECT * FROM nom_table INTO nom_table_interne WHERE conditions

d) Quatrième exemple
Select * into INTO CORRESPONDING FIELDS OF nomtable_interne

e) Test du SELECT

Une instruction SELECT est généralement suivi d’un test .
On utilise pour cela la variable système SY-SUBRC.
Si elle vaut 0 c’est que des lignes ont été trouvées.

f) Optimisation

Il existe des formulations comme l'utilisation des jointures ou de l'addition FOR ALL entries qui permettent d'optimiser les instructions.
Cf bouton conseils et astuce du menu analyse de l'exécution.

1.4    Mise à jour de la base

La mise à jour directe de la base ne concerne que les tables spécifiques. La mise à jour des tables standards se fait à l'aide de batch-inputs ou de fonctions standards de mise à jour.

a) Instructions de mise à jour

UPDATE…
Modification d'un enregistrement

L'instruction sans condition WHERE fonctionne et ne met à jour qu'une ligne.

INSERT…
Création d'un enregistrement

DELETE…
Suppression d'un enregistrement

MODIFY….
Ajout / modification  d'un enregistrement selon son existence.

Attention : ne pas utiliser les : pour cumuler des zones

b) Groupement de mise à jour

Il est possible de grouper plusieurs instructions de mises à jour de telle sorte que soit toutes les mises à jours soient prises en compte soit aucune.

Pour cela on utilise les instructions ROLLBACK WORK et COMMIT WORK.


Page Spéciale pour impression


Login Utilisateur

Identifiant

Mot de Passe


Vous n'avez pas encore de compte personnel ? Partager votre expérience et Inscrivez vous.