Patrocinado por
Patrocinado por Inetum

As linguagens moldam o pensamento

images/thumbnail.jpg - Thumbnail

Li algures que os matemáticos orientais tendem a resolver um tipo de problemas matemáticos diferente do tipo de problemas que os matemáticos ocidentais resolvem.

Para aqueles que criticam a nova sintaxe da 7.4

images/thumbnail.jpg - Thumbnail

Este post dirige-se à personagem colectiva que representa todas as pessoas já me disseram que gostam de algumas coisas da nova sintaxe funcional da 7.4 mas acham que não se deve exagerar e se deve evitar usar REDUCE e essas coisas desnecessariamente esquisitas pois o código fica mais obscuro, é mais lento e não vêem vantagens.

Estás a falar a sério?

Usa BASE para não estragares o que já tens

images/thumbnail.png - Thumbnail

Dantes usava-se o comands APPEND e INSERT para adicionar linhas a tabelas internas. Mas agora que o ABAP cresceu, podemos usar VALUE, REDUCE, CORRESPONDING, etc. Mas, e se a tabela interna já tiver linhas e não as quisermos perder?

INNER JOIN em vez de FOR ALL ENTRIES

images/thumbnail.png - Thumbnail

Há uns tempos mostrei-te que podias fazer SELECT a uma tabela interna. E no outro dia perguntei-me: se isso é possível, não será então também possível fazer INNER JOINs?

YAGNI

images/thumbnail.png - Thumbnail

You Ain’t Gonna Need It em português quer dizer Faz o que quiseres, mas não digas que eu não te avisei. Estou a brincar. Não é bem 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?

SELECT a tabela interna

images/thumbnail.jpg - Thumbnail

Agora dá para fazer SELECT a tabelas internas.

SELECT SINGLE vs SELECT UP TO 1 ROWS

images/thumbnail.jpg - Thumbnail

É pá, esta é uma daquelas discussões infinitas que nunca chegarão a lado nenhum. Igual a tentar decidir se mereces continuar a viver se meteres ananás na pizza ou queijo Filadélfia no sushi.

Chama a SM30 ou a SM34 a partir de uma função

images/thumbnail.jpg - Thumbnail

Se quiseres chamar a SM30 a partir de um programa podes fazer um CALL TRANSACTION mas há uma forma mais simples.

Usa um diccionário em vez de IF ou CASE

images/thumbnail.png - Thumbnail

Quanto menos IFs e CASEs melhor, certo? Cada ramo de um IF ou de um CASE é uma excepção. E nós gostamos mais de regras do que de excepções. Aqui está mais uma técnica para o conseguir.

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.

Empacoto tudo o que mexe

images/thumbnail.jpg - Thumbnail

Eu empacoto obsessivamente tudo o que mexe.

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ê.

Undo com abapGit

images/thumbnail.png - Thumbnail

Sabias que podes finalmente fazer alterações radicais num desenvolvimento sem medos porque há uma forma simples de desfazer todas essas alterações?

Os 3 pais das excepções

images/thumbnail.jpg - Thumbnail

As excepções OO têm sempre de ter um pai. Têm sempre de herdar de alguém. E o ABAP dá 3 hipóteses, cada uma tratada de forma diferente pelo compilador.