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
Renommer un fichier (ou « lien ») dans l’IFS
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 cette ressource

Les 10 tendances clés de l’Expérience Client (CX) pour 2025
Dans le contexte actuel, l'expérience client est un levier clé de réussite. Pour rester compétitives, les entreprises doivent adopter des stratégies CX audacieuses, en s'appuyant sur le cloud, le digital et l'IA. Alors quelles stratégies mettre en place pour garder une longueur d’avance ?