Sessoes/2026 09 29 Joule Gerou Ui

← início

Sessão 29/09/2026 (2) — 🎉 A Joule gerou a UI Fiori!

Objetivo: executar o exercício completo no SAP Build Code: modelar dados → expor serviço → gerar UI com a Joule.

Resultado: ✅ MISSÃO CUMPRIDA! A Joule gerou o app SAP Fiori Elements (List Report + Object Page).

---

🏆 O que foi feito (passo a passo real)

#PassoComo
1Dev space atualizadoO dev space tinha parado por inatividade — reaberto pelo lobby
2Modelo de dadosCriado db/schema.cds via terminal da IDE: namespace ai.joule.lab + entidade PurchaseOrder
3ServiçoCriado srv/service.cds: PurchaseService expõe PurchaseOrders
4StoryboardAtualizou automaticamente ao detectar os arquivos CDS ✅
5JouleCtrl+Shift+P → Joule: Focus on Joule View
6Comando/fiori-gen-cap-ui Generate a SAP Fiori Elements list report for PurchaseOrders with all fields
7ResultadoApp gerado em app/purchaseorders/webapp/ + Page Map (List Report → Object Page)

Prints: prints/07_joule_ui/ (5) + destaques 11 e 12.

---

🧠 Aprendizados desta sessão (importantes!)

  1. 1. O comando da Joule aceita (e exige) uma descrição:

/fiori-gen-cap-ui + o que você quer (ex.: "Generate a ... list report for PurchaseOrders").

Só o comando, sem descrição → "Type a prompt to get started".

  1. 2. O Storyboard lê o modelo dos arquivos CDS — não é preciso clicar; basta salvar

db/schema.cds + srv/service.cds que ele se atualiza.

  1. 3. Automação da IDE (o que funcionou):

- xdotool funciona na IDE — o segredo é usar as coordenadas da tela inteira

(a barra do Chrome ocupa ~104 px no topo) e garantir o foco na janela do Chrome.

- Minimizar o OpenCode/VS Code antes de automatizar (eles roubam o foco).

- O terminal da IDE é a forma mais confiável de criar/verificar arquivos.

  1. 4. Ctrl+S no OpenCode suspende a saída (controle de fluxo XON/XOFF do terminal);

Ctrl+Q retoma. (Boa dica para não se assustar.)

---

📂 Arquivos gerados pela Joule (no dev space)

/home/user/projects/ai-joule-lab2/

├── db/schema.cds (namespace ai.joule.lab + entity PurchaseOrder)

├── srv/service.cds (service PurchaseService + PurchaseOrders)

├── app/purchaseorders/ (app Fiori Elements gerado pela Joule)

│ └── webapp/

│ ├── i18n/i18n.properties

│ ├── test/integration/PurchaseOrdersListJourney.gen.js

│ └── test/integration/PurchaseOrdersObjectPageJourney.gen.js

├── .vscode/ (extensions, launch, settings, tasks)

├── package.json / package-lock.json

├── readme.md

└── xs-security.json

---

⏭️ Próximos passos

  1. 1. Rodar/preview o app gerado (botão Run / cds watch no terminal da IDE).
  2. 2. Refinar a UI no Page Map (títulos, colunas, ações) — e pedir ajuda à Joule de novo.
  3. 3. Comparar o resultado com o exemplos/ai-lab (mesmo stack CAP + Fiori).