P_CAContractItemLocks

DDL: P_CACONTRACTITEMLOCKS SQL: PCONTRITMLOCKS Type: view COMPOSITE

P_CAContractItemLocks is a Composite CDS View in SAP S/4HANA. It reads from 1 data source (I_CABusinessLockEnhanced) and exposes 10 fields with key field CAProviderContractItemUUID. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_CABusinessLockEnhanced _Lock from

Parameters (1)

NameTypeDefault
P_CABusinessProcessForMD char2

Associations (2)

CardinalityTargetAliasCondition
[0..*] I_CABusinessLockHistory _BusLockHistory _Lock.CABusinessLockObject = _BusLockHistory.CABusinessLockObject and _Lock.CABusinessLockObjectCategory = _BusLockHistory.CABusinessLockObjectCategory and _Lock.CABusinessProcess = _BusLockHistory.CABusinessProcess and _Lock.CABusinessLockReason = _BusLockHistory.CABusinessLockReason and _Lock.CABusinessLockValidTo > _BusLockHistory.CABusinessLockValidTo
[0..*] I_CAProviderContractItem _ContrItem $projection.CAProviderContractItemUUID = _ContrItem.CAProviderContractItemUUID

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PCONTRITMLOCKS view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY CAProviderContractItemUUID
CABusinessLockObjectCategory
CABusinessLockReason
CABusinessLockValidFrom
CABusinessLockValidTo
LastChangeDate
CABusinessLockSequenceNumber
NumberOfLocks
NumberOfLockReasons
_ContrItem _ContrItem
@AbapCatalog.sqlViewName: 'PCONTRITMLOCKS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@VDM.private: true
@VDM.viewType: #COMPOSITE
define view P_CAContractItemLocks 
 with parameters
    P_CABusinessProcessForMD :char2
  as select from I_CABusinessLockEnhanced as _Lock 
   association [0..*] to I_CABusinessLockHistory as _BusLockHistory on  _Lock.CABusinessLockObject         = _BusLockHistory.CABusinessLockObject
                                                                   and _Lock.CABusinessLockObjectCategory = _BusLockHistory.CABusinessLockObjectCategory
                                                                   and _Lock.CABusinessProcess            = _BusLockHistory.CABusinessProcess
                                                                   and _Lock.CABusinessLockReason         = _BusLockHistory.CABusinessLockReason
  //                                                                   and _Lock.CABusinessLockValidFrom      <= _BusLockHistory.CABusinessLockValidTo

                                                                   and _Lock.CABusinessLockValidTo        > _BusLockHistory.CABusinessLockValidTo
   
   association [0..*] to I_CAProviderContractItem as _ContrItem on $projection.CAProviderContractItemUUID = _ContrItem.CAProviderContractItemUUID
{
  key hextobin ( CAProviderContractItemCharUUID ) as CAProviderContractItemUUID,
      
      max(_Lock.CABusinessLockObjectCategory)                             as CABusinessLockObjectCategory,
      max(_Lock.CABusinessLockReason)                                     as CABusinessLockReason,
      min(_Lock.CABusinessLockValidFrom)                                  as CABusinessLockValidFrom,
      max(_Lock.CABusinessLockValidTo)                                    as CABusinessLockValidTo,
      max(_Lock.LastChangeDate)                                           as LastChangeDate,

      // COUNT statt MAX?

      max(_BusLockHistory.CABusinessLockSequenceNumber)                   as CABusinessLockSequenceNumber,

      count( distinct CABusinessLockObjectCategory )                      as NumberOfLocks,
      count( distinct CABusinessLockReason)                               as NumberOfLockReasons,


      _ContrItem
}
where
       CABusinessLockValidFrom            <= $session.system_date
  and  CABusinessLockValidTo              >= $session.system_date
  and  _Lock.CABusinessLockObjectCategory = '24' 
  and  _Lock.CABusinessProcess            = :P_CABusinessProcessForMD
group by
  CABusinessLockObject, CAProviderContractItemCharUUID
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CABUSINESSLOCKENHANCED",
"I_CABUSINESSLOCKHISTORY"
],
"ASSOCIATED":
[
"I_CABUSINESSLOCKHISTORY",
"I_CAPROVIDERCONTRACTITEM"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/