Um IDoc corresponde a um único objeto de negócios. O adaptador pode processar um evento
ALE que contenha apenas um IDoc.
O adaptador processa um evento de entrada para um
IDoc único de acordo com o seguinte procedimento:
- Quando o sistema SAP envia um ID de transação para o adaptador, o adaptador verifica
o status do evento e executa as seguintes ações:
- Se este for um novo evento, o adaptador armazenará um EVNTID (que corresponde
ao ID de transação) junto com um status de 0 (Criado)
na tabela de recuperação de eventos.
- Se o status do evento for -1 (Recuperar), o adaptador atualizará
o status para 0 (Criado).
- Se o status do evento for 1 (Executado), o adaptador retornará
uma indicação de êxito ao sistema SAP.
- O sistema SAP envia o IDoc único ao adaptador, que analisa e
converte o IDoc em um objeto de negócios e o armazena na memória.
- O sistema SAP envia uma chamada COMMIT para o adaptador.
- O adaptador envia o objeto de negócios ao terminal da mensagem adequada.
O adaptador pode entregar
objetos para terminais que suportam transações, bem como para terminais que
não suportam transações.
- Para os terminais que suportam transações, o adaptador oferece o objeto de negócios como parte de uma única transação XA (uma transação two-phase commit) controlada pelo servidor de aplicativos. Quando o
terminal receber o evento e a transação for confirmada, o status
do evento será atualizado para 1 (Executado). O terminal da mensagem deve ser configurado para suportar as transações XA.
- Para terminais que não suportam transações, o adaptador entrega o objeto de negócios para o terminal e atualiza o status do evento para 1 (Executado).
O adaptador entrega o objeto de negócios sem a QOS (Quality of Service)
que garante imediatamente apenas a entrega.
- Se ocorrer uma exceção durante o processamento do evento pelo adaptador ou se o terminal
gerar uma exceção, o status do evento será atualizado para -1 (Recuperar).
- Se não ocorrer nenhuma exceção, o sistema SAP desempenhará as seguintes tarefas:
- Ele enviará uma chamada COMMIT para o adaptador e o status do evento será atualizado
para 1 (Executado).
- Ele enviará uma chamada CONFIRM para o adaptador.
O adaptador então excluirá os registros com um status 1 (Executado)
e registrará um evento CEI (Common Event Infrastructure) que pode ser utilizado
para fins de rastreio e auditoria.