当前位置: 首页 > news >正文

SAP学习笔记 - 开发39 - RAP开发 BTP /DMO 官方既存测试数据的使用

上一章讲了 RAP开发流程的具体步骤,建表 =》建Data Model View =》建 Projection View =》建Service Definition =》 建Service Binding =》Publish 服务。

SAP学习笔记 - 开发37 - RAP开发流程的具体步骤, 建表,Data Model View,Projection View,Service,Service Binding,Publish-CSDN博客
 

本章继续将RAP开发的知识。

本来想继续弄弄Behavior Definition的,结果好像有些地方有点儿不足,咱们找个好一点,最好是官方资料深入研究一下基础,再回到实例。 

目录

1,SAP 提供的测试数据 /DMO

1-1,/DMO/AGENCY

1-2,/DMO/TRAVEL

1-3,/DMO/CUSTOMER

1-4,/DMO/BOOKING

1-5,/DMO/FLIGHT

1-6,/DMO/BOOK_SUPPL

1-7,/DMO/SUPPLEMENT

1-8,/DMO/SUPPL_TEXT

1-9,/DMO/CONNECTION

1-10,/DMO/CARRIER

1-11,/DMO/AIRPORT

2,添加DMO Package

3,创建Data Model View

3-1,自己定个命名规约

3-2,建Data View Model

3-3,Semantically dependent elements(语义依赖元素)

1). 核心概念

2). SAP BTP 中的典型场景

a. 数据建模(如 SAP HANA Cloud, SAP Data Warehouse Cloud)

b. 集成服务(如 SAP Integration Suite)

c. 业务流程(如 SAP Workflow Management)

d. 扩展开发(如 SAP CAP (Cloud Application Programming))

3). 为什么需要标识语义依赖?

4). 技术实现示例(以CAP为例)

5. 常见问题

4,New Service Definition

5,New Service Binding

6,Pulish之后


下面是详细内容。

1,SAP 提供的测试数据 /DMO

SAP Help Portal - SAP Online Help

这组测试数据里面,一共有下面这么多表,以及表间关系:

SAP Help Portal - SAP Online Help

1-1,/DMO/AGENCY

/DMO/AGENCYThe database table /DMO/AGENCY stores general data about the travel agency that operates travels for customers.
The database table has the following fields:agency_id (key)namestreetpostal_codecitycountry_codephone_numberemail_addressweb_address

1-2,/DMO/TRAVEL


/DMO/TRAVELThe database table /DMO/TRAVEL stores general travel data. In addition, it includes administrative data about the creation and changing of instances.
The database table has the following fields:travel_id (key)agency_idcustomer_idbegin_dateend_datebooking_feetotal_pricecurrency_codedescriptionstatuscreatedbycreatedatlastchangedbylastchangedatThe key field is the unique ID for the travel.

1-3,/DMO/CUSTOMER


/DMO/CUSTOMERThe database table /DMO/CUSTOMER stores general data about customers. In addition, it stores administrative data about the creation and changing of instances.
The database table has the following fields:customer_idfirst_namelast_nametitlestreetpostal_codecitycountry_codephone_numberemail_addresscreatedatcreatedbylastchangedbylastchangedatThe key field is the unique ID for the customer.

1-4,/DMO/BOOKING


/DMO/BOOKINGThe database table /DMO/BOOKING stores data about a booked flight for a certain travel instance. Apart from general flight and booking data, it includes the customer ID for whom the flight is booked as well as the travel ID to which the booking belongs.
The database table has the following fields:travel_id (key)booking_id (key)booking_datecustomer_idcarrier_idconnection_idflight_dateflight_pricecurrency_codeThe key fields are the travel ID for the travel it belongs to and the booking ID, which are unique in combination.

1-5,/DMO/FLIGHT


/DMO/FLIGHTThe database table /DMO/FLIGHT stores general data about flights.
The database table has the following fields:carrier_id (key)connection_id (key)flight_date (key)pricecurrency_codeplane_type_idseats_maxseats_occupiedThe key fields are the IDs for carrier and connection as well as the flight date, which makes the flight unique.

1-6,/DMO/BOOK_SUPPL


