VERIFIER FICHIER DONNEES

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11


VERIFIER FICHIER DONNEES (cheminStructure; cheminDonnées; objets; options; méthode{; tabTables; tabChamps})

ParamètreTypeDescription
cheminStructureTexteChemin d'accès du fichier de structure de la base à vérifier
cheminDonnéesTexteChemin d'accès du fichier de données de la base à vérifier
objetsNumObjets à vérifier
optionsNumOptions de vérification
méthodeTexteNom de la méthode 4D de rétroappel
tabTablesTab numNuméros des tables à vérifier
tabChampsTab num 2DNuméros des index à vérifier

Description

La commande VERIFIER FICHIER DONNEES effectue une vérification structurelle des objets contenus dans le fichier de données 4D désigné par cheminStructure et cheminDonnées.

Note : Pour plus d'informations sur le processus de vérification des données, reportez-vous au manuel Mode Développement.

cheminStructure désigne le fichier de structure (compilé ou non) associé au fichier de données à vérifier. Il peut s'agir du fichier de structure ouvert ou de tout autre fichier de structure. Vous devez passer un chemin d'accès complet, exprimé avec la syntaxe du système d'exploitation. Vous pouvez également passer une chaîne vide, dans ce cas une boîte de dialogue standard d'ouverture de fichiers apparaît, permettant à l'utilisateur de désigner le fichier de structure à utiliser.

cheminDonnées désigne un fichier de données 4D (.4DD). Il doit correspondre au fichier de structure défini par le paramètre cheminStructure. Attention, vous pouvez désigner le fichier de structure courant mais le fichier de données ne doit pas être le fichier courant (ouvert). Pour vérifier le fichier de données ouvert, utilisez la commande VERIFIER FICHIER DONNEES OUVERT. Si vous tentez de vérifier le fichier de données courant avec la commande VERIFIER FICHIER DONNEES, une erreur est générée.

Le fichier de données désigné est ouvert en lecture seulement. Vous devez veiller à ce qu'aucune application n'accède à ce fichier en écriture, sinon les résultats de la vérification pourront être faussés.

Vous pouvez passer dans le paramètre cheminDonnées une chaîne vide, un nom de fichier ou un chemin d'accès complet, exprimé dans la syntaxe du système d'exploitation. Si vous passez une chaîne vide, la boîte de dialogue standard d'ouverture de fichier apparaît, permettant à l'utilisateur de désigner le fichier à vérifier (à noter dans ce cas qu'il n'est pas possible de sélectionner le fichier de données courant). Si vous passez uniquement un nom de fichier de données, 4D le recherchera au même niveau que le fichier de structure défini.

Le paramètre objets permet de désigner le(s) type(s) d'objets à vérifier. Deux types d'objets peuvent être vérifiés : les enregistrements et les index. Utilisez les constantes suivantes, placés dans le thème "Maintenance fichier de données" :

- Vérifier enregistrements (4)

- Vérifier index (8)

- Tout vérifier sans rétroappel (16)

Pour vérifier les enregistrements et les index, passez le cumul Vérifier enregistrements+Vérifier index. La valeur 0 (zéro) permet également d'obtenir le même résultat. L'option Tout vérifier sans rétroappel est un cas particulier. Elle effectue la vérification interne la plus complète, mais, pour des raisons internes, ne permet pas le rétro-appel d'une méthode. Cette vérification est néanmoins compatible avec la création d'un historique.

Le paramètre options permet de définir les options de vérification. Une seule option est actuellement disponible, accessible via une constante du thème "Maintenance fichier de données" : Ne pas créer d'historique (16384).

En principe, la commande VERIFIER FICHIER DONNEES crée un fichier d'historique au format xml (reportez-vous à la fin de la description de cette commande). Vous pouvez annuler ce fonctionnement en passant cette option. Pour créer l'historique, passez 0 dans options.

Le paramètre méthode permet de définir une méthode de rétro-appel qui sera régulièrement appelée durant la vérification. Si vous passez une chaîne vide, aucune méthode n'est appelée. Si la méthode passée n'existe pas, la vérification n'est pas effectuée, une erreur est générée et la variable OK prend la valeur 0. Lorsqu'elle est appelée, cette méthode reçoit jusqu'à 5 paramètres en fonction du type d'événement à l'origine de l'appel (cf. tableau des appels). Vous devez impérativement déclarer ces paramètres dans la méthode :

- $1Entier longType de message (cf. tableau)
- $2Entier longType d'objet
- $3TexteMessage
- $4Entier longNuméro de table
- $5Entier longRéservé

Le tableau suivant décrit le contenu des paramètres en fonction du type d'événement :

