R_BPUsrRoleTP
Business Partner User Role TP
R_BPUsrRoleTP is a Transactional CDS View that provides data about "Business Partner User Role TP" in SAP S/4HANA. It has 4 associations to related views.
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | R_TotalNumberOfBPRelationship1 | _TotalNumberOfBPRelationship1 | _TotalNumberOfBPRelationship1.BusinessPartnerCompany = $projection.BusinessPartner and _TotalNumberOfBPRelationship1.RelationshipCategory = 'HCM002' |
| [0..1] | R_TotalNumberOfBPRelationship2 | _TotalNumberOfBPRelationship2 | _TotalNumberOfBPRelationship2.BusinessPartnerPerson = $projection.BusinessPartner and _TotalNumberOfBPRelationship2.RelationshipCategory = 'BUR025' |
| [0..1] | R_BPUsrRoleText | _BPUsrRoleText | _BPUsrRoleText.Role = $projection.BusinessPartnerRole and _BPUsrRoleText.Language = $session.system_language |
| [0..1] | I_BusinessPartner | _SupplierBP | _SupplierBP.BusinessPartner = $projection.BusinessPartnerRelshpSupplier |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Business Partner User Role TP | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view |
Fields (13)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessPartnerUUID | R_BPUsrRole | BusinessPartnerUUID | |
| KEY | BusinessPartnerRole | R_BPUsrRole | BusinessPartnerRole | |
| BPUsrRoleForEdit | R_BPUsrRole | BusinessPartnerRole | ||
| BusinessPartner | R_BPUsrRole | BusinessPartner | ||
| RoleCategory | R_BPUsrRole | RoleCategory | ||
| BPRoleCategoryUsageCode | R_BPUsrRole | BPRoleCategoryUsageCode | ||
| BPIdentificationCategory | R_BPUsrRole | BPIdentificationCategory | ||
| BasicRoleCategory | R_BPUsrRole | BasicRoleCategory | ||
| BPUsrRoleValidFromDate | R_BPUsrRole | BPUsrRoleValidFromDate | ||
| BPUsrRoleValidToDate | R_BPUsrRole | BPUsrRoleValidToDate | ||
| _BPUsrRoleText | _BPUsrRoleText | |||
| _SupplierBP | _SupplierBP | |||
| _WorkforcePerson | _WorkforcePerson |
@EndUserText.label: 'Business Partner User Role TP'
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@VDM: {
viewType: #TRANSACTIONAL,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MASTER
}
define view entity R_BPUsrRoleTP
as select distinct from R_BPUsrRole
left outer to one join I_BPRelationship as _BPRelationshipBUR025 on _BPRelationshipBUR025.BusinessPartnerPerson = R_BPUsrRole.BusinessPartner
and _BPRelationshipBUR025.RelationshipCategory = 'BUR025'
and _BPRelationshipBUR025.ValidityStartDate >= R_BPUsrRole.BPUsrRoleValidFromDate
and _BPRelationshipBUR025.ValidityEndDate <= R_BPUsrRole.BPUsrRoleValidToDate
and R_BPUsrRole.BusinessPartnerRole = 'BBP005'
//C to I to C Scenario
association [0..1] to R_TotalNumberOfBPRelationship1 as _TotalNumberOfBPRelationship1 on _TotalNumberOfBPRelationship1.BusinessPartnerCompany = $projection.BusinessPartner
and _TotalNumberOfBPRelationship1.RelationshipCategory = 'HCM002'
//Scenario - same WA contains multiple Supplier
association [0..1] to R_TotalNumberOfBPRelationship2 as _TotalNumberOfBPRelationship2 on _TotalNumberOfBPRelationship2.BusinessPartnerPerson = $projection.BusinessPartner
and _TotalNumberOfBPRelationship2.RelationshipCategory = 'BUR025'
association [0..1] to R_BPUsrRoleText as _BPUsrRoleText on _BPUsrRoleText.Role = $projection.BusinessPartnerRole
and _BPUsrRoleText.Language = $session.system_language
association [0..1] to I_BusinessPartner as _SupplierBP on _SupplierBP.BusinessPartner = $projection.BusinessPartnerRelshpSupplier
association to parent R_WorkforcePersonTP as _WorkforcePerson on _WorkforcePerson.PersonUUID = $projection.BusinessPartnerUUID
{
key R_BPUsrRole.BusinessPartnerUUID as BusinessPartnerUUID,
key R_BPUsrRole.BusinessPartnerRole as BusinessPartnerRole,
@ObjectModel.editableFieldFor: 'BusinessPartnerRole'
R_BPUsrRole.BusinessPartnerRole as BPUsrRoleForEdit,
R_BPUsrRole.BusinessPartner as BusinessPartner,
R_BPUsrRole.RoleCategory as RoleCategory,
R_BPUsrRole.BPRoleCategoryUsageCode as BPRoleCategoryUsageCode,
R_BPUsrRole.BPIdentificationCategory as BPIdentificationCategory,
R_BPUsrRole.BasicRoleCategory as BasicRoleCategory,
R_BPUsrRole.BPUsrRoleValidFromDate as BPUsrRoleValidFromDate,
R_BPUsrRole.BPUsrRoleValidToDate as BPUsrRoleValidToDate,
//Clear Supplier if there are more suppliers exist per WA or per Person
case when _TotalNumberOfBPRelationship1.TotalNumberOfBPRelationship > 1 or
_TotalNumberOfBPRelationship2.TotalNumberOfBPRelationship > 1
then cast ( '' as abap.char(10))
else
_BPRelationshipBUR025.BusinessPartnerCompany
end as BusinessPartnerRelshpSupplier,
_BPUsrRoleText,
_SupplierBP,
_WorkforcePerson
}
where
R_BPUsrRole.BPRoleCategoryUsageCode = 'B' //Business User
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BPRELATIONSHIP",
"R_BPUSRROLE",
"R_TOTALNUMBEROFBPRELATIONSHIP1",
"R_TOTALNUMBEROFBPRELATIONSHIP2"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER",
"R_BPUSRROLETEXT",
"R_WORKFORCEPERSONTP"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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