Rational Developer for System z, Version 7.6

Accès aux variables d'environnement dans un exemple de programme COBOL

Vous devez parfois extraire de manière dynamique la valeur d'une variable d'environnement lors de l'exécution. Dans cette section, vous apprendrez à modifier le code de l'un des projets exemples COBOL pour accéder aux variables d'environnement.

Cette section s'appuie sur l'exemple COBOL 1, qui figure dans les exemples du plan de travail. Il comprend deux fichiers COBOL : StartApp.cbl et PrintApp.cbl. Pour modifier un projet contenant cet exemple de sorte que le fichier StartApp.cbl puisse lire la variable d'environnement et afficher sa valeur, procédez comme suit :

  1. Ouvrez la perspective Projets z/OS.
  2. Pour plus d'informations sur l'exemple 1 COBOL, voir Création d'un projet exemple.
  3. Modifiez le fichier StartApp.cbl.
  4. Dans la section WORKING-STORAGE, ajoutez les lignes suivantes :
    01 P pointer.
    01 ENVVAR pic x(5) value Z"PATH".
    01 var-ptr pointer.
    01 var-len pic 9(4) binary.
  5. Dans la section LINKAGE, ajoutez la ligne suivante :
    01 var pic x(1000).
  6. Dans la section PROCEDURE DIVISION, ajoutez les lignes suivantes après l'instruction Initialize :
    Set P to address of ENVVAR.
    >>CALLINT OPTLINK
    call "getenv" using by value P returning var-ptr.
    >>CALLINT
    if var-ptr = null then
    	 Display "Le CHEMIN a une valeur NULL"
    else
    	 Set address of var to var-ptr
    	 Move 0 to var-len
    	 Inspect var tallying var-len for characters 
    	 	before initial x"00"
    	 Display "CHEMIN = " var (1:var-len)
    end-if.
  7. Pour modifier les propriétés du projet, procédez comme suit :
    1. Ouvrez la page de propriétés Options de génération COBOL locale puis ajoutez la ligne suivante dans la zone Options de compilation :
      ,NODYNAM,PGMNAME(LONGMIXED)  
      Vous devez utiliser une virgule pour séparer ces options des options courantes.
    2. Cliquez sur Appliquer.
    3. Sélectionnez Options de liens locaux, puis ajoutez la ligne suivante aux Options de lien :
      cpprmi36.dll
      Ce fichier se trouve dans le répertoire bin du chemin d'installation de Rational Developer for System z (c:\Program Files\IBM\SDP\bin, par exemple).
    4. Cliquez sur Appliquer.
  8. Dans la vue Projets z/OS, cliquez avec le bouton droit de la souris sur StartApp.cbl, puis cliquez sur Affecter comme point d'entrée. Si le menu affiche l'option Supprimer le point d'entrée au lieu de cette option, vous n'avez pas besoin d'effectuer d'opérations supplémentaires.
  9. Cliquez avec le bouton droit de la souris sur le nom du projet et sélectionnez Recompiler un projet. Si aucune erreur n'est générée, un exécutable est créé dans le dossier BuildOutput. Le nom de l'exécutable est StartApp.exe.
  10. Testez le fonctionnement du programme : cliquez deux fois sur StartApp.exe. Un shell de commandes est ouvert avec un message vous invitant à saisir un nom ou Q pour fermer la fenêtre.

Identification des incidents

Si le fichier StartApp.exe n'est pas créé après construction du projet, la liste de tâches peut afficher un message similaire au message suivant :
Error LNK2029: "?GETENV": unresolved external
Généralement, cette erreur survient lorsque le fichier .dll spécifié ci-dessus est introuvable. Le fichier .dll requis cpprmi36.dll se trouve en principe dans le dossier bin du chemin d'installation de Rational Developer for System z (C:\Program Files\IBM\SDP\bin, par exemple). Vous devrez peut-être indiquer le chemin complet du fichier dans la zone Options de liens. Dans ce cas, indiquez C:\Program Files\IBM\SDP\bin\cpprmi36.dll.

Si d'autres erreurs sont générées, vérifiez que les propriétés de la zone Options de compilation ont été mises à jour correctement comme indiqué ci-dessus.


Conditions d'utilisation | Commentaires en retour

Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)