Accueil du site > Les articles > Comment transférer le contenu d’un User Space dans un fichier de l’IFS (...)
Version à imprimer Enregistrer au format PDF

Comment transférer le contenu d’un User Space dans un fichier de l’IFS ?

vendredi 26 mai 2006, par David Malle Visites  19232

Je me suis inspiré de plusieurs programmes pour faire cet utilitaire. J’espère qu’il vous sera utile.


But

Mettre en oeuvre un programme qui transfert le contenu d’un User Space dans l’IFS.

Gestion des erreurs

Le programme ERRHDLR doit être présent lors de l’exécution, car il gère les interception d’erreurs.

Le programme USP2IFS

Ce programme RPGILE transfert le contenu d’un User Space dans un document de l’IFS. Il utilise les fonctions c de gestion de l’IFS :
- open()
- read()
- close()
- lseek()

Les fonctions C de conversion d’un CCSID à un autre :

- QtqIconvOpen()
- iconv()
- iconv_close()

Appel du programme avec les paramètres suivants :

- Le nom du UserSpace et la bibliothèque
- La longueur des données à extraire
- Le nom du documet sur l’IFS
- Le mode d’ajout des données ( *REPLACE ou *ADD )

Conseil : Dans le programme appelant, calculez la longueur des données exacte à extraire, au fur et à mesure de l’alimentation du User Space, et utilisez cette valeur lors de l’appel à USP2IFS.

A vous d’écrire le programme d’alimentation de votre User Space. Vous avez un premier exemple simplifié en cliquant sur l’article :

Comment supprimer, créer, alimenter un User Space en RPG ?

Idées d’utilisation

Vous pouvez imaginer les extractions suivantes dans un User Space :

- Document au format CSV
- Document au format XML
- Document au format PDF
- Document à un format quelconque, selon vos besoins

Avec USP2IFS, vous pouvez ensuite exporter ces données sous l’IFS, dans un document directement exploitable en environnement Windows.

P.-S.

Les API de type unix constituent un ensemble puissant d’outils. Pour plus de détail sur leur utilisation, puisez directement à la source