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

Cobol Discussion :

[Unix] Nom du Fichier


Sujet :

Cobol

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Unix] Nom du Fichier
    Bonjour tout le monde !!!

    je suis à la recherche d'une commande me permettant de récupérer le nom du fichier physique actuellement ouvert.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FILE-CONTROL.
               SELECT FICENT1 ASSIGN TO EXTERNAL FE1
                      ORGANIZATION IS LINE SEQUENTIAL
                      FILE STATUS  IS WOR-CRFE1.

    Merci d'avance pour votre aide très précieuse !!!


    MoreY

  2. #2
    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.

    De quel OS il s'agit ? Lire cette discussion : Règle Tag [SystèmeExploitation-VersionCompilateur]

    A priori, pour certains OS le fichier réellement ouvert est celui du contenu de la variable FE1 qui représente d'après ton SELECT le nom système du fichier. Pour d'autres c'est FE1 le nom du fichier supposé sur l'unité par défaut qui peut être éventuellement être substitué par des Overrides.

    Si c'est une commande OS que tu cherches, c'est une autre paire de manches.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    je suis sous UNIX !

    mes fichiers contiennent, dans le nom physique, une information capitale !
    j'ai donc trois possibilités :
    - modifier mon script de lancement pour mettre en paramètre le nom du fichier
    - mettre dans le fichier (zone libre) le nom physique (en amont)
    - le top du top : lire ce nom physique dans mon source cobol !!!


    Merci beaucoup pour ton aide Hédhili Jaïdane !!!

  4. #4
    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
    je suis à la recherche d'une commande me permettant de récupérer le nom du fichier physique actuellement ouvert.
    Est ce que tu cherches le nom du fichier réellement ouvert par le programme en cours d'exécution ou tu cherches comment passer le nom du fichier à ouvrir par le programme avant de poursuivre les traitement parce que le programme ouvre une fois un fichier et une autre un autre fichier ?

    Précise s'il te plaît ce que tu veux faire exactement et quel est ton compilateur Cobol.

    Edit :
    Je ne connais pas Unix ni le langage de contrôle (script) qui te permet de lancer un programme après avoir préparé son environnement d'exécution, mais au vu de :
    - le top du top : lire ce nom physique dans mon source cobol !!!
    je dirais :

    * qu'il faut passer les données qui te permettent de constituer le nom du fichier en paramètres au programme Cobol qui se chargera :
    - de construire le nom du fichier par des STRING et de l'ouvrir après ça si ton compilateur le permet
    - et de traiter ces données à ta guise

    voir ce post dans cette discussion : Utilisation de fichiers "génériques"


    * ou de constituer le nom du fichier dans le script et de le passer en paramètre au programme si ton compilateur ne te permet pas d'ouvrir un fichier dont le nom externe est variable.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Excusez moi pour cette non compréhension,

    je vais essayer de clarifier le problème !

    Tout d'abord, je travaille sur AIX Version 5.2 avec une version de Cobol
    V5.0 revision 0 build 10/10/2 G; 24906. Run Time System RXCAM/AA0/00000U

    mon script actuel boucle sur un répertoire contenant n fichiers et lance
    autant de fois le programme cobol qu'il y a de fichiers dans le répertoire !

    Je souhaite donc, dans mon programme cobol, connaître le nom physique du fichier traité sans pour autant utiliser un paramètre de lancement !

    Est ce un peu plus clair ? :-)

  6. #6
    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
    Citation Envoyé par morey13 Voir le message
    ...mon script actuel boucle sur un répertoire contenant n fichiers et lance autant de fois le programme cobol qu'il y a de fichiers dans le répertoire !

    Je souhaite donc, dans mon programme cobol, connaître le nom physique du fichier traité sans pour autant utiliser un paramètre de lancement !

    Est ce un peu plus clair ? :-)
    Oui, c'est assez clair. Je ne pense pas que cela existe, le nom externe ou physique du fichier n'est connu que du système, le programme ne peut pas le connaitre à moins qu'il existe quelque de spécial sur Unix qui retourne au programme le nom des fichiers ouverts dans des registres spéciaux.

    Le seul moyen que j'ai trouvé jusque là est ce je j'expliquais dans l'Edit de mon dernier post.

    Il peut exister d'autres solutions que j'ignore.

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

Discussions similaires

  1. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  2. unix to AS400 : nom de fichiers trop long
    Par funfox dans le forum AS/400
    Réponses: 4
    Dernier message: 05/03/2009, 09h35
  3. [ unix ] nom fichier
    Par hocinema dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 06/04/2006, 14h23
  4. Réponses: 4
    Dernier message: 10/10/2003, 18h04
  5. nom de fichier et variables d'environnement
    Par joebarthib dans le forum Langage
    Réponses: 2
    Dernier message: 18/07/2002, 15h21

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