Rational Developer for System z, Versión 7.6

Acceder a variables de entorno en un programa COBOL de ejemplo

A veces es necesario recuperar dinámicamente el valor de una variable de entorno durante la ejecución. Este tema describe una forma de modificar el código en uno de los proyectos de ejemplo COBOL para permitir el acceso a las variables de entorno.

Este tema hace referencia a COBOL Sample 1, al que puede accederse mediante la interfaz de ejemplos del entorno de trabajo. El ejemplo incluye dos archivos COBOL, StartApp.cbl y PrintApp.cbl. Siga estas instrucciones para modificar un proyecto que contenga este ejemplo a fin de que StartApp.cbl lea una variable de entorno y visualice su valor.

  1. Pase a la perspectiva Proyectos z/OS.
  2. Cree un proyecto de ejemplo para COBOL Sample 1.
  3. Edite StartApp.cbl.
  4. En la sección de almacenamiento de trabajo (Working-Storage), añada las siguientes líneas:
    01 P pointer.
    01 ENVVAR pic x(5) value Z"PATH".
    01 var-ptr pointer.
    01 var-len pic 9(4) binary.
  5. En la sección de enlace (Linkage), añada la siguiente línea:
    01 var pic x(1000).
  6. En la división de procedimiento (Procedure Division), añada las siguientes líneas después de la sentencia 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 "PATH is 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 "PATH = " var (1:var-len)
    end-if.
  7. Para modificar las propiedades del proyecto, siga estos pasos:
    1. Abra la página de propiedades Opciones de construcción COBOL local y añada lo siguiente al campo Opciones de compilación:
      ,NODYNAM,PGMNAME(LONGMIXED)  
      Asegúrese de mantener la coma inicial para separar estas opciones del conjunto actual de opciones.
    2. Pulse Aplicar.
    3. Seleccione Opciones de enlace local y añada lo siguiente a las Opciones de enlace:
      cpprmi36.dll
      Este archivo está situado en el directorio bin de la vía de acceso de instalación de Rational Developer for System z, por ejemplo, c:\Program Files\IBM\SDP\bin.
    4. Pulse Aplicar.
  8. En la vista Proyectos z/OS, pulse StartApp.cbl con el botón derecho y pulse Designar como punto de entrada. Si esta acción no se muestra en el menú y en su lugar aparece la acción Borrar punto de entrada, no es necesaria ninguna otra acción.
  9. Pulse el nombre del proyecto con el botón derecho y seleccione Reconstruir proyecto. Si no hay errores, se creará un ejecutable en la carpeta BuildOutput. El ejecutable se denomina StartApp.exe.
  10. Compruebe que el programa funciona pulsando dos veces sobre StartApp.exe.. Se abrirá un shell de mandato con la solicitud Especifique un nombre o Q para salir.

Resolución de problemas

Después de construir el proyecto, si StartApp.exe no se ha creado, puede que en la lista de tareas visualice un mensaje como el siguiente:
Error LNK2029:
"?GETENV": externo no resuelto
Esto ocurre normalmente si no puede encontrarse el archivo .dll especificado anteriormente. El archivo .dll necesario cpprmi36.dll se encuentra normalmente en la carpeta bin de la vía de acceso de instalación de Rational Developer for System z. Por ejemplo, C:\Program Files\IBM\SDP\bin. Puede especificar la vía de acceso completa al archivo en el campo Opciones de enlace. En este caso, será C:\Program Files\IBM\SDP\bin\cpprmi36.dll.

Si se producen otros errores, asegúrese de que la propiedad Opciones de compilación se ha actualizado correctamente, según se ha descrito anteriormente.


Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)