En V5R2, la fonction %DEC convertit
une expression chaîne en un nombre
décimal packé, avec la précision spécifiée,
comme ceci :
%DEC(expression:digits:decimals)
Les releases précédentes n'acceptaient
que des expressions numériques
avec %DEC.
Quand on utilise la fonction %DEC
pour convertir une chaîne, le deuxième
et le troisième paramètre sont
obligatoires. Ainsi,
2. Utiliser %DEC pour convertir Caractère en Numérique

si le champ caractère
Amount a une valeur de ‘00123.45’,
on pourra le convertir en un nombre
décimal packé en codant
%DEC(Amount:7:2)
Si la valeur chaîne inclut des caractères
non numériques (autres qu’un
caractère décimal), on peut inclure la
fonction %XLATE pour traduire ces caractères
en blancs. Par exemple, si
Amount a une valeur de ‘$***12,345.67
‘, on pourra coder
%DEC( %XLATE(‘$*,’:’ ‘:Amount) : 7 : 2 )
pour convertir le symbole devise, les astérisques et les
virgules en blancs. La fonction %DEC ne tient pas compte
des blancs imbriqués, donc le programme produira une valeur
de renvoi packée de sept chiffres, de 12345.67.
Si la fonction %DEC rencontre une valeur numérique
non valide, elle renvoie un code d’état de 105, facile à capturer,
comme ceci :
MONITOR;
Result = %DEC(%XLATE(‘$*,’:’ ‘:Amount)
:7:2);
ON-ERROR 105;
Result = 0;
ENDMON;
Pour arrondir le résultat numérique, utilisez %DECH. Les
fonctions %INT et %INTH acceptent aussi des arguments
chaîne, renvoyant alors des valeurs entières.
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.