Service SQL IBM i (AS/400) · Vue
QSYS2.SYSTEM_VALUE_INFO
Valeurs système et leurs réglages
Liste toutes les valeurs système avec leur valeur courante, leur valeur livrée, leur catégorie et leur caractère modifiable : l'équivalent SQL de WRKSYSVAL.
À quoi ça sert
SYSTEM_VALUE_INFO renvoie une ligne par valeur système : nom (SYSTEM_VALUE_NAME), valeur numérique ou caractère courante, texte descriptif, catégorie, indicateur CHANGEABLE et valeur livrée par défaut (SHIPPED_DEFAULT_VALUE).
On l'emploie pour auditer la configuration : repérer les valeurs qui diffèrent de la valeur livrée, vérifier la valeur de QPWDLVL ou de QMAXSIGN, ou documenter un système avant une migration. Le SQL permet de filtrer par catégorie, de trier et d'exporter le résultat.
Comme c'est une vue, on peut aussi comparer deux partitions : l'exemple d'IBM lit la même vue sur une partition distante, la copie dans une table temporaire et fait ressortir les différences avec une jointure d'exclusion.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM QSYS2.SYSTEM_VALUE_INFO
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| SYSTEM_VALUE_NAME Nom de la valeur système | SYSTEM_VALUE Valeur système | CURRENT_NUMERIC_VALUE Valeur numérique courante | CURRENT_CHARACTER_VALUE Valeur caractère courante | TEXT_DESCRIPTION Texte descriptif | CATEGORY Catégorie | CHANGEABLE Modifiable | SHIPPED_DEFAULT_VALUE Valeur par défaut livrée |
|---|---|---|---|---|---|---|---|
| QDECFMT | J | NULL | J | Format décimal | *EDT | YES | |
| QDATFMT | DMY | NULL | DMY | Format de date | *EDT | YES | MDY |
| QDATSEP | / | NULL | / | Séparateur de date | *EDT | YES | / |
| QDATE | 01/10/26 | NULL | 1261001 | Date système | *DATTIM | YES | *NOVALUE |
| QYEAR | 26 | NULL | 26 | Année | *DATTIM | YES | *NOVALUE |
Données anonymisées : les noms de système, de profils, de
bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma
JOBISQL sont des objets de démonstration créés pour ce site.
L'exemple d'IBM
Comparer les valeurs système de deux partitions.
-- Description: Compare System Values across two partitions
DECLARE GLOBAL TEMPORARY TABLE SESSION.Remote_System_Values
( SYSTEM_VALUE_NAME,CURRENT_NUMERIC_VALUE,CURRENT_CHARACTER_VALUE )
AS (SELECT * FROM REMOTEPART.QSYS2.SYSTEM_VALUE_INFO) WITH DATA
WITH REPLACE;
-- Use exception join to reveal any differences
SELECT 'REMOTEPART' AS "System Name", A.SYSTEM_VALUE_NAME,
A.CURRENT_NUMERIC_VALUE,A.CURRENT_CHARACTER_VALUE FROM QSYS2.SYSTEM_VALUE_INFO A
LEFT EXCEPTION JOIN SESSION.Remote_System_Values B
ON A.SYSTEM_VALUE_NAME = B.SYSTEM_VALUE_NAME AND
A.CURRENT_NUMERIC_VALUE IS NOT DISTINCT FROM B.CURRENT_NUMERIC_VALUE AND
A.CURRENT_CHARACTER_VALUE IS NOT DISTINCT FROM B.CURRENT_CHARACTER_VALUE
UNION ALL
SELECT 'LOCALPART' AS "System Name", B.SYSTEM_VALUE_NAME,
B.CURRENT_NUMERIC_VALUE,
B.CURRENT_CHARACTER_VALUE FROM QSYS2.SYSTEM_VALUE_INFO A
RIGHT EXCEPTION JOIN SESSION.Remote_System_Values B
ON A.SYSTEM_VALUE_NAME = B.SYSTEM_VALUE_NAME AND
A.CURRENT_NUMERIC_VALUE IS NOT DISTINCT FROM B.CURRENT_NUMERIC_VALUE AND
A.CURRENT_CHARACTER_VALUE IS NOT DISTINCT FROM B.CURRENT_CHARACTER_VALUE
ORDER BY SYSTEM_VALUE_NAME;
Bon à savoir
Comparez CURRENT_CHARACTER_VALUE et SHIPPED_DEFAULT_VALUE pour isoler les réglages personnalisés. Dans une comparaison, utilisez IS NOT DISTINCT FROM, car les valeurs peuvent être nulles selon le type de la valeur système.
Colonnes renvoyées (8)
Afficher les 8 colonnes
| Colonne | Type | Signification |
|---|---|---|
SYSTEM_VALUE_NAME |
VARCHAR(10) | Nom de la valeur système |
SYSTEM_VALUE |
VARG | Valeur système |
CURRENT_NUMERIC_VALUE |
BIGINT | Valeur numérique courante |
CURRENT_CHARACTER_VALUE |
VARG | Valeur caractère courante |
TEXT_DESCRIPTION |
VARCHAR(50) | Texte descriptif |
CATEGORY |
VARCHAR(7) | Catégorie |
CHANGEABLE |
VARCHAR(3) | Modifiable |
SHIPPED_DEFAULT_VALUE |
VARG | Valeur par défaut livrée |