Service SQL IBM i (AS/400) · Fonction scalaire
SYSTOOLS.IFS_PATH
Décomposer un chemin IFS
Extrait une partie d'un chemin IFS (répertoire, nom de fichier, extension…) pour construire un nouveau chemin à côté d'un fichier existant.
À quoi ça sert
Cette fonction scalaire découpe le chemin PATH_NAME et renvoie la partie demandée par SUBSECTION. Dans l'exemple IBM, la sous-section PATH PREFIX donne le répertoire, auquel on ajoute un nouveau nom de fichier.
Elle simplifie le traitement de chemins en SQL, sans fonctions de chaînes difficiles à écrire : produire un fichier de résultat daté dans le même répertoire que le fichier source, par exemple. Elle se combine avec SYSTOOLS.IFS_RENAME pour renommer ou archiver.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
VALUES SYSTOOLS.IFS_PATH( PATH_NAME => '/usr/mydir/prior_resultfile.txt',
SUBSECTION => 'PATH PREFIX')
CONCAT 'status_' CONCAT VARCHAR_FORMAT(current date, 'YYMMDD') CONCAT '.txt'
Message obtenu : SQL0204, le programme de service QQQSVREG manque sur notre IBM i de test.
L'exemple d'IBM
Construire le chemin d'un nouveau fichier status_aammjj.txt situé dans le même répertoire que le chemin fourni.
-- Description: Build a path string that represents a new file, status_yymmdd.txt,
-- in the same directory as the provided path.
VALUES SYSTOOLS.IFS_PATH( PATH_NAME => '/usr/mydir/prior_resultfile.txt',
SUBSECTION => 'PATH PREFIX')
CONCAT 'status_' CONCAT VARCHAR_FORMAT(current date, 'YYMMDD') CONCAT '.txt';
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
PATH_NAME |
VARCHAR(5000) | obligatoire | Chemin |
SUBSECTION |
VARCHAR(20) | obligatoire | Sous-section |