Categoria: ABAP

SAP on HANA

Está na hora de nossos leitores entrarem em contato com HANA e o entender o que isso mudará em suas vidas de ABAPers. Preparado para o SAP on Hana?

Criando Objetos / Chamando Métodos Dinamicamente

Criando Objetos / Chamando Métodos Dinamicamente

Na busca pela solução de um problema, debugando, debugando e debugando novamente, me deparei com a criação dinâmica de objetos. Estudando mais a fundo, eis que surge assunto para mais um post! Afinal, quanto mais dinâmicos forem os programas e API´s, melhor será sua performance e re-usabilidade. O que faz com que consigamos criar o objeto / chamar o método dinamicamente, é a utilização de uma tabela, na qual informamos todos os parâmetros necessários (seja de importing, exporting, changing, etc), ou seja, podemos popular esta tabela de acordo com nossa necessidade em determinado ponto do programa.

Recursividade em ABAP

Uma das técnicas de programação mais incompreendida e evitada, também é umas das mais poderosas, a Recursividade. Eu precisei usar a recursividade apenas uma única vez na vida com ABAPer e o resultado foi muito interessante. Nesse texto eu vou resolver um problema muito simples usando recursividade, exponenciação.

Aplicação do Design Pattern: Factory

Aplicação do Design Pattern: Factory

Depois de falarmos do Singleton, está na hora de falarmos de outro padrão de projeto, o Factory. O Factory é mais difícil de entender do que o Singleton. Mais do que isso, mais difícil de mostrar alguma aplicação prática. Nesse post eu mostrarei as duas coisas, explicar o funcionamento do Factory, bem como sua aplicação.

Importanto e Exportanto Uma Tabela Interna – Módulo de Função

Importanto e Exportanto Uma Tabela Interna – Módulo de Função

Estava procurando algum assunto para escrever, e uma luz do céu e-mail chegou com uma dúvida e que em todas as turmas da Academia ABAP tem, como importar ou exportar uma tabela interna para um módulo de função ou método. A solução pode ser respondida com uma simples frase: “Use um Table Type (Categoria de Tipos)”. Só com isso já seria suficiente para você sair do outro lado, mas fazendo jus ao “101” do nome do site, vou explicar passo a passo como fazer em um módulo de função. No próximo post, eu explicarei como fazer em um método.

Tratamento de Exceção – Propagação e CLEANUP

Tratamento de Exceção – Propagação e CLEANUP

Quando eu explico tratamento de exceção na academia ABAP, o pessoal não dá muita bola, até porque os alunos ainda estão tentando se recuperar das aulas de polimorfismo e interface, mas entender o funcionamento dela é vital para desenvolver boas soluções usando orientação a objetos (não somente para aprender a escrever a palavra exceção). Nesse post, vou explicar dois conceitos ligado ao tratamento de exceções baseado em classes, propagação e comando CLEANUP.

MVC - Fonte: http://www.fernandovalente.com.br/wordpress/2011/01/11/mvc-model-view-controller/

Falsa Programação Orientada a Objetos

O que é um programa ABAP orientado a objetos? Se um programa usa somente CALL METHOD e nenhum PERFORM, então trata-se de um programa orientado a objetos? Acredito que não. O uso de sintaxe de orientação a objetos não é evidência suficiente de que o programa foi pensado na forma de objetos trocando mensagens entre si. Trago para vocês dois pogramas com saídas idênticas, mas um usando uma “orientação a objetos” capenga e outro que considero uma melhor forma de resolver o problema pensando em objetos.

Design Patern – Singleton

Design Patern – Singleton

Então você já aprendeu como declarar uma classe, chamar um método e aplicar os conceitos de herança e polimorfismo (já né?). Parabéns você completou a primeira parte do aprendizado em programação orientada a objetos. Agora só falta mais uns 95% para poder ser considerado um Mestre Jedi em Orientação a Objetos. Vamos ganhar mais um ponto porcentual e falarmos de Singleton.

ALV OO – Trabalhando com botões e eventos

ALV OO – Trabalhando com botões e eventos

Sem dúvida, uma das atividades mais realizadas por um programador ABAP é a emissão de relatórios. Como não estamos na era dos dinossauros, “não conhecemos” o relatório “write” e vamos direto aos “ALV’s”. Este post tem como objetivo exemplificar algumas funcionalidades de um ALV OO (Orientado a Objetos),  são elas: Exclusão de botões do toolbar de um ALV OO Inclusão de botões no toolbar do ALV Utilização de eventos Como desabilitar um botão (ele aparece, mas não é possível clicar) Geração de um ALV sem necessidade de criação de um container Veja também: Como encontrar ícones Utilização de interfaces