quinta-feira, 27 de outubro de 2016

Dicas ABAP de um programador: MODIFY

Caros amigos iniciaremos nesse veículo mais uma serie de posts. Esses se voltam para boas práticas de programação.
De todas minhas críticas a linguagem ABAP o comando MODIFY não é a pior, mas foi a que me causou mais transtornos e isso será tema de outro post. 
O MODIFY é um comando usado para inserir ou modificar dados no banco de dados. Ok tudo bem nada mais comum do que se inserir e se alterar dados num banco de dados. Porém o que há de nefasto nesse comando é que ele literalmente insere ou modifica dados no banco de dados. A grosso modo quando o inocente ABAPer executa o comando MODIFY o SAP tenta modificar os dados com o comando SQL NATIVO UPDATE se o comando não afetar nenhuma linha é executado o comando SQL NATIVO INSERT para a linha ser inserida WTF. Por que diabos eu vou escrever um código que não sabe se está inserindo ou alterando uma linha. Outro agravante é que o SAP tenta atualizar todas as colunas da tabela interna no banco de dados o que geralmente não é necessário. 
Isto posto não usem o comando MODIFY de forma alguma. Deem preferência para escreverem códigos que atualizem os dados com o comando UPDATE e insiram dados com comando INSERT.

Bons códigos a todos.

Nenhum comentário: