Archivo CSG.xml del generador de apéndices de llamada
El archivo CSG.xml proporciona un ejemplo completo de cómo iniciar el generador de apéndices de llamada COBOL desde Ant mediante la tarea personalizada <csg> o dentro de Rational Application Developer como construcción Ant.
Propiedades de entrada de CSG.xml
En la tabla siguiente se describen las propiedades de entrada de CSG.xml. Si ejecuta la tarea <csg> en la interfaz gráfica de Rational Application Developer, puede definir las propiedades utilizando el formato -Dnombre_propiedad=valor_propiedad.
Name | Necesaria u opcional | Descripción |
---|---|---|
cobolSource | Obligatoria | Especifica la ruta completa del archivo de origen COBOL.![]() En la interfaz gráfica de Rational Application Developer, puede utilizar la variable incorporada ${resource_loc}, que se sustituye por ruta completa del recurso seleccionado en ese momento en el Explorador de paquetes. |
workSpace | Obligatoria | 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™. En la interfaz gráfica de Rational Application Developer, puede utilizar la variable incorporada ${workspace_loc}, que se sustituye por ruta completa del espacio de trabajo activo en ese momento. |
eclipseProjectName | Obligatoria | 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. En la interfaz gráfica de Rational Application Developer, puede utilizar la variable incorporada ${project_name}, que se sustituye con el nombre de proyecto del recurso seleccionado en ese momento en el Explorador de paquetes. El proyecto debe existir antes de poder ejecutar el generador de apéndices de llamada. |
callStubPackage | Obligatoria | Especifica el nombre de paquete que hay que utilizar en el apéndice de llamada generado. En la interfaz gráfica de Rational Application Developer, puede utilizar la variable incorporada ${string_prompt:callStubPackage}. En tiempo de ejecución, Rational Application Developer le solicitará un valor de cadena. El título del recuadro de diálogo de solicitud es callStubPackage. |
Ubicación de archivo
El archivo de compilación Ant CSG.xml tiene una ubicación similar a:
raíz_instalación_producto/CobolCallStubGenerator.V1.2/CSG.xml
Contenido de CSG.xml
El archivo csg.xml que se proporciona con el producto es parecido al del ejemplo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<!-- ........................................................................... -->
<!-- Este archivo de compilación Ant se utiliza para invocar COBOLCallStubGenerator (CSG)
en Rational Application Developer. Tiene dos pasos:
1. Invoca CSG para el archivo cobolSource dado.
CSG se invoca mediante la tarea <csg> personalizada.
<csg> genera el apéndice de llamada Java y el archivo Ant de enlazador de datos.
2. Invoca el archivo Ant de enlazador de datos generado por <csg>.
El archivo Ant del enlazador de datos invoca al enlazador de datos y genera
las clases Java de enlace de datos para los parámetros COBOL.
Para configurar este archivo para su uso en Rational Application Developer:
1. Ejecutar -> Herramientas externas -> Configuración de herramientas externas.
2. Nueva compilación Ant
Archivo de compilación: ruta_completa_a_este_archivo.xml
Argumentos:-DcobolSource=${resource_loc}
-DworkSpace=${workspace_loc}
-DeclipseProjectName=${project_name}
-DcallStubPackage=${string_prompt:callStubPackage}
Renovación: proyecto
Compilación: proyecto
JRE: igual que el del espacio de trabajo (necesita tener instaladas las herramientas J2C)
Instrucciones de uso:
1. Cargue el código fuente COBOL en el proyecto.
2. Seleccione el archivo fuente o directorio de origen COBOL en el Explorador de Proyectos.
3. Pulse Ejecutar -> Herramientas externas -> Compilación Ant CSG. -->
<!-- ........................................................................... -->
<project default="CSG">
<property name="csgDir" value="${basedir}" />
<property name="debug" value="false" />
<!-- Incluir las definiciones de tarea <csg> y <radlogcheck> -->
<taskdef resource="com/ibm/ws/batch/cobol/ant/callstub/antlib.xml"
classpath="${csgDir}/lib/COBOLCallStubGenerator.jar"/>
<!-- Estas propiedades de entrada son obligatorias. Pueden especificarse como argumentos de la compilación Ant. -->
<property name="cobolSource" value="" /> <!-- vía de acceso completa al archivo de origen COBOL -->
<property name="workSpace" value="" /> <!-- vía de acceso completa al espacio de trabajo de Eclipse -->
<property name="eclipseProjectName" value="" />
<property name="callStubPackage" value="" />
<!-- La salida de la tarea <csg> es el archivo de compilación Ant del enlazador de datos. El archivo de compilación Ant
del enlazador de datos invoca el enlazador de datos y genera las clases de enlace de datos de todos los
parámetros COBOL para todos los archivos COBOL procesados por <csg>. -->
<property name="antBuildFile" value="${workSpace}/${eclipseProjectName}/src/GenAllBindings.xml" />
<!-- Forma rápida de obtener el directorio del archivo COBOL de entrada, en caso de que se desee usarlo
para especificar una lista de archivos en el tipo <fileset>. -->
<dirname property="cobolSourceDir" file="${cobolSource}" />
<target name="CSG">
<csg configFile="${csgDir}/csg.properties"
workSpace="${workSpace}"
eclipseProjectName="${eclipseProjectName}"
antBuildFile="${antBuildFile}" >
<!-- En este ejemplo, la entrada es un único archivo COBOL, especificado utilizando <fileset>.
Se puede modificar la entrada para que sea una lista de archivos COBOL, utilizando
tipos <fileset> o <filelist>. Por ejemplo, en lugar de utilizar la propiedad cobolSource,
se puede utilizar la propiedad cobolSourceDir para especificar todos los archivos *.cbl
del directorio o utilizar <filelist> para listar un subconjunto de archivos del directorio.
Aquí se incluyen ejemplos para establecer la entrada a una lista de archivos, pero están comentados. -->
<fileset file="${cobolSource}" />
<!-- Ejemplo: Establecer la entrada en todos los archivos *.cbl en un directorio: -->
<!-- <fileset dir="${cobolSourceDir}" includes="**/*.cbl" /> -->
<!-- Ejemplo: Establecer la entrada en un subconjunto de archivos de un directorio: -->
<!-- <filelist dir="${cobolSourceDir}" files="G10M0802.cbl primitve.ccp natltest.ccp" /> -->
<!-- Ejemplo: Asociar todos los archivos anidados con el elemento <cobolModule> especificado: -->
<!-- <cobolModule libname="MyDLLName">
<fileset dir="${cobolSourceDir}" includes="**/*.ccp" />
</cobolModule> -->
<!-- Puede especificar varios elementos <cobolModule>. -->
<callStubPackage>${callStubPackage}</callStubPackage>
<!-- Ejemplo: Se pueden utilizar algunas propiedades internas de generador de apéndices de llamadas como
variables de sustitución. Por ejemplo, para incluir COBOL PROGRAM-ID ($_ProgramId_$) en el
callStubPackage: -->
<!-- <callStubPackage>${callStubPackage}.$_ProgramId_$</callStubPackage> -->
<!-- Si no se define, el nombre de paquete de las clases de enlace de datos es
${callStubPackage}.parameters. -->
<!-- <dataElementsPackage>${callStubPackage}.parameters</dataElementsPackage> -->
<!-- Ejemplo: Utilizar variables de sustitución para agregar COBOL PROGRAM-ID al principio del
nombre de clase de parámetro. -->
<!-- <dataElementsClass>$_ProgramId_$_$_DataElementName_$</dataElementsClass> -->
<!-- El paquete y la clase Java del parámetro identificado por 'name' en el programa COBOL
program 'programId' -->
<!-- <dataElement name="#REQUIRED" programId="#REQUIRED" packageName="" className="" /> -->
<!-- Puede especificar varios elementos <dataElement>. -->
</csg>
<!-- Renovar el espacio de trabajo para poder compilar los apéndices de llamada Java generados por <csg> -->
<eclipse.refreshLocal depth="infinite" resource="${eclipseProjectName}" />
<!-- radlogcheck toma en primer lugar una instantánea del registro de Rational Application Developer
(${workSpace}/.metadata/.log). Después, radlogcheck examina el registro y busca
posibles errores generados durante este paso de enlace de datos. -->
<radlogcheck workSpace="${workSpace}" stage="begin" />
<!-- Ahora se ejecuta el archivo de compilación Ant de enlazador de datos generado por la tarea <csg>. -->
<ant antfile="${antBuildFile}" />
<!-- Se explora el registro en busca de errores que se hayan producido durante el paso de enlace de datos.
Si se detectan errores, el producto los escribe en la consola. -->
<radlogcheck workSpace="${workSpace}" stage="end" />
<!-- Se suprime el antBuildFile. Ya no es necesario y es simplemente un artefacto de compilación. -->
<delete file="${antBuildFile}" failonerror="false"/>
</target></project>