Invocación del generador de apéndices de llamada desde una tarea Ant

Se puede ejecutar el generador de apéndices de llamada COBOL desde una tarea Ant.

Antes de empezar

Cree un proyecto Rational Application Developer para el código generado por el generador de apéndices de llamada COBOL.

Cree un archivo de configuración de generador de apéndices de llamada. Asegúrese de que los valores de las propiedades obligatorias EclipseHome, WorkSpace y EclipseProjectName sean correctos.

Compruebe la sentencia PROCEDURE del archivo de origen COBOL.

Acerca de esta tarea

Para ejecutar el generador de apéndices de llamada COBOL desde una tarea Ant, debe crear una tarea <csg> que especifique valores para los atributos necesarios que identifican al archivo de configuración del generador de apéndices de llamada y los archivos de origen COBOL utilizados como origen del generador de apéndices de llamada. También se pueden especificar los valores de los atributos opcionales en la tarea: La Tabla 1 describe los atributos <csg>, <cobolModule> y <dataElement> soportados y los elementos anidados que puede utilizar en la tarea <csg>.

En algunos de los atributos y elementos anidados de <csg>, puede especificar propiedades internas del generador de apéndices de llamada como variables de sustitución. Por ejemplo, para el elemento <callStubPackage>, puede especificar el PROGRAM-ID de COBOL:
<callStubPackage>com.ibm.cobol.$_ProgramId_$</callStubPackage>
En tiempo de ejecución, la variable $_ProgramId_$ se sustituirá por el PROGRAM-ID de COBOL. Si los elementos de entrada <fileset> o <filelist>, especifican varios archivos COBOL, $_ProgramId_$ se sustituirá por el PROGRAM-ID de cada archivo COBOL cuando el generador de apéndices de llamada itere la lista de archivos de entrada.
Tabla 1. Atributos y elementos de <csg> para ejecutar el generador de apéndices de llamada COBOL. Debe especificar valores para los atributos y elementos obligatorios en la tarea <csg>. Muchos de los atributos y elementos opcionales tienen un valor predeterminado.
Name Valor por omisión Necesaria u opcional Descripción
Atributos y elementos anidados de <csg>
configFile   Necesario Especifica la ruta completa del archivo de configuración del generador de apéndices de llamada.
workSpace   Opcional Especifica la ruta completa al directorio raíz del espacio de trabajo de Eclipse o de Rational Application Developer que hay que utilizar para crear la clase de enlace de datos Java™.

Cualquier valor especificado para workSpace sustituye el valor de workSpace en el archivo de configuración del generador de apéndices de llamada, que se identifica mediante el valor configFile.

eclipseProjectName   Opcional Especifica el nombre del proyecto en el espacio de trabajo de Eclipse o en Rational Application Developer que proporciona el directorio inicial de la clase Java generada.

El proyecto debe existir antes de poder ejecutar el generador de apéndices de llamada.

Cualquier valor especificado para eclipseProjectName sustituye el valor de EclipseProjectName en el archivo de configuración del generador de apéndices de llamada, que se identifica mediante el valor configFile.

antBuildFile ${workSpace}/${eclipseProjectName}/src/GenAllBindings.xml Opcional Especifica la ubicación de salida del archivo de compilación Ant de enlazador de datos generado por la tarea <csg>.
<fileset>, <filelist>   Necesario Especifica uno o más archivos fuente COBOL que proporcionan entrada al generador de apéndices de llamada. Puede especificar varios tipos <fileset> y <filelist>. Los tipos <fileset> y <filelist> que se especifican fuera de un elemento <cobolModule> utilizan el PROGRAM-ID de COBOL como nombre de módulo COBOL.
<cobolModule>   Opcional Especifica el nombre del módulo COBOL o un archivo DLL que está asociado a todos los archivos <fileset> y <filelist> que están anidados dentro del elemento <cobolModule>. Puede especificar varios elementos <cobolModule>.
<callStubPackage>   Necesario Especifica el nombre de paquete y la vía de acceso del archivo generado que deben utilizarse en el apéndice de llamada generado.

En este elemento, se puede especificar una propiedad interna del generador de apéndices de llamada para las variables de sustitución $_ProgramId_$, el PROGRAM-ID de COBOL o $_CobolModule_$, el módulo COBOL.

Por ejemplo: <callStubPackage>com.ibm.cobol.$_ProgramId_$</callStubPackage>

