Compartir a través de


TP_ENDED

El verbo TP_ENDED lo emite el programa de transacciones invocando e invocado (TP) y notifica a APPC que el TP finaliza.

Con la versión 3.x del sistema Microsoft® Windows®, se recomienda utilizar la función WinAsyncAPPC en lugar de la versión de bloqueo de esta llamada.

En la estructura siguiente se describe el bloque de control de verbos (VCB) usado por el verbo TP_ENDED .

Sintaxis

  
struct tp_ended {  
    unsigned short  opcode;  
    unsigned char   opext;  
    unsigned char   reserv2;  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   tp_id[8];  
    unsigned char   type;  
};   

Miembros

opcode
Parámetro proporcionado. Especifica el código de operación de verbo, AP_TP_ENDED.

opext
Parámetro proporcionado. Especifica la extensión de la operación del verbo. El verbo TP_ENDED no usa este campo.

reserv2
Campo reservado.

primary_rc
Parámetro devuelto. Especifica el código de retorno principal que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.

secondary_rc
Parámetro devuelto. Especifica el código de retorno secundario que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.

tp_id
Parámetro proporcionado. Identifica el TP local. El valor de este parámetro lo devolvió TP_STARTED en el TP invocado o por RECEIVE_ALLOCATE en el TP invocado.

type
Parámetro proporcionado. Especifica el tipo de finalización que se va a realizar. A continuación se muestran los valores permitidos:

  • AP_HARD indica que se finalizan todos los verbos activos del TP; finalizan las sesiones que usan las conversaciones. Tanto el TP local como el TP del asociado pueden recibir códigos de retorno de error de conversación (AP_DEALLOC_ABEND para conversaciones asignadas y AP_DEALLOC_ABEND_PROG para conversaciones básicas).

  • AP_SOFT indica que el TP espera a que se completen todos los verbos activos; la sesión que usa la conversación permanece activa.

Códigos de retorno

AP_OK
Código de retorno principal; el verbo se ha ejecutado correctamente.

AP_PARAMETER_CHECK
Código de retorno principal; el verbo no se ha ejecutado debido a un error en un parámetro.

AP_BAD_TP_ID

Código de retorno secundario; APPC no reconoció el tp_id como identificador de TP asignado.

AP_BAD_TYPE

Código de retorno secundario; APPC no reconoció el valor de tipo especificado.

AP_COMM_SUBSYSTEM_ABENDED
Código de retorno principal; indica una de las condiciones siguientes:

  • El nodo utilizado por esta conversación encontró una anulación.

  • La conexión entre el TP y el nodo PU 2.1 se interrumpió (un error de LAN).

  • El proceso SnaBase que se ejecuta en el equipo del TP encontró una anulación.

    El administrador del sistema debe examinar el registro de errores a fin de determinar el motivo de la anulación.

    AP_COMM_SUBSYSTEM_NOT_LOADED
    Código de retorno principal; no se pudo cargar o finalizar un componente necesario durante el procesamiento del verbo. Por tanto, no se pudo establecer la comunicación. Consulte con el administrador del sistema para aplicar una acción correctiva.

    AP_INVALID_VERB_SEGMENT
    Código de retorno principal; el bloque de control de verbo (VCB) se ha extendido más allá del final del segmento de datos.

    AP_STACK_TOO_SMALL
    Código de retorno principal; el tamaño de la pila de la aplicación es demasiado pequeño para ejecutar el verbo. Aumente el tamaño de pila de la aplicación.

    AP_TP_BUSY
    Código de retorno principal; el TP local ha emitido una llamada a APPC mientras APPC procesaba otra llamada para el mismo TP. Esto puede ocurrir si el TP local tiene varios subprocesos y más de un subproceso emite llamadas APPC con el mismo tp_id.

    AP_THREAD_BLOCKING
    Código de retorno principal; el subproceso que llama ya está en una llamada de bloqueo.

    AP_UNEXPECTED_DOS_ERROR
    Código de retorno principal; el sistema operativo devolvió un error a APPC al procesar una llamada de APPC desde el TP local. El código de retorno del sistema operativo se devuelve a través de secondary_rc. Aparece en el orden de intercambio de bytes de Intel. Si el problema persiste, consulte con el administrador del sistema.

Comentarios

En respuesta a TP_ENDED, APPC libera los recursos utilizados por el TP. Una vez ejecutado este verbo, el identificador de TP ya no es válido; el TP no puede emitir más verbos de conversación appC.

La conversación puede estar en cualquier estado cuando el TP emite este verbo.

Si la conversación está en estado SEND, TP_ENDED realiza la función de DEALLOCATE o MC_DEALLOCATE con dealloc_type establecido en AP_FLUSH.

Si la conversación está en un estado distinto de RESET o SEND, TP_ENDED realiza la función de DEALLOCATE o MC_DEALLOCATE con dealloc_type establecido en AP_ABEND (para una conversación asignada) o AP_ABEND_PROG (para una conversación básica).

Después de la ejecución correcta (primary_rc se AP_OK), no hay ningún estado APPC.