Aller au contenu

Service SQL IBM i (AS/400) · Fonction table

SYSTOOLS.VALIDATE_DATA

Valider le contenu d'un fichier

Contrôle les données d'un membre de fichier et signale les enregistrements invalides : caractères incorrects, décimales erronées.

À quoi ça sert

Cette fonction de table lit le membre MEMBER_NAME (*FIRST par défaut) du fichier FILE_NAME de la bibliothèque LIBRARY_NAME et renvoie une ligne par anomalie rencontrée : numéro d'enregistrement relatif, colonne en cause, avertissement SQL, code motif et texte.

On l'utilise pour trouver les données invalides qui font échouer des requêtes SQL, typiquement des zones numériques décimales corrompues dans des fichiers anciens écrits par des programmes RPG. Elle évite de parcourir le fichier à la main et précise l'enregistrement et la colonne à corriger.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT * FROM TABLE(SYSTOOLS.VALIDATE_DATA('APPLIB', 'FILE1'))

Aucune ligne : la fonction ne liste que les données non valides, et la table testée n'en contient pas.

L'exemple d'IBM

Valider le contenu du fichier FILE1 de la bibliothèque APPLIB.

-- Description: Validate the content of FILE1.  
 SELECT * FROM TABLE(SYSTOOLS.VALIDATE_DATA('APPLIB', 'FILE1'));

Bon à savoir

Un résultat vide signifie qu'aucune anomalie n'a été trouvée. Sur un gros fichier, la lecture complète peut être longue.

Paramètres

ParamètreTypePar défautSignification
LIBRARY_NAME VARCHAR(10) obligatoire Nom de la bibliothèque
FILE_NAME VARCHAR(10) obligatoire Nom du fichier
MEMBER_NAME VARCHAR(10) '*FIRST' Nom du membre

Colonnes renvoyées (9)

Afficher les 9 colonnes
ColonneTypeSignification
VALIDATE_TIME TIMESTAMP Heure de la validation
LIBRARY_NAME VARCHAR(10) Nom de la bibliothèque
FILE_NAME VARCHAR(10) Nom du fichier
MEMBER_NAME VARCHAR(10) Nom du membre
RELATIVE_RECORD_NUMBER BIGINT Numéro d'enregistrement relatif
SQL_WARNING INTEGER Avertissement SQL
REASON_CODE INTEGER Code motif
COLUMN_NAME VARCHAR(128) Nom de la colonne
WARNING_TEXT VARCHAR(1000) Texte de l'avertissement