DEFINE COUNTER e DEFINE DCOUNTER

Creare un contatore denominato in un pool di contatori denominati nella CF (coupling facility). Utilizzare COUNTER per creare dei contatori che sono gestiti come contatori con segno di parola completa e DCOUNTER per creare contatori che sono gestiti come contatori con segno di parola doppia.

Sintassi

DEFINIRE IL CONTATORE

Leggere il diagramma di sintassiSaltare il diagramma di sintassi visivaDEFINECOUNTER( nome)POOL( nome)VALUE( valore-dati)MINIMUM( valore-dati)MAXIMUM( valore-dati)NOSUSPEND

Condizioni: BUSY, INVREQ

Questo comando è thread-safe.

DEFINIRE DCOUNTER

Leggere il diagramma di sintassiSaltare il diagramma di sintassi visivaDEFINEDCOUNTER( nome)POOL( nome)VALUE( valore-dati)MINIMUM( valore-dati)MAXIMUM( area-dati)NOSUSPEND

Condizioni: BUSY, INVREQ

Questo comando è thread-safe.

NOHANDLE, RESP e RESP2 sono opzioni comuni che possono essere aggiunte a tutti i comandi EXEC CICS per elaborare condizioni di errore. Non sono inclusi esplicitamente nel diagramma della sintassi dei comandi e nelle descrizioni delle opzioni. Per informazioni su queste opzioni comuni e sulla sintassi del comando EXEC CICS, vedere EXEC CICS formato del comando e considerazioni sulla programmazione.

Descrizione

Questi comandi creano un nuovo contatore con nome in un pool di contatori con nome nella struttura di accoppiamento.

Sebbene sia possibile utilizzare l'API CICS® per operare con valori binari fullword (firmati) o doubleword (senza segno), il server dei contatori con nome memorizza tutti i valori come doubleword senza segno. Le condizioni di overflow possono verificarsi se, ad esempio, si definisce un contatore con il comando DCOUNTER e si cerca di accedervi con il comando COUNTER. Accedere a un contatore con nome utilizzando sempre i comandi dello stesso set di comandi utilizzato per definire il contatore.

Per informazioni sulla specificazione di variabili fullword e doubleword in questi comandi di contatori denominati, vedere EXEC CICS valori degli argomenti dei comandi.

Opzioni

COUNTER(nome)
Specifica il nome a 16 byte del campo nome del contatore fullword. Il nome può contenere lettere maiuscole, cifre o caratteri di sottolineatura, compresi i simboli $, # e @, con un'imbottitura di 16 byte con spazi intermedi. Si noti che il nome non può iniziare con un numero o un trattino basso. Si raccomanda che il nome inizi con un prefisso sistematico unico per l'applicazione Tutti i contatori utilizzati da CICS stesso utilizzano il prefisso DFH
DCOUNTER(nome)
Specifica il nome a 16 byte del campo del nome del contatore a due parole. Il nome può contenere lettere maiuscole, cifre o caratteri di sottolineatura, compresi i simboli $, # e @, con un'imbottitura di 16 byte con spazi intermedi. Si noti che il nome non può iniziare con un numero o un trattino basso. Si raccomanda che il nome inizi con un prefisso sistematico unico per l'applicazione. Tutti i contatori utilizzati da CICS stesso utilizzano il prefisso DFH.
MASSIMO(valore dei dati)
Specifica il numero massimo per il contatore nominato, utilizzando un valore binario firmato fullword per COUNTER e un valore unsigned doubleword per DCOUNTER. È il numero massimo che può essere assegnato con un comando GET, dopo il quale il contatore deve essere azzerato con un comando REWIND.

Se si omette il parametro MASSIMO, il contatore chiamato viene definito con un massimo predefinito di valori elevati (X'7FFFFFFF' per il caso di parola intera firmata, o una parola doppia riempita con X'FF').

Nota:

Per DCOUNTER, due valori di contatore a doppia parola sono riservati all'uso interno del server del contatore denominato, uno per il valore di overflow e l'altro per un valore utilizzato per garantire un valore di contatore univoco ed evitare contatori duplicati. Ciò significa che se l'intervallo tra il valore minimo e il valore massimo (come specificato o assunto per impostazione predefinita) non lascia due valori di doubleword inutilizzati, come nei casi descritti di seguito, il valore massimo viene automaticamente ridotto di uno o due, come necessario per riservare i valori necessari per l'uso interno.

Ciò riguarda solo i casi seguenti:
  • Per un valore minimo di X'0000000000000000' (come assunto per impostazione predefinita) e un valore massimo di X'FFFFFFFFFFFFFFFF' (come assunto per impostazione predefinita) o X'FFFFFFFFFFFFFFFE', il valore massimo si riduce a X'FFFFFFFFFFFFFFFD'.
  • Per un valore minimo di X'0000000000000001' e un valore massimo di X'FFFFFFFFFFFFFFFF', il valore massimo si riduce a X'FFFFFFFFFFFFFFFE'.
MINIMUM(valore dei dati)
Specifica il numero minimo per il contatore nominato, utilizzando un valore binario firmato fullword per COUNTER e un valore unsigned doubleword per DCOUNTER. È il valore a cui viene riportato un contatore denominato in seguito a un comando di REWIND.

Se si specifica il parametro MINIMO, è necessario specificare anche il parametro VALORE.