Evénement$<1 (E. long)$<2 (E. long)$<3 (<Texte)$<4 (E. long)$<5 (E. long)
Message10Message dePourcentageRéservé
progressionréalisé (0-100)
Vérification OK2Type d'objetTexte duNuméro deRéservé
message OKtable ou d'index
Erreur 3Type d'objetTexte du mes-Numéro deRéservé
sage d'erreurtable ou d'index
Fin d'exécution40DONE0Réservé
Warning5Type d'objetTexte du mes-Numéro deRéservé
sage d'erreurtable ou d'index

Type d'objet : Lorsqu'un objet a été vérifié, un message OK ($1=2), erreur ($1=3) ou warning ($1=5) peut être envoyé. Le type d'objet retourné dans $2 peut être l'un des suivants :

0 = indéterminé

4 = enregistrement

8 = index

16 = objet structure (contrôle préliminaire du fichier de données).

Cas particulier : lorsque $4 = 0 pour $1 = 2, 3 ou 5, le message ne concerne pas une table mais le fichier de données dans son ensemble.

La méthode de rétro-appel doit également retourner une valeur dans $0 (Entier long), permettant de contrôler l'exécution de l'opération :

- si $0 = 0, l'opération continue normalement

- si $0 = -128, l'opération est stoppée sans erreur générée

- si $0 = autre valeur, l'opération est stoppée et la valeur passée dans $0 est retournée en tant que numéro d'erreur. Cette erreur peut être interceptée par une méthode d'appel sur erreur.

Deux tableaux facultatifs peuvent également être utilisés par la commande :

Le tableau tabTables contient les numéros des tables dont les enregistrements doivent être vérifiés. Il permet de limiter la vérification à certaines tables. Si ce paramètre n'est pas passé ou si le tableau est vide et que le paramètre objets contient Vérifier enregistrements, toutes les tables sont vérifiées.

Le tableau tabChamps contient les numéros des champs indexés dont les index doivent être vérifiés. Si ce paramètre n'est pas passé ou si le tableau est vide et que le paramètre objets contient Vérifier index, tous les index sont vérifiés. La commande ignore les champs non indexés. Si un champ contient plusieurs index, tous les index sont vérifiés. Si un champ fait partie d'un index composite, la totalité de l'index est vérifiée.

Vous devez passer un tableau 2D dans tabChamps. Pour chaque ligne du tableau :

- l'élément {0} contient le numéro de la table,

- les autres éléments {1...n} contiennent les numéros des champs.

Par défaut, la commande VERIFIER FICHIER DONNEES crée un fichier d'historique au format xml (si vous n'avez pas passé l'option Ne pas créer d'historique, cf. paramètre options). Son nom est basé sur celui du fichier de données et il est placé dans le dossier "Logs" de la base. Par exemple, pour un fichier de données nommé "data.4dd", le fichier d'historique sera nommé "data_verify_log.xml".

Exemples

(1) Vérification simple des données et des index :

   VERIFIER FICHIER DONNEES($NomStruct;$NomData;Vérifier index+Vérifier enregistrements;Ne pas créer d'historique;"")

(2) Vérification complète avec historique :

   VERIFIER FICHIER DONNEES($NomStruct;$NomData;Tout vérifier sans rétroappel;0;"")

(3) Vérification des enregistrements uniquement :

   VERIFIER FICHIER DONNEES($NomStruct;$NomData;Vérifier enregistrements;0;"")

(4) Vérification des enregistrements des tables 3 et 7 uniquement :

   TABLEAU ENTIER LONG($tnumTables;2)
   TABLEAU ENTIER LONG($tindex;0) `non utilisé mais obligatoire
   $tnumTables{1}:=3
   $tnumTables{2}:=7
   VERIFIER FICHIER DONNEES($NomStruct;$NomData;Vérifier enregistrements;0;"FollowScan";$tnumTables;$tindex)

(5) Vérification d'index spécifiques (index du champ 1 de la table 4 et index des champs 2 et 3 de la table 5) :

   TABLEAU ENTIER LONG($tnumTables;0) `non utilisé mais obligatoire
   TABLEAU ENTIER LONG($tindex;2;0) `2 lignes (colonnes ajoutées ensuite)
   $tindex{1}{0}:=4 ` numéro de table dans l'élément 0
   AJOUTER A TABLEAU($tindex{1};1) ` numéro du 1er champ à vérifier
   $tindex{2}{0}:=5 ` numéro de table dans l'élément 0
   AJOUTER A TABLEAU($tindex{2};2) ` numéro du 1er champ à vérifier
   AJOUTER A TABLEAU($tindex{2};3) ` numéro du 2e champ à vérifier
   VERIFIER FICHIER DONNEES($NomStruct;$NomData;Vérifier index;0;"FollowScan";$tnumTables;$tindex)

Référence

VERIFIER FICHIER DONNEES OUVERT.

Variables et ensembles système

Si la méthode de rétro-appel passée n'existe pas, la vérification n'est pas effectuée, une erreur est générée et la variable OK prend la valeur 0.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant