Slides disponível em

http://slides.com/fabiopagoti/scn-rj-2016 ou

Fábio Pagoti

Bacharel em Sistemas de Informação

pela EACH/USP


Escritor do site www.abap101.com


Escritor do livro UI5 para desenvolvedores ABAP

www.leanpub.com/ui5


Instrutor da www.privatetraining.com.br


Sócio da Dux Innovation, criadora da plataforma na nuvem para clínicas e consultórios

www.genu.com.br

Agenda

  • Conceitos básicos de ABAP
  • ABAP Objects (OO)
  • Melhores práticas
  • Como desenvolver em ABAP
  • O futuro do ABAP no mundo Fiori

Be

a

BA


ABAP

Convenção de Nomeclatura

  • SAP: qualquer letra, exceto Y e Z
  • Clientes da SAP: iniciando em Y ou Z

Arquitetura

Apresentação

Aplicação

Banco de dados

ABAP

"Qualquer um"

O banco está disponível

REPORT z_hello_world.

DATA v_total_de_compras TYPE i.

SELECT 
    count(*) 
    FROM VBAK 
    INTO v_total_de_compras.

WRITE v_total_de_compras.

Estruturas (work areas)

Tabelas internas

Estrutura de Dados

Dicionário de Dados

Cadastro enorme de tipos

Demo 1

  • Logar no SAP
  • Criar um programa ABAP
  • Usar o dicionário
  • Executar
  • Debug

ABAP Objects
(OO)

Procedural

OO

DATA v_soma TYPE i.

CALL FUNCTION 'Z_SOMAR'
    EXPORTING
        a = 2
        b = 3
    IMPORTING
        soma = v_soma

PERFORM imprimir USING v_soma.
CLASS lcl_venda DEFINITION.
    PUBLIC SECTION.
        METHODS criar.
ENDCLASS.

CLASS lcl_venda IMPLEMENTATION.
        METHOD criar.
           ...
        ENDMETHOD.
ENDCLASS.


DATA(r_venda) = NEW lcl_venda( ).

r_venda->criar( ).

Demo 2

  • ABAP Objects
  • Refactoring
  • Aplicação do OO

Melhores Práticas

$$$

$$$

$$$

$$$

$$$

Visão do todo

Manutenção

  • Qual a necessidade?
  • Qual a solução?
  • Qual a complexidade?
  • Qual o impacto?
  • Qual o trabalho?

Organizar o "deploy"

Usar ferramentas
de desenvolvimento

  • Code Inspector
  • Análise de Desempenho
  • Traces, etc

Demo 3

  • Code Inspector
  • Simulação de deployment
  • Simulação de mudança

Como desenvolver em ABAP

hoje

Mobile First

SAP Gateway

  • Implementação do padrão oData feito em ABAP
  • RESTful
  • Usado por aplicações web e móveis

Demo 4

  • Criação de web service
  • Implementação de web service
  • Análise do resultado

O futuro presente do ABAP no mundo Fiori 

Nova Arquitetura

Apresentação

Aplicação

Banco de dados

HCP

SAP Web IDE

ABAP

HTML5/iOS

SAPUI5

  • Biblioteca JS de front end
  • MVC, Data Binding
  • ~1000 apps
  • www.openui5.org
<Button 
    text="Salvar" 
    press="onPress" 
/>
function onPress(oEvent){

}

Demo 5

  • Entrar na Web IDE
  • Criar app web (SAPUI5)
  • Adicionar app no Fiori Launchpad

O Futuro do ABAP

  • Linguagem voltada para back-end
  • Profissional precisa saber DB e front end
  • Código é um mero detalhe

Para saber mais

abap101.com

 

fabiopagoti@abap101.com

 

go.sap.com/community.html

SCN Meetup Rio de Janeiro 2016.2

By Fabio Luiz Esperati Pagoti

SCN Meetup Rio de Janeiro 2016.2

Apresentação sobre ABAP e seu futuro realizada no SENAC RJ em 01/12/2016

  • 1,464