Criando nosso "Olá Mundo" no CAP

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:

Criando um App no ABAP RAP

Pré-requisitos para seguir o tutorial:

  • NodeJS instalado
  • Visual Studio Code instalado
  • Extensão no VS Code do CDS Language Support


Não vou mostrar como instala os dois, mas deixarei os links.

Como instalar o VS Code(Windows)

Como instalar o Node JS(Windows)


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:

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!


ótimo material, Dalcy!

Muito bom 👏🏼👏🏼👏🏼

Luiz Carlos de Souza

SAP FS-CD | SAP BTP Certified Consultant @ Convista Brasil

7 m

É um caminho sem volta! #sunday23hs

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos