> Tech > RPG en format libre : Gagner au jeu du MOVE

RPG en format libre : Gagner au jeu du MOVE

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

par Bryan Meyers - Mis en ligne le 26/01/2005 - Publié en Mars 2004

Remplacez les codes opération MOVE par ses alternatives en format libre

Parlez de RPG à  de nombreux programmeurs et ils se verront aussitôt assaillis de cartes perforées, de règles de spécifications et de colonnes fixes. De tous temps, RPG a été un langage en format fixe dont le code s'est exprimé en plages de colonnes explicites. Et même le format Factor 2 étendu du RPG IV, qui permet aux expressions de s'étaler plus à  l'aise sur 45 colonnes, ressemble quand même à  un programme essayant de briser ses chaînes ...Puis il y a eu la version 5. Dans cette release, IBM a introduit une nouvelle spécification de format libre qui offre une alternative aux cartes C en colonnes traditionnelles. Le RPG en format libre est plus facile à  lire que le format fixe et plus simple à  coder par les programmeurs RPG et à  apprendre par les nouveaux programmeurs. De plus, la structure de la logique du programme est plus facile à  lire. Il est donc plus aisé à  maintenir et moins sujet à  erreurs.
D'où la question : pourquoi le monde RPG ne s'est-il pas précipité vers le format libre ? IBM a profité de l'occasion pour éliminer le support du format libre pour de nombreux codes opération qu'elle jugeait obsolètes. Ainsi, la nouvelle spécification ne supporte pas les codes opération qui demandent un indicateur résultant. Une omission particulièrement évidente a été constituée de codes opération MOVE - généralement des opérations puissantes qui permettent d'attribuer des valeurs d'un champ à  un autre, même si les deux n'ont pas le même type de données ou la même longueur. Dans cet article, j'explore quelques techniques permettant de remplacer les codes opération MOVE par des alternatives en format libre. Mais voyons d'abord brièvement comment utiliser le RPG en format libre.

RPG en format libre : Gagner au jeu du MOVE

La figure 1 illustre la spécification de format libre en vigueur.
On la code à  l’aide d’une syntaxe RPG familière délimitée par
les directives de compilateur /FREE et /END-FREE. Mais on
n’a pas à  se soucier de tout mettre dans les bonnes colonnes.
On peut parfaitement spécifier le code n’importe où à  partir
de la colonne 8-80, en laissant les colonnes 6 et 7 vierges.
(L’ironie qui obligeait à  spécifier le code en format libre dans
certaines colonnes a apparemment disparu chez IBM.)
Le contenu réel du code en format libre est familier,
excepté que chaque ligne commence par un code opération
au lieu de Factor 1. Le bon ordre d’une spécification est

Opcode(e) Factor1 Factor2 Result ;

Dans deux cas, le code opération est facultatif. On peut
omettre EVAL (Evaluate expression) et CALLP (Call prototyped
procedure/program), sauf s’il est nécessaire de spécifier
une extension :

Tax = TaxableAmount * TaxRate;
Eval(h) Tax = TaxableAmount * TaxRate;

UpdCustomer(Company:CustomerNbr);
Callp(e) UpdCustomer(Company:CustomerNbr);

On peut aligner et/ou décaler le code pour le rendre plus
lisible, continuer une spécification sur plusieurs lignes si nécessaire,
et inclure des commentaires double-slash dans la
ligne, précédés de //. Chaque instruction en format libre se
termine par un délimiteur point-virgule.

Téléchargez gratuitement cette ressource

Comment sécuriser la Digital Workplace ?

Comment sécuriser la Digital Workplace ?

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

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