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 :

Groupe d'activation COBOL/RPG


Sujet :

Cobol

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Groupe d'activation COBOL/RPG
    Bonjour à tous,
    je suis sous ISeries (AS/400) V6 et je vous explique mon problème.

    J'ai une transaction composée en partie par des programmes RPGLE nouveaux et d'autres COBOL plus anciens.
    Cette transaction est sous contrôle de validation.

    J'ai un prog RPG principal (RPG-A) qui appelle d'autre RPG définis en "actgrp(*caller)"
    RPG-A appelle RPG-B puis RPG-C puis RPG-D puis RPG-E.
    C'est le prog RPG-A qui gére les commit et/ou rollback.

    Mon problème :
    Dans RPG-D, j'appelle un prog X en COBOL.
    Le prog RPG-D a fait des mises à jour dans un fichier (qui ne sont pas encore validées car la transaction n'est pas terminée) et mon prog X n'arrive pas à lire des enregistrements crées précédement!

    J'ai essayer de commiter après chaque appel de prog (RPG-B, RPG-C,...) mais ça ne change rien.
    Je ne sais plus où chercher et je n'ai sourtout pas envie de re-écrire mon COBOL X!!!!

    Merci pour votre aide.
    PS : merci de me dire si je ne me suis pas trompé pour créer cette discussion car celle-ci est ma première.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Il faut, sinon c'est une prise de tête pas possible, que ton programme Cobol X tourne dans le même groupe d'activation que tes programmes RPG. Or, ce n'est pas le cas si tes programmes Cobol sont des programmes OPM qui tournent alors dans le groupe d'activation par défaut de l'OPM qui n'est pas le même que le groupe d'activation de l'ILE où tournent tes RPG.
    Convertis tes programmes OPM en ILE et tu seras bien plus à l'aise pour gérer le contrôle de validation en ILE car tu pourras alors indiquer ACTGRP(*CALLER) à la compilation par CRTBNDCBL au paramètre ACTGRP().
    En tout cas, il ne faut certainement pas valider ou invalider en retour de chaque appel de programme.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    J'ai oublié de dire que la conversion Cobol OPM en ILE ne nécessitait pas la récriture du programme. elle consiste essentiellement à simplement changer le type de source (CBLLE) suivi d'une recompilation (Opt 14 de PDM ou CRTBNDCBL).

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour cette réponse rapide.
    Je vais tester la conversion en ILE.

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En fait, mon souci de lecture du fichier dans le COBOL X venait d'une erreur de clé (que je n'ai pas vu) donc c'est normal.

    Par contre, merci pour l'info sur le groupe d'activation par défaut des OPM, ça va m'être utile pour bien "configurer" mon groupe d'activation et faire que la transaction commit ou rollback tout ce qui a était fait.

    Merci.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Un dernier conseil.
    Une fois que toute ton application est passée en ILE, dans chacun des programmes, précise un groupe d'activation nommé qui est bien pratique et qui limite la portée du contrôle de validation uniquement à ce groupe.

    Il te suffira de spécifier ce nom sur la spécification H du programme principal
    et d'employer
    sur la spécification H des programmes appelés.

    Edit:

    Plus besoin alors de spécifier le nom du groupe ou *caller sur les commandes de compilation, ce qui évite bien des erreurs.

  7. #7
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci Mercure,
    je tacherais d'y penser lors d'un prochain développement!!

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/08/2009, 17h58
  2. interface Cobol/RPG AS400 avec une balance
    Par as_44 dans le forum AS/400
    Réponses: 3
    Dernier message: 04/08/2009, 12h05
  3. Créer un groupe dans Active Directory
    Par piotrr dans le forum C#
    Réponses: 2
    Dernier message: 29/05/2009, 12h43
  4. Ajout d'un groupe sous Active directory
    Par IIlinux dans le forum Programmation et administration système
    Réponses: 0
    Dernier message: 03/06/2008, 20h56
  5. [Active Directory]Gestion des groupes d'accès à un site web
    Par apoingsfermes dans le forum Accès aux données
    Réponses: 4
    Dernier message: 06/03/2007, 09h58

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