Service SQL IBM i (AS/400) · Fonction scalaire
SYSTOOLS.IFS_RENAME
Renommer un objet de l'IFS
Renomme ou déplace un objet de l'IFS d'un chemin vers un autre, avec ou sans remplacement d'un objet existant : l'équivalent de RNMOBJ ou MOV.
À quoi ça sert
Cette fonction scalaire renomme l'objet FROM_OBJECT en TO_OBJECT. Le paramètre REPLACE vaut NO par défaut : si la cible existe déjà, l'opération échoue au lieu de l'écraser.
L'exemple IBM ajoute la date du jour au nom du fichier pour l'archiver. C'est utile dans un traitement d'exploitation qui produit un fichier et le conserve avant la prochaine exécution. Avec SYSTOOLS.IFS_PATH, on construit les chemins sans manipuler soi-même les chaînes.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
CALL QSYS2.IFS_WRITE(PATH_NAME => '/tmp/jobisql/a-renommer.txt', LINE => 'Fichier renommé par IFS_RENAME', OVERWRITE => 'REPLACE', FILE_CCSID => 1208);
VALUES SYSTOOLS.IFS_RENAME(FROM_OBJECT => '/tmp/jobisql/a-renommer.txt', TO_OBJECT => '/tmp/jobisql/renomme.txt', REPLACE => 'YES')
Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :
| 00001 |
|---|
| 0 |
Données anonymisées : les noms de système, de profils, de
bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma
JOBISQL sont des objets de démonstration créés pour ce site.
L'exemple d'IBM
Renommer /usr/resultfile.txt en /usr/resultfileaammjj.txt, où aammjj est la date du jour.
-- Description: Rename /usr/resultfile.txt to /usr/resultfileyymmdd.txt,
-- where yymmdd is today's date.List all the file shares.
VALUES SYSTOOLS.IFS_RENAME(
FROM_OBJECT => '/usr/resultfile.txt',
TO_OBJECT => '/usr/resultfile' concat
varchar_format(current date, 'YYMMDD') concat
'.txt',
REPLACE => 'NO');
Bon à savoir
Passer REPLACE à YES écrase sans avertissement la cible existante : à réserver aux cas où c'est voulu.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
FROM_OBJECT |
VARCHAR(5000) | obligatoire | Objet d'origine |
TO_OBJECT |
VARCHAR(5000) | obligatoire | Chemin IFS du nouvel objet |
REPLACE |
VARCHAR(3) | 'NO' | Remplacer l'entrée existante |