> Tech > Opérations diverses

Opérations diverses

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

La figure 5 montre quelques codes opération que j'ai regroupés sous l'appellation opérations diverses. Elles incluent des affectations numériques et logiques (champs indicateurs). Les comparaisons suivantes montrent que la version en format libre de ces opérations est simple et claire :

C             Z-Add   X   Z   Z = X;
C             SetOn

Opérations diverses

01
*In01 = *On;

J’espère que vos programmes en
RPG IV évitent déjà  ces codes opération
en format fixe. Si ce n’est pas le
cas, saisissez l’occasion du format libre
pour le faire.
La concaténation de chaînes est
également plus simple et plus claire en
format libre. Soit les exemples suivants
comparant les versions en format fixe
et libre, respectivement :

C String1 Cat String2  String3
  String3 = String1 + String2;
Le format libre remplace le code opération AddDur par l'opérateur + utilisé conjointement aux BIF de durée. De même, SubDur utilise l'opérateur -. Comparons un exemple en format fixe à  la version en format libre équivalente :
C LoanDate AddDur YY:*Years
  DueDate
C AddDur MM:*Months
  DueDate
C AddDur DD:*Days
  DueDate

  Eval DueDate = LoanDate + %Years(YY) +
                            %Months(MM) +
                            %Days (DD);

Là  encore, la version en format
libre est plus facile à  lire. Bien que
l'exemple ne le montre pas, le RPG en
format libre présente un autre avantage.
Dans la version en format fixe, on
est limité dans la longueur du nom de
variable contenant la durée parce que
ce nom, en même temps que le code
de durée, doit tenir dans l'espace
fourni pour Factor 2. Le format libre
vous affranchit de cette contrainte et
autorise des noms de variables plus
longs.

Comptant sur les indicateurs résultants,
Comp est un autre code opération
obsolète même en RPG en format
fixe. Son absence du RPG en format
libre impose de meilleures pratiques
de programmation pour les environnements
qui utilisent encore Comp.
Les conventions d'appel non prototypées
sont elles aussi obsolètes,
même en RPG en format fixe. On y
trouve les codes opération Call et CallB
en même temps que les structures de
listes de paramètres comprises dans
les codes opération PList et Parm. Il
faut toujours prototyper les appels et
utiliser l'opération CallP. Avec un
double avantage : vérification des paramètres
au moment de la compilation,
et le fait que la convention d'appel prototypée
fournit un code clair et net. Là 
encore, le RPG en format libre favorise
de meilleures pratiques de programmation
en vous obligeant à  utiliser les
appels prototypés.

Define est le dernier code opération
que j'inclus dans la catégorie divers.
Il permet de définir une variable
de programme en se fondant sur les attributs
d'une autre variable, en utilisant
la forme Define *Like de l'opération. Il
permet également de définir une zone
de données en utilisant la forme
Define *DtaAra. A bon escient, le RPG
en format libre déplace cette fonction
dans la carte D (D-spec), où l'on utilise
les mots-clés Like et DtaAra.

Téléchargez gratuitement cette ressource

Endpoint Security : Etude IDC Enjeux & Perspectives

Endpoint Security : Etude IDC Enjeux & Perspectives

Quel est l'état de l'art des solutions de Endpoint Security et les perspectives associées à leur utilisation ? Comment garantir la sécurité des environnements sensibles en bloquant au plus tôt les cyber attaques sophistiquées, avant qu’elles n'impactent durablement vos environnements de travail ?

Tech - Par iTPro - Publié le 24 juin 2010