As linguagens moldam o pensamento
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
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
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
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
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
Sabias que o teu programa ABAP pode copiar conteúdo para o clipboard do teu sistema operativo?
SELECT a tabela interna
SELECT SINGLE vs SELECT UP TO 1 ROWS
É 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
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
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
É 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
O ponto de exclamação!
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
Sabias que podes finalmente fazer alterações radicais num desenvolvimento sem medos porque há uma forma simples de desfazer todas essas alterações?