/DMO/BOOK_SUPPLThe database table /DMO/BOOK_SUPPL stores data of booking supplements that can be booked for flights, for example meals or insurances.
The database table has the following fields:travel_id (key)booking_id (key)booking_supplement_id (key)supplement_idpricecurrency_codeThe key fields are the travel ID, the booking ID and the booking supplement ID, which are unique in combination.

1-7,/DMO/SUPPLEMENT


/DMO/SUPPLEMENTThe database table /DMO/SUPPLEMENT stores general data about the supplement, which can be booked for flights.
The database table has the following fields:supplement_id (key)pricecurrency_codeThe key field is the unique ID for the supplement.

1-8,/DMO/SUPPL_TEXT


/DMO/SUPPL_TEXTThe database table /DMO/SUPPL_TEXT stores the readable texts for the supplements in different languages.
The database table has the following fields:supplement_id (key)language_code (key)descriptionThe key fields are the IDs of the supplement and the language, which are unique in combination.

1-9,/DMO/CONNECTION


/DMO/CONNECTIONThe database table /DMO/CONNECTION stores general data about flight connections.
The database table has the following fields:carrier_id (key)connection_id (key)airport_from_idairport_to_iddeparture_timearrival_timedistancedistance_unitThe key fields are the IDs of carrier and connection, which are unique in combination.

1-10,/DMO/CARRIER


/DMO/CARRIERThe database table /DMO/CARRIER stores data about flight carriers.
The database table has the following fields:carrier_id (key)namecurrency_codeThe key field is the unique ID of a carrier.

1-11,/DMO/AIRPORT


/DMO/AIRPORTThe database table /DMO/AIRPORT stores data about airports.
The database table has the following fields:airport_id (key)namecitycountryThe key field is the unique airport ID.

2,添加DMO Package

这里跟DMO相关的还挺多的哈,这里选 /DMO/FLIGHT_LEGACY,然后点 OK

 

这样就加进来了哈,打开 Database Tables 子包,然后双击任意表名,即可打开表定义

 

右键 Open with > Data Preview,或者按 F8,即可查看表数据

 

3,创建Data Model View

表可以变,但是该有的组件和咱们上一篇文章里说的是一样的。

这里咱们创建Data Model View。

SAP学习笔记 - 开发37 - RAP开发流程的具体步骤, 建表,Data Model View,Projection View,Service,Service Binding,Publish-CSDN博客

 

简单截截图,这里就不做详细说明了,想看详细说明,看上一篇文章

3-1,自己定个命名规约

这个命名方式咱们自己搞一套好了,我看他们加个R,C啥的在中间,弄得好像不太好理解

- Z03_DV_xx =》Data Model View

- Z03_PV_xx =》Projection View

 - Z03_SD_xx =》Service Definition

 - Z03_SB_xx =》Service Binding

 - Z03_BD_xx =》Behavior Definition

 - Z03_BP_xx =》Behavior Projection

除了上面的,还有Consumption 部分:

 - Z03_UI_xx_V2/4 etc =》SAP Fiori UI

 - Z03_WB_xx_V2/4 etc =》Web API

3-2,建Data View Model

注意这里的Package,Name 都要选对,因为默认是相同包下面的,咱们就不要弄到人家那里去了

选TR,这是一样的,然后点Next

 

选模板,这里选 defineViewEntity,然后点Finish

 

弄完查看一下是不是建到自己想定的包下

 

按 F8,则数据会显示出来 

 

3-3,Semantically dependent elements(语义依赖元素)

这个概念比较重要,咱们稍微多说一点儿。

其实也可以简单理解为 两个或多个字段之间的关系。

比如重量,就是有数值+单位组成(Ex 5KG),那么这两个字段就是语义依赖元素。

其实它还有更多含义,咱们以后有机会慢慢理解。

SAP BTP (Business Technology Platform) 的上下文中,"semantically dependent elements" 通常指在元数据建模、数据集成或业务规则定义中,某个元素的含义(语义)依赖于另一个元素。这种依赖关系可能涉及数据模型、服务接口、流程逻辑或UI设计等场景。以下是详细说明:


