> Tech > Créer des types de données standard en RPG IV

Créer des types de données standard en RPG IV

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Paul Conte - Mis en ligne le 31/03/2004

Améliorez votre programmation RPG IV par cette simple technique

Ce que j'appelle des « Standard Data Types » (SDT) sont une petite technique RPG IV simple et intelligente qui permet de réduire les erreurs, d'améliorer l'intelligibilité des programmes, de rendre le code plus homogène et de faciliter les modifications des programmes. Essentiellement, les SDT permettent de définir des noms significatifs pour les types de données puis à  se référer à  ces noms quand on définit les variables d'application. J'expliquerai quelques améliorations de la technique fondamentale plus loin, mais, pour commencer, voyons le coding RPG IV de base pour définir et utiliser un SDT.

Tout d'abord, on utilise une carte D pour déclarer le SDT. L'exemple suivant déclare le SDT TypeTimestamp:

D TypeTimestamp S Z

Comme on le voit, sous sa forme la plus élémentaire, déclarer un SDT n'est rien de plus que déclarer un champ RPG IV. Il faut suivre une convention de noms pour les déclarations SDT, par exemple, commencer tous les noms SDT avec Type. Il est tout aussi simple d'utiliser un SDT dans une déclaration de champ d'application, comme le montre l'exemple suivant :

D RpcEndTime S
Like(TypeTimestamp)


Quand on utilise le mot-clé Like sur une carte D, le compilateur utilise simplement le type de données intégré (et la taille et les positions décimales le cas échéant) du champ référencé - TypeTimestamp, dans ce cas.

Créer des types de données standard en RPG IV

Cette technique n’a rien de magique ni
de profond, mais quand on l’utilise régulièrement
– particulièrement dans
un groupe de programmeurs – les
avantages sont substantiels. Examinons
les avantages que j’ai indiqués
précédemment pour comprendre
comment les SDT améliorent la programmation
RPG IV.

Réduire les erreurs. Souvent, deux
champs ou plus dans un programme
doivent avoir un type de données, une
taille et des positions décimales identiques.
Si, par inadvertance, vous codez
des déclarations différentes, vous
risquez d’obtenir des erreurs runtime,
y compris le mauvais alignement des
données sur les appels de procédure
ou des erreurs de conversion ou de
troncature sur les attributions. Les
fautes de typographie, la mauvaise mémorisation
du type de données d’un
champ, une documentation périmée,
et le fait de négliger les cartes D pendant
les révisions de programmes, tout
cela peut conduire à  des déclarations
de champs incohérentes. Ces types
d’erreurs sont faciles à  commettre
mais difficiles à  détecter lors de la vérification
des programmes. Avec les SDT,
il y a moins de risque d’erreur parce
que vous entrez un nom de type significatif
sur la carte D plutôt que d’utiliser
des codes type (I, Z, par exemple)
et des valeurs numériques pour la taille
et les positions décimales.

Améliorer l’intelligibilité du programme. En utilisant des noms homogènes et
descriptifs pour vos SDT, il sera plus facile
de comprendre quelles données
un champ d’application contiendra en
terme d’application. Quand vous lisez
un programme dont les champs sont
déclarés pour contenir des tampons
horodateurs, des ID client, un texte de
message, etc., vous pouvez comprendre
plus rapidement les données
du programme que si vous voyez des
codes type et des valeurs numériques.
Bien sûr, les noms de champs euxmêmes
peuvent (et devraient) suggérer
le contenu d’un champ, mais considérons
l’exemple de la figure 1. Ici, le
nom du champ de l’application
RpcJobName indique au programmeur
que ce champ contient un nom de job
utilisé dans un appel de procédure distante.
Mais quel genre de nom de job ?
Le nom du SDT TypeSysName répond
clairement à  cette question – un nom
de système OS/400.

Rendre le code plus cohérent. Les SDT
favorisent l’homogénéité du coding en
fournissant une liste de choix commode
des types de données d’application
que les programmeurs peuvent
utiliser dans les déclarations de
champs. Ainsi, plutôt que chaque programmeur
décide s’il utilisera un caractère
unique, un entier ou un ID de
message de sept caractères comme
code de renvoi transmis par les programmes
et procédures appelés, vous
pouvez définir un SDT TypeCallRtnCde
que tous les programmeurs et
programmes et procédures appelés
utiliseront. La cohérence simplifie le
coding en réduisant le besoin de conversion ou de traduction. Elle améliore
aussi la compréhension parce
qu’il y a moins de variantes à  apprendre.

Faciliter les modifications des programmes.
Revenons à  l’exemple de code
de renvoi cité plus haut. Supposons
que vous décidiez de passer de l’utilisation
d’un seul caractère à  l’utilisation
d’un ID message de sept caractères ? Si
vous avez déclaré tous les champs de
code de renvoi dans vos applications
en utilisant un SDT TypeCallRtnCde, il
suffira de changer le TypeCallRtnCde et
de recompiler les programmes pour
mettre à  jour toutes les déclarations de
champs. Bien entendu, un changement
dans le type de données sous-jacentes
du code de retour peut aussi
nécessiter de changer également les
cartes C. La programmation modulaire
est la technique appropriée pour simplifier les changements appropriés
à  la logique du programme. Les SDT ne
sont pas l’entière solution pour faciliter
la maintenance, mais ils complètent
d’autres techniques éprouvées et sont
utiles dans de nombreuses situations.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par iTPro.fr - Publié le 24 juin 2010