Se si omette il parametro MINIMO, il contatore chiamato viene definito con un minimo predefinito di valori bassi (una parola intera o una doppia parola riempita con X'00').

NOSUSPEND
Specifica un ritorno immediato al programma applicativo durante la ricostruzione di una struttura di accoppiamento. Se si omette il parametro NOSUSPEND, la richiesta viene riproposta finché non ha successo. Se si specifica NOSUSPEND, la richiesta fallisce immediatamente e CICS restituisce BUSY, RESP2=500.
POOL(nome)
Specifica una stringa di 8 caratteri da usare come parametro di selezione del pool per selezionare il pool in cui creare il contatore denominato. La stringa può essere un nome logico del pool o il nome effettivo del pool.

I caratteri validi per la stringa del selettore del pool sono da A a Z, da 0 a 9, $ @ # e _ (trattino basso). Se nome è una variabile che contiene un nome inferiore a 8 caratteri, il nome deve essere riempito con spazi vuoti.

questo parametro è facoltativo. Se si omette il nome del pool, si assume un valore del selettore del pool di 8 spazi vuoti.

Se non esiste una voce corrispondente nella tabella delle opzioni DFHNCOPT, CICS utilizza il nome specificato nel parametro di inizializzazione del sistema NCPLDFT, che specifica il pool di contatori con nome predefinito.

Per informazioni sulla generazione di una tabella delle opzioni dei contatori denominati mediante la macro DFHNCO, vedere Server dei contatori denominati.

VALUE(valore dei dati)
Specifica il numero iniziale da cui deve partire il nuovo contatore con nome, utilizzando un valore binario firmato fullword per COUNTER e un valore unsigned doubleword per DCOUNTER.

È possibile specificare un numero uguale o superiore al valore minimo fino al valore massimo più 1. Se si specifica un numero iniziale pari al valore massimo più 1, il contatore viene creato con la condizione di contatore al limite e non può essere utilizzato finché non viene riavvolto.

Se si omettono entrambi i parametri VALORE e MINIMO, il contatore nominato viene creato con un valore iniziale pari a zero. Se si omette VALORE ma si specifica un MINIMO, il traduttore emette un errore; il parametro VALORE è necessario se si specifica il parametro MINIMO.

Condizioni

128 AFFATICATO
Valori RESP2:
500
Nel comando è stata specificata l'opzione NOSUSPEND e la struttura di accoppiamento non è attualmente disponibile durante la ricostruzione.

Azione predefinita: terminare il task in modo anomalo.

16 INVREQ
Valori RESP2:
202
Nome del contatore duplicato. Esiste già un contatore con questo nome.
301
Il server ha riportato un codice di errore non compreso dall'interfaccia del contatore denominato. In genere, ciò non è possibile a meno che il modulo di carico dell'interfaccia, DFHNCIF, non sia a un livello di manutenzione o di rilascio inferiore a quello del server stesso.
302
Il server non può creare il nuovo contatore denominato perché non c'è spazio sufficiente nel pool dei contatori denominati.
303
Si è verificato un errore imprevisto, come un guasto alla struttura o una perdita di connettività, su una macro utilizzata per accedere all'impianto di accoppiamento. Ulteriori informazioni sono contenute nel messaggio DFHNC0441 nel job log dell'applicazione.
304
Il parametro di selezione del pool specificato nel programma non può essere risolto con un nome di server valido utilizzando la tabella delle opzioni corrente.
305
L'interfaccia non può stabilire una connessione al server per il pool di contatori nominati selezionato. Ulteriori informazioni sono contenute in un messaggio dei servizi AXM (AXMSCnnnn) nel job log dell'applicazione.
306
Si è verificata un'interruzione durante l'elaborazione di una richiesta da parte del server. Ulteriori informazioni sono contenute in un messaggio nel job log dell'applicazione e nel job log del server.
308
Il modulo della tabella delle opzioni DFHNCOPT, necessario per risolvere il nome di un pool, non può essere caricato.
309
Durante l'elaborazione della tabella delle opzioni, l'interfaccia del contatore denominato ha incontrato un formato di voce sconosciuto. O la tabella delle opzioni non è stata generata correttamente, oppure il modulo di caricamento dell'interfaccia DFHNCIF non è allo stesso livello di release della tabella delle opzioni.
310
Una voce della tabella delle opzioni che corrisponde al nome del pool specificato ha specificato un programma di uscita utente, ma il programma di uscita utente non è collegato alla tabella delle opzioni e non può essere caricato.
311
Una risposta dal server del contatore denominato al modulo di interfaccia della regione client, DFHNCIF, indica che è in corso una ricostruzione gestita dal sistema, ma l'interfaccia EXEC CICS non riconosce la condizione. Ciò significa che la regione CICS è a CICS TS 2.1 o precedente.
403
Il parametro POOL contiene caratteri non validi o spazi incorporati.
404
Il parametro COUNTER contiene caratteri non validi o spazi incorporati.
406
Il parametro VALORE non è valido. Non è possibile impostare il valore corrente su un valore inferiore a quello minimo o su un valore superiore a quello massimo più 1.
407
Il parametro MINIMO o MASSIMO non è valido. O il parametro MASSIMO specifica un valore inferiore al valore minimo, oppure (solo per il CONTATORE) uno dei parametri specifica un valore negativo.

Azione predefinita: terminare il task in modo anomalo.