1). 核心概念

  • Semantic Dependence(语义依赖)
    指一个元素的定义、行为或解释需要参照另一个元素的语义(含义)。例如:

    • 字段A 的值必须与 字段B 的值在业务逻辑上保持一致。

    • 服务X 的输入参数结构依赖于 数据模型Y 的定义。

    • UI组件 的显示逻辑由后端某个实体的状态决定。

  • 与语法依赖的区别

    • 语法依赖(如代码编译时的依赖)关注形式结构,而语义依赖关注业务含义的关联性


2). SAP BTP 中的典型场景

a. 数据建模(如 SAP HANA Cloud, SAP Data Warehouse Cloud)
  • 在定义实体关系时,某个字段的语义可能依赖于另一个表的字段。
    示例
    订单明细(OrderItem)中的 product_id 字段必须语义上匹配产品主数据(ProductMaster)中的 id 字段,否则数据集成会失效。

b. 集成服务(如 SAP Integration Suite)
  • 在接口映射中,目标系统的字段含义依赖于源系统的字段语义。
    示例
    将CRM系统的 Customer.Status 映射到ERP系统的 Partner.ActiveFlag,两者需在业务含义上对齐。

c. 业务流程(如 SAP Workflow Management)
  • 流程步骤的触发条件可能语义上依赖于某个业务对象的状态变更。
    示例
    审批节点的激活依赖于合同对象的 approval_status 字段值为 "Pending"

d. 扩展开发(如 SAP CAP (Cloud Application Programming))
  • 在CAP模型中,扩展字段的语义可能依赖于标准实体的核心字段。
    示例
    自定义字段 extendedPrice 必须与标准字段 netAmount 保持相同的货币单位。


3). 为什么需要标识语义依赖?

  • 避免逻辑不一致:确保数据、服务或流程在跨系统交互时含义一致。

  • 自动化处理:工具链(如SAP AI Core、SAP Graph)可利用语义依赖优化数据关联。

  • 可维护性:明确依赖关系后,修改父元素时会提示子元素的潜在影响。


4). 技术实现示例(以CAP为例)

在SAP CAP模型中,可以通过注解或外键显式声明语义依赖:

javascript

entity SalesOrder {key id : UUID;items : Composition of many SalesOrderItem on items.parent = $self;  // 语义依赖:子项的父订单
}entity SalesOrderItem {product : Association to ProductMaster; // 语义依赖:product字段必须符合ProductMaster的ID语义
}

5. 常见问题

  • 如何管理语义依赖?
    使用SAP BTP的元数据管理工具(如SAP Metadata Repository)或设计时校验(如CAP的cds watch)。

  • 语义依赖 vs 关联关系?
    关联是语法层面的,语义依赖强调业务含义的耦合性(如两个字段可能无直接外键但逻辑相关)。

其实就是这么简单的一句:

@Semantics.quantity.unitOfMeasure: 'DistanceUnit'

它表明,distance(距离)字段,和DistanceUnit(距离单位)字段之间的是一个数量及数量单位的关系。

它的好处就是它们会根据Region 来表示不同环境下的语义,比如有的用逗号分隔数值,有的用单引号分割,你要是自己写代码那可费了劲儿了,这都可以让annotation 帮忙干。

4,New Service Definition

咱们这里简化一下,跳过Projection View,直接建Service Definition。

输入Name,Description,然后点Next

 

选TR,点Next

 

没别的选择了,直接点Finish

 

这样就建好了

可见,可以跳过Projection View,直接暴露 Data View Model给Service Definition

 

5,New Service Binding

想用个V2 还不受推荐

 

改成V4

 

到Service Binding,就已经是公开的OData/Service了,这个需要改一下命名方式

然后点Next

 

选TR,点Finish

 

不要忘了Activate,就是下面这个样子

然后就可以点 Publish 按钮公开

 

6,Pulish之后

点一下Service URL

 

TODO:出了个诡异的错误

