Patrocinado por
Patrocinado por Inetum

Faz apenas uma coisa por LOOP

images/thumbnail.jpg - Thumbnail

Os programadores ABAP são muito poupadinhos. Quando lhes aparece um LOOP à frente gostam de o aproveitar para fazer tudo e mais alguma coisa. Mesmo que esse LOOP fique com centenas ou milhares de linhas.

Evita o ABAP obsoleto

images/thumbnail.jpg - Thumbnail

O ABAP evolui (embora durante muitos anos não parecesse). E à medida que evolui vai deixando para trás alguns comandos ou formas de fazer as coisas porque disponibiliza outras melhores.

Para além de aprender a usar as novidades é também importante aprender a deixar de usar o que vai ficando obsoleto.

Um programa é um animal

images/thumbnail.jpg - Thumbnail

Quando os programas estão mal feitos por terem código duplicado, se os reescrevemos ficam mais curtos. Mas se, pelo contrário, estiverem mal feitos por não estarem devidamente estruturados em várias classes com vários métodos, podem ficar bem mais longos se os reescrervemos de acordo com as boas prácticas.

Sê polígamo

images/thumbnail.png - Thumbnail

A maior parte dos programadores ABAP são como os cisnes. Quando casam com o ABAP é para sempre e são-lhe eternamente fiéis.

Os blocos de código devem ser curtos

images/thumbnail.jpg - Thumbnail

Infelizmente isto não acontece no código Z dos clientes onde tenho trabalhado. Tanto os IFs como os LOOPs tendem a ser tão grandes que ninguém percebe nada do que lá está. Ainda no outro dia vi um LOOP com mais de 1500 linhas.

ABAP no meio de comandos SQL

images/thumbnail.jpg - Thumbnail

Sabias que, se o teu SAP for minimamente actual, podes usar expressões complexas em ABAP no meio de comandos SQL?

Adeus Wordpress, olá Jamstack

images/thumbnail.png - Thumbnail

Depois de mais de 10 anos a usar Wordpress, o mundo evoluiu e o Abapinho decidiu evoluir com ele.

Se amas o próximo, evita o CLEAR

images/thumbnail.jpg - Thumbnail

Demasiadas regressões acontecem porque alguém se esquece de fazer CLEAR ou de não fazer CLEAR a uma variável.

Não sejas do contra

images/thumbnail.jpg - Thumbnail

A legibilidade é muito importante em todo o texto escrito. Talvez com a excepção da poesia concreta.

Na sequência do post anterior, aqui fica um par de regras que minimizam o esforço que alguém tem de fazer para compreender expressões booleanas.

As condições IF devem ser simples de entender

images/thumbnail.jpg - Thumbnail

Porque haveria de ser difícil lê-las? Só tornaria mais difícil a vida de quem vier a precisar de a entender.

Lá porque uma condição IF é complexa não é por isso que tem de ser complicada.

SELECT com CASE

images/thumbnail.jpg - Thumbnail

O ABAP está a permitir fazer coisas cada vez mais interessantes em SQL. A última que descobri foi que agora se pode usar CASEs.

Já tenho saudades tuas Sérgio!

images/thumbnail.jpg - Thumbnail

O meu querido amigo Sérgio Fraga faleceu. O Abapinho também é dele. Para sempre. Obrigado amigo por tudo o que foste.

As duplas negativas dos RANGEs

images/thumbnail.jpg - Thumbnail

Os RANGEs têm propriedades interessantes.

SELECT WHERE field IN (*, x)

images/thumbnail.jpg - Thumbnail

Vamos por partes.

Imagina um cenário em que tens uma tabela de parametrização com vários níveis de detalhe que podem ou não estar definidos:

  1. BUKRS (empresa)

  2. WERKS (plant)

  3. LGORT (depósito)

Quando um dos campos está vazio, é um wildcard, ou seja, é válido para todos os valores.

Insere sem excepções em tabelas internas com chave única

images/thumbnail.jpg - Thumbnail

Quantas vezes na tua vida de consultor tiveste de lidar com dumps que aconteceram em consequência de um programa tentar inserir duas linhas com a mesma chave numa tabela interna definida com UNIQUE KEY?

Chega.