I_BPAdditionalCustomerTP
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)
| Source | Alias | Join Type |
|---|---|---|
| I_BPMultipleAssignment | BPAdditionalCustomer | from |
| I_Customer | Customer | inner |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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'
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA