Buenos días, tengo un programa java instalado y compilado en la partición Unix del host, es un programa sencillo, es un "Hola Mundo".
Ahora bien, no encuentro en ningún sitio como invocar a este programa desde un programa Cobol o desde un jcl.
Lo poco que he encontrado es dar de alta una transacción cics que se asocie a un programa dado de alta también en cics. Este programa se debería asignar como opción "Language Java", pero al intentar dar de alta el programa en el cics no me deja la opción Java en el lenguaje.
¿Alguien podría ayudarme o indicarme algún manual dónde se resuelva mi problema?
Gracias y un saludo.
Ejecutar programa Java desde programa Cobol o JCL
- Vicente
- Colaborador avanzado
- Mensajes: 546
- Registrado: 21 Jul 2011, 04:52
- País: España
- Ciudad: Malaga
- Ocupación: Técnico en Sistemas
Re: Ejecutar programa Java desde programa Cobol o JCL
Hola Martín:
El manual de zOS "UNIX System Services Command Reference" (SA22-7802-13) en su capítulo 3 habla de BPXBATCH y en su apéndice D explica como utilizarlo en batch para ejecutar programas.
Te recomiendo que le heches un vistazo en
http://publibz.boulder.ibm.com/cgi-bin/ ... 0625104946
Un ejemplo sería:
//EXPAND EXEC PGM=BPXBATCH,REGION=0M,
// PARM='SH /midir/miprog'
Continuado con las DDs que necesites como:
//STDOUT DD PATH='/midir/mifich.out', ....
Un saludo
El manual de zOS "UNIX System Services Command Reference" (SA22-7802-13) en su capítulo 3 habla de BPXBATCH y en su apéndice D explica como utilizarlo en batch para ejecutar programas.
Te recomiendo que le heches un vistazo en
http://publibz.boulder.ibm.com/cgi-bin/ ... 0625104946
Un ejemplo sería:
//EXPAND EXEC PGM=BPXBATCH,REGION=0M,
// PARM='SH /midir/miprog'
Continuado con las DDs que necesites como:
//STDOUT DD PATH='/midir/mifich.out', ....
Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.
pueden ahorrarte quince minutos de lectura de un manual.
- LuisFer
- Colaborador Senior
- Mensajes: 394
- Registrado: 27 May 2006, 16:06
- País: España
- Ciudad: Madrid
- Ocupación: Otra
Re: Ejecutar programa Java desde programa Cobol o JCL
No me sigas, puedo no guiarte, no vayas delante , puedo no seguirte, caminemos juntos y sé simplemente, mi amigo.
Re: Ejecutar programa Java desde programa Cobol o JCL
Hola!!!! muchas gracias Vicente y LuisFer, vuestra ayuda me ha servido bastante.
Os dejo el jcl que he codificado y probado por si os sirviera de algo o sólo de cultura host en general.
1.- Copia fichero entrada de host a Unix
2.- Ejecución programa java 'procesarFichero'
3.- Copia fichero salida de Unix a host
4.- Copia fichero errores de Unix a host
//BPXBATCH JOB (),'** bpxbatch **',
// CLASS=A,
// MSGCLASS=X,NOTIFY=&SYSUID
//JS010 EXEC PGM=IKJEFT01,DYNAMNBR=200
//SYSPROC DD DSN=SYS1.SBPXEXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ENTRADA DD DSN=CBDS.PRUEBA.COPIA2.UNIX,DISP=OLD
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//SALIDA DD PATH='/var/desa/entrada/datos.txt',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//SYSTSIN DD *
OCOPY INDD(ENTRADA) OUTDD(SALIDA)
//**
//JS020 EXEC PGM=BPXBATCH,REGION=0M,
// PARM='SH java procesarFichero'
//STDIN DD PATH='/var/desa/entrada/datos.txt',PATHOPTS=(ORDONLY)
//STDOUT DD PATH='/var/desa/salida.xml',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//STDERR DD PATH='/var/desa/errores.txt',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//**
//JS030 EXEC PGM=IKJEFT01,DYNAMNBR=200
//SYSPROC DD DSN=SYS1.SBPXEXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ENTRADA DD PATH='/var/desa/salida/ejemplo.xml',
// PATHOPTS=(ORDONLY)
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//SALIDA DD DSN=CBDS.PRUEBA.COPIA.UNIX.SALIDA,DISP=OLD
//SYSTSIN DD *
OCOPY INDD(ENTRADA) OUTDD(SALIDA)
//**
//JS040 EXEC PGM=IKJEFT01,DYNAMNBR=200
//SYSPROC DD DSN=SYS1.SBPXEXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ENTRADA DD PATH='/var/desa/errores.txt',
// PATHOPTS=(ORDONLY)
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//SALIDA DD DSN=CBDS.PRUEBA.COPIA.UNIX.ERROR,DISP=OLD
//SYSTSIN DD *
OCOPY INDD(ENTRADA) OUTDD(SALIDA)
//**********************************************************************
**************************** Bottom of Data ****************************
Gracias y un saludo.
Os dejo el jcl que he codificado y probado por si os sirviera de algo o sólo de cultura host en general.
1.- Copia fichero entrada de host a Unix
2.- Ejecución programa java 'procesarFichero'
3.- Copia fichero salida de Unix a host
4.- Copia fichero errores de Unix a host
//BPXBATCH JOB (),'** bpxbatch **',
// CLASS=A,
// MSGCLASS=X,NOTIFY=&SYSUID
//JS010 EXEC PGM=IKJEFT01,DYNAMNBR=200
//SYSPROC DD DSN=SYS1.SBPXEXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ENTRADA DD DSN=CBDS.PRUEBA.COPIA2.UNIX,DISP=OLD
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//SALIDA DD PATH='/var/desa/entrada/datos.txt',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//SYSTSIN DD *
OCOPY INDD(ENTRADA) OUTDD(SALIDA)
//**
//JS020 EXEC PGM=BPXBATCH,REGION=0M,
// PARM='SH java procesarFichero'
//STDIN DD PATH='/var/desa/entrada/datos.txt',PATHOPTS=(ORDONLY)
//STDOUT DD PATH='/var/desa/salida.xml',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//STDERR DD PATH='/var/desa/errores.txt',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//**
//JS030 EXEC PGM=IKJEFT01,DYNAMNBR=200
//SYSPROC DD DSN=SYS1.SBPXEXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ENTRADA DD PATH='/var/desa/salida/ejemplo.xml',
// PATHOPTS=(ORDONLY)
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//SALIDA DD DSN=CBDS.PRUEBA.COPIA.UNIX.SALIDA,DISP=OLD
//SYSTSIN DD *
OCOPY INDD(ENTRADA) OUTDD(SALIDA)
//**
//JS040 EXEC PGM=IKJEFT01,DYNAMNBR=200
//SYSPROC DD DSN=SYS1.SBPXEXEC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ENTRADA DD PATH='/var/desa/errores.txt',
// PATHOPTS=(ORDONLY)
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//SALIDA DD DSN=CBDS.PRUEBA.COPIA.UNIX.ERROR,DISP=OLD
//SYSTSIN DD *
OCOPY INDD(ENTRADA) OUTDD(SALIDA)
//**********************************************************************
**************************** Bottom of Data ****************************
Gracias y un saludo.