Aller au contenu

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
ColonneTypeSignification
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