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 :

Prototype et /COPY


Sujet :

AS/400

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Prototype et /COPY
    Bonjour

    Actuellement nous sommes en phase de transition entre RPG 3 et RPG 4.

    Nous avons inclus plusieurs prototypes dans un membre source.
    Dans les programmes où au moins un de ces prototypes est utile, on inclut le source contenant les protos par un /COPY QRPGLESRC, ....

    Et là, il me semblait que seuls les prototypes utilisés dans le source étaient ajoutées à la compilation.
    Apparemment, tout le source est copié. Du coup il y a des prototypes inutiles et cela pose des problèmes (nom du proto = nom de zone d'un fichier par exemple)
    Est que j'ai mal compris ? est ce lié à une version d'AS?

    Merci de vos lumières

    Anthony

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 204
    Points : 238
    Points
    238
    Par défaut
    le bu d'un /COPY est bien de tout intégré, un peu à l'image des include en php ou d'autres langages, ensuite libre à toi de découper tes sources à inclure pour en inclure le moins possible

  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
    il me semblait que seuls les prototypes utilisés dans le source étaient ajoutées à la compilation
    Si ton OS est en V5R3 ou antérieur, remplace /COPY par /INCLUDE et SQL ignorera les lignes. Cela marchera avec /COPY mais à partir de la V5R4 seulement.

    Il existe deux méthodes largement répandues pour gérer les copybooks (les "/COPY") :

    1/ Mettre tous les prototypes dans un même membre, copier tous les protos dans cahque programme mais n'utiliser que ceux que tu veux. Cela semble être la méthode que tu as déjà employée mais qui ne te donne pas les résultats escomptés.

    2/ Tu peux ne copier que ce dont tu as besoin. A cette fin, crée un membre ressemblant à ceci :
    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
      /if Defined(CrtSidxR3)
    d CrtSidxR3       pr                         
    d  pa_SysName                   10a   const  
    d  pa_TabName                   10a   const  
    d  pa_AccPath                 1000a   const  
    d  pr_NKeys                      5p 0        
    d  pr_AccPath                 4000a          
    d  pr_LFName                    20a          
    d  pr_rc                         1p 0   
      /Endif   
    
      /If Defined(LoadChkIdx)
    d LoadChkIdx      pr            10i 0       
    d  pa_TabName                   10a   const 
    d  pa_AccPath                 1000a   const   
      /Endif
    J'ai mis ici des prototypes, mais ça marcherait également pour un autre code quelconque.

    Ensuite, quand tu as besoin d'un proto dans ton programme, tu ne définis et ne copies que ce dont tu as besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     D 
      /Define CrtSidxR3
      /Define LoadChkIdx
      /COPY QCOPYSRC, MESPROTOS
    Ne pas utiliser QRPGLESRC ou QRPGSRC pour les copybooks.
    Utiliser de préférence un nom particulier tel que QCOPYSRC par ex.

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

Discussions similaires

  1. Protéger une disquette contre la copie
    Par benzaza dans le forum Assembleur
    Réponses: 20
    Dernier message: 16/01/2005, 10h42
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  3. Copier et afficher une copie d'ecran
    Par Bobx dans le forum Langage
    Réponses: 6
    Dernier message: 02/08/2002, 22h20
  4. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23
  5. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20

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