Accueil du site > Les articles > Programme de service pour créer un fichier dans l’IFS
Version à imprimer Enregistrer au format PDF

Programme de service pour créer un fichier dans l’IFS

Créer un fichier dans l’IFS avec un programme de service

jeudi 13 décembre 2007, par David Malle Visites  1869

Ce programme de service fait appel à une API C pour créer un fichier dans l’IFS avec un CCSID donné.


Fonctionnement

Le programme de service contient une seule procédure nommée CREATEIFSDOC qui gère la création d’un fichier dans l’IFS.

La procédure est appelée avec 3 paramètres :

- Le nom du fichier dans l’IFS (chemin compris).
- Le mode de gestion du fichier.
- Le CCSID du fichier

Comportement :

- Si fichier n’existe pas, le fichier est créé avec le CCSID passé en paramètre.
- Si le fichier existe et le mode est *REPLACE alors il y a supression puis création du fichier avec le CCSID passé en paramètre.
- Si le fichier existe et le mode est *ADD, aucune action n’est effectuée sur le fichier.

Installation

- Créer une bibliothèque, ou utiliser une bibliothèque existente. Pour la suite je l’appelle MYBIB dans cette procédure.
- Mettre MYBIB dans la liste de bibliothèque et définir MYBIB comme bibliothèque par défaut.
- Créer les fichiers sources QRPGLESRC, QCPYSRC et QSRVSRC dans la bibliothèque MYBIB.
- Copier le source du programme SRVPAPIIFS dans QRPGLESRC.
- Copier les sources de DC_IFS, DC_LIKE et PR_APICIFS dans le fichier QCPYSRC.
- Copier le fichier signature SRVPAPIIFS dans le fichier QSRVSRC.
- Créer un répertoire de liage nommé MYBNDDIR dans MYBIB : CRTBNDDIR BNDDIR(MYBNDDIR) TEXT(’Répertoire de liage outils’)
- Créer le programme de service et ajouter le au répertoire de liage :

  • CRTSQLRPGI OBJ(SRVPAPIIFS) OBJTYPE(*MODULE) TGTRLS(*CURRENT) DBGVIEW(*SOURCE)
  • CRTSRVPGM SRVPGM(SRVPAPIIFS)
  • ADDBNDDIRE BNDDIR(MYBNDDIR) OBJ((SRVPAPIIFS))

Utilisation

- Appel (free rpg) en mode remplacement du fichier s’il existe.

f_Ok = CreateIFSDoc(ifspath:'*REPLACE':pCCSID);

Documents joints

  • DC_IFS (texte - 3.4 ko)

    Déclaration des variables pour gestion de l’IFS. A copier dans le fichier source QCPYSRC de votre bibliothèque sous le nom DC_IFS

  • DC_LIKE (texte - 591 octets)

    Déclaration des variables pour gestion des type like. A copier dans le fichier source QCPYSRC de votre bibliothèque sous le nom DC_LIKE

  • PR_APICIFS (texte - 1.3 ko)

    Déclaration des prototypes des API C pour gérer l’IFS. A copier dans le fichier source QCPYSRC de votre bibliothèque sous le nom PR_APICIFS

  • SRVPAPIIFS (texte - 3.4 ko)

    Programme de service pour gérer la création d’un fichier dans l’IFS. A copier dans le fichier source QRPGLESRC de votre bibliothèque sous le nom SRVPAPIIFS.

  • SRVPAPIIFS (texte - 100 octets)

    Signature des procédures du programme de service SRVPAPIIFS. A copier sans le fichier source QSRVSRC de votre bibliothèque sous le nom SRVPAPIIFS.