I_BPAdditionalCustomerTP

DDL: I_BPADDITIONALCUSTOMERTP SQL: IBPADDCUSTTP Type: view TRANSACTIONAL Package: VDM_MD_BP

BO view for Additional Customers of BP

I_BPAdditionalCustomerTP is a Transactional CDS View that provides data about "BO view for Additional Customers of BP" in SAP S/4HANA. It reads from 2 data sources (I_BPMultipleAssignment, I_Customer) and exposes 44 fields with key fields BusinessPartner, Customer. It has 8 associations to related views. Part of development package VDM_MD_BP.

Data Sources (2)

SourceAliasJoin Type
I_BPMultipleAssignment BPAdditionalCustomer from
I_Customer Customer inner

Associations (8)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartnerTP _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner
[1..*] I_BPAddlCustCompanyCodeTP _BPAddlCustCompanyCode $projection.BusinessPartner = _BPAddlCustCompanyCode.BusinessPartner and $projection.Customer = _BPAddlCustCompanyCode.Customer
[1..*] I_BPAddlCustSalesAreaTP _BPAddlCustSalesArea $projection.BusinessPartner = _BPAddlCustSalesArea.BusinessPartner and $projection.Customer = _BPAddlCustSalesArea.Customer
[1..*] I_BPAddlCustTelNmbrTP _BPAddlCustTelNmbr $projection.BusinessPartner = _BPAddlCustTelNmbr.BusinessPartner and $projection.Customer = _BPAddlCustTelNmbr.Customer
[1..*] I_BPAddlCustEmailAddressTP _BPAddlCustEmailAddress $projection.BusinessPartner = _BPAddlCustEmailAddress.BusinessPartner and $projection.Customer = _BPAddlCustEmailAddress.Customer
[1..*] I_BPAddlCustMblPhNumberTP _BPAddlCustMblPhNumber $projection.BusinessPartner = _BPAddlCustMblPhNumber.BusinessPartner and $projection.Customer = _BPAddlCustMblPhNumber.Customer
[1..*] I_BPAddlCustWebsiteURLTP _BPAddlCustWebsiteURL $projection.BusinessPartner = _BPAddlCustWebsiteURL.BusinessPartner and $projection.Customer = _BPAddlCustWebsiteURL.Customer
[1..*] I_BPAddlCustFaxNumberTP _BPAddlCustFaxNumber $projection.BusinessPartner = _BPAddlCustFaxNumber.BusinessPartner and $projection.Customer = _BPAddlCustFaxNumber.Customer

Annotations (14)

NameValueLevelField
EndUserText.label BO view for Additional Customers of BP view
AbapCatalog.sqlViewName IBPADDCUSTTP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeEnabled true view
ObjectModel.writeDraftPersistence BPADDCUST_D view
ObjectModel.draftEnabled true view
ObjectModel.deleteEnabled EXTERNAL_CALCULATION view
Search.searchable true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view

Fields (44)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner I_BPMultipleAssignment BusinessPartner
KEY Customer I_Customer Customer
BusinessPartnerForEdit I_BPMultipleAssignment BusinessPartner
CustomerForEdit I_Customer Customer
BPAssignmentID I_BPMultipleAssignment BPAssignmentID
BPAssignmentCategory I_BPMultipleAssignment BPAssignmentCategory
BPAssignmentReasonID I_BPMultipleAssignment BPAssignmentReasonID
IsStandardAssignment I_BPMultipleAssignment IsStandardAssignment
AddressNumber I_BPMultipleAssignment AddressNumber
CustomerAccountGroup I_Customer CustomerAccountGroup
AlternativePayerAccount I_Customer AlternativePayerAccount
DataMediumExchangeIndicator I_Customer DataMediumExchangeIndicator
Supplier I_Customer Supplier
CustomerClassification I_Customer CustomerClassification
VATLiability I_Customer VATLiability
PostingIsBlocked I_Customer PostingIsBlocked
DeliveryIsBlocked I_Customer DeliveryIsBlocked
BillingIsBlockedForCustomer I_Customer BillingIsBlockedForCustomer
OrderIsBlockedForCustomer I_Customer OrderIsBlockedForCustomer
AuthorizationGroup I_Customer AuthorizationGroup
CustomerName I_Customer CustomerName
BPCustomerName I_Customer BPCustomerName
DeliveryDateTypeRule I_Customer DeliveryDateTypeRule
DeletionIndicator I_Customer DeletionIndicator
PostalCode
StreetName
HouseNumber
CityName
Country
Region
POBoxPostalCode
POBox
CorrespondenceLanguage
PrfrdCommMediumType
_CustomerClassification I_Customer _CustomerClassification
_CustomerClassificationText I_Customer _CustomerClassificationText
_BusinessPartner _BusinessPartner
_BPAddlCustCompanyCode _BPAddlCustCompanyCode
_BPAddlCustSalesArea _BPAddlCustSalesArea
_BPAddlCustTelNmbr _BPAddlCustTelNmbr
_BPAddlCustFaxNumber _BPAddlCustFaxNumber
_BPAddlCustMblPhNumber _BPAddlCustMblPhNumber
_BPAddlCustEmailAddress _BPAddlCustEmailAddress
_BPAddlCustWebsiteURL _BPAddlCustWebsiteURL
@EndUserText.label: 'BO view for Additional Customers of BP'
@AbapCatalog.sqlViewName: 'IBPADDCUSTTP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK

