Quem lançou a excepcao?
As excepções podem ir sendo passadas para trás, de método em método, e serem apanhadas por um método que não tem nada a ver com o método que a lançou. E como o descobres?
As excepções podem ir sendo passadas para trás, de método em método, e serem apanhadas por um método que não tem nada a ver com o método que a lançou. E como o descobres?
Não há coisa pior do que ver código a abusar das variáveis. São tão delicadas e no entanto tão mal tratadas, coitadas. E a quem as tem de ler. A pior forma de tratar uma variável é fazê-la global. Parece mentira mas em 2025 este crime continua a flagelar os nossos sistemas. Ora aqui está uma forma de lhes mostrar amor.
Uma vez queria testar uma classe cujo construtor recebia vários parâmetros em que cada um pedia uma instância de um interface diferente. Essas instâncias não eram fáceis de criar e não eram relevantes para o teste. Depois de alguma experimentação descobri uma forma de contornar o problema.
Lembrete singelo. Pensei que já fosse óbvio mas continuo a ver muitos IFs que testam explicitamente o resultado de um método booleano contra ABAP_TRUE ou INITIAL. Não é preciso! O ABAP neste caso é esperto.
Lembras-te como o CALL FUNCTION IN UPDATE TASK permitia adiar algumas acções até ao momento do COMMIT?
A função FILTER é nova e ainda pouco conhecida. Vou dar-te um exemplo de como pode ser usada.
Por vezes dá jeito poder olhar para duas zonas do código em simultâneo. Se as zonas forem em classes diferentes é só abrir as duas. Mas, e se forem na mesma classe? Por exemplo, se quiseres fazer um método inspirado ou relacionado com outro.
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.
O meu projecto tem constantes espalhadas por todo o lado, com nomes confusos ou errados. Uma salgalhada. Encontrei uma forma de reorganizar e rearrumar as constantes para que o código novo possa usar constantes bonitas sem espatifar o código antigo que pode continuar a usar as confusas.
Não há coisa pior do que ver gente a abusar das variáveis. São tão delicadas e no entanto tão mal tratadas, coitadas. Ora aqui está uma forma de lhes mostrar algum amor.
Toda a gente usa linhas em branco para melhor organizar o código. Mas onde usar e quantas usar? Falemos disso.
Às vezes é preciso pegar em dados da base de dados e replicá-los declarativamente em ABAP utilizando o comando VALUE. Para, por exemplo, construir testes unitários ABAP Unit.
Historicamente foi sempre impossível saltar de um sistema SAP para o outro sem perder o contexto. Agora já dá.
As ferramentas que o SAP disponibiliza para ver o conteúdo de tabelas da base de dados sempre foram muito ranhosas.