Ansicht
Dokumentation

ABENBDL_EXAMPLE_ROOT_ENTITY - BDL EXAMPLE ROOT ENTITY

ABENBDL_EXAMPLE_ROOT_ENTITY - BDL EXAMPLE ROOT ENTITY

Vendor Master (General Section)   ROGBILLS - Synchronize billing plans  
This documentation is copyright by SAP AG.
SAP E-Book

- Root Entity Example


* Work in progress *

The CDS view /DMO/I_Travel represents the root node of the business object. The root node Travel is used to manage general flight booking data such as the trip ID, agency ID, customer number, start and end dates of a trip, booking fee, total price, currency, trip description, trip status, and date of last change.

The travel data is saved in the DDIC database table /DMO/TRAVEL.

@AbapCatalog.sqlViewName: 'ZDEMO_TRAVEL_DB'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AbapCatalog.preserveKey: true
@EndUserText.label: 'Travel'
@Search.searchable: true
@ObjectModel.semanticKey: ['TravelID']
@ObjectModel.representativeKey: 'TravelID'

define root view /DMO/I_Travel
  as select from /dmo/travel as Travel

  composition [0..*] of /DMO/I_Booking  as _Booking

  association [1..1] to /DMO/I_Agency       as _Agency       on
     $projection.AgencyID = _Agency.AgencyID
  association [1..1] to /DMO/I_Customer     as _Customer     on
     $projection.CustomerID = _Customer.CustomerID
  association [0..*] to I_CurrencyText      as _CurrencyText on
     $projection.Currency_Code = _CurrencyText.Currency
  association [0..*] to /DMO/I_Status_Text  as _StatusText   on
     $projection.Status = _StatusText.Status

{
  @Search.defaultSearchElement: true
  @ObjectModel.readOnly: true
  key Travel.travel_id             as Travel_ID,

  @Search.defaultSearchElement: true
  @ObjectModel.text.association: '_Agency'
  @Consumption.valueHelpDefinition: [{
     entity: {name: '/DMO/I_Agency', element: 'Agency_ID' }}]
  Travel.agency_id                 as Agency_ID,

  @Search.defaultSearchElement: true
  @Consumption.valueHelpDefinition: [{
     entity: {name: '/DMO/I_Customer', element: 'CustomerID' }}]
  @ObjectModel.text.association: '_Customer'
  Travel.customer_id               as Customer_ID,

  Travel.begin_date                as Begin_Date,
  Travel.end_date                  as End_Date,

  @Semantics.currencyCode: true
  @ObjectModel.text.association: '_CurrencyText'
  @Consumption.valueHelpDefinition: [{
    entity: {name: 'I_CurrencyText', element: 'Currency' }}]
  Travel.currency_code             as Currency_Code,

  @Semantics.amount.currencyCode: 'Currency_Code'
  Travel.booking_fee               as Booking_Fee,

  @Semantics.amount.currencyCode: 'Currency_Code'
  @ObjectModel.readOnly: true
  Travel.total_price               as Total_Price,

  @Search.defaultSearchElement: true
  @Search.fuzzinessThreshold: 0.86
  Travel.description               as Description,

  @Consumption.valueHelpDefinition: [{
     entity: {name: '/DMO/I_Status_Text', element: 'Status' }}]
  @ObjectModel.text.association: '_StatusText'
  @ObjectModel.readOnly: true
  @UI: { lineItem: [ { position: 50, importance: #HIGH },
                     { type:       #FOR_ACTION,
                       dataAction: 'set_status_booked',
                       label:      'Set Status to Booked' } ]
         ,identification: [ { position: 80 } ]
         ,selectionField: [ { position: 60 }]
       }
  Travel.status                    as Status,

  Travel.lastchangedat             as LastChangedAt,

  /* Associations */
  @Search.defaultSearchElement: true
  _Booking,

  _Agency,
  _Customer,
  _StatusText,
  _CurrencyText
}





General Data in Customer Master   General Material Data  
This documentation is copyright by SAP AG.

Length: 6169 Date: 20240423 Time: 081624     sap01-206 ( 31 ms )