Condizioni di eccezione per comando LINK
Esistono delle condizioni di eccezione introdotte a supporto di DPL che vengono restituite ai programmi client e server.
Condizioni di eccezione restituite al programma client
I codici di condizione restituiti a un programma client descrivono eventi quali il sistema remoto non conosciuto
o il mancato impegno
nel programma server. Esistono diversi motivi, identificati dai valori EIBRESP2, per sollevare le condizioni INVREQ e LENGERR su un comando LINK. Possono essere sollevate anche le condizioni ROLLEDBACK, SYSIDERR e TERMERR. Per informazioni sulla programmazione di questi comandi, vedere i comandi API CICS.
- Il programma applicativo gestisce in modo esplicito l'interruzione causata dal guasto del mirror, e può scegliere tra:
- Prende un punto di sincronizzazione implicito per la normale terminazione della transazione
- o Emette una richiesta esplicita di punto di sincronizzazione.
- La transazione di mirroring remoto non ha eseguito alcun lavoro recuperabile nell'ambito dell'unità di lavoro del programma applicativo. Cioè, il mirror è stato invocato solo per una richiesta di collegamento di programma distribuito (DPL) con SYNCONRETURN.
In tutti gli altri casi, cioè se il programma applicativo non gestisce l'interruzione o se il mirror esegue un'operazione recuperabile (ad esempio, un aggiornamento di un file, anche se non recuperabile), CICS® forza il backing out della transazione.
La condizione PGMIDERR viene sollevata dai comandi HANDLE ABEND PROGRAM, LOAD, RELEASE e XCTL se la definizione del programma locale specifica che il programma è remoto. Questa eccezione è qualificata da un valore EIBRESP2 pari a 9.
Condizioni di eccezione restituite al programma server
INVREQ viene restituito, qualificato da un valore EIBRESP2 pari a 200, a un programma server se emette uno dei comandi proibiti riassunti nella Tabella 1. Se il programma server non gestisce la condizione INVREQ, l'azione predefinita consiste nell'interrompere la transazione mirror in cui il programma server è in esecuzione con il codice di interruzione ADPL.
Se si tenta di utilizzare uno qualsiasi dei comandi EXEC CICS WEB come server, tali comandi falliscono con INVREQ e un valore RESP2 pari a 1. I tre comandi seguenti falliscono con INVREQ e un valore RESP2 di 5: EXEC CICS WEB EXTRACT, EXTRACT TCPIP e EXTRACT CERTIFICATE. L'uso di questi comandi non presenta problemi se CICS agisce come client.
Per informazioni sulla programmazione delle condizioni di eccezione relative alla DPL, vedere LINK.
| Comando | Opzioni |
|---|---|
| ASSIGN | ALTSCRNHT ALTSCRNWD APLKYBD APLTEXT BTRANS COLOR DEFSCRNHT DEFSCRNWD DELIMITER DESTCOUNT DESTID DESTIDLENG DS3270 DSSCS EWASUPP EXTDS FACILITY FCI GCHARS GCODES GMMI HILIGHT INPARTN KATAKANA LDCMNEM LDCNUM MAPCOLUMN MAPHEIGHT MAPLINE MAPWIDTH MSRCONTROL NATLANGINUSE NEXTTRANSID NUMTAB OPCLASS OPSECURITY OUTLINE PAGENUM PARTNPAGE PARTNS PARTNSET PS QNAME SCRNHT SCRNWD SIGDATA SOSI STATIONID TCTUALENG TELLERID TERMCODE TERMPRIORITY TEXTKYBD TEXTPRINT UNATTEND USERNAME USERPRIORITY VALIDATION |
| CONNECT PROCESS | tutti |
| CONVERSE | tutti |
| ESTRARRE GLI ATTRIBUTI | tutti |
| EXTRACT PROCESS | tutti |
| FREE | tutti |
| HANDLE AID | tutti |
| PROBLEMA | ABEND CONFERMA ERRORE PREPARARE SEGNALE STAMPA ABORT AGGIUNGERE FINE CANCELLARE NOTA INTERROGARE RICEVERE SOSTITUIRE INVIARE ATTENDERE |
| LINK | INPUTMSG INPUTMSGLEN |
| PURGE MESSAGE | tutti |
| RICEVI | tutti |
| RETURN | INPUTMSG INPUTMSGLEN |
| ROUTE | tutti |
| INVIA | CONTROLLO MAPPA PARTNSET TESTO TESTO(MAPPATO) TESTO(NOEDIT) PAGINA |
| SIGNOFF | tutti |
| SIGNON | tutti |
| START | TERMID, il cui valore è l'ID della sessione intersistema. (cioè quando la struttura principale del task emittente è una sessione piuttosto che un terminale) |
| START CHANNEL | TERMID, il cui valore è l'ID della sessione intersistema. (cioè quando la struttura principale del task emittente è una sessione piuttosto che un terminale) |
| SYNCPOINT | Può essere emesso nell'area del server se SYNCONRETURN è specificato in LINK |
| SYNCPOINT ROLLBACK | Può essere emesso nell'area del server se SYNCONRETURN è specificato in LINK |
| WAIT TERMINAL | tutti |
| XCTL | INPUTMSG INPUTMSGLEN |
- IMPEGNO CPIRR
- CPIRR INDIETRO
- ESECUZIONE DLI TERMINE
- CHIAMA DLI TERM
Quando solo alcune opzioni sono vietate dal comando, vengono mostrate. Tutti i comandi APPC elencati sono vietati solo quando si riferiscono alla struttura principale. Uno di questi, il comando CONNECT PROCESS, causa un errore anche se si riferisce alla struttura principale in un ambiente non DPL. È stato incluso qui perché, se un comando CONNECT PROCESS fa riferimento alla sua struttura principale in un programma server, la condizione di eccezione sollevata indica un errore DPL.