134 lines
8.9 KiB
XML
134 lines
8.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
MOCK OData V4 $metadata for the Arena PLM change-approval Fiori Elements app (ADR-002).
|
|
|
|
=====================================================================================
|
|
SERVICE IDENTITY - single source of truth for the app (referenced by manifest.json,
|
|
annotation.xml and ui5-mock.yaml / ui5-local.yaml):
|
|
RAP service binding (OData V4 - UI) : ZUI_ARENA_CHANGE_APPROVAL_O4
|
|
RAP service definition : ZUI_ARENA_CHANGE_APPROVAL
|
|
Version : 0001
|
|
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
|
|
Root entity type / entity set : ChangeApproval_Type / ChangeApproval
|
|
The first URL segment after /sap/opu/odata4/sap/ and the schema namespace are strongly
|
|
indicated to be derived from the service BINDING name (the segment after srvd|srvd_a2x/sap/
|
|
is the service DEFINITION name): the tenant serves
|
|
/sap/opu/odata4/sap/api_currencyexchangerate/srvd_a2x/sap/currencyexchangerate/0001 with
|
|
namespace com.sap.gateway.srvd_a2x.api_currencyexchangerate.v0001, and SAP Help documents
|
|
/sap/opu/odata4/sap/api_product/srvd_a2x/sap/product/0002.
|
|
[source: live tenant my429480 ~/projects/sap-apps/exchange-rates-cap/package.json lines 33,39 and
|
|
srv/external/API_CURRENCYEXCHANGERATE.edmx line 55; sap-docs sap-help loio 5f45f125dfe84c20beb18f5de1512f5a,
|
|
verified 2026-09-14]
|
|
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.
|
|
=====================================================================================
|
|
|
|
Shape mirrors what an ABAP Cloud OData V4 service binding emits: schema namespace
|
|
com.sap.gateway.<srvd|srvd_a2x>.<binding>.v0001 with Alias="SAP__self", entity types
|
|
suffixed "_Type", un-suffixed entity sets, and vocabulary aliases SAP__common /
|
|
SAP__capabilities / SAP__core / SAP__UI.
|
|
[source: live tenant my429480 EDMX ~/projects/sap-apps/exchange-rates-cap/srv/external/API_CURRENCYEXCHANGERATE.edmx
|
|
lines 13-31 (vocabulary aliases), 55 (schema/alias), 57 (_Type), 95 (entity set), verified 2026-09-14]
|
|
A Fiori app consumes the UI service binding (srvd), not the A2X binding used by the worker.
|
|
[source: sap-docs sap-help loio 5717c0a1dafc4335add0207b81c39cef, verified 2026-09-14]
|
|
|
|
Action availability: RAP emits Core.OperationAvailable for actions declared with
|
|
"( features : instance )" in the behavior definition; the Fiori side needs no extra annotation.
|
|
[source: sap-docs /sapui5/06_SAP_Fiori_Elements/actions-cbf16c5#enabling-custom-actions-defined-using-annotations
|
|
("No ABAP CDS annotation is required, since the setting is made according to the modelling ... in RAP BDEF"),
|
|
abap-docs /abap-docs-standard/ABENBDL_ACTIONS_FC, verified 2026-09-14]
|
|
The mock models the emitted result with the boolean properties IsApprovable / IsRetriable.
|
|
-->
|
|
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
|
|
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CAPABILITIES',Version='0001',SAP__Origin='LOCAL')/$value">
|
|
<edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="SAP__capabilities"/>
|
|
</edmx:Reference>
|
|
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMON',Version='0001',SAP__Origin='LOCAL')/$value">
|
|
<edmx:Include Namespace="com.sap.vocabularies.Common.v1" Alias="SAP__common"/>
|
|
</edmx:Reference>
|
|
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CORE',Version='0001',SAP__Origin='LOCAL')/$value">
|
|
<edmx:Include Namespace="Org.OData.Core.V1" Alias="SAP__core"/>
|
|
</edmx:Reference>
|
|
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_UI',Version='0001',SAP__Origin='LOCAL')/$value">
|
|
<edmx:Include Namespace="com.sap.vocabularies.UI.v1" Alias="SAP__UI"/>
|
|
</edmx:Reference>
|
|
<edmx:DataServices>
|
|
<Schema Namespace="com.sap.gateway.srvd.zui_arena_change_approval_o4.v0001" Alias="SAP__self" xmlns="http://docs.oasis-open.org/odata/ns/edm">
|
|
<Annotation Term="SAP__core.SchemaVersion" String="1.0.0"/>
|
|
|
|
<EntityType Name="ChangeApproval_Type">
|
|
<Key>
|
|
<PropertyRef Name="ID"/>
|
|
</Key>
|
|
<Property Name="ID" Type="Edm.Guid" Nullable="false"/>
|
|
<Property Name="ItemNumber" Type="Edm.String" MaxLength="18"/>
|
|
<Property Name="ItemName" Type="Edm.String" MaxLength="40"/>
|
|
<Property Name="ChangeType" Type="Edm.String" MaxLength="15"/>
|
|
<!-- Status domain: PENDING -> APPROVED -> EXECUTING -> SYNCED | FAILED; REJECTED terminal;
|
|
FAILED -retrySync-> EXECUTING. approve/reject only for PENDING, retrySync only for FAILED (PRD RAP-1). -->
|
|
<Property Name="Status" Type="Edm.String" MaxLength="10"/>
|
|
<Property Name="StatusCriticality" Type="Edm.Byte"/>
|
|
<Property Name="ArenaEcoId" Type="Edm.String" MaxLength="20"/>
|
|
<Property Name="RequestedBy" Type="Edm.String" MaxLength="12"/>
|
|
<Property Name="RequestedOn" Type="Edm.DateTimeOffset" Precision="7"/>
|
|
<Property Name="DecidedBy" Type="Edm.String" MaxLength="12"/>
|
|
<Property Name="DecidedOn" Type="Edm.DateTimeOffset" Precision="7"/>
|
|
<Property Name="SapChangeNumber" Type="Edm.String" MaxLength="12"/>
|
|
<Property Name="ErrorMessage" Type="Edm.String" MaxLength="255"/>
|
|
<Property Name="RejectReason" Type="Edm.String" MaxLength="255"/>
|
|
<!-- abap.string on the RAP side: emitted as Edm.String without MaxLength -->
|
|
<Property Name="SapPreview" Type="Edm.String"/>
|
|
<!-- Instance feature-control results (RAP "features : instance"), consumed by Core.OperationAvailable below -->
|
|
<Property Name="IsApprovable" Type="Edm.Boolean"/>
|
|
<Property Name="IsRetriable" Type="Edm.Boolean"/>
|
|
</EntityType>
|
|
|
|
<!-- Bound actions (binding parameter "_it" as emitted by RAP service bindings) -->
|
|
<Action Name="approve" IsBound="true">
|
|
<Parameter Name="_it" Type="SAP__self.ChangeApproval_Type" Nullable="false"/>
|
|
<ReturnType Type="SAP__self.ChangeApproval_Type" Nullable="false"/>
|
|
</Action>
|
|
<Action Name="reject" IsBound="true">
|
|
<Parameter Name="_it" Type="SAP__self.ChangeApproval_Type" Nullable="false"/>
|
|
<Parameter Name="RejectReason" Type="Edm.String" Nullable="false" MaxLength="255"/>
|
|
<ReturnType Type="SAP__self.ChangeApproval_Type" Nullable="false"/>
|
|
</Action>
|
|
<Action Name="retrySync" IsBound="true">
|
|
<Parameter Name="_it" Type="SAP__self.ChangeApproval_Type" Nullable="false"/>
|
|
<ReturnType Type="SAP__self.ChangeApproval_Type" Nullable="false"/>
|
|
</Action>
|
|
|
|
<EntityContainer Name="Container">
|
|
<EntitySet Name="ChangeApproval" EntityType="com.sap.gateway.srvd.zui_arena_change_approval_o4.v0001.ChangeApproval_Type"/>
|
|
</EntityContainer>
|
|
|
|
<!-- Service-side (metadata) annotations, as a RAP service binding would emit them -->
|
|
<Annotations Target="SAP__self.ChangeApproval_Type/ID">
|
|
<Annotation Term="SAP__core.Computed"/>
|
|
</Annotations>
|
|
<Annotations Target="SAP__self.approve">
|
|
<Annotation Term="SAP__core.OperationAvailable" Path="IsApprovable"/>
|
|
</Annotations>
|
|
<Annotations Target="SAP__self.reject">
|
|
<Annotation Term="SAP__core.OperationAvailable" Path="IsApprovable"/>
|
|
</Annotations>
|
|
<Annotations Target="SAP__self.retrySync">
|
|
<Annotation Term="SAP__core.OperationAvailable" Path="IsRetriable"/>
|
|
</Annotations>
|
|
<Annotations Target="SAP__self.Container/ChangeApproval">
|
|
<Annotation Term="SAP__capabilities.InsertRestrictions">
|
|
<Record><PropertyValue Property="Insertable" Bool="false"/></Record>
|
|
</Annotation>
|
|
<Annotation Term="SAP__capabilities.DeleteRestrictions">
|
|
<Record><PropertyValue Property="Deletable" Bool="false"/></Record>
|
|
</Annotation>
|
|
<Annotation Term="SAP__capabilities.UpdateRestrictions">
|
|
<Record><PropertyValue Property="Updatable" Bool="false"/></Record>
|
|
</Annotation>
|
|
</Annotations>
|
|
</Schema>
|
|
</edmx:DataServices>
|
|
</edmx:Edmx>
|