Transaction Processing CDS Views
@AbapCatalog.sqlViewName: 'ZISALESHDR1TP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales header TP view'
@VDM.viewType: #TRANSACTIONAL
@ObjectModel.transactionalProcessingEnabled: true
@ObjectModel.writeActivePersistence:'ZSALES_HEADER1'
@ObjectModel.modelCategory: #BUSINESS_OBJECT
@ObjectModel.compositionRoot: true
@ObjectModel.createEnabled: true
@ObjectModel.deleteEnabled: true
@ObjectModel.updateEnabled: true
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
define view zi_saleshdrtp as select from zi_sales_hdr1
association [1..*] to zi_salesitemtp as _salesitm on
$projection.sd_key = _salesitm.parentkey{
key sd_key,
doc_date,
name,
catg,
order_type,
order_reason,
@Semantics.amount.currencyCode: 'currency'
net_value,
currency,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_salesitm
}
@AbapCatalog.sqlViewName: 'ZISALESITM1TP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'sales item tp view'
@VDM.viewType: #TRANSACTIONAL
@ObjectModel.transactionalProcessingEnabled: true
@ObjectModel.writeActivePersistence:'ZSALES_ITEM1'
@ObjectModel.createEnabled: true
@ObjectModel.deleteEnabled: true
@ObjectModel.updateEnabled: true
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
define view zi_salesitemtp as select from zi_sales_item1
association [1..1] to zi_saleshdrtp as _saleshdr on
$projection.parentkey = _saleshdr.sd_key
{
key itm_key,
parentkey,
mat_num,
mat_grp,
itm_type,
@Semantics.amount.currencyCode: 'currency'
item_value,
currency,
@ObjectModel.association.type:
[#TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT]
_saleshdr
}