Publicado el Viernes 19 de Enero del 2007 @ 19:40 por Kujaku.
Bueno, el documento de hoy estará enfocado en explicar más profundamente cómo hacer el trabajo día a día en un Host. Nos centraremos en los distintos procesos y mas concretamente en el lenguaje JCL (Job Control Lenguaje).
Al término de este documento, seremos capaces de ejecutar un job que nos deje en salida impresa, el texto “Hola Mamones” (lo del “hola mundo” esta muy trillado xDDDD).
Lo primero que debemos hacer es un reseteo de nuestro cerebro, porque en el mundo host, las cosas son muy distintas que en el mundo PC. Por ejemplo, crear un fichero no es algo tan sencillo como pinchar con el ratón sobre el menú Archivo, para luego hacer clic en Nuevo. En un host, todo son unidades de trabajo o jobs que al ejecutarse, producen un resultado (aunque a veces, no el deseado ;)).
Vamos un poco con la explicación de lo que es un Job o Trabajo: Un Job puede ser interactivo (ej, una sesión TSO), puede ser una tarea que se inicia y permanece en memoria para siempre (como un daemon en los distintos sabores de Unix), o puede ser un Job batch es decir: un proceso por lotes.
Todo job se basa en los mismos principios y sigue el mismo flujo: Existe una entrada, un procesamiento y luego una salida con el resultado. De la infraestructura software que dará soporte a todo este flujo de trabajo, se encarga el JES2 (Job Entry Subsystem). Para ello, este subsistema esta organizado de la siguiente manera:
En el trabajo diario de un host, para cualquier cosa que debas hacer, necesitas ejecutar muchos jobs para que la máquina haga las cosas que le pides (a este proceso se le llama submit). Si no tenemos ningún iniciador lanzado (cosa rara en un host arrancado), siempre se puede ir a la Master Console y teclear el siguiente Comando: S INIT.INIT1,,,A. Esto hará que lancemos un iniciador que lo hemos llamado INIT1 (pero puede ser cualquier nombre) que solo ejecutará los jobs que sean de la Clase A. Con esto, tenemos todo el sistema listo: Si ejecutamos un job de clase A entrará por INIT1 y si mientras está en ejecución lanzamos 20 jobs más de tipo A, se quedarán en la cola de entrada hasta que les llegue su turno (a menos que lancemos más iniciadores que hagan caso de la clase A, con lo que podrían ejecutarse en paralelo).
Los jobs, una vez ejecutados, quedarán en la clase o cola de salida que especifiquemos en el job hasta que una impresora que haga caso a dicha clase los imprima.
Hasta aquí, creo que no hay muchas dudas, ¿no? Bueno, antes de seguir, vamos a exponer un par de definiciones:
Bien, nos metemos de lleno al tema: Para definir o crear un job, haremos uso del lenguaje JCL. Para ello, hay que tener clara la sintaxis, ya que existen ciertas reglas a cumplir, que son las siguientes:
/* que más tarde comentaré).Bueno, con estas 7 reglas sencillas, ya podemos meternos de lleno a escribir nuestro JCL. Empecemos por la primera ficha (realmente es una línea, pero antaño cada línea era una ficha perforada y a fuerza de oír a mis mayores, me he quedado con ficha, además, da un aire retro-actual que pa que xDDDDD):
1 2 3 4 5 6 7
----+----0----+----0----+----0----+----0----+----0----+----0----+----0--
//MAMONJOB JOB GODDESS,URD,CLASS=A
Los caracteres y números de encima son simplemente para ver en la columna que estamos, así que no hacer demasiado caso.
Analicemos esta ficha: después de las //, aparece el nombre del Job. Puedes poner el que te de la gana, siempre y cuando tenga de 1 a 8 caracteres alfanuméricos, excepto el primer carácter, que debe ser siempre alfabético. He elegido como nombre MAMONJOB porque es un job que imprimirá “Hola Mamones”.
Lo siguiente es la sentencia JOB, que indica al SO (en este caso al JES2) que comienza nuestro Job.
Lo siguiente a explicar son los parámetros que puede llevar una sentencia JOB. Los hay de dos tipos: Parámetros posicionales y de Keyword o Referencia. Los de Keyword se diferencian en los posicionales en que llevan un = que les da un valor. Los posicionales, son en sí variables y de relevancia para el JES2. Como podéis ver, los parámetros se separan con comas. Eso si, hay una regla: Si vas a tener los dos tipos de parámetros en el job, debes poner primero los posicionales y luego los de keyword.
En nuestro ejemplo, la primera ficha muestra 3 parámetros: dos posicionales y un Keyword. Para el parser del JES2, el primer parámetro (opcional) GODDESS hace referencia al Accounting del job, es decir, si existe una entrada en la contabilidad llamada GODDESS, los ciclos de CPU que consuma este job irán a parar a esa entrada, de forma que puedes conocer cuanta CPU ha consumido dicha entrada a lo largo del mes, por ejemplo. El segundo parámetro lo toma el JES2 como el nombre del/la programador/a, que en este caso es URD (una de las mejoras administradoras del mundo), y el ultimo parámetro, que es Keyword, indica la clase donde se ejecutará el job. Este último parámetro dará la pista sobre que iniciador se ejecutara. Sencillo, ¿verdad?.
Existen más parámetros (algunos opcionales, otros no tanto) que se pueden poner en el job, como descripciones del job y demás, pero nos vamos a encontrar con que no nos van a entrar en una sola ficha. Por lo que se debe escribir una ficha o línea de continuación. Y ¿Cómo se hace esto? Tirado:
He comentado antes que los parámetros se ponen separados por comas. Si el JES2 encuentra una coma y luego un espacio en blanco, asume que los parámetros siguen en la siguiente ficha, en algún lugar de entre las columnas 4 y 16. Se recomienda que la continuación la escribamos a partir de la columna 16, porque queda mas tabulado. Así que si queremos poner más parámetros, basta con añadir en la segunda línea, en los caracteres 1 y 2, las // y continuar en la columna 16, quedando el tema tal que así:
1 1 2 3 4 5 6 7 7
----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2
//MAMONJOB JOB GODDESS,URD,CLASS=A,<strong>MSGCLASS=A,
// MSGLEVEL=(1,1)</strong></pre>
Tenemos 2 sentencias nuevas:
De todas formas, yo recomiendo siempre que salga todo (de hecho, en el trabajo diario, la ficha job yo suelo usar siempre la misma copiando y pegando). Por finalizar, si ya no hay comas detrás del último parámetro, el parser da por terminada la sentencia JOB.
Ahora, vamos con la ejecución del programa. ¡Cooooño! ¡Que no hemos escrito ningún programa! Bueno, afortunadamente IBM nos proporciona cientos de programas con el SO MVS, así que vamos a hacer uso de ellos. Estos programas se llaman UTILITIES en la jerga mainframera. De modo que haremos uso de una utility muy socorrida, llamada IEBGENER. Esta utility, entre otras muchas cosas, copia datos de un sitio a otro. O copia datos a un fichero, vamos, copia cualquier tipo de cosas. Nuestro JCL quedaría así:
1 1 2 3 4 5 6 7 7 ----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2 //MAMONJOB JOB GODDESS,URD,CLASS=A,MSGCLASS=A, // MSGLEVEL=(1,1) //PASO1 EXEC PGM=IEBGENER
Claro, esa utility necesita ser colocada en memoria. Como ignoro lo que ocupa, vamos a decirle al JCL que por lo menos el JES2 reserve 256KB de RAM para que dicha utility pueda ser ejecutada. Eso se consigue de dos maneras:
Pero para no marear la perdiz, añadiremos al todo el job la reserva de memoria. Así pues, nuestro job quedará así:
1 1 2 3 4 5 6 7 7 ----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2 //MAMONJOB JOB GODDESS,URD,CLASS=A,MSGCLASS=A, // MSGLEVEL=(1,1),REGION=256K //PASO1 EXEC PGM=IEBGENER
Como antes, comentaremos esta nueva ficha: PASO1 es un nombre opcional para el paso de ejecución, y le aplica las mismas normas de nomenclatura que para el nombre del JOB.
Respecto al IEBGENER, tiene una serie de parámetros que se deben introducir, como por ejemplo de donde copiar, a donde copiar, donde introducir parámetros especiales… Para ello, si vamos al manual de MVS System Utilities, y buscamos IEBGENER, nos encontramos con los siguientes parámetros que utiliza esta utility:
En definitiva, IEBGENER copia lo que esta en SYSUT1 a SYSUT2 de acuerdo a los parámetros de SYSIN dejando el resultado de esos parámetros en SYSPRINT.
Por lo tanto, debemos meter esas 4 definiciones de datos en nuestro JCL. Para ello, haremos uso de la sentencia DD (Data Definition). Como he dicho mas arriba, DD es como el “var” de Pascal para definir las variables. Así que vamos a actualizar nuestro JCL, añadiendo también las dos // del final del job:
1 1 2 3 4 5 6 7 7 ----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2 //MAMONJOB JOB GODDESS,URD,CLASS=A,MSGCLASS=A, // MSGLEVEL=(1,1),REGION=256K //PASO1 EXEC PGM=IEBGENER //SYSUT1 DD * Hola, Mamones!! //SYSUT2 DD SYSOUT=A //SYSPRINT DD SYSOUT=A //SYSIN DD DUMMY //
Atentos a este tema que es el quiz de la cuestión: Como no disponemos de un fichero cuyo contenido sea Hola Mamones, hay una manera de incluir ese dato dentro del propio jobstream o flujo del job: Utilizando la definición DD *. Cuando el parser se encuentra con esta construcción, asume que las siguientes líneas serán el contenido del dato en si, que dejara en SYSUT1. ¿Cuando termina de asumir que las siguientes fichas son datos? Cuando se encuentra con un /* o una ficha nueva del job que se verá en seguida porque aparecen las // en las columnas 1 y 2.
De hecho, es más bonito visualmente que el job quede así, añadiendo ese /*:
1 1 2 3 4 5 6 7 7 ----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2 //MAMONJOB JOB GODDESS,URD,CLASS=A,MSGCLASS=A, // MSGLEVEL=(1,1),REGION=256K //PASO1 EXEC PGM=IEBGENER //SYSUT1 DD * Hola, Mamones!! /* //SYSUT2 DD SYSOUT=A //SYSPRINT DD SYSOUT=A //SYSIN DD DUMMY //
Entonces, si podemos añadir el dato directamente en el job, podríamos hasta hacer un banner y todo:
1 1 2 3 4 5 6 7 7 ----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2 //MAMONJOB JOB GODDESS,URD,CLASS=A,MSGCLASS=A, // MSGLEVEL=(1,1),REGION=256K //PASO1 EXEC PGM=IEBGENER //SYSUT1 DD * ********************************************************** * * * Hola, Mamones!! * * * ********************************************************** /* //SYSUT2 DD SYSOUT=A //SYSPRINT DD SYSOUT=A //SYSIN DD DUMMY //
Pero… ¿qué pasaría si en lugar de asteriscos, queremos poner todo /? El parser se volvería loco porque interpretaría que las siguientes fichas son sentencias de JCL, dando un error como una catedral. Pues hay un truco: Si en lugar de poner DD * se pone DD DATA, todo lo que encuentre desde ahí hasta el /* para él será un dato. Por lo que nuestro job podría quedar así:
1 1 2 3 4 5 6 7 7 ----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2 //MAMONJOB JOB GODDESS,URD,CLASS=A,MSGCLASS=A, // MSGLEVEL=(1,1),REGION=256K //PASO1 EXEC PGM=IEBGENER //SYSUT1 DD DATA ///////////////////////////////////////////////////////// // // // Hola, Mamones!! // // // ///////////////////////////////////////////////////////// /* //SYSUT2 DD SYSOUT=A //SYSPRINT DD SYSOUT=A //SYSIN DD DUMMY //
Ya os veo venir con la siguiente pregunta: ¿Y qué pasa si en algún lugar de nuestro dato, aparece un /*? ¡¡Pues que también esta previsto, cacho-perros!! xDDDD.
En ese caso, se crea un delimitador con una serie de caracteres que sabes que no se van a repetir en todo el job (por ejemplo, $$ o <>), con la sentencia DD DATA DLM=$$ o DD DATA DLM=<> quedando el tema así:
1 1 2 3 4 5 6 7 7 ----+----0----+6---0----+----0----+----0----+----0----+----0----+----0-2 //MAMONJOB JOB GODDESS,URD,CLASS=A,MSGCLASS=A, // MSGLEVEL=(1,1),REGION=256K //PASO1 EXEC PGM=IEBGENER //SYSUT1 DD DATA,DLM=$$ /*******************************************************/ /* */ /* Hola, Mamones!! */ /* */ /*******************************************************/ $$ //SYSUT2 DD SYSOUT=A //SYSPRINT DD SYSOUT=A //SYSIN DD DUMMY //
¿Contentos? xDDD. Con esto, ya hemos definido lo que queremos copiar en SYSUT1. Pero seguimos explicando el JOB: SYSUT2 tiene una Data Definition que apunta a la clase de salida A (SYSOUT=A), lo mismo que SYSPRINT.
Es decir, que el resultado se escribirá en la salida de la clase A. Y por último tenemos una ultima DD que es SYSIN, y que en este caso hay un DUMMY. DUMMY se pone cuando no quieres poner parámetros adicionales. Es como poner /dev/null. Por lo tanto, es de esperar que SYSPRINT no escriba nada en la cola A ya que no hay ningún SYSIN.
Entonces, ¿qué hará este job? Usando IEBGENER, copiara el banner que está definido en SYSUT1 y lo dejará en SYSUT2, que como esta última variable tiene asociada una clase de salida, dejará el banner en esa salida. Y, si tenemos una impresora asociada a esa clase, imprimirá dicho banner. Tirado, ¿no?.
Hasta aquí el primer capítulo de JCL. En el siguiente explicaré como se tratan los ficheros o datasets, basándonos en este ejemplo del JCL (si tenéis un host a mano o habéis instalado el MVS freeware, probad este job, porque funciona).
Pues me acuerdo mas de lo que pensaba…. y eso que no escribo un job desde 1979!!!!!
Muchas gracias por estos recuerdos……
Pues yo en pleno Enero de 2007 he escrito varios JCLs… esta misma mañana por ejemplo. Y donde lo he hecho piensan seguir con eso por muchos años X’-D
Umh… y curiosamente nací en 1979. Seré la reencarnación de alguien? ¬¬
Yo trabajo todos los dias con JCLs y nosotros en mi trabajo decimos que que Dios picó un JCL desde 0 y el resto de personas humanas hacen copy-paste de los trozos que interesan xD
El TSO, HOST, JCLs, COBOL, CICS, DB2, etc son tecnologias muy antiguas perro que se siguen usando muchisimo en muchas empresas y dando buen rendimiento.
Saludos
Muy cierto kr0n! :D
No he visto a nadie crear un JCL desde cero. Yo, hago copy-paste para poner cualquier cosa, un SORT o un paso sencillo.
Eso sí, he tenido que aprender dos tipos de JCL, los de MVS y los de VSE, que tienen bastantes cosas diferentes, aunque en el fondo sean lo mismo.
Por cierto, yo también nací en el 79 ;)
Ya veo que sois expertos en el CC arriba, el CC abajo y luego poneros en la linea correspondiente y hacer un A o B en el ISPF ;)
En las instalaciones que he estado yo (y he estado en bastantes), generalmente el tema de la definicion del JOB te la suelen imponer de una manera determinada, porque entra en juego el accounting y es importante en algunas empresas la CPU que llegas a usar a lo largo del dia para sus estadisticas (sobre todo, aquellas donde ves que la CPU anda en torno al 100% todo el dia). Tambien me he encontrado en que por ejemplo, para compilar un programa COBOL tengas una clase asignada y que dicha clase haga referencia a un iniciador con muy poca prioridad, por lo que te eternizas… pero ahora, con el Work-Load Manager, la cosa ha cambiado bastante y lo de las clases es algo mas anecdotico…
Aquí otro que anda con JCL’s y Lanzadores de vez en cuando, aunque la mayoría de las cosas que hacemos van con CICS. Un saludo, y sigue con tus artículos mainframeros!!
Hola, he entrado en esta página buscando algún manual de JCL y CICS en castellano, por si alguno de vosotros que estais acostumbrados a trabajar en estos entornos me podeís facilitar, o bien comentarme alguna dirección donde los pueda descargar.
Mi correo es ymelo@indra.es
Muchas gracias.
En castellano me temo que no hay practicamente nada, y lo que hay, son los manuales de los cursos de formación de IBM que están férreamente guardados. Digo yo que si tienen Redbooks, podrían tener “Libros Rojos” también no?
Creo que solo queda la esperanza que alguno de nosotros, utilizadores de mainframes, nos pongamos manos a la obra para escribir un libro sobre ello…
Hola a Todos, yo también ando por estos
inframundos que nos dan las lentejas a los que nos acercamos por estos sitios.
En este momento lo que necesitaría es algun pequeño ejemplo acompañado de su explicacion, de generación dinámica de jcl’s.
La generacion dinámica de sysines la mediocontrolo pero creo que será insuficiente
para la magnitud del aplicativo que voy a acometer.
Gracias a Todos
Cual es el siguiente capitulo de Primeros pasos en el Mainframe: Lenguaje JCL “explicaré como se tratan los ficheros o datasets”
Saludos
Hola a todos, que buena pagina, sobre todo cuando llevo viendo jcl´s,cics, que si el ispf, que si da ojob, que si los jobs acabados en error etc desde hace menos de 2 semanas xDDDDDDDDDDDD
Nunca he entendido el ocultismo de IBM con los JCL’s.
Hay que dismitificar este capitulo oscuro del mainframe
que entiendo le ha dañado en el tiempo.
Me parece un excelente capítulo y espero que sigas adelante
con los siguientes. Auguro una gran expectacion.
La verdad, me encanto tu explicacion, yo, a diferencia de la mayoria de los posteadores, no syo un dinosaurio del mainframe, tengo apenas 21 añitos y menos de 1 año de experiencia, la cosa es que mañana tengo una entrevista con examen tecnico, y tu guia me ayudo mucho para repasar contenidos!
Muchas gracias por el aporte!
Estoy estudiando JCL y justo tenía conexión a internet he estado mirando y buahs, entiendo mejor esto que al profe, xDDDD
Gracias
MMM, veo que tratais todos los temas que actualmente estoy estudiando. Conocéis alguna paginilla chuli donde mirar según qué cosas sobre este tema?
Gracias de nuevo
Hay posibilidad de instalarlo en casa? para practicar, existe algún emulador?
Hola a todos:
Soy un Cobolero viejo, que me encontre de momento a
otro tener que trabajar con CICS, JCL, ETC. Me parece
fenomenal el articulo. A seguir asi y espero que que
no te desanimes.
Soy nuevo en esto de JCL, y mi informacion esta en 390, por lo que necesito realizar descargas de datos.. a parte de realizar descargar.. puedo mover con un JCL este archivo plano a otros servidor? o debo ejecutar otro programa?
chicos todo esta muy bueno, yo trabajo en mainframe desde hac e 28 años y me mucha lastima que les escondan informacion, a todos los nuevos en esto les digo que busquen en sus instalaciones manuales de jcl, o los cd de los redbooks, disciento con quien dice que ibm esconde información, somos sus propios compañeros los que hacemso esto, lo que pasa que ahora no se respeta la secuencia en el trabajo mainframe, antes era graboverificador(data entry), operador de consola, carga de maquina , implementadores, soporte tecnico y a los que les gustaba pasaban a desarrollo, con todos los conocimientos necesarios de equipo que muchos de ustedes no tiene., espero no haber ofendido a nadie, saludos a todos
Buenas. Estoy trabajando con JCL´s y tengo un problema. Vamos a ver, ¿hay algún parámetro en los JCL que me haga más eficiente el acceso a los archivos del HFS?
Hacia rato que venia buscando sobre JCL para aprender profundamente lo que hago diariamente, pero nunca encontraba nada, hoy tuve mucha suerte, trabajo en una empresa en Argentina con 10 años de antiguedad y ase 4 años me pasaron de jobstreamer, y lo que sé lo aprendí ahí, con cada cancelación que se presentaba era un un poco más lo que aprendía, pero la verdad es que sé analizar bien cada cancelación, pero como dicen todos, nunca escribo nada, todo lo copio, y si hay que agregar algo lo busco en otro job para ver como va. Pero yo necesito saber los fundamentos de porque cada cosa, por eso me alegro de encontrar esta pagina, al autor de blog le ruego que nunca deje de escribir, necesito aprender…, ya este primer capitulo es una maza, espero el próximo….simplente sos un capo!!!
Un abrazo
Ariel
Armonth mil gracias por la data, ya mismo me las pongo a explorar
Esta muy buena la explicacion, me ha sido de gran ayuda ya que empece a trabajar en esto de mainframe hace tres meses, deberian hacer algun articulo sobre vsam
saludos desde Uruguay
conocci el sitio hoy, trabaje con jcl hace diez años y quiero retomarlo, por favor envienme mas informacion para actualizarme
y gracias por la iniciativa q tubieron
Yo soy nueva en esto de JCL y este tutorial me ayudo mucho a entender cmo es q funcionan los JOBS y como se codifican…gracias!
Espero pronto en siguiente tutorial!
Buenas tardes
quisiera saber si aparte de hercules existe un entorno de programacion para cobol.
Yo vengo de comenzar una formacion en grandes sistemas ibm y quisiera practicar mi cobol en casa.
Por cierto hay que tener cuidado con las formaciones porque en la mia ofrecen practicas en maquinas ibm y lo que obtuve es un emulador sistema ibm Merant que es la peor cosa que se haya inventado.
Si alguno conoce de un buen tutorial que me lo diga porque me urge muchisimo.
me gusto bastante el tutorilal de JCL quizas yo tambien me ponga a escribir porgramas tambien.
Hasta pronto.
Se los agradezco por anticipado.
Saludos, me parece una web buenisima, tengo 24 años entré a trabajar en un nuevo sitio para trabajar con JCLs, yo solo se CL(Lenguaje de contro AS/400), pensaba que era parecido pero no. He estado ajeando los red book pero me parecen muy poco aclarativos y dificiles de entender. Si alguien me puediera indicar donde puedo consegir documentación o algún manual en castellano estaria muy agradecido. De todas formas gracias
Muy práctica la explicación.
¿Para cuando el siguiente capítulo?
Gracias por toda la información q nos ofreces. Es dificil encotrar información sobre estos temas y mucho menos tan entendible y util.
Me gusto mucho lo del curso de jcl es muy dificil encontrar algo asi y en espanol.
Quisiera saber si alguien de ustedes conoce algunb programa para trabajar con cobol en windows y ademas que sea gratuito.
Les agradezco por adelantado.
Muy buena la explicacion… y el siguiente capitulo??
Excelente, soy nuevo en esto y la verdad si cuesta mucho trabajo encontrar info en español ojala subas mas
Hola a todos, entre a esta pagina buscando informacion sobre IDCAMS y sus bondades, no lo encontre, PERO, veo que estan interesados en conseguir una guia de JCL. Hace unos años, me di a la tarea con el apoyo de algunos compañeros de trabajo, traducirla al español (mexicano) y ha funcionado para quien la consulta, claro ! no tan amena como lo hace Kujaku. Si ha alguien le interesa, se la puedo hacer llegar por email.
Racso Mex
Te agreadeceria que me hicieras la guia de jlc
mi email es eras_alc@hotmail.com o eraalcmuj@gmail.com
Agradecido de antemano…..mano
Desde aca Chile y para todo el mundo
Si puedes por favor mandarme la guia a mi tambien te estaría muy agradecido.
Un saludo.
Hola amigo Racso Mex, por favor enviame la guia a mi tambien.
Muchas gracias
Saludos
encontre la pagina por casualidad y la encontre buena, espero leer los siguientes capitulos.
Racso Mex, me puedes enviar tambien la guia, gracias de antemano, a:
Saludos.
HOla Racso Men, podrías por favor enviarme tú guía de JCL.
Gracias.
Racso Mex, me puedes enviar tambien la guia, gracias
Mi direccion es eduardo.cuerda@gmail.com
Racso Mex, por favor enviame tambien la guia, gracias.
Mi direccion es pepe_ecointernet@yahoo.es
Racso Mex
Podrias enviarme el documento de jcl y si tienes tambien algo de Cobol te lo agradeceria.
Gracias
Buenas empecé en un nuevo trabajo y tengo que trabaja con jcl por favor si tienen una guía que me pueda ayudar a entender el manejo y los errores se lo agradezco mi correo es yasmin_araujo@cantv.net
Racso Mex
Hola que tal me seria de gran ayuda si me pudiereas enviar tu manula de JCL y si tienes algo de Storage me seria de muchisima ayuda ya que estoy empesando en esto de las mainframe y me estan enviando al area de Storage.
Gracias
Mi correo es sebastian_cps@hotmail.com
Para Racso Mex.
Me seria de gran ayuda ami tambien ese manual.
un saludo para todos.
Se nos perdió Racso y el manual de jcl jijjijiiji
puedes enviarme a mi también la guia? me sería de mucha utilidad en mi trabajo, gracias. Mi correo es:
ana_aramen@yahoo.es
Sabes si es posible ejecutar desde un jcl (host) un fichero externo local. Me refiero a un .BAT
Muchas gracias
Pues me parece bastante claro tu ejemplo sobre este JCL para sacar el clásico mensaje en pantalla, ahora estoy probando con el REPRO para pasarlo de un fichero a otro y poder verlo con el INFILE Y OUTFILE, donde puedo seguir viendo los siguientes capitulos del JCL? y por cierto cuando me crea ya en el JSL JOB (cuando submitimos) un duplicado del archivo como error que tendriamos k hacer?…lo que hice fue crear otro pass con un delete porque yo lo estaba catalogando y desechando, entonces los duplicaba x decirlo asi…de que otra manera podria hacer lo mismo pero sin el DELETE cuando comienza a submitir el JCL?…Gracias.
X cierto podrias pasarme tu guia , muchas gracias.
Hola a todo mundo!!
Alguien comento que no escribia un job desde 1979, vaya yo para esa fechas ni en planes de nacer estaba jajajaaaa….pero bueno, recien me integre al mercado laboral y me salen con la sorpresa de que debo aprender COBOL, JCL’s,CICS, DB2, etc… y yo vengo del mundo Java y ORACLE, asi que tu pagina me ha sido un acercamiento amistoso a los JCL, espero salga pronto la siguiente parte…
gracias por el manual he tenido una experiencia religiosa con el pronto sere una gran mainframera besos espero me contestes bye bye
me pueden enviar tambien la guia que hacen mension me interesa mucho graci8as
hola, dentro de mi página tengo un enlace llamado os390pedia. He visto este post, interesantísimo por cierto, y quizá os apetezca visitar ese enlace y comenzar a colaborar con el. me dedico a esto de la consultoría host en os390 (banca principalmente) y aunque lo tengo algo descuidado, tengo la intención de hacer una wikipedia pero dedicada a este mundillo. cobol, cics, ims, jcl, códigos de error…
por cierto, de web y de wikipedia y tal se poco, como podréis ver, lo que voy haciendo en mis ratos libres [pocos] es a base de prueba-error y alguna ayuda exterior, así que también vendrá bien consejos para el mantenimiento y mejora del wiki que soporta esto.
lo dicho, disculpad si me he metido como un elefante en una cacharrería y si queréis participar, ayudarme y todo eso, poneros en contacto conmigo.
he visto que incluso podría ponersele adsense al wiki y quizá comprar posteriormente el dominio. si os gusta la idea, encantado de recibir ayuda.
s2