Consulta COMMAREA ...

Todo lo relacionado con Cobol en ambientes batch, online(CICS,IMS) con bases de datos(DB2, Adabas) etc.
Responder
Jaruv
Usuario
Usuario
Mensajes: 1
Registrado: 28 Oct 2014, 15:40
País: Mexivo
Ciudad: Edo. Mex.
Ocupación: Analista de desarrollo

Consulta COMMAREA ...

Mensaje por Jaruv » 30 Oct 2014, 16:10

Bunas tardes todos.
Soy nuevo en el foro, obviamente es mi primera vez que voy a consultarles.
¿Tengo algunos años desarrollando con cobol (batch) nunca he desarrollado on-line, ahora se presenta la oportunidad y surgen muchas dudas, aun no me familiarizo con todo lo que a este tema se refiere, pero parece que todo gira alrededor de la COMMAREA (entre otras cosas claro), mi cónsula seria... Que información contiene la COMMAREA, suponiendo que tecleo 3 (tres) programas, el primero y menú principal A/B/C, (Altas, Bajas y Consultas), segundo obtener una fecha y tercero obtener una leyenda. Para llamar (ejecutar) el segundo y tercer programa cuando necesite traer fecha y leyenda debo poner LINK o XCTL en el principal, que información contendrá la COMMAREA iniciando el proceso y cual al finalizar todo el trabajo?
Quizá darme una respuesta detallada seria mucho, pero en un resumen y haciendo énfasis en los puntos finos pudiera yo captar la idea.
Espero me haya dado a entender.
Gracias anticipadas.

ramiro gonzalez
Usuario avanzado
Usuario avanzado
Mensajes: 40
Registrado: 29 Ene 2008, 20:07
País: argentina
Ciudad: buenos aires
Ocupación: System Programmer
Ubicación: Buenos Aires -Argentina

Re: Consulta COMMAREA ...

Mensaje por ramiro gonzalez » 01 Nov 2014, 16:52

Buenas tardes, ante todo bienvenido al foro.
La COMMAREA al principio no va a tener datos, en realidad la longitud va a ser cero podes ver el contenido del campo EIBCALEN que tiene la longitud de la COMMAREA. Al final del proceso tendra los valores que le vayas poniendo a traves de la ejecucion de los tres programas.
Espero te haya servido, cualquier duda avisame.
Saludos.


Ramiro
rami

IMR60
Usuario
Usuario
Mensajes: 1
Registrado: 18 May 2014, 18:42
País: Argentina
Ciudad: Buenos Aires
Ocupación: Analista de desarrollo

Re: Consulta COMMAREA ...

Mensaje por IMR60 » 01 Nov 2014, 21:09

Hola, bienvenido al foro y a CICS
La COMMAREA es el área de comunicación entre dos programas y contendrá la información que precises pasar de un programa a otro al igual que 'USING área-de-datos' en un CALL de un programa BATCH. En CICS sería COMMAREA(área-de-datos).

Ej: si tu primer programa llama al programa 2 para que le devuelva una fecha sin necesidad de enviarle ningún dato para dicha solicitud la commarea ira vacía y el programa 2 le devolverá en la commarea la fecha.

Es necesario definir la LINKAGE SECTION al igual que en el batch cuando llamas a otro programa. El área de comunicación dentro de la LINKAGE SECTION se define como DFHCOMMAREA.

Diferencia entre LINK y XCTROL:

LINK: llama a un programa de nivel más bajo y éste le devuelve el control al llamador. El llamador permanece en memoria mientras ejecuta el programa llamado.

XCTRL: llama a otro programa liberando de memoria al programa llamador. Del programa 2 se vuelve al 1 con XCTRL también. Para que sea algo dinámico el nombre del programa llamador puede viajar en la commarea así el programa 2 puede ser invocado por diferentes programas.

Espero que puedas obtener los resultados esperados. Suerte.

Avatar de Usuario
maiz2005
Colaborador
Colaborador
Mensajes: 182
Registrado: 14 Sep 2005, 17:51
País: España
Ciudad: Barcelona
Ocupación: System Programmer
Ubicación: Barcelona, España

Re: Consulta COMMAREA ...

Mensaje por maiz2005 » 03 Nov 2014, 06:49

Hola y bienvenido al foro.

Mi comentario respecto a llamar programas con LINK o con XCTL, pero si mas recuerdo cuando se llaman programas usando LINK lo que se hace es llamar programas que se ejecutaran a nivel inferior al programa llamante y para retornar se usa el RETURN (existe control de retorno).

Ahora cuando se llaman programas usando XCTL es llamar programas al mismo nivel del programa llamante y no existe control de retorno.



Saludes
Mario Izaguirre
Tecnico de Sistemas
IBM z/Series

tatindgp
Colaborador
Colaborador
Mensajes: 141
Registrado: 25 Feb 2008, 15:09
País: Argentina
Ciudad: Buenos Aires
Ocupación: Analista de desarrollo
Ubicación: BsAS Argentina

Re: Consulta COMMAREA ...

Mensaje por tatindgp » 05 Nov 2014, 08:21

hola ¿que tal ? , te recomiendo que le des un vistazo al área de Descargas del foro , ahí hay un par de manuales sobre Cics muy piolas, en español y que de seguro te van a servir para evacuar la mayoría de las dudas que tengas. :arriba:
Los torpes abren caminos que luego los sabios recorreran.

Saludos y gracias
Tatindgp

Responder