@AbapCatalog: { sqlViewName: 'PCOLLSACCTSGMT',
compiler: { compareFilter: true },
preserveKey: true }
@AccessControl: { authorizationCheck: #NOT_REQUIRED,
personalData: { blocking: #BLOCKED_DATA_EXCLUDED } }
@VDM: { viewType: #COMPOSITE,
private: true }
@ClientHandling: { algorithm: #SESSION_VARIABLE }
@ObjectModel: { usageType: { serviceQuality: #A,
sizeCategory: #L,
dataClass: #TRANSACTIONAL },
representativeKey: 'Customer' }
define view P_CollsAccountCollsSegment
as select distinct from I_Customer
inner join I_CustomerCompany on I_Customer.Customer = I_CustomerCompany.Customer
inner join I_BusinessPartnerCustomer on I_Customer.Customer = I_BusinessPartnerCustomer.Customer
left outer to many join(
I_CollsSgmtCompanyCodeAssgmt
inner join I_BPCollectionsSegmentAssgmt on I_CollsSgmtCompanyCodeAssgmt.CollectionSegment = I_BPCollectionsSegmentAssgmt.CollectionSegment
and I_BPCollectionsSegmentAssgmt.BPCollSgmtAssignmentValidTo = '99991231'
)
on I_CustomerCompany.CompanyCode = I_CollsSgmtCompanyCodeAssgmt.CompanyCode
and I_BusinessPartnerCustomer.BusinessPartner = I_BPCollectionsSegmentAssgmt.BusinessPartner
{
key I_Customer.Customer as Customer,
key I_BPCollectionsSegmentAssgmt.CollectionSegment as CollectionSegment,
key cast ( '' as bukrs ) as CompanyCode,
key I_BusinessPartnerCustomer.BusinessPartner as BusinessPartner
}
where
I_BPCollectionsSegmentAssgmt.CollectionSegment is not null