Executa código após um COMMIT

images/thumbnail.jpg - Thumbnail

Lembras-te como o CALL FUNCTION IN UPDATE TASK permitia adiar algumas acções até ao momento do COMMIT?

SELECTs insensível a maiúsculas e minúsculas

images/thumbnail.jpg - Thumbnail

No SAP é normal ter tabelas na base de dados com um campo NAME e outro NAME_SEARCH que é preenchido com exactamente a mesma coisa que o NAME mas em maiúsculas.

Depois quando queres fazer pesquisas sem ligar a maiúsculas e minúsculas usas o NAME_SEARCH. Já não é preciso fazer isso.

Copia do SAPGUI para o clipboard

images/thumbnail.png - Thumbnail

Sabias que o teu programa ABAP pode copiar conteúdo para o clipboard do teu sistema operativo?

Prefixos fixos

images/thumbnail.jpg - Thumbnail

É muito fácil fazer asneira com os nomes dos objectos em SAP. Encontrei recentemente uma forma de minimizar esse problema: definir regras para fixar prefixos por pacote para determinados tipos de objecto.

O ponto de exclamação!

images/thumbnail.jpg - Thumbnail

Quando se olha para o código fonte ABAP, a declaração dos métodos prefixa sempre os parâmetros de entrada com um ponto de exclamação. Isto sempre me intrigou. Finalmente sei o porquê.

As duplas negativas dos RANGEs

images/thumbnail.jpg - Thumbnail

Os RANGEs têm propriedades interessantes.

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.

Manipula textos de selecção sem os fixar no programa

images/thumbnail.jpg - Thumbnail

Embora muitos ABAPers ainda se esqueçam disto, quanto menos textos forem fixados no programa mais fácil será traduzi-lo.

Aqui está uma forma simples mas relativamente obscura de alterar os textos para, por exemplo, adicionar-lhes ícones, mantendo-os traduzíveis.

Usa CL_GUI_ALV_GRID sem ter de criar um ecrã

images/thumbnail.jpg - Thumbnail

Hoje em dia é raro usar o CL_GUI_ALV_GRID porque uso quase sempre a SALV. Mas quando é preciso fazer ALVs editáveis continuo a recorrer à CL_GUI_ALV_GRID. Durante muito tempo julguei que, para a usar, tinha de criar um ecrã com um container, o que é uma chatice. E como eu uso ABAP OO, precisava de criar um function group para alojar o ecrã e um function module para o chamar, o que era outra chatice.

Atalhos mágicos para menus

images/thumbnail.jpg - Thumbnail

Se tu que estás a ler isto achares que tudo o que está escrito no Abapinho é literalmente verdade, o que te vou dizer a seguir vai desiludir: quando disse mágico não quis dizer que era sobrenatural. É só uma forma mais abrilhantada de dizer que é surpreendente e inesperado. Tomei esta liberdade um bocado como quando dizes estou morto de sede e no entanto ainda estás vivo. Tendo clarificado isto, podemos continuar.