[sap fiori rap cds--behavior]

travel

bash 复制代码
 managed ;//implementation in class zbp_sc4_dv_travel_m unique;
//strict ( 2 );

define behavior for ZSC4_DV_Travel_M //alias <alias_name>
implementation in class zbp_sc4_dv_travel_m unique
persistent table ztsc4_travel_m
lock master
authorization master ( instance )
//etag master <field_name>
//draft table ZTSC4TRAVELM_D
{

  create(precheck);
  update;
  delete;
  association _Booking { create; }
    mapping for ztsc4_travel_m
    {
      TravelId      = travel_id;
      AgencyId      = agency_id;
      CustomerId    = customer_id;
      BeginDate     = begin_date;
      EndDate       = end_date;
      BookingFee    = booking_fee;
      TotalPrice    = total_price;
      CurrencyCode  = currency_code;
      Description   = description;
      OverallStatus = overall_status;
      CreatedBy     = created_by;
      CreatedAt     = created_at;
      LastChangedBy = last_changed_by;
      LastChangedAt = last_changed_at;
    }
}

define behavior for ZSC4_DV_Booking_M //alias <alias_name>
persistent table ztsc4_booking_m
lock dependent by _Travel
authorization dependent by _Travel
//etag master <field_name>
{
  update;
  delete;
  field ( readonly ) TravelId, BookingId;
  association _Travel;
  association _BookingSupplement { create; }
    mapping for ztsc4_booking_m
    {
      TravelId      = travel_id;
      BookingId     = booking_id;
      BookingDate   = booking_date;
      CustomerId    = customer_id;
      CarrierId     = carrier_id;
      ConnectionId  = connection_id;
      FlightDate    = flight_date;
      FlightPrice   = flight_price;
      CurrencyCode  = currency_code;
      BookingStatus = booking_status;
      LastChangedAt = last_changed_at;
    }
}

define behavior for ZSC4_DV_BookSuppl_M //alias <alias_name>
persistent table ztsc4_booksuppl
lock dependent by _Travel
authorization dependent by _Travel
//etag master <field_name>
{
  update;
  delete;
  association _Travel;
  association _Booking;
    mapping for ztsc4_booksuppl
    {
      TravelId            = travel_id;
      BookingId           = booking_id;
      BookingSupplementId = booking_supplement_id;
      SupplementId        = supplement_id;
      Price               = price;
      CurrencyCode        = currency_code;
      LastChangedAt       = last_changed_at;
    }
}

Handler not implemented; Method: AUTHORITY_CHECK, Involved Entities: ZSC4_PV_TRAVEL_M

先把 implementation in class zbp_04_dv_travel_m unique; 给注释掉

然后给Travel(旅行)、Booking(预订)和Booking Supplement(预订补充项)三个实体,分别加上 implementation in class

behavior impl ---change

实现类:

bash 复制代码
CLASS lhc_ZSC4_DV_Travel_M DEFINITION INHERITING FROM cl_abap_behavior_handler.
  PRIVATE SECTION.

    METHODS get_authorizations FOR AUTHORIZATION
      IMPORTING keys REQUEST requested_authorizations FOR ZSC4_DV_Travel_M RESULT result.

ENDCLASS.

CLASS lhc_ZSC4_DV_Travel_M IMPLEMENTATION.

  METHOD get_authorizations.
  ENDMETHOD.

ENDCLASS.

projection--travel

bash 复制代码
projection;

define behavior for ZSC4_PV_Travel_M //alias <alias_name>
{
  use create;
  use update;
  use delete;

  use association _Booking { create; }
}

define behavior for ZSC4_PV_Booking_M //alias <alias_name>
{
  use update;
  use delete;

  use association _Travel;
  use association _BookingSupplement { create; }
}

define behavior for ZSC4_PV_BOOKSUPPL_M //alias <alias_name>
{
  use update;
  use delete;

  use association _Travel;
  use association _Booking;
}
相关推荐
aa小小7 分钟前
大屏的数据应该怎么做“实时更新“?大屏页面如果一直开着不关(比如挂了几天几夜),你觉得可能会出现什么问题,需要怎么预防?
前端·数据可视化
aa小小30 分钟前
Proxy 响应式原理
前端·proxy
计算机魔术师30 分钟前
Latent Space 访谈 TypeSafe CEO Diogo Almeida:Jev 是面向生产环境的 System One 模型而非万能 God 模型
前端
yzy851 小时前
Vue中下载或打开文件的JavaScript方法
前端·javascript·vue
用户298698530141 小时前
在 React 中用 JavaScript 将 Word 转换为文本
前端·javascript·react.js
计算机魔术师1 小时前
马斯克称 Grok 4.7 使 xAI 在智能体编码领域位列第三
前端
摸鱼仙人~1 小时前
前端秋招异步手写题系统刷题路线:从 Promise 到 Pipeline、LazyMan 与并发控制
前端
秋天的一阵风1 小时前
⚡上线 24 小时,13% 的付费团队连夜换到 Jev:它到底什么来头?
前端·人工智能·ai编程
程序员若风1 小时前
CSRF攻击原理介绍和利用-腾讯云开发者社区
前端·网络·安全·web安全·网络安全·csrf攻击·腾讯云开发者社区