## Application Details | | | ------------- | |**Generation Date and Time**
Mon Sep 14 2026 12:49:13 GMT-0700 (Pacific Daylight Time)| |**App Generator**
SAP Fiori Application Generator| |**App Generator Version**
1.32.0| |**Generation Platform**
Visual Studio Code| |**Template Used**
List Report Page V4| |**Service Type**
File| |**Metadata File**
metadata.xml| |**Module Name**
app| |**Application Title**
Arena PLM Engineering Changes Approval Flow| |**Namespace**
com.minicircuits| |**UI5 Theme**
sap_horizon| |**UI5 Version**
1.152.0| |**Enable TypeScript**
True| |**Add Eslint configuration**
True, see https://www.npmjs.com/package/@sap-ux/eslint-plugin-fiori-tools#rules for the eslint rules.| |**Main Entity**
ChangeApprovals| ## Service binding (provisional) The app binds to the RAP **UI** service binding, not the A2X binding the worker uses. The single source of truth for the service identity is the header comment of `webapp/localService/mainService/metadata.xml`: | Item | Value | |---|---| | Service binding (OData V4 - UI) | `ZUI_ARENA_CHANGE_APPROVAL_O4` | | Service definition | `ZUI_ARENA_CHANGE_APPROVAL` | | Service URL | `/sap/opu/odata4/sap/zui_arena_change_approval_o4/srvd/sap/zui_arena_change_approval/0001/` | | Schema namespace / alias | `com.sap.gateway.srvd.zui_arena_change_approval_o4.v0001` / `SAP__self` | | Entity type / entity set | `ChangeApproval_Type` / `ChangeApproval` | The first URL segment and the schema namespace are derived from the service **binding** name, the segment after `srvd/sap/` from the service **definition** name - strongly indicated by the tenant's `/sap/opu/odata4/sap/api_currencyexchangerate/srvd_a2x/sap/currencyexchangerate/0001` (namespace `com.sap.gateway.srvd_a2x.api_currencyexchangerate.v0001`) and SAP Help's `/sap/opu/odata4/sap/api_product/srvd_a2x/sap/product/0002` [source: sap-docs sap-help loio 5f45f125dfe84c20beb18f5de1512f5a, verified 2026-09-14]. `webapp/manifest.json` (`sap.app.dataSources.mainService.uri`, routing) and `webapp/annotations/annotation.xml` (`edmx:Reference`, every `Annotations Target`, every `DataFieldForAction.Action`) must stay in sync with it. JSON cannot carry comments, so the manifest references this note instead. **Provisional - namespace = binding name is strongly indicated, not proven; reconcile namespace, entity type suffix and URL segments against the live `$metadata` of the RAP UI service binding at PRD V-2 before deploy.** ## Status model and actions `Status`: `PENDING -> APPROVED -> EXECUTING -> SYNCED | FAILED`; `REJECTED` is terminal; `FAILED -> retrySync -> EXECUTING`. `approve`/`reject` are enabled only for `PENDING`, `retrySync` only for `FAILED` (mocked via `IsApprovable` / `IsRetriable`, which stand in for the `Core.OperationAvailable` RAP emits for `( features : instance )` actions - PRD RAP-1). Actions are offered on the object page header only; the list report table is display-only (`selectionMode: "None"`). ## Launchpad `sap.app.crossNavigation.inbounds` declares the intent `ArenaChangeApproval-manage`; on deployment to the ABAP environment the launchpad app descriptor item (target mapping + tile) is generated from it, and an IAM app / business catalog / business role make it visible [source: sap-docs /btp-cloud-platform/30-development/sap-fiori-applications-in-the-abap-environment-1d9deef, verified 2026-09-14]. `sap.fiori.registrationIds` stays empty: it holds SAP Fiori IDs of SAP-delivered apps and is not required for a custom app (only `archeType` is mandatory) [source: sap-docs /sapui5/04_Essentials/manifest-descriptor-for-applications-components-and-libraries-be0cf40, verified 2026-09-14]. Dev server: `npm run start-mock` / `npm run int-test` bind to port **8082** (8080 is taken on the dev host). Mock data lives in `webapp/localService/mainService/data/ChangeApproval.json` (`generateMockData: false`), 8 rows covering every status. ## app An SAP Fiori application. ### Starting the generated app - This app has been generated using the SAP Fiori tools - App Generator, as part of the SAP Fiori tools suite. To launch the generated application, run the following from the generated application root folder: ``` npm start ``` - It is also possible to run the application using mock data that reflects the OData Service URL supplied during application generation. In order to run the application with Mock Data, run the following from the generated app root folder: ``` npm run start-mock ``` #### Pre-requisites: 1. Active NodeJS LTS (Long Term Support) version and associated supported NPM version. (See https://nodejs.org)