{"error": {"code": "/IWBEP/CM_V4_MED/421","message": "Prop. 'DISTANCE' has unit amount conver. and EDM type 'Int32' without decimals","@SAP__common.longtextUrl": "../../../../default/iwbep/common/0001/T100Longtexts(MessageClass='%2FIWBEP%2FCM_V4_MED',MessageNumber='421',Variable1='DISTANCE',Variable2='Int32',Variable3='',Variable4='')/Documentation","@SAP__common.ExceptionCategory": "Metadata_Error","innererror": {"ErrorDetails": {"@SAP__common.Application": {"ServiceRepository": "SRVD","ServiceId": "Z03_SD_CONNECTION","ServiceVersion": "0001"},"@SAP__common.TransactionId": "17FF95CCCF3A00D0E00687053EB97446","@SAP__common.Timestamp": "20250711064140.308221","@SAP__common.ErrorResolution": {"Analysis": "Use ADT feed reader \"SAP Gateway Error Log\" or run transaction /IWFND/ERROR_LOG on SAP Gateway hub system and search for entries with the timestamp above for more details","Note": "See SAP Note 1797736 for error analysis (https://service.sap.com/sap/support/notes/1797736)"}}}}
}

 

点Preview按钮,页面也打不开

 

看下Console,确实是出错了,哎,消息也是挺二的

GET /sap/opu/odata4/sap/z03_ui_connection_v4/srvd/sap/z03_sd_connection/0001/$metadata - プロパティ 'DISTANCE' に単位金額変換および EDM タイプ 'Int32'(小数なし) があります sap.ui.model.odata.v4.lib._MetadataRequestor

GET /sap/opu/odata4/sap/z03_ui_connection_v4/srvd/sap/z03_sd_connection/0001/$ metadata-属性'DISTANCE'具有单位量转换和EDM类型'int32'

网上找的解决方案也基本上都是注释掉该行代码,还有说改表字段的Type,

Int32不行,就用Decimal嘛,那应该也行啊

Solved: SAP ABAP CLOUD TRIAL - SAP Community

先把这个注释一下,点激活

这回好像不出错了哈

TODO:但是好像过于简单了吧

https://11b69711-9bcb-491b-b504-a9ba7e4b7e97.abap-web.us10.hana.ondemand.com/sap/opu/odata4/sap/z03_ui_connection_v4/srvd/sap/z03_sd_connection/0001/?sap-client=100

 

末尾改为$metadata,还可以看Metadata