En tiempo de ejecución, la variable $_ProgramId_$ se sustituirá por el PROGRAM-ID de COBOL.

<callStubClass> PROGRAM-ID del programa COBOL Opcional Especifica el nombre de clase que debe utilizarse en el apéndice de llamada generado.

En este elemento, se puede especificar una propiedad interna del generador de apéndices de llamada para las variables de sustitución $_ProgramId_$, el PROGRAM-ID de COBOL o $_CobolModule_$, el módulo COBOL.

<build> Unknown Build Opcional Especifica un identificador de compilación asignado por el usuario.
<mockPackage>   Opcional Especifica el nombre del paquete de la clase ficticia.
<mockClass>   Opcional Especifica el nombre de la clase usada en el arnés de prueba ficticio.
<dataElementsPackage> {callStubPackage}.parameters Opcional Especifica el nombre de paquete que debe utilizarse en las clases de enlace de datos de uno o varios parámetros COBOL y el valor de retorno.

En este elemento, se puede especificar una propiedad interna del generador de apéndices de llamada para las variables de sustitución $_DataElementName_$, el nombre del parámetro COBOL, $_ProgramId_$, el PROGRAM-ID de COBOL, o $_CobolModule_$, el módulo COBOL.

<dataElementsClass> Nombre del parámetro Opcional Especifica el nombre de clase que debe utilizarse en las clases de enlace de datos de uno o varios parámetros COBOL y el valor de retorno.

En este elemento, se puede especificar una propiedad interna del generador de apéndices de llamada para las variables de sustitución $_DataElementName_$, el nombre del parámetro COBOL, $_ProgramId_$, el PROGRAM-ID de COBOL, o $_CobolModule_$, el módulo COBOL.

Por ejemplo, para anteponer el PROGRAM-ID a los nombres de clase para los parámetros COBOL y el valor de retorno: <dataElementsClass>$_ProgramId_$_$_DataElementName_$</dataElementsClass>

En tiempo de ejecución, la variable $_ProgramId_$ se sustituirá por el PROGRAM-ID de COBOL y la variable $_DataElementName_$ se sustituirá por el nombre del parámetro de COBOL o el valor de retorno. Si el programa COBOL tiene varios parámetros, $_DataElementName_$ se sustituye por el nombre de cada parámetro COBOL cuando el generador de apéndices de llamada los itera.

<dataElement>   Opcional Especifica un nombre de paquete y clase para un parámetro COBOL o un valor de retorno. El parámetro se identifica mediante los atributos name y programId. Los nombres de paquete y clase se especifican utilizando los atributos packageName y className. Puede especificar varios elementos <dataElement>.
Atributos y elemento anidado de <cobolModule>
libname PROGRAM-ID del programa COBOL Opcional Especifica el nombre del módulo COBOL o archivo DLL que contiene uno o más programas COBOL.
<fileset>, <filelist>   Necesario Especifica uno o más archivos fuente COBOL que proporcionan entrada al generador de apéndices de llamada. Cada archivo COBOL se asocia con el módulo COBOL definido por libname.
Atributos de <dataElement>
name   Necesario Especifica el nombre del parámetro PROCEDURE de COBOL.
programId   Necesario Especifica el PROGRAM-ID del programa COBOL que contiene el parámetro.
packageName ${callStubPackage}.parameters Opcional Especifica el nombre de paquete que hay que utilizar en las clases de enlace de datos de este parámetro COBOL o valor de retorno.

En este atributo se puede especificar una propiedad interna del generador de apéndices de llamada para las variables de sustitución $_DataElementName_$, el nombre del parámetro COBOL, $_ProgramId_$, el PROGRAM-ID de COBOL, o $_CobolModule_$, el módulo COBOL.

className Nombre del parámetro Opcional Especifica el nombre de clase que debe utilizarse en las clases de enlace de datos de este parámetro COBOL o valor de retorno específico.

En este atributo se puede especificar una propiedad interna del generador de apéndices de llamada para las variables de sustitución $_DataElementName_$, el nombre del parámetro COBOL, $_ProgramId_$, el PROGRAM-ID de COBOL, o $_CobolModule_$, el módulo COBOL.

