1) Qu’est ce qu’un membre ?
Un membre est une notion purement IBM i, il sert à cloisonner les données dans un fichier, l’usage le plus connu c’est les fichiers sources où chaque objet est défini dans un membre.
mais on peut également utiliser cette notion pour des fichiers de données , exemple un fichier client avec un membre par régions pour cloisonner les informations.
Pour choisir le membre, on utilisait la commande ovrdbf
OVRDBF FILE(VOTREFIC) MBR(VOTREMEMBRE) quand vous aviez fini, vous faisiez un DLTOVR
Attention un LF peut pointer sur les données de pluseiurs membre du PF, c’est même la valeur par défaut de la commande,
CRTLF … DTAMBRS(*ALL)
2) Pourquoi utiliser la commande DSPPFM
Parce que c’est la seule commande qui montre les données brutes dans l’ordre réel, en effet SQL pourra faire des modifications de présentation, voire indiquer des erreurs de lectures.
Les touches de fonction F10 et F11 permettent de voir les données en hexadécimal.
3) Pourquoi réorganiser les membres des fichiers.
Quand on supprime un enregistrement dans un fichier donc dans un membre, cet enregistrement est juste tagué comme étant inutilisable.
il y a 2 cas:
- en DDS, les fichiers sont créés avec le paramètre par défaut reusedlt(no) => un nouvel enregistrement est ajouté à la fin.
- en SQL, les fichiers sont créés avec le paramètre par défaut reusedlt(yes) => un nouvel enregistrement est ajouté sur la place d’un enregistrement supprimé.
En SQL, on a donc besoin de moins de RGZPFM et surtout, si on a sensiblement le même nombre de créations et de suppressions.
4) Executer une requête sql sur un membre d’un fichier physique
Par défaut SQL s’exécute sur le premier membre crée en effet, il considère qu’il n’y a qu’un membre,
en effet un create table ne permet qu’un membre.
Si vous voulez lire un membre particulier sur un fichier physique multi-membres par SQL, vous devez faire un create alias
exemple :
CREATE ALIAS BIBLIO/NOMALIAS FOR BIBLIO/FICHIER (NOMMEMBRE)
vous utilisez désormais votre alias comme un fichier ou une vue
Select * from BIBLIO/NOMALIAS
Vous pouvez supprimer votre alias
DROP ALIAS BIBLIO/NOMALIAS
5) Avoir des informations sur les membres
il y a 2 solutions, de manière historique en lançant la commande dspfd … TYPE(*MBRLIST)
ou avoir des informations par SQL (on parle de partition …)
Vous avez une vue dans qsys2 qui s’appelle SYSPARTITIONSTAT et qui permet de voir ces informations.
Conclusion :
Utiliser les membres n’est pas le sens de l’histoire
En SQL on utilise des fichiers mono-membre
Pour les sources préférer L’IFS qui vous permettra d’utiliser des outils comme GIT
Mais il serait étonnant que vous n’en rencontriez pas, il faut donc comprendre comment ça marche.