Componentes lógicos del dispositivo

Los componentes lógicos de dispositivo (LDC) son otra característica de hardware especial que admite BMS. Al igual que las particiones, los PMA requieren un SGE estándar.

Un terminal que admite PMA es aquel que consta de múltiples componentes funcionales (dispositivos lógicos) controlados a través de un único punto (la unidad lógica). Los componentes pueden ser una impresora, un lector, un teclado y una pantalla, que representan una estación de trabajo remota, o pueden ser varios dispositivos similares, como estaciones de tratamiento de textos o impresoras de libretas de ahorro. La unidad lógica IBM® 3601, la unidad lógica de lotes 3770, las unidades lógicas de intercambio de datos de lotes 3770 y 3790 y las unidades lógicas LU tipo 4 admiten componentes de dispositivos lógicos.

Dado que la unidad lógica es una entidad única para CICS®, pero consta de componentes que pueden escribirse y leerse de forma independiente, la interfaz de programación de aplicaciones CICS para terminales LDC tiene un aspecto similar a la de los terminales particionados, correspondiendo cada LDC a una partición de un conjunto de particiones. Hay muchas diferencias, por supuesto, y usted debe consultar el manual de CICS que describe el soporte de CICS para su tipo de terminal en particular. Las secciones que siguen describen las principales diferencias que afectan a la programación, que son:
  • Definición de PMD
  • Opciones del comando SEND
  • Mensajes lógicos
  • Direccionamiento

Definición de componentes lógicos de dispositivos

Los componentes lógicos de un terminal se definen mediante una lista denominada tabla LDC. El componente TYPETERM de la definición TERMINAL apunta a la tabla, que puede ser individual de la unidad lógica o compartida por varias unidades lógicas que tengan los mismos componentes.

La propia tabla se define con las macros DFHTCT TYPE=LDC (control de terminal). Consulte los recursos TYPETERM y la tabla de control de terminales (TCT ) para obtener descripciones de ambas macros.

Una tabla LDC contiene la siguiente información para cada componente de dispositivo lógico de la unidad lógica:
  • Un identificador de dispositivo lógico de 2 caracteres. Estos identificadores suelen ser abreviaturas estándar, como CO para consola y MS para codificador de banda magnética, pero no tienen por qué serlo.
  • Un código de dispositivo de 1 carácter, que indica el tipo de dispositivo (consola, lector de tarjetas, estación de tratamiento de textos). Los códigos son asignados por CICS a partir del tipo de dispositivo y otra información proporcionada en la macro.
  • Un tamaño de página BMS. BMS utiliza este tamaño, en lugar de uno asociado a la unidad lógica, porque los diferentes dispositivos lógicos tienen diferentes tamaños de página.
  • Un estado de página BMS (AUTOPAGE o NOAUTOPAGE); véase la opción AUTOPAGE.

Envío de datos a un componente de dispositivo lógico

La salida BMS se dirige a un componente de dispositivo lógico específico de un terminal nombrándolo en la opción LDC de su comando SEND MAP, SEND TEXT o SEND CONTROL o en la opción LDC de su mapset. Un valor en el comando anula uno en el conjunto de mapas. Si el PMD no aparece en ninguno de los dos lugares, BMS utiliza un valor por defecto que varía según el tipo de terminal.

PMA y mensajes lógicos

Cuando construye un mensaje lógico BMS para su propio terminal, puede distribuir páginas del mensaje entre diferentes componentes de dispositivos lógicos de la misma manera que puede dirigir páginas de un mensaje lógico a diferentes particiones. BMS acumula páginas por separado para cada componente del dispositivo lógico del mismo modo que lo hace para las particiones (véase Particiones y mensajes lógicos ). Puede incluir en el mensaje tanto texto como salida mapeada, siempre que no envíe ambos a un mismo PMD. El desbordamiento de página se produce por LDC, y los comandos de paginación del operador del terminal operan sobre la base de un componente de dispositivo lógico.

Cuando se recuperan páginas, el operador (o el código de usuario en el controlador del dispositivo) debe indicar el PMD al que se aplica la solicitud, porque no todos los dispositivos tienen teclados. Como en el caso de las particiones, una solicitud de purga de mensajes borra el mensaje completo, de todos los PMA. Consulte CSPG - recuperación de páginas para obtener más detalles sobre la recuperación de páginas para dispositivos lógicos.

Si está interceptando desbordamientos de página, puede saber qué LDC se desbordó emitiendo un comando ASSIGN con la opción LDCMNEM o LDCNUM. Ambos identifican el dispositivo que se desbordó, el primero por su nombre de 2 caracteres y el segundo por el identificador numérico de 1 byte. Puede determinar el número de página para el dispositivo desbordado con ASSIGN PAGENUM, igual que con un dispositivo particionado.

Hay una restricción asociada a los PMA y al desbordamiento de página que es exclusiva de los PMA. Después de que se produzca el desbordamiento, debe enviar tanto un mapa de remolque para la página actual como un encabezado para la siguiente a la LDC que se desbordó. Si no lo hace, BMS emitirá la condición INVREQ (solicitud no válida).

PMA y encaminamiento

El enrutamiento se admite en un entorno de PMA, siempre que el mensaje vaya al mismo tipo de componente para cada destino que admita PMA. No se puede enrutar un mensaje de varios CDL.

Puede suministrar el valor LDC de varias maneras:
  • Si utiliza la opción LDC en su comando ROUTE, el valor suministrado anula todas las demás fuentes y se utiliza para todos los destinos elegibles a los que se aplican las LDC.
  • Si especifica un LDC en una entrada de lista de rutas (y no en el comando ROUTE), ese valor se utiliza para el destino asociado. (Si especifica ambos y no coinciden, se utiliza el valor de la lista ROUTE y la discrepancia se marca en el indicador de estado de la entrada)
  • Si no especifica ninguno de los dos, el valor se determina a partir de las tablas LDC del terminal y del sistema del mismo modo que en un entorno sin enrutamiento cuando se omite la LDC en el comando BMS SEND. (El valor del comando ENVIAR se ignora cuando el enrutamiento está activado)