> 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

Guide de Services Cloud Managés

Guide de Services Cloud Managés

Accélérer votre transformation digitale, protéger et sécuriser vos environnements Cloud avec les offres de support, d'accompagnement et de services managés. Découvrez le TOP 3 des Services Managés pour accompagner la transformation de vos environnements Cloud, gagner en agilité et en sécurité dans un monde d'incertitudes.

Tech - Par iTPro - Publié le 24 juin 2010