> Tech > Renommer un fichier (ou « lien ») dans l’IFS

Renommer un fichier (ou « lien ») dans l’IFS

Tech - Par iTPro - Publié le 24 juin 2010
email

IBM offre deux API différentes pour renommer un fichier dans l’IFS : Qp01 RenameUnlink() et Qp01Rename- Keep(). Toutes deux font la même chose : changer le nom d’un lien. La différence entre les deux se manifeste quand le nom du fichier résultant existe déjà.

Si un lien portant

le nom cible existe déjà, l’API Qp01RenameUnlink() commence par le délier puis effectue le renommage. C’est une décision risquée car elle peut supprimer un fichier à votre insu !

L’API Qp01RenameKeep() est beaucoup plus sûre. Si un lien portant le nom cible existe déjà, l’API renvoie une erreur et garde le fichier existant intact.

La figure 7 montre le prototype que j’utilise pour renommer les liens dans l’IFS. La figure 8 montre le programme REPLACE. A noter que si vous définissez la condition RENAMEUNLINK avant d’inclure le membre IFSIO_ H dans votre code source RPG (A en figure 8), le code défini /if en figure 7 fait que l’API Qp01RenameUnlink() sera utilisée pour les appels rename(). Par conséquent, si hello.txt existe avant l’appel rename(), il est remplacé par le nouveau fichier (B en figure 8).

Le comportement par défaut, si vous ne définissez pas RENAMEUNLINK, consiste à utiliser l’API Qp01 RenameKeep(). Cette API est plus sûre à utiliser parce qu’elle ne supprime jamais le fichier de destination. Si le fichier existe, l’API renvoie une erreur que vous pouvez vérifier dans le programme (figure 9).

Téléchargez gratuitement cette ressource

Protection des Données : 10 Best Practices

Protection des Données : 10 Best Practices

Le TOP 10 des meilleures pratiques, processus et solutions de sécurité pour mettre en œuvre une protection efficace des données et limiter au maximum les répercutions d’une violation de données.

Tech - Par iTPro - Publié le 24 juin 2010