MC_CONFIRMED

Il MC_CONFIRMED verbo risponde a una richiesta di conferma dal programma di transazioni partner. 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 l'elaborazione dei due TP.

La struttura seguente descrive il blocco di controllo dei verbi (VCB) usato dal verbo MC_CONFIRMED verbo.

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 del verbo, AP_M_CONFIRMED.

opext
Parametro fornito. Specifica l'estensione dell'operazione verbo, AP_MAPPED_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. Per i codici di errore validi per questo verbo, vedere Codici restituiti.

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

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

Conv_id
Parametro fornito. Identifica la conversazione stabilita tra i due TP. Il valore di questo parametro viene restituito MC_ALLOCATE nel TP richiamato o RECEIVE_ALLOCATE nel TP richiamato.

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

Per passare allo 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 è 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_STATE_CHECK
Codice restituito primario; Il verbo non è stato eseguito perché è stato generato in uno stato non valido.

AP_CONFIRMED_BAD_STATE

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

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 TP e il nodo PU 2.1 è stata interrotta (errore LAN).

  • L'oggetto SnaBase nel computer del TP ha rilevato un ABEND.

    L'amministratore di sistema deve esaminare il log degli errori per determinare il motivo dell'abend.

    AP_COMM_SUBSYSTEM_NOT_LOADED
    Codice restituito primario; Non è stato possibile caricare o terminare un componente necessario durante l'elaborazione del verbo. Pertanto, la comunicazione non è stata possibile. Per un'azione correttiva, contattare l'amministratore di sistema.

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

Commenti

La conversazione deve essere in uno degli stati seguenti quando il TP esegue questo verbo:

  • CONFERMA

  • CONFIRM_SEND

  • CONFIRM_DEALLOCATE

    Il nuovo stato è determinato dallo stato precedente, ovvero lo stato della conversazione al momento dell'emissione del TP 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 inviata da uno dei verbi seguenti nel partner TP:

  • 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 type è 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 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