Compartir a través de


Procesamiento de confirmación

La secuencia de eventos para el procesamiento de confirmación es la siguiente:

  1. Establezca el nivel de sincronización.

  2. Envíe una solicitud de confirmación.

  3. Recibir datos y solicitud de confirmación.

  4. Responda a la solicitud de confirmación.

  5. Desasigne la conversación.

    Mediante el procesamiento de confirmación, un TP envía una solicitud de confirmación con los datos; el TP del asociado confirma la recepción de los datos o indica que se produjo un error. Cada vez que los dos socios comerciales intercambian una solicitud de confirmación y una respuesta, se sincronizan.

Nota:

Aunque el ejemplo de esta sección no muestra esto, ningún TP puede enviar o recibir datos, independientemente de si el TP es el TP invocado o el TP invocable.

En el ejemplo siguiente se muestra el procesamiento de confirmación.

Emitido por el TP invocador Emitido por el TP invocable
TP_STARTED
MC_ALLOCATE
(synclevel=AP_CONFIRM_SYNC_LEVEL)
MC_ENVIAR_DATOS
(type=AP_SEND_DATA_CONFIRM)
RECIBIR_ASIGNAR
MC_RECEIVE_AND_WAIT
MC_SEND_DATA
(type=AP_SEND_DATA_DEALLOC_SYNC_LEVEL)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(rtn_status=AP_YES)
(what_rcvd= AP_DATA_COMPLETE_CONFIRM_ DEALLOCATE)
MC_CONFIRMED
TP_FINALIZADO TP_ENDED

Establecimiento del nivel de sincronización

El parámetro synclevel de MC_ALLOCATE determina el nivel de sincronización de la conversación. Hay tres niveles de sincronización posibles:

  • AP_NONE, en el que no se produce el procesamiento de confirmación.

  • AP_CONFIRM_SYNC_LEVEL, bajo el cual los TPs pueden solicitar la confirmación de recepción de datos y responder a solicitudes de verificación de datos.

  • AP_SYNCPT, bajo el cual los TPs operan con soporte de Nivel 2 de Punto de Sincronización para la confirmación de la recepción de datos.

Envío de una solicitud de confirmación

MC_SEND_DATA con tipo AP_SEND_DATA_CONFIRM tiene dos efectos:

  • Vacía el búfer de envío de la LU local y envía los datos contenidos en el búfer al TP del asociado.

  • Envía una solicitud de confirmación que el TP del asociado recibe a través del parámetro what_rcvd del verbo receive.

    Después de emitir MC_SEND_DATA, el TP local espera la confirmación del TP del asociado.

Recepción de datos y solicitud de confirmación

El parámetro what_rcvd de MC_RECEIVE_AND_WAIT indica:

  • Estado de los datos recibidos: completado o incompleto.

  • Se espera un procesamiento futuro del TP local.

    En el ejemplo, what_rcvd es AP_DATA_COMPLETE_CONFIRM, lo que indica que el estado está completo y se solicita una confirmación.

Responder a una solicitud de confirmación

El TP del asociado emite MC_CONFIRMED para confirmar la recepción de datos. Esto libera el TP local para reanudar el procesamiento.

Desasignar la conversación

MC_SEND_DATA envía una solicitud de confirmación con los datos cuando se cumplen todas las condiciones siguientes:

  • El nivel de sincronización de la conversación (establecido por el parámetro synclevel de MC_ALLOCATE) es AP_CONFIRM_SYNC_LEVEL.

  • El parámetro type de MC_SEND_DATA se establece en AP_SEND_DATA_DEALLOC_SYNC_LEVEL.

  • El parámetro what_rcvd del MC_RECEIVE_AND_WAIT final es AP_DATA_COMPLETE_CONFIRM_DEALLOCATE, lo que indica que se requiere una confirmación de recepción de datos antes de que APPC desasigne la conversación. El TP local espera esta confirmación hasta que el TP del socio emite MC_CONFIRMED.