> Tech > Créer des fichiers temporaires dans l’IFS

Créer des fichiers temporaires dans l’IFS

Tech - Par iTPro - Publié le 24 juin 2010
email

Les programmeurs iSeries ont l’habitude de stocker des données temporaires dans la bibliothèque QTEMP. C’est une bibliothèque très spéciale dans l’iSeries parce qu’il en existe une copie différente pour chaque job du système. C’est utile lorsque l’on crée des objets temporaires car on n’a pas à se soucier de rendre

le nom de fichier unique. Deux jobs différents peuvent, sans le moindre conflit, exécuter le même programme qui crée des fichiers temporaires portant le même nom.

Dans l’IFS, le répertoire /tmp est utilisé pour les fichiers temporaires. Tous les jobs accèdent au même répertoire /tmp ; donc, si vous avez deux fichiers qui créent un fichier de travail temporaire, ils doivent absolument porter des noms différents, sous peine de conflit.

Heureusement, la bibliothèque C ILE a une API qui permet de créer un nom de fichier unique dans le répertoire /tmp. Cette API est appelée tmpnam(). Comme tmpnam() fait partie de la bibliothèque runtime C ILE et ne fait pas partie des API IFS du système standard, je ne l’ai pas sous forme de prototype dans le membre IFSIO_ H.

La figure 10 montre le programme TEMPFILE1 qui démontre l’appel de l’API tmpnam() pour obtenir un nom de fichier temporaire (A en figure 10) puis l’appel de l’API open() pour créer le fichier et y loger quelques données (B en figure 10).

Cette technique donne toute satisfaction quand on veut créer un fichier qui n’apparaîtra dans un répertoire que quand toutes les données auront été complètement écrites dans le fichier. On peut créer un fichier temporaire avec un nom temporaire, y écrire toutes les données, puis le rebaptiser d’un nom de fichier « réel » (C en figure 10) quand le travail est terminé et que les utilisateurs sont autorisés à accéder aux données.

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 24 juin 2010