Criando nosso "Olá Mundo" no CAP
Opaa, bem com vocês ?
Hoje venho mostrar como criar um pequeno app no CAP, tempos atrás falei do irmão menos chique do CAP, o RAP. Diferente do RAP que desenvolvemos usando o ABAP, o CAP pode ser desenvolvido via NodeJS ou JAVA.
Para quem não viu o tutorial sobre o RAP, segue o artigo:
Pré-requisitos para seguir o tutorial:
Não vou mostrar como instala os dois, mas deixarei os links.
Depois tudo acima, siga esse caminho para instalar o SAP CDS Language Support. Clique em instalar no lado direto (o meu não mostra pq já instalei)
Com tudo que precisamos instalado, precisamos agora instalar um modulo do CAP, para isso, abra o VS Code e abra o terminal ( CRTL + ' ) e digite:
npm i -g @sap/cds-dk
Espere a conclusão da instalação... Depois de concluido, vamos criar o projeto. Digite na sua pasta de preferência o comando:
cds init hello-world-cap
Se não ocorreu nenhum erro, entre na pasta criada
cd <nome do seu projeto>
e execute o comando, isso irá abrir o VS Code com a pasta criada acima
code .
Vai ter essa carinha se tudo deu certo
Agora no terminal digite
npm install
Com tudo OK até agora, vamos criar nosso arquivo que vai ter as entidades na pastinha DB chamado schema.cds. Nela vamos definir nossa(s) entidade(s).
Abra o arquivo e cole o código abaixo:
namespace helloworld.cap.Pessoas;
define entity Pessoa{
key CPF: Integer;
nome: String;
idade: Integer;
}
Agora vamos criar o serviço. Na pastinha SRV, criei um arquivo chamado service.cds
E cole esse código nesse arquivo
using { helloworld.cap.Pessoas as my } from '../db/schema';
define service Pessoas {
entity Pessoas as projection on my.Pessoa;
}
annotate Pessoas.Pessoas with @(
UI: {
LineItem: [
{
Value: CPF
},
{
Value: nome
},
{
Value: idade
}
]
}
) ;
Agora vamos instalar nosso banco de dados, que talvez para infelicidade de alguns não será o HANA e sim o SQLITE, execute o comando na pasta do seu projeto:
Recomendados pelo LinkedIn
OBS: É recomendado o uso do SQLITE para ambientes de DEV e o HANA para ambientes produtivos
npm add @cap-js/sqlite -D
Se deu sucesso, vamos configurar o SQLITE no package.json. Cole esse comando no arquivo package.json
"cds": {
"requires": {
"db": {
"kind": "sqlite",
"credentials": {
"url": "db.sqlite"
}
}
}
}
e depois execute o comando no terminal
cds deploy
Depois do deploy será criado um novo arquivo, conforme abaixo:
Agora vamos criar nossos dados, para isso rode o comando
cds add data
Isso criará uma pastinha dentro da pasta DB chamado DATA e dentro dela um arquivo .CSV com as colunas da sua nova tabela. No arquivo digite as linhas de sua tabela, abaixo das colunas
Exemplo:
CPF,nome,idade
1234,Fabricio, 29
Depois que fizer isso, rode:
cds deploy
Retornando no arquivo db.sqlite agora possui um registro
agora vamos rodar nosso app, abra o terminal novamente e digite
npm start
ou
cds watch
o cds watch fica monitorando mudanças a cada salvamento, enquanto o npm start se tiver alguma mudança não é reiniciado.
Entre nessa url onde está o servidor local(essa porta pode mudar)
Se tudo deu certo (Espero) vai mostrar essa tela no navegador, aqui vemos nossas entidades que está exposta.
Agora clique em Fiori preview e veja a mágica acontecer
pode também clicar no nome da entidade que vai mostrar o payload do serviço, nesse caso o nosso GET da entidade
E é isso, espero que isso ajude a entrar nesse maravilhoso mundo!
Desenvolvedor SAP ABAP na Icatu Seguros
6 mDaniel Carvas
Software Engineering Manager
7 mótimo material, Dalcy!
SAP ABAP PI/PO Sr.
7 mMuito bom 👏🏼👏🏼👏🏼
SAP FS-CD | SAP BTP Certified Consultant @ Convista Brasil
7 mÉ um caminho sem volta! #sunday23hs