IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Trier un fichier physique - RPG


Sujet :

AS/400

  1. #1
    Membre à l'essai Avatar de Adibou le Flamboyant
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Trier un fichier physique - RPG
    Bonjour à toutes et tous,

    J'utilise ASNA Visual RPG pour développer un programme qui va lire dans un fichier physique sur l'As400.
    Mon problème, c'est qu'il faudrait que les enregistrements soient triés avant le début de la lecture du fichier (dans l'idéale depuis mon programme RPG).

    J'ai fait quelques recherches, j'ai trouvé des informations sur les commandes FMTDTA & OPNQRYF mais je suis un expert ni sur l'As400 ni en RPG donc j'aimerais qu'on m'éclaire un peu si possible

    Merci d'avance !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 704
    Points : 1 023
    Points
    1 023
    Par défaut
    Bonjour,

    Trier un fichier avant un programme, çà fait longtemps que je n'ai pas vu çà !
    Ah le bon vieux temps des "Sort" et des cartes H dans les procédures 36.

    Bref, le mieux est d'avoir un fichier déjà trié, en clair un index, et d'utiliser cet index à la place du physique.
    Autre possibilité, accéder au fichier par SQL. Si l'optimiseur trouve un index qui va bien, il l'utilisera, sinon il créera le chemin d'accès temporaire.

  3. #3
    Membre à l'essai Avatar de Adibou le Flamboyant
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par m4k-Hurrican Voir le message

    Bref, le mieux est d'avoir un fichier déjà trié, en clair un index, et d'utiliser cet index à la place du physique.
    Autre possibilité, accéder au fichier par SQL. Si l'optimiseur trouve un index qui va bien, il l'utilisera, sinon il créera le chemin d'accès temporaire.
    Je vais voir les possibilités que j'ai pour créer un logique.
    C'est bête, j'étais persuadé qu'on pouvait lire un fichier logique qu'avec un READE.. Je viens de tester, c'est possible avec un READ donc pas de problème en fait

    J'en profite quand même, sais-tu comment faire appel d'une commande As400 depuis un programme RPG (avec ASNA Visual RPG)?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 704
    Points : 1 023
    Points
    1 023
    Par défaut
    Un fichier logique est traité exactement comme un physique par le RPG, aucune différence.
    Pense juste à mettre en carte F que tu utilises un chemin d'accès sur clé.

    Pour appeler une commande on utilises généralement (à l'ancienne) un appel à QCMDEXC.
    IBM fournit un exemple ici
    Souvent quand on a des bibliothèques provenant d'Easy400 (comme MMAIL ou CGIDEV2), on a aussi des procédures qui simplifient la tâche (DoCmd).

  5. #5
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Bonjour.

    J'utilise souvent la commande RGZPFM avec KEYFILE(*FILE) pour trier un fichier physique selon sa clé primaire et récupérer les espaces occupés par les enregistrements supprimés. Les tris externes ou internes sont pratiquement proscrits.
    Quant à l'appel de commandes à partir d'un programme RPG ou Cobol, j'ai toujours trouvé plus pratique de faire un programme CL et de l'appeler par CALL comme tout autre programme en jouant à loisir sur les paramètres.

  6. #6
    Membre à l'essai Avatar de Adibou le Flamboyant
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Merci & Résolu
    Merci pour vos réponses rapides et efficaces

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. trier des fichiers avec un tableau flexgrid
    Par digger dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/12/2005, 15h20
  2. Trier un fichier
    Par enicnath dans le forum Général Python
    Réponses: 5
    Dernier message: 10/11/2005, 17h31
  3. [AS400] Lire et modifier un fichier physique en C/S ?
    Par swirtel dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 26/10/2005, 15h58
  4. [XSLT] - Trier un fichier sur plusieurs critères
    Par ytse dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2005, 16h26
  5. Trier les fichiers par type et les afficher par groupe ...
    Par KneXtasY dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 18/09/2005, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo