R_ContractAccountTP

DDL: R_CONTRACTACCOUNTTP Type: view_entity TRANSACTIONAL Package: RAP_FICA_CONTRACCT

Contract Account - TP

R_ContractAccountTP is a Transactional CDS View that provides data about "Contract Account - TP" in SAP S/4HANA. It reads from 1 data source (I_ContractAccountHeader) and exposes 25 fields with key field ContractAccount. It has 7 associations to related views. Part of development package RAP_FICA_CONTRACCT.

Data Sources (1)

SourceAliasJoin Type
I_ContractAccountHeader I_ContractAccountHeader from

Associations (7)

CardinalityTargetAliasCondition
[0..*] I_ChangeDocument_2 _ContractAccountChangeDocument _ContractAccountChangeDocument.ChangeDocObjectClass = 'MKK_VKONT' and $projection.ContractAccount = _ContractAccountChangeDocument.ChangeDocObject
[0..1] I_UserContactCard _CreatedByContactCard $projection.CreatedByUser = _CreatedByContactCard.ContactCardID
[0..1] I_UserContactCard _LastChangedByContactCard $projection.LastChangedByUser = _LastChangedByContactCard.ContactCardID
[0..*] I_NoteBasicTP _NoteBasic $projection.ContractAccountCharUUID = _NoteBasic.NoteBasicObject and _NoteBasic.NoteBasicObjectNodeType = 'CONTRACTACCOUNT'
[1..1] E_ContractAccountHeader _Extension $projection.ContractAccount = _Extension.ContractAccount
[0..*] R_ContractAccountPartnerTP _ContractAccountPartner
[0..*] R_ContrAcctTaxExemptionTP _ContractAccountTaxExemption

Annotations (14)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Contract Account - TP view
ObjectModel.representativeKey ContractAccount view
ObjectModel.sapObjectNodeType.name ContractAccount view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
VDM.viewType #TRANSACTIONAL view
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.elementSuffix VKK view
AbapCatalog.extensibility.quota.maximumFields 170 view
AbapCatalog.extensibility.quota.maximumBytes 3400 view
AbapCatalog.extensibility.allowNewCompositions true view

Fields (25)

KeyFieldSource TableSource FieldDescription
KEY ContractAccount ContractAccount
ContractAccountForEdit ContractAccount
CreationDate CreationDate
CreationTime CreationTime
CreatedByUser CreatedByUser
IsMarkedForDeletion IsMarkedForDeletion
LastChangeDate LastChangeDate
LastChangeTime LastChangeTime
LastChangedByUser LastChangedByUser
CAApplicationArea CAApplicationArea
ContractAccountCategory ContractAccountCategory
ContractAccountExtReference ContractAccountExtReference
ContractAccountName ContractAccountName
ContractAccountUUID ContractAccountUUID
ContractAccountCharUUID
PlannedChangeValidityDate
CreationDateTime
_ContractAccountPartner _ContractAccountPartner
_ContractAccountTaxExemption _ContractAccountTaxExemption
_ContractAccountChangeDocument _ContractAccountChangeDocument
_CreatedByContactCard _CreatedByContactCard
_LastChangedByContactCard _LastChangedByContactCard
_NoteBasic _NoteBasic
_CAApplicationArea _ApplArea
_ContractAccountCategory _Category
@AccessControl: { authorizationCheck: #MANDATORY,
                  privilegedAssociations: [ '_ContractAccountChangeDocument', '_CreatedByContactCard', '_LastChangedByContactCard', '_NoteBasic' ] }

@EndUserText.label: 'Contract Account - TP'

@ObjectModel: { representativeKey:      'ContractAccount',
                sapObjectNodeType.name: 'ContractAccount',
                usageType:              { dataClass: #MASTER,
                                          serviceQuality: #C,
                                          sizeCategory: #XL } }

@VDM: { lifecycle.contract.type: #SAP_INTERNAL_API,
        viewType:                #TRANSACTIONAL }

@AbapCatalog.extensibility: {
  extensible: true,
  elementSuffix: 'VKK',
  dataSources: [ '_Extension' ],
  quota: {
    maximumFields: 170,
    maximumBytes: 3400
  },
  allowNewCompositions: true
}

define root view entity R_ContractAccountTP
  as select from I_ContractAccountHeader

  composition [0..*] of R_ContractAccountPartnerTP as _ContractAccountPartner
  composition [0..*] of R_ContrAcctTaxExemptionTP  as _ContractAccountTaxExemption

  association [0..*] to I_ChangeDocument_2         as _ContractAccountChangeDocument on  _ContractAccountChangeDocument.ChangeDocObjectClass = 'MKK_VKONT'
                                                                                     and $projection.ContractAccount                         = _ContractAccountChangeDocument.ChangeDocObject

  association [0..1] to I_UserContactCard          as _CreatedByContactCard          on  $projection.CreatedByUser = _CreatedByContactCard.ContactCardID
  association [0..1] to I_UserContactCard          as _LastChangedByContactCard      on  $projection.LastChangedByUser = _LastChangedByContactCard.ContactCardID
  association [0..*] to I_NoteBasicTP              as _NoteBasic                     on  $projection.ContractAccountCharUUID = _NoteBasic.NoteBasicObject
                                                                                     and _NoteBasic.NoteBasicObjectNodeType  = 'CONTRACTACCOUNT'
  association [1..1] to E_ContractAccountHeader    as _Extension                     on  $projection.ContractAccount = _Extension.ContractAccount

{
  key ContractAccount,

      @ObjectModel.editableFieldFor: 'ContractAccount'
      ContractAccount                                                                                                 as ContractAccountForEdit,

      CreationDate,
      CreationTime,

      @Semantics.user.createdBy: true
      CreatedByUser,
      IsMarkedForDeletion,
      LastChangeDate,
      LastChangeTime,
      LastChangedByUser,
      @ObjectModel.foreignKey.association: '_CAApplicationArea'
      CAApplicationArea,
      @ObjectModel.foreignKey.association: '_ContractAccountCategory'
      ContractAccountCategory,
      ContractAccountExtReference,
      ContractAccountName,
      ContractAccountUUID,
      bintohex( ContractAccountUUID )                                                                                 as ContractAccountCharUUID,

      cast('00000000' as valdt_acc_kk)                                                                                as PlannedChangeValidityDate,

      cast( dats_tims_to_tstmp( CreationDate, CreationTime, 'UTC', $session.client, 'NULL' ) as vdm_creationdatetime) as CreationDateTime,
      //etag

      @Semantics.systemDateTime.lastChangedAt: true
      case when ( LastChangeDate is initial or LastChangeDate is null )
        then cast( dats_tims_to_tstmp( LastChangeDate, LastChangeTime, 'UTC', $session.client, 'NULL') as vdm_lastchangedon )
        else cast( dats_tims_to_tstmp( CreationDate, CreationTime, 'UTC', $session.client, 'NULL') as vdm_lastchangedon )
      end                                                                                                             as LastChangeDateTime,

      /* Associations */
      _ContractAccountPartner,
      _ContractAccountTaxExemption,

      _ContractAccountChangeDocument,
      _CreatedByContactCard,
      _LastChangedByContactCard,
      _NoteBasic,
      _ApplArea                                                                                                       as _CAApplicationArea,
      _Category                                                                                                       as _ContractAccountCategory
}