Procedimiento

  1. Defina una tarea Ant <csg> para ejecutar el generador de apéndices de llamada.

    El generador de apéndices de llamada proporciona un ejemplo de archivo de compilación Ant, CSG.xml, que se puede modificar y utilizar. Consulte el tema relativo al archivo CSG.xml del generador de apéndices de llamada.

  2. Utilice un archivo de compilación Ant para ejecutar el generador de apéndices de llamada.

    El archivo de compilación Ant inicia el enlazador de datos y genera las clases de enlace de datos para uno o más parámetros COBOL y un valor de retorno. El archivo de compilación Ant de enlazador de datos se ejecuta en la última línea utilizando la tarea <ant>.

    El código siguiente ejecuta el generador de apéndices de llamada utilizando la tarea <csg>:

    <!-- Declarar la tarea <csg>  -->
    <taskdef resource="com/ibm/ws/batch/cobol/ant/callstub/antlib.xml"
             classpath="${csgDir}/lib/COBOLCallStubGenerator.jar"/>
    
    <csg configFile="${csgDir}/csg.properties" antBuildFile="${antBuildFile}" >
    
      <!-- La entrada puede ser un archivo <fileset> o <filelist>. En este ejemplo, es un fileset de archivo único. -->
    <fileset file="${cobolSource}" />
    
    <!-- Se especifica el paquete de la clase de apéndice de llamadas Java generada.
         Las clases de parámetro se generan bajo ${callStubPackage}.parameters. -->
      <callStubPackage>${callStubPackage}</callStubPackage>
      
    </csg>
    <!-- Ejecute el archivo de compilación Ant de enlazador de datos generado por la tarea <csg>. -->
    <ant antfile="${antBuildFile}" />

    En este ejemplo, se utiliza un tipo <fileset> para especificar un solo archivo fuente COBOL de entrada. Los archivos fuente COBOL utilizados como entrada de <csg> se especifican utilizando uno o más tipos <fileset> o <filelist>. El elemento <callStubPackage> anidado es obligatorio. Especifica el paquete que se debe utilizar para el apéndice de llamada Java. Las clases de enlace de datos se generan de forma predeterminada bajo el paquete ${callStubPackage}.parameters.

    El ejemplo siguiente proporciona una descripción completa de la tarea <csg>:

    <taskdef resource="com/ibm/ws/batch/cobol/ant/callstub/antlib.xml"
             classpath="${csgDir}/lib/COBOLCallStubGenerator.jar"/> 
    
    <csg configFile="#REQUIRED"
         workSpace="#OPTIONAL:overrides value in configFile"
         eclipseProjectName="#OPTIONAL:overrides value in configFile"
         antBuildFile="#OPTIONAL:default=${workSpace}/${eclipseProjectName}/src/GenAllBindings.xml" >
    
      <fileset />
    <filelist />
    
    <cobolModule #OPTIONAL libname="#OPTIONAL:default=${ProgramId}">
      <fileset />
      <filelist />
    </cobolModule>
    
      <callStubPackage>#REQUIRED</callStubPackage>
    <callStubClass>#OPTIONAL:default=${ProgramId}</callStubClass>
    
    <build>#OPTIONAL:default=”Unknown Build”</build>
    <mockPackage>#OPTIONAL</mockPackage>
    <mockClass>#OPTIONAL</mockClass>
    
      <dataElementsPackage>#OPTIONAL:default=${callStubPackage}.parameters</dataElementsPackage>
      <dataElementsClass>#OPTIONAL:default=${dataElementName}</dataElementsClass>
    
      <dataElement #OPTIONAL
                   name="#REQUIRED"
                   programId="#REQUIRED"
                   packageName="#OPTIONAL:default=${callStubPackage}.parameters"
                   className="#OPTIONAL:default=${dataElementName}" />
    </csg>
    Best practice Best practice: La tarea <csg> y el archivo de compilación Ant de enlazador de datos tienen dependencias de tiempo de ejecución con respecto a algunas clases de Eclipse, incluidas las herramientas de Java EE Connector (J2C). Ejecute la tarea <csg> dentro de Rational Application Developer como compilación Ant para obtener todos los requisitos previos. También puede utilizar CSG.xml para ejecutar el generador de apéndices de llamada dentro de Rational Application Developer. Consulte el tema relativo a la invocación del generador de apéndices de llamada mediante la interfaz gráfica.bprac

Resultados

El comando ejecuta el generador de apéndices de llamada. Si el comando es satisfactorio, el generador de apéndices de llamada crea un apéndice de llamada Java para ejecutar un programa COBOL.

Qué hacer a continuación

Utilice el apéndice de llamada Java generado para ejecutar un programa COBOL.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_cobol_csg_ant
File name: tgrid_cobol_csg_ant.html