MC_CONFIRMED

Il verbo MC_CONFIRMED risponde a una richiesta di conferma dal programma di transazione partner (TP). Informa il partner TP che il tp locale non ha rilevato un errore nei dati ricevuti. Poiché il tp che emette la richiesta di conferma attende una conferma, MC_CONFIRMED sincronizza l'elaborazione dei due TP.

Nella struttura seguente viene descritto il blocco di controllo verbo (VCB) utilizzato dal verbo MC_CONFIRMED .

Sintassi


struct mc_confirmed {  
    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;  
};   

Members

Opcode
Parametro fornito. Specifica il codice dell'operazione verbo AP_M_CONFIRMED.

opext
Parametro fornito. Specifica l'estensione dell'operazione verbo AP_MAPPED_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_STARTEDnella chiamata di TP o da RECEIVE_ALLOCATE nel tp richiamato.

Conv_id
Parametro fornito. Identifica la conversazione stabilita tra i due provider di servizi di configurazione. Il valore di questo parametro viene restituito da MC_ALLOCATE nella chiamata di TP o da RECEIVE_ALLOCATE nel tp richiamato.

rts_rcvd
Parametro restituito. Indica se il tp del partner ha emesso MC_REQUEST_TO_SEND, che richiede al tp locale di modificare lo stato RECEIVE della conversazione.

Per modificare lo stato RECEIVE, il tp locale può usare MC_PREPARE_TO_RECEIVE, MC_RECEIVE_AND_WAIT o MC_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_STATE_CHECK
Codice restituito primario; il verbo non è stato eseguito perché è stato emesso in uno stato non valido.

AP_CONFIRMED_BAD_STATE

Codice restituito secondario; la conversazione non è in stato CONFIRM, CONFIRM_SEND o CONFIRM_DEALLOCATE.

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_COMM_SUBSYSTEM_NOT_LOADED
    Codice restituito primario; Impossibile caricare o terminare un componente richiesto durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva avvenire. Contattare l'amministratore di sistema per un'azione correttiva.

    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_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.

Commenti

La conversazione deve trovarsi in uno degli stati seguenti quando il tp rilascia questo verbo:

  • CONFERMA

  • CONFIRM_SEND

  • CONFIRM_DEALLOCATE

    Il nuovo stato è determinato dallo stato precedente, ovvero lo stato della conversazione quando il tp locale ha emesso MC_CONFIRMED. Lo stato precedente è indicato dal valore del parametro what_rcvd del verbo di ricezione precedente. Sono possibili le modifiche di stato seguenti:

Stato precedente Nuovo stato
CONFERMA RECEIVE
CONFIRM_SEND SEND
CONFIRM_DEALLOCATE RESET

Richieste di conferma

Una richiesta di conferma viene emessa da uno dei verbi seguenti nel tp del partner:

  • MC_CONFIRM

  • MC_PREPARE_TO_RECEIVE se ptr_type è impostato su AP_SYNC_LEVEL e il livello di sincronizzazione della conversazione (stabilito da MC_ALLOCATE) è AP_CONFIRM_SYNC_LEVEL

  • MC_DEALLOCATE se dealloc_type è impostato su AP_SYNC_LEVEL e il livello di sincronizzazione della conversazione (stabilito da MC_ALLOCATE) è AP_CONFIRM_SYNC_LEVEL

  • MC_SEND_DATA se il tipo è impostato su AP_SEND_DATA_CONFIRM e il livello di sincronizzazione della conversazione (stabilito da MC_ALLOCATE) è AP_CONFIRM_SYNC_LEVEL

    Una richiesta di conferma viene ricevuta dal tp locale tramite il parametro what_rcvd di uno dei verbi seguenti:

  • MC_RECEIVE_IMMEDIATE

  • MC_RECEIVE_AND_WAIT

  • MC_RECEIVE_AND_POST

    MC_CONFIRMED viene emesso dal tp locale solo se what_rcvd contiene uno dei valori seguenti:

  • AP_CONFIRM_WHAT_RECEIVED

  • AP_CONFIRM_SEND

  • AP_CONFIRM_DEALLOCATE

    Se il parametro rtn_status è impostato su AP_YES, what_rcvd può contenere anche i valori seguenti:

  • AP_DATA_COMPLETE_CONFIRM

  • AP_DATA_COMPLETE_CONFIRM_SEND

  • AP_DATA_COMPLETE_CONFIRM_DEALL