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.pswp.cn/pingmian/88382.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88382.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88382.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQLite - C/C++ 開發與應用詳解

SQLite - C/C++ 開發與應用詳解 引言 SQLite 是一個輕量級的數據庫引擎,它被設計成不需要服務器進程就可以獨立運行。SQLite 在 C/C++ 開發領域具有廣泛的應用,由于其體積小、性能高、易于集成等優點,深受開發者的喜愛。本文將詳細介紹 SQLite 在 C/C++ 開發中的應用,包括…

蔚來測開一面:HashMap從1.7開始到1.8的過程,既然都解決不了并發安全問題,為什么還要進一步解決環形鏈表的問題?

文章目錄問題的根源&#xff1a;JDK 1.7 的設計缺陷為什么必須解決這個問題&#xff1f;1\. 故障等級完全不同 &#x1f4a3;2\. JDK 1.8 的解決方案&#xff1a;一石二鳥 &#x1f985;3\. 為“不小心”的開發者提供一層保障 &#x1f6e1;?結論這是一個非常好的問題&#xf…

AI技術正以前所未有的速度重塑職業生態與行業格局,尤其在自動化測試領域,AI驅動的測試框架通過智能化、低代碼化重構傳統測試流程。

AI技術正以前所未有的速度重塑職業生態與行業格局&#xff0c;尤其在自動化測試領域&#xff0c;AI驅動的測試框架通過智能化、低代碼化重構傳統測試流程。以下從職業影響、技術架構、行業應用及應對策略四個維度展開分析&#xff0c;結合代碼示例與框架設計圖解&#xff1a;一…

在 Mac 上安裝 Java 和 IntelliJ IDEA(完整筆記)

目錄 檢查是否已安裝 Java安裝 Java&#xff08;JDK&#xff09;設置 JAVA_HOME 環境變量安裝 IntelliJ IDEA配置 IntelliJ IDEA 使用 JDK驗證和測試環境是否成功 1. 檢查是否已安裝 Java 打開終端&#xff08;Terminal&#xff09;&#xff0c;輸入&#xff1a; java -vers…

基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一個WebUI自動化框架(2)對框架加入業務邏輯層

在上篇中&#xff0c;我們已經搭建好了框架的基本雛形&#xff0c;但只是引入了頁面層、用例層的思想&#xff0c;我們在實際使用中會發現&#xff0c;如果我們很多的用例需要很多前置工作&#xff0c;這些前置工作又有可能涉及到多個頁面&#xff0c;那么我們在維護的時候就會…

uniapp ruoyi-app 中使用checkbox 無法選中問題

<view class"flex align-center"> <checkbox-group> <label> <checkbox value"cb" checked"true" /> 記住密碼 </label> </checkbox-group> </view>colorui.css 文件中注釋掉兩處即可全局搜索…

如何快速學習GO語言

https://go.dev/tour/welcome/1 這個是官方的引導&#xff0c;很實用基本重點內容都涵蓋了&#xff0c;并且可以一邊學習一邊練習&#xff0c;非常好用 簡單介紹一下&#xff1a; Hello, 世界 歡迎訪問 Go 編程語言教程。 本教程分為幾個模塊&#xff0c;點擊本頁左上角的 …

AI 產品經理必看:神秘技術架構圖如何打通跨團隊溝通壁壘?

? 你好&#xff0c;我是 三橋君 引言 在AI產品的開發過程中&#xff0c;技術架構圖是連接業務需求與技術實現的橋梁。然而&#xff0c;許多AI產品經理常常面臨以下挑戰&#xff1a;研發團隊認為需求描述不清晰&#xff0c;業務團隊與技術團隊溝通不暢&#xff0c;技術選型時…

【科研繪圖系列】R語言繪制解剖圖

文章目錄 介紹加載R包數據下載導入數據數據預處理畫圖系統信息參考介紹 【科研繪圖系列】R語言繪制解剖圖 加載R包 # install.packages("devtools") # library(devtools) # devtools::install_github("jespermaag/gganatogram")library(gganatogram) li…

【unity編輯器開發與拓展EditorGUILayoyt和GUILayoyt】

EditorGUILayout 與 GUILayout 的核心區別及使用場景詳解 一、對比表特性GUILayoutEditorGUILayout命名空間UnityEngineUnityEditor使用場景運行時 UI 編輯器擴展僅限編輯器擴展控件風格基礎游戲風格&#xff08;無編輯器優化&#xff09;原生 Unity 編輯器風格布局復雜度基礎…