@AccessControl.personalData.blocking: #REQUIRED
@VDM.viewType: #TRANSACTIONAL
@ObjectModel.writeEnabled: true
@ObjectModel.writeDraftPersistence: 'BPADDCUST_D'
@ObjectModel.semanticKey: [ 'BusinessPartner', 'Customer' ]
@ObjectModel.draftEnabled:true
@ObjectModel.createEnabled
@ObjectModel.deleteEnabled: 'EXTERNAL_CALCULATION'
@ObjectModel.updateEnabled
@Search.searchable: true


@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view I_BPAdditionalCustomerTP
  as select from I_BPMultipleAssignment as BPAdditionalCustomer
    inner join   I_Customer             as Customer on BPAdditionalCustomer.BPObjectID = Customer.Customer

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

  association [1..*] to I_BPAddlCustCompanyCodeTP  as _BPAddlCustCompanyCode  on  $projection.BusinessPartner = _BPAddlCustCompanyCode.BusinessPartner
                                                                              and $projection.Customer        = _BPAddlCustCompanyCode.Customer

  association [1..*] to I_BPAddlCustSalesAreaTP    as _BPAddlCustSalesArea    on  $projection.BusinessPartner = _BPAddlCustSalesArea.BusinessPartner
                                                                              and $projection.Customer        = _BPAddlCustSalesArea.Customer
  association [1..*] to I_BPAddlCustTelNmbrTP      as _BPAddlCustTelNmbr      on  $projection.BusinessPartner = _BPAddlCustTelNmbr.BusinessPartner
                                                                              and $projection.Customer        = _BPAddlCustTelNmbr.Customer
  association [1..*] to I_BPAddlCustEmailAddressTP as _BPAddlCustEmailAddress on  $projection.BusinessPartner = _BPAddlCustEmailAddress.BusinessPartner
                                                                              and $projection.Customer        = _BPAddlCustEmailAddress.Customer
  association [1..*] to I_BPAddlCustMblPhNumberTP  as _BPAddlCustMblPhNumber  on  $projection.BusinessPartner = _BPAddlCustMblPhNumber.BusinessPartner
                                                                              and $projection.Customer        = _BPAddlCustMblPhNumber.Customer
  association [1..*] to I_BPAddlCustWebsiteURLTP   as _BPAddlCustWebsiteURL   on  $projection.BusinessPartner = _BPAddlCustWebsiteURL.BusinessPartner
                                                                              and $projection.Customer        = _BPAddlCustWebsiteURL.Customer
  association [1..*] to I_BPAddlCustFaxNumberTP    as _BPAddlCustFaxNumber    on  $projection.BusinessPartner = _BPAddlCustFaxNumber.BusinessPartner
                                                                              and $projection.Customer        = _BPAddlCustFaxNumber.Customer
{

  key BPAdditionalCustomer.BusinessPartner,
  key Customer.Customer                    as Customer,
      @ObjectModel.foreignKey.association: null
      BPAdditionalCustomer.BusinessPartner as BusinessPartnerForEdit,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      Customer.Customer                    as CustomerForEdit,
      BPAdditionalCustomer.BPAssignmentID,
      BPAdditionalCustomer.BPAssignmentCategory,
      BPAdditionalCustomer.BPAssignmentReasonID,
      BPAdditionalCustomer.IsStandardAssignment,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BPAdditionalCustomer.AddressNumber,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      Customer.CustomerAccountGroup,
      Customer.AlternativePayerAccount,
      Customer.DataMediumExchangeIndicator,
      Customer.Supplier,
      //@ObjectModel.text.association: 'Customer._CustomerClassification._Text'

      Customer.CustomerClassification,
      Customer.VATLiability,
      Customer.PostingIsBlocked,
      Customer.DeliveryIsBlocked,
      Customer.BillingIsBlockedForCustomer,
      Customer.OrderIsBlockedForCustomer,
      //Data protection and privacy Requirement

      Customer.AuthorizationGroup,
      Customer.CustomerName, 
      Customer.BPCustomerName,
      Customer.DeliveryDateTypeRule,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      Customer.DeletionIndicator,

      //  _StandardAddress.PostalCode,

      //  _StandardAddress.StreetName,

      //  _StandardAddress.HouseNumber,

      //  _StandardAddress.CityName,

      //  _StandardAddress.Country,

      //  _StandardAddress.Region,

      //  _StandardAddress.POBoxPostalCode,

      //  _StandardAddress.POBox,

      //

      //  _StandardAddress.CorrespondenceLanguage,

      //  _StandardAddress.PrfrdCommMediumType,


      Customer._AddressDefaultRepresentation.PostalCode,
      Customer._AddressDefaultRepresentation.StreetName,
      Customer._AddressDefaultRepresentation.HouseNumber,
      Customer._AddressDefaultRepresentation.CityName,
      Customer._AddressDefaultRepresentation.Country,
      Customer._AddressDefaultRepresentation.Region,
      Customer._AddressDefaultRepresentation.POBoxPostalCode,
      Customer._AddressDefaultRepresentation.POBox,

      Customer._AddressDefaultRepresentation.CorrespondenceLanguage,
      Customer._AddressDefaultRepresentation.PrfrdCommMediumType,
      Customer._CustomerClassification,
      Customer._CustomerClassificationText,
        
      @ObjectModel.association.type:  [ #TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT ]
      _BusinessPartner,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAddlCustCompanyCode,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAddlCustSalesArea,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAddlCustTelNmbr,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAddlCustFaxNumber,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAddlCustMblPhNumber,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAddlCustEmailAddress,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAddlCustWebsiteURL
    
}
where
      IsStandardAssignment <> 'X'
  and BPAssignmentCategory =  'CUST'