SQL nativo
Por vezes o SQL do ABAP não te permite fazer coisas que conseguirias fazer usando SQL nativo da base de dados. É possível fazê-lo.
Por vezes o SQL do ABAP não te permite fazer coisas que conseguirias fazer usando SQL nativo da base de dados. É possível fazê-lo.
Todos já ordenamos tabelas internas e utilizamos a instrução AT NEW. Mas a partir da 7.40, podemos utilizar GROUP BY no LOOP.
É fantástico a capacidade de agrupamento em que os valores do registo processado no loop podem ser comparados, recorrendo a expressões e até métodos.
O agrupamento é realizado num primeiro LOOP e pode ser processado a seguir. Experimentem o seguinte código e, tal como eu, ficarão impressionados com o caminho que o ABAP está a seguir.
Descobriste um bug num FORM (ou Função ou método) standard: FORM EQUAL_VALUE CHANGING W_DATE TYPE SYDATUM. W_DATE = SY-DATUM - 1. ENDFORM. Reportaste o erro à SAP mas eles ainda devem demorar a responder e tu precisas da correcção urgentemente. Tens de agir. Sem demora usas o enhancement implícito do início do código para substituir o código original pelo teu (até a correcção chegar, claro): FORM EQUAL_VALUE CHANGING W_DATE TYPE SYDATUM.
Checkpoints é uma framework muito poderosa do ABAP que no entanto quase ninguém a usa. Porquê? Provavelmente pela mesma razão que quase ninguém ouve Sun Ra e que quase ninguém sabe que o Frank Zappa tem 102 álbuns. Porque embora seja bom, é obscuro e pouco comercial. Os checkpoints são, de facto bons e pouco comerciais. Mas deviam ser mais como o Mozart, que é bom e comercial.
Hoje temos um convidado, Tamás Holics. Ele é dono da STA Consulting, uma empresa Húngara que criou 2 produtos muito interessantes para SAP. Neste artigo o Tamás apresenta o STA Ticket System.
Desperdiça-se muito tempo nos processos de teste e manutenção SAP dado que os relatórios de erros produzidos pelos utilizadores serem muitas vezes incompletos ou incorrectos. A resolução do problema reportado normalmente fica pendente até a informação estar toda completa. Ora como em boa parte dos incidentes reportados a equipa de manutenção (analistas, programadores) tem de pedir mais informação sobre o erro, há uma enorme perda de tempo valioso em iterações desnecessárias, tanto de quem reporta incidentes como de quem lhes dá suporte.
Durante anos queixei-me por o ambiente de desenvolvimento do SAP ser tão retrógrado e antiquado e por demorar tanto tempo a evoluir Sempre que mo ouvia dizer, um amigo meu avisava-me sabiamente: não mordas a mão que te dá de comer.
Mas como pode um homem ficar calado?
Estamos em constante aprendizagem. Mas volta não volta aprendemos algo que nos obriga a dar um salto paradigmático na forma como olhamos para o que fazemos. A última vez que isso me tinha acontecido foi quando comecei a usar OO em ABAP. OO não era novo para mim pois sempre programei em Java, C#, C++, etc. Mas poder finalmente aplicar os conceitos de OO em ABAP foi um alívio e um salto quântico na qualidade, flexibilidade e velocidade do meu trabalho.
Normalmente o SapGUI memoriza os últimos valores introduzidos em cada campo. E isso costuma ser bom. Mas podes muito bem não querer que isto aconteça. (ex: no caso, improvável eu sei, de quereres introduzir valores pornográficos num determinado campo). Uma hipótese é desligar globalmente esta funcionalidade nas configurações do SapGUI.
Mas e se quiseres desligar apenas num campo? O Abapinho ensina-te.
Todos conhecemos as ampliações implícitas da SAP, que permitem adicionar código no início ou final qualquer blocos de código standard (funções, métodos, etc.). Já todos as usámos para alterar uma BAPI ou outro código standard qualquer.
Mas só há pouco tempo é que descobri que também é possível usar ampliações implícitas para acrescentar parâmetros a funções e métodos ABAP standard.
O Toad é uma ferramenta muito famosa no mundo SQL que permite construir e executar queries SQL de forma fácil e interactiva. E agora, graças ao senhor Sébastien HERMANN, o SAP tem uma versão simplificada desta ferramenta maravilha. Ele explica. Obrigado Sérgio Fraga por descobrires isto. O Abapinho saúda-vos.
Durante anos as tabelas internas eram declaradas assim:
DATA: itbl TYPE TABLE OF bkpf.
Uma das coisas que distingue o homem dos restantes animais é o facto de ser capaz de pensar o pensamento.
Um pardal pode pensar estou assustado, vou dizer piu piu piu e, como consequência, quem estiver ao pé dele ouve piu piu piu.
A ferramenta “lista de utilizações” é uma das mais queridas de um programador ABAP. Através dela conseguimos saber onde é que um objecto é utilizado. Parece pouco mas sabemos que é muito.
A classe CL_GUI_FRONTEND_SERVICES é frequentemente usada para fazer upload e download de ficheiros de e para o computador local. Mas ela consegue fazer muitos mais coisas boas. Por exemplo:
Acabei de descobrir que o SAP consegue tirar selfies. Ainda não estou a ver para que é que isto possa servir. Mas não é grave porque na verdade também nunca vi para que é que servem as selfies tiradas por nós os humanos.
Faz-se assim: