[Humor] Keep Calm and Call the ABAPer
Para mantermos a sanidade, um pouco de humor para o final de semana, com os créditos para o Custódio de Oliveira, obrigado @zcust01!
ABAP | Open Source | Agile | Programação
Para mantermos a sanidade, um pouco de humor para o final de semana, com os créditos para o Custódio de Oliveira, obrigado @zcust01!
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.
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.
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.
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.
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.
Semana passada, mais especificamento no dia 12 de Abril tive a oportunidade de participar do SAP Inside Track Vancouver 2012. Gostaria de compartilhar detalhes do evento já que este evento também ocorre no Brasil.
Para quem não sabe o SAP Inside Track é um evento aberto a comunidade e gratuito. Ano passado, participamos do evento realizado em São Paulo e em São Leopoldo. Nele são apresentados novas tecnologias, tendências de mercado, demonstrações de produtos e outras atividades bem interessantes. No caso do evento em Vancouver, o tema foi mobilidade. Como o número de vagas é limitado, não hesitei quando li na SDN o anúncio do evento, 2 meses antes do mesmo. Sugiro o mesmo caso queira participar do evento no Brasil. Por isso, fique sempre ligado na SDN e leia os newsletters.
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.
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.