"
Apoiado por

Boas prácticas
Não farás COMMIT em user-exits

Não faças COMMIT dentro de user-exits. E garante também que rotinas que possas chamar a partir de user-exits não o fazem.

6 comentários a “Não farás COMMIT em user-exits”

  1. Lucas Tadeu Diz:

    Na pior das hipóteses, se realmente precisar fazer o commit, a melhor forma é criar uma nova função (ex: Z_COMMIT) e chamá-la com “DESTINATION ‘NONE'”. Exemplo: CALL FUNCTION ‘Z_COMMIT’ DESTINATION ‘NONE’.

  2. Lucas Tadeu Diz:

    Complementado: tudo que você for precisar efetivar com o commit deve estar feito na destination ‘NONE’ também.

  3. José Vília Diz:

    Nem utilizes um “wait up to N seconds” que também faz um commit implícito! :)

  4. Raphael Maia Diz:

    Quando preciso rodar uma Bapi ou atualizar uma tabela dentro de uma Exit ou Badi, e esse processo demanda por um commit.
    O que faço é criar uma função remota, ou mudulo de atualização e chamar isso IN UPDATE TASK ou IN BACKGROUND TASK AS SEPARATE UNIT.

    Sempre funcionou para mim, será que esta errado?

  5. Nuno Godinho Diz:

    Lucas, podes explicar melhor qual a vantagem de fazeres isso numa função que chamas com DESTINATION ‘NONE’?

  6. Nuno Godinho Diz:

    Raphael, diria que está certo. Assim adias o que tens de fazer para o momento correcto para o COMMIT acontecer.

Deixe um comentário


Acerca do Abapinho
O Abapinho é suportado pelo WordPress
Artigos (RSS) e Comentários (RSS).