2912 Readings
DDIC
SAP for 12 years
Posted by Yann MORINEAU
7 years ago
Modified 7 years ago


Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.

Partager — copier, distribuer et communiquer le matériel par tous moyens et sous tous formats

Les groupes de types

La transaction SE11 vous permet de créer un groupe de types. C'est bien mais à quoi ça sert ?

Commençons par un exemple concret.

Le projet BW sur lequel je travaille en ce moment m'oblige à traiter les données d'une liste exhaustive de modèles. Jusqu'à aujourd'hui, je déclarais les mêmes constantes dans les attributs de mes BAdIs. Ces constantes contenaient les noms de mes modèles. Maintenant j'appelle un groupe de types unique dans lequel je déclare toutes mes constantes et tous mes types.

 

1.Créer un groupe de types

Lancez la transaction SE11

se11

 

Choisissez le nom de votre groupe, ici, ZYMO.

Cliquez sur 

 

Donnez une description à votre groupe

puis 

 

La fenêtre de création d'un ordre de transport s'ouvre.

tr

Pour notre exemple, nous créons un objet local. ob

Votre groupe de types est désormais créé.

 

2.Déclaration des constantes et de types

Vous arrivez devant une page presque vide.

groupe

 

Nous allons commencer par créer un type "mes_constantes" dans lequel nous déclarons "constante1" et "constante2".

TYPE-POOL ZYMO .

CONSTANTS :
BEGIN OF mes_constantes,
  constante1 TYPE char01 VALUE 'A',
  constante2 TYPE char03 VALUE 'ABC',
END OF mes_constantes.

 

Validez votre code en cliquant sur valid

Une erreur est détectée :

err

Comme l'explique très clairement la description de l'erreur, le nom d'un type doit obligatoirement commencer par le nom du groupe.

La syntaxe correcte est la suivante :

TYPE-POOL ZYMO .

CONSTANTS :
BEGIN OF zymo_mes_constantes,
  constante1 TYPE char01 VALUE 'A',
  constante2 TYPE char03 VALUE 'ABC',
END OF zymo_mes_constantes.

Validez de nouveau valid

aucune erreur

Aucune erreur de syntaxe détectée, vous pouvez activer votre code activ

Sélectionnez la ligne correspondante à votre groupe.

ligne

obj save

actif

Votre premier type est actif, vous allez pouvoir l'utiliser.

 

3.Utilisation du groupe

Lancez votre REPORT ou POOL de MODULES

prog

On commence par déclarer le groupe de types

* La déclaration du groupe de types
TYPE-POOLS : zymo.

On déclare ensuite les variables

* La déclaration des variables
DATA : v_value_a TYPE char01.

 

Vous pouvez maintenant utiliser les données

img

img

img

 

* L'utilisation de la constante déclarée dans le groupe de types ZYMO
V_VALUE_A = ZYMO_MES_CONSTANTES-CONSTANTE1.

 

On affiche le résultat

* Affichage de la valeur
WRITE V_VALUE_A.

 

Activez votre code en cliquant sur activ

Et lancez votre programme en cliquant sur lancement 

 

Résultat :

result

La valeur A est bien affichée.

 

4.Récapitulation du code

REPORT  Z_YMO_TEST2.

* La déclaration du groupe de types
TYPE-POOLS : zymo.

* La déclaration des variables
DATA : v_value_a TYPE char01.

* L'utilisation de la constante déclarée dans le groupe de types ZYMO
V_VALUE_A = ZYMO_MES_CONSTANTES-CONSTANTE1.

* Affichage de la valeur
WRITE V_VALUE_A.

 

Les inconvénients

  • Ne pas oublier de déclarer le TYPE-POOLS

Les avantages

  • Gagner du temps de développement,
  • Créer un cadre robuste,
  • Augmenter la transférabilité du code.

 

Pub

Sign in or Sign up to ask questions.

Latest tutorials from the same author

imgBPC

Déboguer un package

Astuce pour déboguer un package ...

Posted 6 years ago
Modified 6 years ago
6194
imgBPC

BPC BI and Source system

BPC Overview ...

Posted 6 years ago
Modified 6 years ago
6990
imgBPC

Vider le cache BPC

Vider le cache BPC avec UJA_REFRESH_DIM_CACHE ...

Posted 6 years ago
Modified 6 years ago
5330
imgBPC

BPC, BI et Système source

Vue d'ensemble de BPC ...

Posted 6 years ago
Modified 6 years ago
6043