Accueil du site > Les articles > Récupérer des enregistrements supprimés.
Version à imprimer Enregistrer au format PDF

Récupérer des enregistrements supprimés.

mercredi 11 août 2004, par Grégory Jarrige Visites  21057 Première mise en ligne le lundi 27 octobre 2003.

Merci à Laurent Masson pour l’astuce décrite ci-dessous :


Le module

Voici un module qui permet de récupérer des données supprimées d’un fichier.
Limitation : Il fonctionne dans le cas ou le fichier n’a pas été réorganisé depuis les suppressions, si la suppression n’a pas été faite par un
CLRPFM, et si le paramètre REUSEDLT du fichier est à *NO (sinon certains enregistrements risquent de ne pas être récupérés car réécrasés). En
gros, on peut récupérer les enregistrements supprimés d’un fichier, uniquement ceux qui sont signalés par la commande DSPFD.
Ce qu’il faut savoir, c’est qu’un enregistrement dans un fichier, est constitué d’un octet de validité (enregistrement actif est à x’80’, enregistrement supprimé à x’C0’) et des données du fichier.
Pour accéder de nouveau à ces données, on sauvegarde le fichier dans un fichier SAVF, puis on lit le contenu du SAVF. On laisse de côté les entêtes et descriptions de fichier ainsi que les données d’intégrité servant à la gestion du SAVF.
Un fichier SAVF est un fichier de 528 de long que l’on peut lire par programme.
Le module date de 93. Je me suis aperçu qu’avec les nouvelles versions de l’OS400, il ne fonctionne plus. Il faut le réaménager, car je recherche à des positions fixes l’entête de fichier pour trouver le début des données, et la façon de stocker dans un fichier de sauvegarde a changé. Les entêtes de fichiers ne se trouvent plus à la même place. C’est pour cela que je force la sauvegarde à la version V3R2M0. Sinon le principe de récupérer les données reste le même. Si j’ai le temps et si certains lecteurs sont intéressés, je ferai prochainement les adaptations .

A bientôt

Laurent

N.B. : les sources des programmes fournis par Laurent se trouvent dans le fichier xpress29.zip (nom réel : rtvdltrec.zip) que vous pouvez télécharger en cliquant ici. Les fichiers sont au format EBCDIC. Pour pouvoir les étudier et les compiler, vous devez les transférer sur votre AS/400 via FTP.

OPEN adresse_as400 — User — Password

BIN PUT fichier_PC bib/source/membre . . .

(c’est l’instruction BIN qui permet de ne pas faire de conversion EBCDIC en ASCII et inversement).