R_BPUsrRoleTP

DDL: R_BPUSRROLETP Type: view_entity TRANSACTIONAL

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)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/