Patrocinado por
Patrocinado por Inetum

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.

Popula manulamente uma LISTBOX

images/thumbnail.jpg - Thumbnail

Em 2012 lamentei que a LISTBOX fosse tão pouco usada. Ensinei a usá-la com elementos de dado standard, que a populam automaticamente. Hoje vou-te ensinar como a podes popular tu próprio se quiseres listar opções que não venham de um elemento de dados.

SELECTION-SCREEN FUNCTION KEY N

images/thumbnail.jpg - Thumbnail

Há tantas coisas que se podem fazer nos ecrãs de selecção. Aqui está mais uma: cinco botões na barra de ferramentas.

Envia emails para uma lista de distribuição

images/thumbnail.jpg - Thumbnail

Quando tens de enviar o mesmo email para mais do que um endereço, o mais comum é guardar a lista de endereços numa tabela qualquer e depois adicionar todos os endereços como recipientes.

Mas aprendi recentemente uma forma muito mais bonita para conseguir o mesmo resultado.