Componenti unità logica

I componenti delle unità logiche (LDC) sono un'altra caratteristica hardware speciale supportata da BMS. Come le partizioni, i LDC richiedono un BMS standard.

Un terminale che supporta i LDC è costituito da più componenti funzionali (unità logiche) controllati attraverso un singolo punto (l'unità logica). I componenti potrebbero essere una stampante, un lettore, una tastiera e uno schermo, che rappresentano una stazione di lavoro remota, oppure potrebbero essere più unità simili, come stazioni di elaborazione testi o stampanti di passbook. L'unità logica IBM® 3601, l'unità logica batch 3770, le unità logiche di interscambio dati batch 3770 e 3790 e le unità logiche LU di tipo 4 supportano tutti i componenti dell'unità logica.

Poiché l'unità logica è una singola entità per CICS® , ma è costituita da componenti che possono essere scritti e letti in modo indipendente, l'interfaccia di programmazione dell'applicazione CICS per terminali LDC è simile a quella per terminali partizionati, ogni LDC corrispondente a una partizione in un set di partizioni. Ci sono molte differenze, ovviamente, e si consiglia di consultare il manuale CICS che descrive il supporto CICS per il tipo di terminale specifico. Le sezioni che seguono descrivono le principali differenze che influenzano la programmazione, che sono:
  • Definizione LDC
  • Opzioni del comando SEND
  • Messaggi logici
  • Instradamento

Definizione dei componenti delle unità logiche

I componenti della periferica logica per un terminale sono definiti da un elenco denominato tabella LDC. Il componente TYPETERM della definizione TERMINAL punta alla tabella, che può essere individuale per l'unità logica o condivisa da diverse unità logiche che hanno gli stessi componenti.

La tabella stessa è definita con le macro DFHTCT TYPE=LDC (controllo terminale). Consultare Risorse TYPETERM e TCT (Terminal control table) per le descrizioni di entrambe le macro.

Una tabella LDC contiene le seguenti informazioni per ciascun componente dell'unità logica dell'unità logica:
  • Un identificativo unità logica di 2 caratteri. Questi identificatori sono di solito abbreviazioni standard, come CO per console e MS per un codificatore a banda magnetica, ma non è necessario.
  • Un codice unità di 1 carattere, che indica il tipo di unità (console, lettore di schede, stazione di elaborazione testi). I codici vengono assegnati da CICS dal tipo di dispositivo e da altre informazioni fornite nella macro.
  • Una dimensione di pagina BMS. BMS utilizza questa dimensione, piuttosto che una associata all'unità logica, poiché unità logiche differenti hanno dimensioni di pagina differenti.
  • Uno stato della pagina BMS (AUTOPAGE o NOAUTOPAGE); consultare Opzione AUTOPAGE.

Invio di dati a un componente unità logica

L'emissione BMS viene indirizzata a uno specifico componente dell'unità logica di un terminale denominandolo nell'opzione LDC del comando SEND MAP, SEND TEXT o SEND CONTROL o nell'opzione LDC della serie di mappe. Un valore nel comando sovrascrive uno nella serie di mappe. Se il LDC non viene visualizzato in nessuno dei due posti, BMS utilizza un valore predefinito che varia con il tipo di terminale.

LDC e messaggi logici

Quando si crea un messaggio logico BMS per il proprio terminale, è possibile distribuire le pagine del messaggio tra diversi componenti del dispositivo logico nello stesso modo in cui è possibile indirizzare le pagine ad un messaggio logico a partizioni diverse. BMS accumula pagine separatamente per ogni componente dell'unità logica nello stesso modo in cui lo fa per le partizioni (consultare Partizioni e messaggi logici ). È possibile includere sia il testo che l'output associato nel messaggio, purché non si inviino entrambi a un LDC. L'overflow della pagina si verifica per LDC e i comandi di paginazione dell'operatore del terminale operano su una base di componente unità logica.

Quando si richiamano le pagine, l'operatore (o il codice utente nell'unità di controllo) deve indicare il LDC a cui si applica la richiesta, poiché non tutte le unità dispongono di tastiere. Come nel caso delle partizioni, una richiesta di eliminazione del messaggio elimina l'intero messaggio da tutti i paesi meno sviluppati. Per ulteriori dettagli sul richiamo della pagina per le unità logiche, consultare CSPG - page retrieval .

Se si sta intercettando un overflow di pagine, è possibile indicare quale LDC è in overflow emettendo un comando ASSIGN con l'opzione LDCMNEM o LDCNUM. Entrambi identificano l'unità in eccedenza, la prima per il suo nome di 2 caratteri e la seconda per l'identificativo numerico di 1 byte. È possibile determinare il numero di pagina per il dispositivo in eccedenza con ASSIGN PAGENUM, proprio come con un dispositivo partizionato.

Esiste una limitazione associata ai LDC e un overflow di pagina che è univoco per i LDC. Dopo che si è verificato un overflow, è necessario inviare sia una mappa di trailer per la pagina corrente che un'intestazione per quella successiva al LDC in overflow. BMS genera la condizione INVREQ (richiesta non valida) se non si riesce a eseguire questa operazione.

LDC e instradamento

L'instradamento è supportato in un ambiente LDC, purché il messaggio vada allo stesso tipo di componente per ogni destinazione che supporta i LDC. Non è possibile instradare un messaggio LDC multiplo.

È possibile fornire il valore LDC in diversi modi:
  • Se si utilizza l'opzione LDC nel comando ROUTE, il valore fornito sovrascrive tutte le altre origini e viene utilizzato per tutte le destinazioni idonee a cui si applicano i LDC.
  • Se si specifica un LDC in una voce dell'elenco di instradamenti (e non nel comando ROUTE), tale valore viene utilizzato per la destinazione associata. Se si specificano entrambi e non sono d'accordo, viene utilizzato il valore dell'elenco ROUTE e la discrepanza viene contrassegnata nell'indicatore di stato della voce.
  • Se non si specifica nessuno dei due valori, il valore viene determinato dalle tabelle LDC di sistema e di terminale nello stesso modo in cui si trova in un ambiente non di instradamento quando si omette LDC dal comando BMS SEND. (Il valore del comando SEND viene ignorato quando l'instradamento è attivo.)