CONFERMA

Il verbo CONFIRM invia il contenuto del buffer di invio dell'unità logica locale e una richiesta di conferma al programma di transazione partner.

La struttura seguente descrive il blocco di controllo verbo usato 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
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. Vedere Codici restituiti per i codici di errore validi per questo verbo.

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. Vedere Codici restituiti per i codici di errore validi per questo verbo.

Tp_id
Parametro fornito. Identifica il valore TP locale. Il valore di questo parametro è stato restituito da TP_STARTED.

Conv_id
Parametro restituito. Identifica la conversazione stabilita tra i due TP.

rts_rcvd
Parametro restituito. Indica se il partner TP ha emesso REQUEST_TO_SEND, che richiede al TP locale di impostare la conversazione sullo stato RECEIVE.

Per passare allo stato RECEIVE operativo 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 è stato 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 provider di servizi di dominio locale ha tentato di usare CONFIRM in una conversazione con un livello di sincronizzazione 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 nello 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; il partner LU 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 ha specificato i dati PIP, ma il partner TP non richiede questi dati o il partner LU non li supporta.

AP_PIP_NOT_SPECIFIED_CORRECTLY

Codice restituito secondario; Il partner TP 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 specificata nella richiesta di allocazione non è stata accettata dal lun del partner.

AP_SYNC_LEVEL_NOT_SUPPORTED

Codice restituito secondario; il partner partner non supporta l'sync_level (AP_NONE, AP_CONFIRM_SYNC_LEVEL o AP_SYNCPT) specificato nella richiesta di allocazione o il sync_level non è stato riconosciuto.

AP_TP_NAME_NOT_RECOGNIZED

Codice restituito secondario; L'unità di ricerca partner non riconosce il nome TP specificato nella richiesta di allocazione.

AP_TRANS_PGM_NOT_AVAIL_NO_RETRY

Codice restituito secondario; L'unità lu remota ha rifiutato la richiesta di allocazione perché non è stato in grado di avviare il partner TP richiesto. La condizione è permanente. Il motivo dell'errore può essere registrato nel nodo remoto. Non ripetere l'allocazione fino a quando l'errore non è stato corretto.

AP_TRANS_PGM_NOT_AVAIL_RETRY

Codice restituito secondario; L'unità lu remota ha rifiutato la richiesta di allocazione perché non è stato in grado di avviare il partner TP richiesto. La condizione può essere temporanea, ad esempio un timeout. Il motivo dell'errore può essere registrato nel 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 del provider di servizi di dominio ha rilevato un ABEND.

    L'amministratore di sistema deve esaminare il log degli errori per determinare il motivo dell'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 ripetere 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 TP per verificare se il problema si verifica di nuovo. In caso contrario, l'amministratore di sistema deve esaminare il log degli errori per determinare la causa dell'errore.

    AP_CONVERSATION_TYPE_MIXED
    Codice restituito primario; TP ha rilasciato verbi di conversazione di base e mappati. È possibile eseguire un solo tipo in una singola conversazione.

    AP_INVALID_VERB_SEGMENT
    Codice restituito primario; il VCB si estende oltre la fine del segmento di dati.

    AP_PROG_ERROR_PURGING
    Codice restituito primario; in 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; in qualsiasi conversazione può essere presente un solo verbo di conversazione in sospeso alla volta. Ciò può verificarsi se il TP locale ha più thread e più thread emette 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 del sistema operativo viene restituito tramite il secondary_rc. Viene visualizzato nell'ordine di scambio dei byte intel. Se il problema persiste, rivolgersi all'amministratore di sistema.

    AP_DEALLOC_ABEND_PROG
    Codice restituito primario; la conversazione è stata deallocata per uno dei motivi seguenti:

  • Il partner TP ha emesso DEALLOCATEcon dealloc_type set per AP_ABEND_PROG.

  • Il partner TP ha rilevato un ABEND, causando l'invio di una richiesta DEALLOCATE da parte della LU partner.

    AP_DEALLOC_ABEND_SVC
    Codice restituito primario; la conversazione è stata deallocata perché il partner TP ha emesso DEALLOCATEcon dealloc_type impostato su AP_ABEND_SVC.

    AP_DEALLOC_ABEND_TIMER
    Codice restituito primario; la conversazione è stata deallocata perché il partner TP ha emesso DEALLOCATEcon 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 in stato RECEIVE, PENDING_POST, CONFIRM, CONFIRM_SEND o CONFIRM_DEALLOCATE. I dati inviati al partner TP potrebbero essere stati eliminati.

    Osservazioni:

    In risposta a CONFIRM, il partner TP in genere elava CONFIRMED per confermare che ha ricevuto i dati senza errori. Se il partner TP rileva un errore, SEND_ERROR o dealloca in modo anomalo la conversazione.

    Il TP può eseguire CONFIRM solo se il livello di sincronizzazione della conversazione, stabilito da ALLOCATE, è AP_CONFIRM_SYNC_LEVEL.

    La conversazione deve essere nello stato SEND quando il TP invia questo verbo. Le modifiche dello stato, riepilogate nella tabella seguente, si basano sul valore dell'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 RICEZIONE RICEZIONE

CONFIRM attende una risposta dal partner TP. Una risposta viene generata da uno dei verbi seguenti nel partner TP:

  • CONFERMATO

  • SEND_ERROR

  • DEALLOCATE con dealloc_type impostato su AP_ABEND_PROG, AP_ABEND_SVC o AP_ABEND_TIMER

  • TP_ENDED

    Emettendo CONFIRMdopoALLOCATE, il TP di richiamo può determinare immediatamente se l'allocazione ha avuto esito positivo (se synclevel è impostato 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 del TP richiamato e associata durante la configurazione con la lu partner.

    Se una delle modalità associate alla lu del partner nel nodo del provider di servizi terminal richiamato è una modalità implicita, la sessione stabilita tra le due unità di accesso locale sarà della modalità implicita quando nessun nome di modalità associato alla LU partner corrisponde al valore di mode_name. Per altre informazioni, vedere Host Integration Server Guida.

    Diversi parametri di ALLOCATE sono stringhe EBCDIC o ASCII. Un TP può usare il verbo di servizio comune CONVERT (CSV) per convertire una stringa da un set di caratteri all'altro.

    Per inviare immediatamente la richiesta ALLOCATE , il TP che richiama può rilasciare FLUSH o CONFIRM immediatamente dopo ALLOCATE. In caso contrario, la richiesta ALLOCATE si accumula con altri dati nel buffer di invio della LU locale fino a quando il buffer non è pieno.