CONFERMA
Il verbo CONFIRM invia il contenuto del buffer di invio (LU) dell'unità logica locale e una richiesta di conferma al programma di transazione partner (TP).
Nella struttura seguente viene descritto il blocco di controllo verbo utilizzato dal verbo CONFIRM .
Sintassi
struct confirm {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned char rts_rcvd;
};
Osservazioni
Members
Opcode
Parametro fornito. Specifica il codice dell'operazione verbo, AP_B_CONFIRM.
opext
Parametro fornito. Specifica l'estensione dell'operazione verbo AP_BASIC_CONVERSATION.
reserv2
Un campo riservato.
Primary_rc
Parametro restituito. Specifica il codice restituito primario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC emesso. Per questo verbo, vedere Codici restituiti per codici di errore validi.
Secondary_rc
Parametro restituito. Specifica il codice restituito secondario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC emesso. Per questo verbo, vedere Codici restituiti per codici di errore validi.
Tp_id
Parametro fornito. Identifica il tp locale. Il valore di questo parametro è stato restituito da TP_STARTED.
Conv_id
Parametro restituito. Identifica la conversazione stabilita tra i due provider di servizi di configurazione.
rts_rcvd
Parametro restituito. Indica se il tp del partner ha emesso REQUEST_TO_SEND, che richiede al tp locale di modificare lo stato RECEIVE della conversazione.
Per passare allo stato RECEIVE in Microsoft Windows, il tp locale può usare PREPARE_TO_RECEIVE, RECEIVE_AND_WAIT o RECEIVE_AND_POST.
Codici restituiti
AP_OK
Codice restituito primario; il verbo eseguito correttamente.
AP_PARAMETER_CHECK
Codice restituito primario; il verbo non è stato eseguito a causa di un errore di parametro.
AP_BAD_CONV_ID
Codice restituito secondario; il valore di conv_id non corrisponde a un identificatore di conversazione assegnato da APPC.
AP_BAD_TP_ID
Codice restituito secondario; il valore di tp_id non corrisponde a un identificatore TP assegnato da APPC.
AP_CONFIRM_ON_SYNC_LEVEL_NONE
Codice restituito secondario; il tp locale ha tentato di usare CONFIRM in una conversazione con un livello di sincronizzazione di AP_NONE. Il livello di sincronizzazione, stabilito da ALLOCATE, deve essere AP_CONFIRM_SYNC_LEVEL.
AP_STATE_CHECK
Codice restituito primario; il verbo non è stato eseguito perché è stato emesso in uno stato non valido.
AP_CONFIRM_BAD_STATE
Codice restituito secondario; la conversazione non era in stato SEND.
AP_CONFIRM_NOT_LL_BDY
Codice restituito secondario; la conversazione per il tp locale era in stato SEND e il tp locale non ha completato l'invio di un record logico.
AP_ALLOCATION_ERROR
Codice restituito primario; APPC non è riuscito ad allocare una conversazione. Lo stato della conversazione è impostato su RESET.
Questo codice può essere restituito tramite un verbo emesso dopo ALLOCATE.
AP_ALLOCATION_FAILURE_NO_RETRY
Codice restituito secondario; La conversazione non può essere allocata a causa di una condizione permanente, ad esempio un errore di configurazione o un errore del protocollo di sessione. Per determinare l'errore, l'amministratore di sistema deve esaminare il file di log degli errori. Non ripetere l'allocazione fino a quando l'errore non è stato corretto.
AP_ALLOCATION_FAILURE_RETRY
Codice restituito secondario; Impossibile allocare la conversazione a causa di una condizione temporanea, ad esempio un errore di collegamento. Il motivo dell'errore viene registrato nel log degli errori di sistema. Ripetere l'allocazione.
AP_CONVERSATION_TYPE_MISMATCH
Codice restituito secondario; l'lu partner o tp non supporta il tipo di conversazione (di base o mappato) specificato nella richiesta di allocazione.
AP_PIP_NOT_ALLOWED
Codice restituito secondario; la richiesta di allocazione specificata dai dati PIP, ma il tp del partner non richiede questi dati o l'lu del partner non la supporta.
AP_PIP_NOT_SPECIFIED_CORRECTLY
Codice restituito secondario; il tp del partner richiede dati PIP, ma la richiesta di allocazione non ha specificato dati PIP o un numero errato di parametri.
AP_SECURITY_NOT_VALID
Codice restituito secondario; l'identificatore utente o la password specificati nella richiesta di allocazione non sono stati accettati dal lu partner.
AP_SYNC_LEVEL_NOT_SUPPORTED
Codice restituito secondario; il tp del partner non supporta il sync_level (AP_NONE, AP_CONFIRM_SYNC_LEVEL o AP_SYNCPT) specificato nella richiesta di allocazione oppure il sync_level non è stato riconosciuto.
AP_TP_NAME_NOT_RECOGNIZED
Codice restituito secondario; l'lu partner non riconosce il nome TP specificato nella richiesta di allocazione.
AP_TRANS_PGM_NOT_AVAIL_NO_RETRY
Codice restituito secondario; l'lu remoto ha rifiutato la richiesta di allocazione perché non è stato in grado di avviare il tp del partner richiesto. La condizione è permanente. Il motivo dell'errore può essere connesso al nodo remoto. Non ripetere l'allocazione fino a quando l'errore non è stato corretto.
AP_TRANS_PGM_NOT_AVAIL_RETRY
Codice restituito secondario; l'lu remoto ha rifiutato la richiesta di allocazione perché non è stato in grado di avviare il tp del partner richiesto. La condizione può essere temporanea, ad esempio un timeout. Il motivo dell'errore può essere connesso al nodo remoto. Ripetere l'allocazione.
AP_COMM_SUBSYSTEM_ABENDED
Codice restituito primario; indica una delle condizioni seguenti:
Il nodo usato da questa conversazione ha rilevato un ABEND.
La connessione tra il tp e il nodo pu 2.1 è stata interrotta (errore LAN).
SnaBase nel computer tp ha rilevato un ABEND.
L'amministratore di sistema deve esaminare il log degli errori per determinare il motivo di ABEND.
AP_CONV_FAILURE_NO_RETRY
Codice restituito primario; la conversazione è stata terminata a causa di una condizione permanente, ad esempio un errore del protocollo di sessione. L'amministratore di sistema deve esaminare il log degli errori di sistema per determinare la causa dell'errore. Non ritentare la conversazione fino a quando l'errore non è stato corretto.AP_CONV_FAILURE_RETRY
Codice restituito primario; la conversazione è stata terminata a causa di un errore temporaneo. Riavviare il tp per verificare se il problema si verifica di nuovo. In caso affermativo, l'amministratore di sistema deve esaminare il log degli errori per determinare la causa dell'errore.AP_CONVERSATION_TYPE_MIXED
Codice restituito primario; il tp ha emesso verbi di conversazione di base e mappati. È possibile emettere un solo tipo in una singola conversazione.AP_INVALID_VERB_SEGMENT
Codice restituito primario; VCB si estende oltre la fine del segmento di dati.AP_PROG_ERROR_PURGING
Codice restituito primario; durante lo stato RECEIVE, PENDING, PENDING_POST, CONFIRM, CONFIRM_SEND o CONFIRM_DEALLOCATE, il partner TP ha emesso SEND_ERROR con err_type impostato su AP_PROG . I dati inviati ma non ancora ricevuti vengono eliminati.AP_STACK_TOO_SMALL
Codice restituito primario; le dimensioni dello stack dell'applicazione sono troppo piccole per eseguire il verbo. Aumentare le dimensioni dello stack dell'applicazione.AP_CONV_BUSY
Codice restituito primario; può essere presente un solo verbo di conversazione in sospeso alla volta in qualsiasi conversazione. Ciò può verificarsi se il tp locale ha più thread e più thread eseguono chiamate APPC usando lo stesso conv_id.AP_THREAD_BLOCKING
Codice restituito primario; il thread chiamante è già in una chiamata di blocco.AP_UNEXPECTED_DOS_ERROR
Codice restituito primario; il sistema operativo ha restituito un errore ad APPC durante l'elaborazione di una chiamata APPC dal tp locale. Il codice restituito dal sistema operativo viene restituito tramite il secondary_rc. Viene visualizzato nell'ordine di scambio dei byte Intel. Se il problema persiste, consultare l'amministratore di sistema.AP_DEALLOC_ABEND_PROG
Codice restituito primario; la conversazione è stata deallocata per uno dei motivi seguenti:Il partner TP ha emesso DEALLOCATE con dealloc_typeimpostato su AP_ABEND_PROG.
Il partner TP ha rilevato un ABEND, causando l'invio di una richiesta DEALLOCATE da parte del partner LU.
AP_DEALLOC_ABEND_SVC
Codice restituito primario; la conversazione è stata deallocata perché il partner TP ha emesso DEALLOCATE con dealloc_type impostato su AP_ABEND_SVC.AP_DEALLOC_ABEND_TIMER
Codice restituito primario; la conversazione è stata deallocata perché il partner TP ha emesso DEALLOCATE con dealloc_type impostato su AP_ABEND_TIMER.AP_SVC_ERROR_PURGING
Codice restituito primario; il partner TP (o lu partner) ha emesso SEND_ERROR con err_type impostato su AP_SVC durante lo stato RECEIVE, PENDING_POST, CONFIRM, CONFIRM_SEND o CONFIRM_DEALLOCATE. È possibile che i dati inviati al tp del partner siano stati eliminati.Osservazioni:
In risposta a CONFIRM, il tp del partner in genere emette CONFERMA per confermare che i dati sono stati ricevuti senza errori. Se il tp del partner rileva un errore, genera SEND_ERROR o dealloca in modo anomalo la conversazione.
Il tp può emettere CONFIRM solo se il livello di sincronizzazione della conversazione, stabilito da ALLOCATE, è AP_CONFIRM_SYNC_LEVEL.
La conversazione deve essere in stato SEND quando il tp rilascia questo verbo. Le modifiche dello stato, riepilogate nella tabella seguente, si basano sul valore della primary_rc.
Primary_rc | Nuovo stato |
---|---|
AP_OK | Nessuna modifica |
AP_ALLOCATION_ERROR | RESET |
AP_COMM_SUBSYSTEM_ABENDED AP_COMM_SUBSYSTEM_NOT_LOADED | RESET RESET |
AP_CONV_FAILURE_RETRY AP_CONV_FAILURE_NO_RETRY | RESET RESET |
AP_DEALLOC_ABEND AP_DEALLOC_ABEND_PROG AP_DEALLOC_ABEND_SVC AP_DEALLOC_ABEND_TIMER | RESET RESET RESET RESET |
AP_PROG_ERROR_PURGING AP_SVC_ERROR_PURGING | RECEIVE RECEIVE |
CONFIRM attende una risposta dal tp del partner. Una risposta viene generata da uno dei verbi seguenti nel tp del partner:
DEALLOCATE con dealloc_type impostato su AP_ABEND_PROG, AP_ABEND_SVC o AP_ABEND_TIMER
-
Eseguendo CONFIRM dopoALLOCATE, il tp di chiamata può determinare immediatamente se l'allocazione è riuscita (se synclevel è impostata su AP_CONFIRM_SYNC_LEVEL).
In genere, il valore del parametro mode_name del verbo ALLOCATE deve corrispondere al nome di una modalità configurata per il nodo tp richiamato e associato durante la configurazione con l'lu del partner.
Se una delle modalità associate all'lu del partner nel nodo tp richiamato è una modalità implicita, la sessione stabilita tra le due unità di sviluppo sarà della modalità implicita quando nessun nome di modalità associato all'lu partner corrisponde al valore di mode_name. Per altre informazioni, vedere Guida di Host Integration Server.
Diversi parametri di ALLOCATE sono stringhe EBCDIC o ASCII. Un tp può usare common service verb (CSV) CONVERT per tradurre una stringa da un set di caratteri all'altro.
Per inviare immediatamente la richiesta ALLOCATE , il richiamo di TP può emettere FLUSH o CONFIRM immediatamente dopo ALLOCATE. In caso contrario, la richiesta ALLOCATE si accumula con altri dati nel buffer di invio dell'unità lu locale fino a quando il buffer non è pieno.