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