Aller au contenu

Valeur système IBM i (AS/400) · Contrôle du système

QMLTTHDACN

Action pour une fonction non sûre en travail multithread

Précise la réaction du système quand une fonction non sûre pour les unités d'exécution multiples (non threadsafe) est appelée dans un travail multithread.

À quoi elle sert

Les fonctions concernées sont notamment des commandes CL et des programmes d'exit enregistrés par la fonction d'enregistrement des programmes d'exit. Si une telle fonction n'est pas sûre en environnement multithread, le système peut l'exécuter, l'exécuter en le signalant ou la refuser.

Le sujet concerne le développeur et l'exploitant, car l'exécution d'une fonction non sûre met l'intégrité des données en jeu.

Les valeurs possibles

ValeurSignification
1Exécute la fonction non sûre sans message.
2Exécute la fonction non sûre et envoie un message d'information dans le journal du travail (valeur livrée).
3N'exécute pas la fonction non sûre.

Prise en compte : Immédiate.

La valeur recommandée

Sur un système qui exécute des travaux multithreads en production, ou dès que l'intégrité des données compte, utilisez 3. Gardez 2 pendant une phase d'inventaire pour repérer les fonctions concernées dans le journal de travail.

La changer

CHGSYSVAL  SYSVAL(QMLTTHDACN) VALUE('3')

Pour lire la valeur actuelle et celle de la livraison, en SQL :

SELECT SYSTEM_VALUE_NAME, SYSTEM_VALUE, SHIPPED_DEFAULT_VALUE
FROM QSYS2.SYSTEM_VALUE_INFO
WHERE SYSTEM_VALUE_NAME = 'QMLTTHDACN'

Le piège

Avec 3, une fonction non sûre n'est pas exécutée : un traitement peut donc se comporter différemment, d'où l'intérêt d'un essai préalable. Avec 1, la fonction s'exécute sans trace ni protection. Les droits spéciaux *ALLOBJ et *SECADM sont nécessaires pour modifier la valeur.