P_SDDocumentCompletePartners_2 is a Basic CDS View in SAP S/4HANA. It reads from 1 data source (vbpa) and exposes 23 fields with key fields SDDocument, SDDocumentItem, PartnerFunction.
@ClientHandling.algorithm: #SESSION_VARIABLE@AccessControl: {
authorizationCheck: #NOT_REQUIRED,
personalData.blocking: #NOT_REQUIRED
}@AbapCatalog: {
sqlViewName: 'PSDDOCCMPLTPART2',
compiler.compareFilter: true,
preserveKey: true
}@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #A,
sizeCategory: #XL
}
}
@VDM.private: true@VDM.viewType: #BASICdefineview P_SDDocumentCompletePartners_2
asselectfrom vbpa
association[0..1] to I_CustomerToBusinessPartner as _CustomerToBusinessPartner
on $projection.Customer = _CustomerToBusinessPartner.Customer
association[0..1] to I_BPCustomerContactLink as _BPCustomerContactLink
on $projection.ContactPerson = _BPCustomerContactLink.CustomerContact
association[0..1] to I_SupplierToBusinessPartner as _SupplierToBusinessPartner
on $projection.Supplier = _SupplierToBusinessPartner.Supplier
association[0..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement_1
on $projection.Personnel = _PersonWorkAgreement_1.PersonWorkAgreement
{
key vbpa.vbeln as SDDocument,
key vbpa.posnr as SDDocumentItem,
key vbpa.parvw as PartnerFunction,
vbpa.kunnr as Customer,
vbpa.lifnr as Supplier,
vbpa.pernr as Personnel,
vbpa.parnr as ContactPerson,
// vbpa.assigned_bp as ReferenceBusinessPartner,
casewhen vbpa.kunnr isnot initial
then _CustomerToBusinessPartner._BusinessPartner.BusinessPartner
when vbpa.lifnr isnot initial
then _SupplierToBusinessPartner._BusinessPartner.BusinessPartner
when vbpa.pernr isnot initial
then _PersonWorkAgreement_1.Person
when vbpa.parnr isnot initial
then _BPCustomerContactLink._BusinessPartnerPerson.BusinessPartner
else
vbpa.assigned_bp
endas ReferenceBusinessPartner,
vbpa.adrnr as AddressID,
vbpa.adrnp as AddressPersonID,
vbpa.adrda as SDDocPartnerAddressRefType,
// vbpa.addr_type as AddressObjectType,
cast(
casewhen vbpa.adrnr is initial
then ''
elsecasewhen vbpa.adrda = 'E' or vbpa.adrda = 'F'
then '1'
elsecasewhen vbpa.parnr isnot initial and vbpa.adrnp is initial
then '1' // Contact Person's business address (KNVK-ADRND) is used
when vbpa.parnr isnot initial and vbpa.adrnp isnot initial
then '3'
elsecasewhen vbpa.adrnp isnot initial and vbpa.adrda = 'H'
then '2'
else
'1'
endendendendas ad_adrtype ) as AddressObjectType,
vbpa.addr_operation as BPAddrDeterminationTransaction,
vbpa.bp_ref_adrnr as BPRefAddressIDForDocSpcfcAddr,
cast(
case vbpa.adrda
when 'E' then 'X'
when 'F' then 'X'
else ' '
endas sd_pd_doc_spec_addr_flag) as SDDocPartnerAddrIsDocSpecific,
vbpa.xcpdk as PartnerIsOneTimeAccount,
vbpa.stceg as VATRegistration,
vbpa.ablad as UnloadingPointName,
vbpa.land1 as CountryCode,
vbpa.hityp as CustomerHierarchyType,
vbpa.prfre as CustIsPrcDetnRlvt,
vbpa.bokre as CustomerIsRebateRelevant,
vbpa.histunr as CustomerHierarchyLevel,
vbpa.hzuor as CustomerHierarchyFixedLevel,
vbpa.lzone as TransportZone
}