Accueil du site > Les articles > Sauvegarde d’un SAVF dans un membre de fichier physique et inversement
Version à imprimer Enregistrer au format PDF

Sauvegarde d’un SAVF dans un membre de fichier physique et inversement

mercredi 24 septembre 2008, par David Malle Visites  3568 |Popularité : 23%  Première mise en ligne le mercredi 23 juillet 2008.

Cet article présente un outil qui permet de copier un fichier SAVF dans un membre de fichier physique et d’effectuer l’opération inverse. L’astuce n’est pas nouvelle, je me suis basé sur quelques astuces de forums, pou le développer en RPG free.


Installation des programmes

  • Le script d’installation est proposé en document joint au format ZIP. Extraire le fichier suffixé par XML et le sauvegarder dans un répertoire de votre IFS.
  • Utilisez l’outil d’installation XML2SRC (voir Outil d’installation des programmes mis en ligne sur XDOCS400, pour installer l’outil ou consulter le mode opératoire d’une installation).

Limitations

  • Votre AS400 doit être en V5R4.

Notez bien

  • Le site XDOCS400.COM fournit des programmes à titre d’exemples et n’assure pas de hotline ou de garantie dessus.
  • Toutefois, si vous avez des soucis pour les installer, ou les utiliser, contactez l’auteur de l’article via le formulaire ad’hoc du site xdocs400 pour une aide ponctuelle.

Fonctionnement des commandes SAVF_PF et PF_SAVF

  • SAVF_PF copie un fichier savf dans un membre de fichier physique
  • PF_SAVF copie un fichier savf dans un membre de fichier physique
  • Possibilité d’écraser le SAVF ou le membre du PF s’ils existent déjà.

Pourquoi cet outil

  • Cet outil a été créé pour un besoin pratique de suivi de versions :
    • Création d’un fichier Physique pour une application donnée, le fichier CLIENT pour l’application de getsion des clients par exemple.
    • Ajout d’un membre dans le fichier CLIENT, pour chaque SAVF concernant cette application.
    • Et bien sur, pouvoir récupérer un des membres pour régénérer le SAVF correspondant, ou l’envoyer via FTP sur un autre AS400.
  • L’outil utilise deux procédures REXX générées dans QTEMP pour effectuer les copies du SAVF ver le PF et inversement. Une idée glanée sur la toile.
  • Comportement de la commande SAVF_PF :
    • Si le SAVF n’existe pas (Bib&SAVF), aucune action
    • Si la bib du pf n’existe pas, aucune action
    • Si le fichier n’existe pas, création du fichier et du membre
    • Si le fichier existe mais pas le membre, création du membre
    • Si le fichier / membre existe et que la confirmation de création a été indiquée, supression puis création du membre.
    • Pas de gestion de log pour tous les cas ou aucune action.
  • Comportement de la commande PF_SAVF :
    • Si la bib+fichier+membre n’existe pas, aucune action
    • Si la bib du savf n’existe pas, aucune action
    • Si le savf n’existe pas, création du savf
    • Si le savf existe et que la confirmation de création a été indiquée, supression puis recréation du savf.
    • Pas de gestion de log pour tous les cas ou aucune action.

Utilisation

exécution en ligne de commande, copie d’un membre de PF vers un SAVF

PF_SAVF BIBSAVF(MYPTF_SAVF)                
       SAVF(CLIENT_001)                  
       BIBFICH(MYPTF_PF)                  
       FICH(CLIENT)                      
       MEMBRE(CLIENT_001)                
       DESCRIPT('Savf CLIENT version 001')
       CREER(O)                          

exécution en ligne de commande, copie d’un SAVF vers un membre de PF

SAVF_PF BIBSAVF(MYPTF_SAVF)          
       SAVF(CLIENT_001)              
       BIBFICH(MYPTF_PF)            
       FICH(CLIENT)                  
       MEMBRE(CLIENT_001)            
       DESCRIPT('CLIENT version 001')
       CREER(O)