Q : Récemment, nous sommes passés de la V4R4 à la V4R5 et, à cette occasion, j'ai recompilé complètement le système parce que des fichiers avaient été modifiés. Depuis, quand je teste le système, j'obtiens des erreurs de données décimales sur un coding vieux de plusieurs années. Par exemple, dans
Je reçois des erreurs de données décimales
un
programme particulier, se trouve la structure de
données illustrée figure 1A.
Dans ce programme, les données provenant d’un
champ caractère contenant huit valeurs numériques
sont déplacées dans la structure de données de la figure
1B. J’ai dû mettre INZ à côté de accds pour éviter
une erreur de donnée décimale. J’ai ensuite buté
sur le programme suivant pour la même raison.
R : Je suis sûr que votre problème est dû à la modification par
utilisateur de commandes fournies par IBM, qui ont été faites
dans la release précédente mais pas répétées après votre
mise à niveau d’OS/400. En particulier, il semble que, dans
votre release précédente, une nouvelle valeur par défaut a
été spécifiée pour le paramètre FixNbr sur les commandes
utilisées pour compiler des objets programme RPG.
FixNbr détermine les éventuelles données décimales invalides
que le compilateur doit corriger. La valeur par défaut
fournie par IBM est *None, qui ordonne au compilateur de
ne pas corriger les données décimales invalides mais
d’émettre plutôt un message d’erreur de données décimale à l’exécution. Une valeur de *Zoned ordonne au compilateur
de corriger la donnée numériques zonée invalide quand elle
est convertie en donnée packée et une valeur de *Input-
Packed conduit le compilateur à corriger la donnée packée
invalide lors du traitement des spécifications d’entrée.
Pour redresser la situation, il vous faudra changer la valeur
par défaut (en utilisant la commande ChgDftVal) du paramètre
FixNbr sur les commandes Crt* concernées. Mais,
avant cela, voici un petit conseil supplémentaire. Plutôt que
d’apporter des modifications aux commandes fournies par
IBM, il vaut mieux modifier leurs copies. Ensuite, gardez ces
copies dans une bibliothèque créée par l’utilisateur (utilisée
uniquement pour contenir des objets IBM modifiés) et placez
cette bibliothèque dans la liste de bibliothèques système
telle qu’elle apparaît avant library QSys. Cette opération est
nécessaire afin que les références non qualifiées à la commande
utilisent la version modifiée. Enfin, vous devriez créer
un programme qui apporte aux commandes les modifications
réelles. Il est ainsi facile de rétablir toutes les modifications
utilisateur nécessaires.
Téléchargez cette ressource
SIEM & PME : Comment construire la boîte noire de votre SI ?
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Souveraineté des données : bâtir un stockage hybride adapté à l’ère de l’IA
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
