上一章讲了 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博客