https://11b69711-9bcb-491b-b504-a9ba7e4b7e97.abap-web.us10.hana.ondemand.com/sap/opu/odata4/sap/z03_ui_connection_v4/srvd/sap/z03_sd_connection/0001/$metadata
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" xmlns="http://docs.oasis-open.org/odata/ns/edm" Version="4.0">
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMUNICATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Communication.v1" Alias="Communication"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_PERSONALDATA',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.PersonalData.v1" Alias="PersonalData"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_ANALYTICS',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Analytics.v1" Alias="Analytics"/>
</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_MEASURES',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Measures.V1" Alias="SAP__measures"/>
</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_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_AGGREGATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Aggregation.V1" Alias="SAP__aggregation"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_VALIDATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Validation.V1" Alias="SAP__validation"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CODELIST',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.CodeList.v1" Alias="SAP__CodeList"/>
</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:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_HTML5',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.HTML5.v1" Alias="SAP__HTML5"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_PDF',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.PDF.v1" Alias="SAP__PDF"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_SESSION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Session.v1" Alias="SAP__session"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_ODM',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.ODM.v1" Alias="SAP__ODM"/>
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_HIERARCHY',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Hierarchy.v1" Alias="SAP__hierarchy"/>
</edmx:Reference>
<edmx:DataServices>
<Schema Namespace="com.sap.gateway.srvd.z03_sd_connection.v0001" Alias="SAP__self">
<Annotation Term="SAP__core.SchemaVersion" String="1.0.0"/>
<EntityType Name="Z03_DV_ConnectionType">
<Key>
<PropertyRef Name="CarrierId"/>
<PropertyRef Name="ConnectionId"/>
</Key>
<Property Name="CarrierId" Type="Edm.String" Nullable="false" MaxLength="3"/>
<Property Name="ConnectionId" Type="Edm.String" Nullable="false" MaxLength="4"/>
<Property Name="AirportFromId" Type="Edm.String" Nullable="false" MaxLength="3"/>
<Property Name="AirportToId" Type="Edm.String" Nullable="false" MaxLength="3"/>
<Property Name="DepartureTime" Type="Edm.TimeOfDay" Nullable="false"/>
<Property Name="ArrivalTime" Type="Edm.TimeOfDay" Nullable="false"/>
<Property Name="Distance" Type="Edm.Int32" Nullable="false"/>
<Property Name="DistanceUnit" Type="Edm.String" Nullable="false" MaxLength="3"/>
</EntityType>
<EntityContainer Name="Container">
<EntitySet Name="Z03_DV_Connection" EntityType="com.sap.gateway.srvd.z03_sd_connection.v0001.Z03_DV_ConnectionType"/>
</EntityContainer>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/CarrierId">
<Annotation Term="SAP__common.IsUpperCase"/>
<Annotation Term="SAP__common.Label" String="Airline ID"/>
<Annotation Term="SAP__common.QuickInfo" String="Flight Reference Scenario: Carrier ID"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/ConnectionId">
<Annotation Term="SAP__common.IsDigitSequence"/>
<Annotation Term="SAP__common.Label" String="Flight Number"/>
<Annotation Term="SAP__common.Heading" String="Flight No."/>
<Annotation Term="SAP__common.QuickInfo" String="Flight Reference Scenario: Connection ID"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/AirportFromId">
<Annotation Term="SAP__common.IsUpperCase"/>
<Annotation Term="SAP__common.Label" String="Departure Airport"/>
<Annotation Term="SAP__common.Heading" String="Departure"/>
<Annotation Term="SAP__common.QuickInfo" String="Flight Reference Scenario: From Airport"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/AirportToId">
<Annotation Term="SAP__common.IsUpperCase"/>
<Annotation Term="SAP__common.Label" String="Destination Airport"/>
<Annotation Term="SAP__common.Heading" String="Destination"/>
<Annotation Term="SAP__common.QuickInfo" String="Flight Reference Scenario: To Airport"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/DistanceUnit">
<Annotation Term="SAP__common.IsUnit"/>
<Annotation Term="SAP__common.Label" String="内部数量単位"/>
<Annotation Term="SAP__common.Heading" String="MU"/>
<Annotation Term="SAP__common.QuickInfo" String="数量単位"/>
<Annotation Term="SAP__common.DocumentationRef" String="urn:sap-com:documentation:key?=type=DE&id=MSEHI"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType">
<Annotation Term="SAP__common.Label" String="/DMO Data Model View for Connection"/>
</Annotations>
<Annotations Target="SAP__self.Container/Z03_DV_Connection">
<Annotation Term="SAP__capabilities.SearchRestrictions">
<Record>
<PropertyValue Property="Searchable" Bool="false"/>
</Record>
</Annotation>
<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"/>
<PropertyValue Property="QueryOptions">
<Record>
<PropertyValue Property="SelectSupported" Bool="true"/>
</Record>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
<Annotations Target="SAP__self.Container">
<Annotation Term="SAP__CodeList.UnitsOfMeasure">
<Record>
<PropertyValue Property="Url" String="../../../../default/iwbep/common/0001/$metadata"/>
<PropertyValue Property="CollectionPath" String="UnitsOfMeasure"/>
</Record>
</Annotation>
<Annotation Term="SAP__common.ApplyMultiUnitBehaviorForSortingAndFiltering" Bool="true"/>
<Annotation Term="SAP__capabilities.FilterFunctions">
<Collection>
<String>eq</String>
<String>ne</String>
<String>gt</String>
<String>ge</String>
<String>lt</String>
<String>le</String>
<String>and</String>
<String>or</String>
<String>contains</String>
<String>startswith</String>
<String>endswith</String>
<String>any</String>
<String>all</String>
</Collection>
</Annotation>
<Annotation Term="SAP__capabilities.SupportedFormats">
<Collection>
<String>application/json</String>
<String>application/pdf</String>
</Collection>
</Annotation>
<Annotation Term="SAP__PDF.Features">
<Record>
<PropertyValue Property="DocumentDescriptionReference" String="../../../../default/iwbep/common/0001/$metadata"/>
<PropertyValue Property="DocumentDescriptionCollection" String="MyDocumentDescriptions"/>
<PropertyValue Property="ArchiveFormat" Bool="true"/>
<PropertyValue Property="Border" Bool="true"/>
<PropertyValue Property="CoverPage" Bool="true"/>
<PropertyValue Property="FitToPage" Bool="true"/>
<PropertyValue Property="FontName" Bool="true"/>
<PropertyValue Property="FontSize" Bool="true"/>
<PropertyValue Property="HeaderFooter" Bool="true"/>
<PropertyValue Property="IANATimezoneFormat" Bool="true"/>
<PropertyValue Property="Margin" Bool="true"/>
<PropertyValue Property="Padding" Bool="true"/>
<PropertyValue Property="ResultSizeDefault" Int="20000"/>
<PropertyValue Property="ResultSizeMaximum" Int="20000"/>
<PropertyValue Property="Signature" Bool="true"/>
<PropertyValue Property="TextDirectionLayout" Bool="true"/>
<PropertyValue Property="Treeview" Bool="true"/>
<PropertyValue Property="UploadToFileShare" Bool="true"/>
</Record>
</Annotation>
<Annotation Term="SAP__capabilities.KeyAsSegmentSupported"/>
<Annotation Term="SAP__capabilities.AsynchronousRequestsSupported"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/DepartureTime">
<Annotation Term="SAP__common.Label" String="Departure"/>
<Annotation Term="SAP__common.Heading" String="Departure Time"/>
<Annotation Term="SAP__common.QuickInfo" String="Flight Reference Scenario: Departure Time"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/ArrivalTime">
<Annotation Term="SAP__common.Label" String="Arrival"/>
<Annotation Term="SAP__common.QuickInfo" String="Flight Reference Scenario: Arrival Time"/>
</Annotations>
<Annotations Target="SAP__self.Z03_DV_ConnectionType/Distance">
<Annotation Term="SAP__common.Label" String="Flight Distance"/>
<Annotation Term="SAP__common.QuickInfo" String="Flight Reference Scenario: Flight Distance"/>
</Annotations>
</Schema>
</edmx:DataServices>
</edmx:Edmx>

