P_CollsAcctColl

DDL: P_COLLSACCTCOLL Type: view_entity COMPOSITE Package: ODATA_PROCESS_RECEIVABLES

Collections Account - FI

P_CollsAcctColl is a Composite CDS View that provides data about "Collections Account - FI" in SAP S/4HANA. It reads from 4 data sources (I_BusinessPartner, I_CollsSgmtCompanyCodeAssgmt, I_Customer, I_CustomerToBusinessPartner) and exposes 12 fields with key fields Customer, CollectionSegment, CompanyCode, BusinessPartner. It has 4 associations to related views. Part of development package ODATA_PROCESS_RECEIVABLES.

Data Sources (4)

SourceAliasJoin Type
I_BusinessPartner I_BusinessPartner inner
I_CollsSgmtCompanyCodeAssgmt I_CollsSgmtCompanyCodeAssgmt inner
I_Customer I_Customer inner
I_CustomerToBusinessPartner I_CustomerToBusinessPartner inner

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_Customer _Customer $projection.Customer = _Customer.Customer
[0..1] I_BusinessPartner _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner
[0..1] I_CollectionSegment _CollectionSegment $projection.CollectionSegment = _CollectionSegment.CollectionSegment
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Collections Account - FI view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.representativeKey Customer view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY Customer I_CustomerToBusinessPartner Customer
KEY CollectionSegment I_BPCollectionsSegmentAssgmt CollectionSegment
KEY CompanyCode I_CollsSgmtCompanyCodeAssgmt CompanyCode
KEY BusinessPartner I_BPCollectionsSegmentAssgmt BusinessPartner
CustomerName _Customer CustomerName
CollectionSegmentName
CompanyCodeName _CompanyCode CompanyCodeName
BusinessPartnerName _BusinessPartner BusinessPartnerName
_Customer _Customer
_BusinessPartner _BusinessPartner
_CompanyCode _CompanyCode
_CollectionSegment _CollectionSegment
@AbapCatalog: { viewEnhancementCategory: [ #NONE ] }
@AccessControl: { authorizationCheck: #NOT_REQUIRED }
@EndUserText: { label: 'Collections Account - FI' }
@Metadata: { ignorePropagatedAnnotations: true }
@ObjectModel: { usageType: { serviceQuality: #C,
                             sizeCategory: #XL,
                             dataClass: #MIXED },
                representativeKey: 'Customer' }
@VDM: { viewType: #COMPOSITE,
        private: true }

define view entity P_CollsAcctColl
  as select distinct from I_BPCollectionsSegmentAssgmt
    inner join            I_BusinessPartner            on I_BPCollectionsSegmentAssgmt.BusinessPartner = I_BusinessPartner.BusinessPartner
    inner join            I_CustomerToBusinessPartner  on I_BusinessPartner.BusinessPartnerUUID = I_CustomerToBusinessPartner.BusinessPartnerUUID
    inner join            I_Customer                   on I_CustomerToBusinessPartner.Customer = I_Customer.Customer
    inner join            I_CollsSgmtCompanyCodeAssgmt on I_BPCollectionsSegmentAssgmt.CollectionSegment = I_CollsSgmtCompanyCodeAssgmt.CollectionSegment

  // VDM Associations

  // Customer

  association [0..1] to I_Customer          as _Customer          on $projection.Customer = _Customer.Customer

  // Business Partner

  association [0..1] to I_BusinessPartner   as _BusinessPartner   on $projection.BusinessPartner = _BusinessPartner.BusinessPartner

  // Collection Segment

  association [0..1] to I_CollectionSegment as _CollectionSegment on $projection.CollectionSegment = _CollectionSegment.CollectionSegment

  // Company Code

  association [0..1] to I_CompanyCode       as _CompanyCode       on $projection.CompanyCode = _CompanyCode.CompanyCode

{

      // VDM Fields

      @ObjectModel: { foreignKey: { association: '_Customer' } }
  key I_CustomerToBusinessPartner.Customer                                                  as Customer,

      @ObjectModel: { foreignKey: { association: '_CollectionSegment' } }
  key I_BPCollectionsSegmentAssgmt.CollectionSegment                                        as CollectionSegment,

      @ObjectModel: { foreignKey: { association: '_CompanyCode' } }
  key I_CollsSgmtCompanyCodeAssgmt.CompanyCode                                              as CompanyCode,

      @ObjectModel: { foreignKey: { association: '_BusinessPartner' } }
  key I_BPCollectionsSegmentAssgmt.BusinessPartner                                          as BusinessPartner,

      // Text Elements

      _Customer.CustomerName                                                                as CustomerName,
      _CollectionSegment._Text[1:Language = $session.system_language].CollectionSegmentName as CollectionSegmentName,
      _CompanyCode.CompanyCodeName                                                          as CompanyCodeName,
      _BusinessPartner.BusinessPartnerName                                                  as BusinessPartnerName,

      // Exposed Associations

      _Customer,
      _BusinessPartner,
      _CompanyCode,
      _CollectionSegment

}

where
  I_BPCollectionsSegmentAssgmt.BPCollSgmtAssignmentValidTo = '99991231'