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