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 :

Equivalent OVRDBF CL AS400 en cobol unix?


Sujet :

Cobol

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 176
    Points : 188
    Points
    188
    Par défaut Equivalent OVRDBF CL AS400 en cobol unix?
    bonjour,

    Y a t'il un moyen (même bizarre) pour faire l'équivalent d'un OVRDBF d'un CL AS400 en cobol utilisable par unix?

    j'avais fait un outil sur AS400 qui lis un fichier A, trouve dedans un nom de fichier B, ouvre ce fichier B et en lit la première ligne... et pour cela j'avais fait un appel d'un petit CL qui faisait juste un OVRDBF du fichier B et une lecture de ce fichier.

    sauf que je dois passer ce programme sous Unix et que le CL n'est plus utilisable... Je n'arrive pas à imaginer un moyen de faire ça de manière dynamique...

    Help?

  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
    Citation Envoyé par funfox Voir le message
    bonjour,

    Y a t'il un moyen (même bizarre) pour faire l'équivalent d'un OVRDBF d'un CL AS400 en cobol utilisable par unix?
    Bonjour.
    J'ignore Unix mais je pense que ça doit être la même chose que pour DOS Windows.
    En CObol/2 IBM pour PC ou MS/MF, il faut assigner le fichier dans le SELECT à un nom de variable qui doit être renseignée avant l'OPEN.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    000210     Select PARAMS assign disk REPERT of PARAMS-ID
    000220                 File status STATUT of PARAMS-ID.
    000230*
    000240     Select MATERIEL assign disk REPERT of MATERIEL-ID
    000250                 Organization INDEXED
    000260                 Access DYNAMIC
    000270                 Record key CLE of MATERIEL-RCD
    000280                 File status STATUT of MATERIEL-ID.
    .../...
    000910 01  PARAMS-ID.                                                       
    000920     03 STATUT    Pic xx.                                             
    000930     03 REPERT    Pic x(10) value "PARAMS.DAT".                       
    000940     03 EXIST     Pic x.                                              
    000950*                                                                     
    000960 01  MATERIEL-ID.                                                       
    000970     03 STATUT    Pic xx.                                             
    000980     03 REPERT    pic x(50).                                         
    000990     03 EXIST     Pic x.                                              
    .../...
    005700     Open Input PARAMS.
    005710     Read PARAMS at end initialize PARAMS-RCD.
    000000*
    005810     Move spaces to REPERT of MATERIEL-ID.
    005820     STRING REPERT of PARAMS-RCD Delimited by space
    005830            "\" delimited by size
    005840            "MAT" delimited by size
    005850            SOCIETE of PARAMS-RCD Delimited by space
    005850            INDICATIF of PARAMS-RCD Delimited by space
    005860            ".DAT" delimited by size
    005870       Into REPERT of MATERIEL-ID.
    .../...
    007140      open i-o MATERIEL.
    Pour le fichier PARAMS, cette variable, qui est en fait le label sur disque, est renseignée par une constante, une fois ce fichier ouvert et lu, le label du fichier MATERIEL est remplie à partir de données venant du fichier PARAMS.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 176
    Points : 188
    Points
    188
    Par défaut
    ca, c'est une idée qui me va bien

    maintenant, plus dur :

    comment faire fonctionner ca sous AS400 (je cherche à ce que ca marche sous AS400 ET unix)? je n'arrive pas à faire l'open d'un membre d'un fichier multi membre avec cette méthode...
    ce n'est pas "nomfichier.nommembre"?

  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
    Citation Envoyé par funfox Voir le message
    ca, c'est une idée qui me va bien

    maintenant, plus dur :

    comment faire fonctionner ca sous AS400 (je cherche à ce que ca marche sous AS400 ET unix)? je n'arrive pas à faire l'open d'un membre d'un fichier multi membre avec cette méthode...
    ce n'est pas "nomfichier.nommembre"?
    Bonjour.
    Unix et AS/400, c'est deux mondes totalement différents même si Unix est installé dans une partition de l'AS/400.
    Et j'avoue que là je ne te suis pas .
    - Si le programme Cobol tourne sous Unix, tu utilises la méthode que je t'ai indiquée, à savoir l'assignation dans le SELECT du fichier à une variable renseignée avant l'OPEN, et dans ce cas je ne vois pas la notion de membre exister sous Unix. C'est une notion propre à l'AS/400 même si certaines similitudes existent dans le monde Windows.
    - Par contre s'il tourne sous l'OS/400, tu utilises un CL ou QCMDEXC pour faire l'OVRDBF.
    Citation Envoyé par Doc Ile Cobol
    For database files, the member name cannot be specified in the program. If a member other than the first member is to be specified, the Override with Database File (OVRDBF) CL command must be used at execution time to specify the member name.
    Comme je n'ai aucune expérience digne de ce nom sur Unix, il peut exister des solutions pour attaquer les BD sur l'AS/400 (considéré comme éloigné) à partir d'Unix via des alias, les ODBC, DDM ?? Mais là c'est une histoire que j'ignore totalement.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 176
    Points : 188
    Points
    188
    Par défaut
    c'est ce que j'avais fini par me dire :

    j'ai préparé "deux programmes" qui font la même choses, un pour unix et un pour AS/400...

    merci pour tout !

  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 funfox Voir le message
    ...merci pour tout !
    Il n'y a pas de quoi. C'était un plaisir.
    Bonne continuation.

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

Discussions similaires

  1. [AS400] Programme cobol qui affiche fichier indexé
    Par alex2746 dans le forum Cobol
    Réponses: 1
    Dernier message: 27/09/2011, 10h12
  2. [Bonne pratique] Gérer Cobol / Unix / PLSQL / SQL
    Par Titouf dans le forum Subversion
    Réponses: 0
    Dernier message: 23/12/2010, 19h56
  3. Equivalent commande dos Dir /B en Unix
    Par Deciprog dans le forum Unix
    Réponses: 3
    Dernier message: 02/11/2009, 18h42
  4. Réponses: 8
    Dernier message: 16/01/2007, 15h15

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