Step 5 of 5 Intermediate 10 min

Capstone: Modernising One App, Start to Finish

Lesson 5, the capstone — Four lessons, four separate skills: spotting the debt, understanding OData V2 to V4, choosing Fiori Elements vs freestyle, reading a readiness check. Here's how they combine into one real modernisation pass, start to finish.

S
s4ready.ai Team

Prerequisites

  • Lesson 4: Reading a UI5/Fiori readiness check

Four lessons, four separate skills — spotting deprecated-library risk, understanding what OData V2 to V4 actually changes, choosing Fiori Elements vs freestyle, and reading a readiness check’s severity distribution. None of them is the point in isolation. The point is running all four, in order, on one real app. This capstone is where they combine.

The pipeline, one picture

The four-step modernisation pipeline, one app at a timeAssess: run a readiness check, get severity-classified findings. Decide: Fiori Elements floorplan or freestyle, based on the heuristic from lesson three. Migrate: rebind OData from V2 to V4, or generate the Fiori Elements app against the V4 service. Verify: UI5 linter clean, functional test pass, confirm it renders correctly under the current theme.1. ASSESSRun a readiness check —severity-classified findings2. DECIDEFiori Elements floorplan,or freestyle — by heuristic3. MIGRATERebind V2 → V4, orgenerate against V4 service4. VERIFYLinter clean, functionaltest, renders under theme
Four lessons, four boxes — run in this order, on one app, and the whole journey becomes a repeatable process instead of four separate facts.

Walking through one illustrative pass

Picture a freestyle app still on OData V2, built years ago as a simple “browse purchase orders, open one, see the detail” screen — no unusual interactions, nothing custom beyond a standard list and detail view.

  1. Assess. A readiness check flags it: OData V2 (High), minUI5Version several releases behind current (Medium), no deprecated-library hits (nothing Critical here — this one’s earlier debt, not the worst kind).
  2. Decide. “Browse a collection, open one, see the detail” is the textbook List Report + Object Page shape from Lesson 3 — an LROP app. No custom interaction forces freestyle here.
  3. Migrate. The backend gets a CDS-based OData V4 service with the right @UI annotations; the old freestyle controllers and their V2 getData()/getObject() calls are retired entirely, not rewritten in place — the Fiori Elements app is generated fresh against the V4 service.
  4. Verify. UI5 linter comes back clean, the functional test confirms the same business behaviour, and it renders correctly under Horizon — the exact failure mode from Lesson 1 that started this whole journey.

That’s the difference between “migrating” an app and rebuilding it as a Fiori Elements app from a clean V4 service: for a standard List-Report-shaped app, the rebuild is very often less total effort than trying to painstakingly rebind fragile freestyle controller code.

Try it yourself — the actual capstone

Pick one real app from your own landscape. Run it through all four boxes, on paper if you don’t have tooling in front of you right now: what does an honest assessment find, what floorplan (or freestyle) does it actually need, what has to change to reach V4, and what would “verified” concretely look like for this specific app? If you can answer all four without hesitating, you’ve run a real modernisation decision — not just read about one.

You’ve finished Fiori & UI5 Modernisation

From a deprecated-library debt problem hiding in plain sight, through what OData V2 to V4 actually changes, to picking Fiori Elements or freestyle on a real heuristic, to reading a readiness check the same disciplined way you’d read an ABAP one — you now have a repeatable process for your front-end estate, not just a list of new terms.

Where to go next:

Key takeaways

  • Assess, decide, migrate, verify — the same four steps, run per app, turn four lessons into one repeatable modernisation process.
  • A standard “browse, then detail” app is very often cheaper to rebuild as Fiori Elements against a fresh V4 service than to painstakingly rebind in place.
  • “Verified” means UI5-linter-clean, functionally tested, and rendering correctly under the current theme — all three, not just the one that’s easiest to check.