Voici quelques autres améliorations intéressantes
que la V5R2 apporte à
RPG:
Conversion caractère/numérique.
Depuis peu, les programmeurs demandent
de plus en plus de pouvoir
convertir une chaîne de chiffres dans
une variable caractère en une valeur
que l'on pourra attribuer à une variable
numérique. Par le passé, nous avons
suggéré
Autres améliorations
des palliatifs, comme appeler
une fonction dans la bibliothèque runtime
C (comme atol()) ou définir des sous-champs numériques décimaux
caractères et zonés en chevauchement.
Mais maintenant on a de meilleurs
choix en RPG natif. Les valeurs chaîne
de caractères sont autorisées comme
arguments des fonctions intégrées
%DEC, %INT, %UNS et %FLOAT, ainsi
que leurs partenaires de demi-ajustement
%DECH, %INTH et %UNSH.
Dans cet exemple, la valeur dans la
chaîne de variable est convertie en une
valeur décimale comportant sept
chiffres et deux décimales :
/Free
number = %dec(string:7:2);
/End-Free
Opérations de manipulation des
bits.
En V5R2, RPG IV a de nouvelles fonctions intégrées permettant d’effectuer
des opérations logiques au niveau
des bits: %BITAND, %BITOR,
%BITXOR et %BITNOT. Ces fonctions
effectuent des opérations and, or, exclusive-
pr et not, au niveau des bits,
respectivement. Par exemple,
/Free
a = %bitand(x’a7′: x’f1′); // gets x’a1′
b = %bitor(x’a7′: x’f1′); // gets x’f7′
c = %bitxor(x’a7′: x’f1′); // gets x’56’
d = %bitnot(x’a7′); // gets x’58’
/End-Free
Les opérandes doivent être soit
tous numériques, soit tous de type caractère, et le résultat doit être de
même type que les opérandes. %BITAND
et %BITOR, codés dans un calcul,
peuvent prendre un nombre quelconque
d’arguments. %BITXOR prend
deux arguments et %BITNOT n’en
prend qu’un.
Nouveaux opérateurs d’assignation.
Un nouvel ensemble d’opérateurs
d’assignation de forme abrégée
applique une certaine opération à une
cible en utilisant une syntaxe plus
concise. Ainsi, avec l’un de ces nouveaux
opérateurs d’assignation, on
peut incrémenter ou décrémenter directement
une variable numérique
sans devoir coder la variable deux fois
dans l’instruction. C’est particulièrement
utile si la cible est un nom entièrement
qualifié complexe. La figure 5
en montre un exemple.
A noter qu’une assignation telle que
A+=B;
est plus ou moins équivalente à
A=A+B;
La seule différence est que la variable
cible n’est évaluée qu’une fois au
lieu de deux. Cela n’a d’ailleurs d’importance
que si un appel de procédure
est codé comme un index de tableau et
si la procédure implique des effets secondaires.
Hormis cela, le principal
avantage est un style de coding plus
concis. Comme le montre l’exemple de
la figure 5, si l’on veut incrémenter une
variable exprimée par un nom long,
éventuellement un nom entièrement
qualifié, les nouveaux opérateurs d’assignation
rendent le coding plus facile
et peut-être moins sujet à erreurs.
Changements divers.
Il y a plusieurs
autres changements. Tout
d’abord, l’extension N est autorisée sur
le code opération FEOD. FEOD(N)
améliore la performance dans certains
cas. Le buffer d’I/O est écrit dans la
base de données mais pas forcément
engagé sur disque.
Le compilateur RPG accepte désormais
des fichiers source IFS. Vous pouvez
indiquer le nom (y compris le chemin)
d’un fichier IFS sur un nouveau
paramètre sur les commandes CRTRPGMOD
et CRTBNDRPG. Vous pouvez
aussi indiquer des noms de fichiers
IFS sur les directives /Copy et /Include.
Par défaut, le fichier indiqué est recherché
en premier dans le même système
de fichiers que le fichier source
principal. Cela permet aux programmeurs
d’utiliser des systèmes de
contrôle source basés sur IFS.
Une option permet désormais de
générer PCML pour un programme ou
un module. PCML est une description
lisible par le programme de l’interface
à un programme ou module. Elle décrit
les procédures exportées et leurs
paramètres. PCML est utile pour les
programmeurs qui veulent appeler des
programmes et des procédures RPG à
partir du code Java.
Enfin, les variables numériques décimales
packées et zonées peuvent désormais
être déclarées jusqu’à 31
chiffres, avec 31 décimales. Les niveaux
intermédiaires de précision des expressions
de calcul décimal peuvent atteindre
31 chiffres. Le nouveau mot-clé
de spécification de contrôle DECPREC
contrôle la précision externe des valeurs
décimales utilisées dans certains
endroits, comme %EditC et %EditW.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Et si les clients n’avaient plus le choix ?
Les plus consultés sur iTPro.fr
- La connectivité, nouvelle colonne vertébrale de l’expérience en magasin
- Assises de la Sécurité 2026 : osons remettre l’humain au centre et reprendre les commandes
- Réforme de la facturation électronique 2026 : de la contrainte réglementaire à un véritable enjeu différenciant
- IA : la sécurité se prépare aux accès agentiques
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