【數據結構】8. 二叉樹

文章目錄一、樹的概念及結構1、樹的概念2、樹的相關概念3、樹的表示4、樹的實際運用二、二叉樹的概念及結構1、二叉樹的概念2、特殊的二叉樹3、二叉樹的性質4、二叉樹的存儲結構三、二叉樹的順序結構及實現1、二叉樹的順序結構2、堆的概念及結構3、堆的實現0&#xff09;準備工…

Spring MVC中異常處理

1.全局異常處理1.1什么是全局異常處理器全局異常處理器是SpringMVC框架中的一種異常處理機制&#xff0c;用于統一處理由控制器拋出的異常。全局異常處理器可以幫助我們捕獲和處理控制器中的異常&#xff0c;并且根據不同的異常類型進行不同的處理操作&#xff0c;從而保障應用…

imx6ull-系統移植篇2—— U-Boot 命令使用(上)

目錄 前言 U-Boot 命令 help 信息查詢命令 bdinfo printenv version 環境變量操作命令 setenv 和 saveenv 修改環境變量 新建環境變量 刪除環境變量 內存操作命令 md nm mm mw cp cmp 網絡操作命令 ping 命令 dhcp 命令 nfs 命令 tftp 命令 EMMC 和 S…

vector之動態二維數組的底層

引言&#xff1a;在計算機編程領域&#xff0c;二維動態數組是一種能夠在程序運行期間動態調整其大小的二維數組數據結構。它與靜態二維數組的關鍵區別在于&#xff0c;靜態二維數組在編譯時就需要確定其大小&#xff0c;而二維動態數組的大小可以在程序運行過程中根據實際需求…

第十六天,7月10日,八股

1、mybatis的延遲加載需要時才加載關聯對象&#xff0c;而不是查詢主對象時&#xff0c;立刻加載所有關聯對象&#xff0c;這樣可以提高查詢性能并減少不必要的數據庫訪問&#xff0c;例如&#xff1a;一個訂單表包含著商品列表&#xff08;一對多&#xff09;&#xff0c;當查…

CSS中的Element語法

1.1 Element語法1.1.1 案例 1. 快速生成10個div,并且每個div里面是從1到10的內容2.生成一個div標簽&#xff0c;類名為one,并且同時生成一個id為first的p標簽1.1.2 快速生成CSS樣式語法 CSS基本采取簡寫形式即可 比如w22 按住tab鍵 可以生成 width:200px比如lh26px 按住tab鍵 可…

Go從入門到精通(21) - 一個簡單web項目-添加swagger文檔

Go從入門到精通(20)-一個簡單web項目-服務搭建 文章目錄Go從入門到精通(20)-一個簡單web項目-服務搭建前言前期準備為API 添加 Swagger 文檔1.安裝依賴2.添加 Swagger 注釋main.goapp.goapi.gopublic_handler.goauth_handler.gocommon_constant.gocommon_dto.gotoken_utils.go3…

自動駕駛環境感知:天氣數據采集與融合技術實戰

天氣與我們日常各類生活場景密不可分&#xff0c;在駕駛場景里當車主發動汽車準備駛向目的地時&#xff0c;窗外的陰晴或許只是直觀感受&#xff0c;而真正影響駕駛安全與行程效率的&#xff0c;可能是幾公里外的突發暴雨、橋面的結冰預警&#xff0c;或是前方路段的強側風等級…

基于svga+uniapp的微信小程序動畫組件開發指南

lottie動畫指南 效果 概述 本項目使用 svgaplayer.weapp.js 庫來實現 SVGA 動畫播放功能&#xff0c;支持在微信小程序、H5 等多端環境下播放高質量的矢量動畫。SVGA 是一種跨平臺的開源動畫格式&#xff0c;具有文件小、渲染性能高的特點。 技術棧 核心庫: svgaplayer.wea…

數據結構與算法——計算直線的交點數

前言&#xff1a; 這是之前做的一道筆試題&#xff0c;當時沒寫出來煩惱很久&#xff0c;這次記錄一下。 題目鏈接&#xff1a; Dotcpp--題目 1174: 計算直線的交點數 參考文章&#xff1a; CSDN--槐陽7--計算直線的交點數 題目&#xff1a; 解題思考&#xff1a; 在當時…