Ejecutar programa Java desde programa Cobol o JCL

Todo lo relacionado con Java en mainframe.
Responder
J. Martín

Ejecutar programa Java desde programa Cobol o JCL

Mensaje por J. Martín » 17 Sep 2012, 08:10

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.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
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

Mensaje por Vicente » 17 Sep 2012, 09:46

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
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Avatar de Usuario
LuisFer
Colaborador Senior
Colaborador Senior
Mensajes: 375
Registrado: 27 May 2006, 16:06
País: España
Ciudad: Madrid
Ocupación: Otra

Re: Ejecutar programa Java desde programa Cobol o JCL

Mensaje por LuisFer » 23 Sep 2012, 13:37

No me sigas, puedo no guiarte, no vayas delante , puedo no seguirte, caminemos juntos y sé simplemente, mi amigo.

J. Martín

Re: Ejecutar programa Java desde programa Cobol o JCL

Mensaje por J. Martín » 26 Sep 2012, 11:31

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.

Responder