Il n'est pas toujours facile de dupliquer les fonctions des opérations MOVE pour déplacer des données caractère en données numériques en format libre. Les %DEC (Convert to packed decimal), %INT (Convert to integer) et %UNS (Convert to unsigned integer) convertiront une expression (ou une variable) en une valeur de renvoi
Atteindre les nombres

numérique.
Mais, avant la V5R2, ces fonctions
obligeaient à fournir une expression
ou variable numérique.
En V5R2, ces fonctions convertiront
une expression caractère ou une
variable, en respectant les règles suivantes
:
- L’expression doit donner une valeur
numérique valide, avec ou sans un
signe (à gauche ou à droite) - Les blancs sont autorisés dans l’expression,
mais les données à virgule
flottante ne le sont pas. - Si la fonction rencontre des données
numériques invalides, le programme
génèrera une erreur avec %STATUS=
105. - La fonction %DEC demande deux
paramètres supplémentaires, qui
spécifient le nombre de digits et de
positions décimales souhaitées dans
le résultat.
Si Source est une chaîne caractère
de neuf octets avec une valeur de
‘23456.78’ et Result est un nombre décimal
packé (11 chiffres, quatre décimales),
Result contiendra une valeur
négative de 0023456.7800 après ce calcul
:
Result = %Dec(Source:11:4);
Pour ajuster (arrondir) le résultat,
utiliser les variantes %DECH, %INTH,
ou %UNSH de ces fonctions de
conversion.
Comme les fonctions de conversion
numérique ne supportent pas les
expressions de données, on ne peut
pas les utiliser directement pour
convertir des dates en nombres. Mais
on peut (en V5R2) imbriquer la fonction
%CHAR dans l’une des fonctions
de conversion numérique (comme le
montre cet exemple) :
Result = %Int(%Char(Source:*ISO0));
Si Source est une donnée native
(type de donnée D) avec une valeur de
Décembre 31, 2005, Result aura une
valeur entière de 20051231 après le calcul.
N’oubliez pas d’inclure le zéro
après le format désiré pour éliminer
les caractères séparateurs.
Téléchargez cette ressource

Percer le brouillard des rançongiciels
Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
- Comment le Quarter Plan permet d’aligner IT et Métiers pour délivrer
- Explosion des attaques d’ingénierie sociale en 2025
- SI sous pression : 3 signes que vos flux sont mal orientés
