{"ref":"content:a-chatgpt-like-chat-app-with-cap-and-sapui5-part-3","page":"/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-3","json":"/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-3.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"a-chatgpt-like-chat-app-with-cap-and-sapui5-part-3","title":"A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 3/3","url":"https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13556185","content_type":"blog","explains":["artifact:mikezaschka-cap-ui5-gpt-chat",{"ref":"capability:llm-integration","applies_to":{"ecosystems":["cap","ui5"]}},{"ref":"capability:ui5-typescript","what_it_covers":"What changes in a UI5 app written in TypeScript, shown as the same controller twice: the ES module and class syntax the Babel-based tooling transpiles back into `sap.ui.define`, `private` members the framework's own class system has no notion of, the framework's type definitions standing in for a trip to the API reference, and a wrong property name (`Id` for `ID`) caught by the compiler instead of surfacing as a message that never appears in the list."}],"summary":"The SAPUI5 frontend of the sample, and mostly an argument for writing UI5 in TypeScript: ES imports in place of `sap.ui.define`, a class with real `private` members in place of the underscore convention, and the service types generated from the CDS model copied into the UI package, so one `IChats` interface types the OData object the controller reads. The second half is structure — a formatter class and a singleton `LayoutManager` called from the XML view through `core:require`, a confirmation helper taking a callback, a dialog class resolving a promise, a generic `createEntity<T>` on a service class — all of it to keep every controller under 100 lines. What it says about arranging a UI5 app holds whatever model sits behind the chat; the tooling around it is of its date, and the post calls UI5's TypeScript support experimental.","short":"SAPUI5 frontend of a GPT chat app, written in TypeScript","authors":["actor:mike-zaschka"],"published":"2023-02-27","stale_findings":[{"token":"cds2types","note":"The frontend's `IChats` and `IMessages` come from a `ChatService.ts` that cds2types generated from the CDS model and a copy step moved into the UI package. [@cap-js/cds-typer](artifact:cap-js-cds-typer) is the official generator since it went open source, so the generating half of the pattern has moved; copying the result into the frontend has not.","from":"capability:typescript-patterns","since":"@cap-js/cds-typer 0.5.0","recorded":"2026-09-16"}],"sources":[{"url":"https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13556185","title":"A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 3/3 — SAP Community","checked":"2026-09-07"}],"provenance":{"discovered_via":[{"source":"source:sap-community","channel":"cap-tag"}],"first_seen":"2026-09-07"},"part_of":"content:a-chatgpt-like-chat-app-with-cap-and-sapui5-part-1","position":3,"drafted_with_ai":true,"published_on":"source:sap-community","history":[{"date":"2026-10-17","field":"explains","from":null,"to":"applies_to on capability:llm-integration","reason":"Door scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md)."}]},"readings":{"liveness":[{"label":"Checked against the source","tier":"unknown","evidence":"nobody has checked it"},{"label":"Source reachable","tier":"unknown","evidence":"not crawled"},{"label":"Age","tier":"poor","evidence":"published 44 months ago"}],"compatibility":[{"label":"Version","tier":"unknown","evidence":"no version declared"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2023-02-27"},{"label":"Findings","tier":"poor","evidence":"1 dead token"}],"reach":[{"value":13109,"unit":"views"},{"value":6,"unit":"comments"},{"value":35,"unit":"likes"}]},"signals":{"views":13109,"likes":35,"comments":6,"metrics_at":"2026-10-25"},"series":{"container":false,"of":3,"at":3,"parts":[{"position":1,"title":"A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 1/3","url":"https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13549057","published":"2023-02-22","state":"indexed","id":"a-chatgpt-like-chat-app-with-cap-and-sapui5-part-1"},{"position":2,"title":"A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 2/3","url":"https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13552130","published":"2023-02-24","state":"indexed","id":"a-chatgpt-like-chat-app-with-cap-and-sapui5-part-2"},{"position":3,"title":"A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 3/3","url":"https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13556185","published":"2023-02-27","state":"indexed","id":"a-chatgpt-like-chat-app-with-cap-and-sapui5-part-3"}]},"edges":{"authors":[{"ref":"actor:mike-zaschka","name":"Mike Zaschka","json":"/actors/mike-zaschka.json"}]}}