Processamento de Eventos para Pacotes de IDocs Divididos, Analisados

Um pacote de IDocs dividido contém vários IDocs, com cada IDoc correspondendo a um único objeto de negócios.

O adaptador processa um evento de entrada para um pacote de IDocs que contém vários IDocs individuais de acordo com os seguintes procedimentos:
  1. Quando o sistema SAP envia o ID de transação para o adaptador, o adaptador verifica o status do evento e executa uma das 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.
  2. O sistema SAP envia o pacote de IDocs para o adaptador, que o analisa e converte o IDoc em vários objetos de negócios e os armazena na memória.
  3. O adaptador atualiza a coluna BQTOTAL (ou campo da tabela) na tabela de recuperação de eventos para o número de IDocs no pacote. Este número é utilizado para fins de auditoria e recuperação.
  4. Se o adaptador encontrar um erro durante o processamento do pacote de IDocs, ele poderá comportar-se de uma de duas maneiras, dependendo da propriedade de configuração IgnoreIDocPacketErrors.
    • Se a propriedade IgnoreIDocPacketErrors estiver configurada como false, o adaptador parará o processamento de IDocs adicionais no pacote e relatará erros para o sistema SAP.
    • Se a propriedade IgnoreIDocPacketErrors estiver configurada como true, o adaptador registrará um erro e continuará o processamento do restante dos IDocs no pacote. O status da transação é marcado como 3 (InProgress). Neste caso, o log do adaptador mostra os números de IDoc que falharam e será necessário reenviar esses IDocs individuais separadamente. Também é necessário manter manualmente estes registros na tabela de recuperação de eventos.
  5. O sistema SAP envia uma chamada COMMIT para o adaptador.
  6. O adaptador envia os objetos de negócios para o terminal de mensagens, um após o outro e atualiza a propriedade BQPROC para o número de seqüência do IDoc no qual ele está trabalhando. O adaptador oferece os objetos para o terminal apropriado como parte de uma única transação XA (uma transação two-phase commit) controlada pelo servidor de aplicativos.
  7. Quando o terminal receber o evento e a transação for confirmada, o adaptador aumentará o número na propriedade BQPROC.
    Nota: O terminal da mensagem deve ser configurado para suportar as transações XA.
  8. Quando o adaptador entregar todos os objetos de negócios do pacote de IDocs no terminal de mensagens, ele atualizará o status do evento para 1 (Executado).
  9. No caso de interrupções abruptas durante o processamento de pacotes de IDocs, o adaptador continua o processamento de IDocs a partir do número de seqüência atual. O adaptador continuará atualizando a propriedade BQPROC, mesmo que IgnoreIDocPacketErrors seja configurado como true. O adaptador continuará o processamento, caso você o termine manualmente enquanto ele estiver processando um pacote de IDocs.
  10. 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).
  11. Se não ocorrer nenhuma exceção, o adaptador desempenhará as seguintes tarefas:
    • Ele enviará uma chamada COMMIT para o adaptador e o 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.


Termos de Utilização |


(c) Copyright IBM Corporation 2005, 2006.
Este centro de informações foi desenvolvido por tecnologia Eclipse (http://www.eclipse.org)