点Preview,能查出来数据了哈

以上就是本篇的全部内容。

更多SAP顾问业务知识请点击下面目录链接或东京老树根的博客主页

https://blog.csdn.net/shi_ly/category_12216766.html

东京老树根-CSDN博客

http://www.dtcms.com/a/274509.html

相关文章:

  • 深入解析 TCP 连接状态与进程挂起、恢复与关闭
  • opencv aruco calib
  • Halcon 已知点的坐标拟合圆;弧度拟合圆
  • JVM故障处理与类加载全解析
  • 使用云虚拟机搭建hadoop集群环境
  • 今日行情明日机会——20250711
  • Elasticsearch部署和集成
  • Anaconda及Conda介绍及使用
  • 网络安全初级小练
  • 牛客:HJ17 坐标移动[华为机考][字符串]
  • 免费应用分发平台的安全漏洞和防护机制是什么?
  • 供应链管理-计划:产能策略
  • 格密码--数学基础--02基变换、幺模矩阵与 Hermite 标准形
  • Nginx服务器集群:横向扩展与集群解决方案
  • 无锁队列:从零构建生产者-消费者数据结构
  • 27.安卓逆向2-frida hook技术-frida-dump(使用firda脚本下载dex文件)
  • 二分查找1
  • c++STL-优先队列priority_queue和仿函数
  • 2025年十五届APMCM亚太B题第二版本详细思路分析+问题1可视化
  • Android13 研究可以静态注册的广播
  • 基于vscode开发工具显示git提交信息的插件
  • 物联网应用开发技术趋势与实践指南
  • 高德智能手表解决方案 助力荣耀手表5 Ultra开启智慧出行
  • 基于Java Spring Boot开发的旅游景区智能管理系统 计算机毕业设计源码32487
  • 多云环境下的成本管理挑战与对策
  • Vue集成MarkDown
  • 数据结构:栈、队列、链表
  • 磁场的秘密触手可及:霍尔传感器与嵌入式仿真平台赋能高校创新教学
  • HandyJSON使用详情
  • VS Code 插件扩展开发指南