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 :
01 P pointer. 01 ENVVAR pic x(5) value Z"PATH". 01 var-ptr pointer. 01 var-len pic 9(4) binary.
01 var pic x(1000).
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.
,NODYNAM,PGMNAME(LONGMIXED)Vous devez utiliser une virgule pour séparer ces options des options courantes.
cpprmi36.dllCe 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).
Error LNK2029: "?GETENV": unresolved externalGé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.