I_PPM_BusinessPartnerForObject

DDL: I_PPM_BUSINESSPARTNERFOROBJECT Type: view BASIC

Responsible or assigned BusinessPartners for objects

I_PPM_BusinessPartnerForObject is a Basic CDS View that provides data about "Responsible or assigned BusinessPartners for objects" in SAP S/4HANA. It reads from 2 data sources (dpr_entity_link, dpr_entity_link) and exposes 11 fields with key fields ReferencedObjectUUID, BusinessPartnerUUID, BusinessPartnerUUID. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
dpr_entity_link elink from
dpr_entity_link elink union

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_BusinessUserBasic _BusinessUser $projection.BusinessPartnerUUID = _BusinessUser.BusinessPartnerUUID
[0..1] I_PPM_Text _ProjectRoleName ( $projection.ProjectRoleUUID = _ProjectRoleName.ReferencedObjectUUID ) and ( _ProjectRoleName.LanguageCode = $session.system_language )

Annotations (13)

NameValueLevelField
EndUserText.label Responsible or assigned BusinessPartners for objects view
VDM.viewType #BASIC view
AbapCatalog.sqlViewName IPPMBPFOROBJ view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.representativeKey BusinessPartnerUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #XL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY ReferencedObjectUUID dpr_entity_link entity_guid
KEY BusinessPartnerUUID blink bupa_guid
ProjectRoleUUID
IsBusinessPartnerResponsible dpr_entity_link responsible
_BusinessUser _BusinessUser
entity_guidasReferencedObjectUUID
KEY BusinessPartnerUUID blink bupa_guid
ProjectRoleUUID cgplhier up
IsBusinessPartnerResponsible dpr_entity_link responsible
_BusinessUser _BusinessUser
_ProjectRoleName _ProjectRoleName
@EndUserText.label: 'Responsible or assigned BusinessPartners for objects'
@VDM.viewType: #BASIC

@AbapCatalog: { 
    sqlViewName: 'IPPMBPFOROBJ',
    compiler.compareFilter: true,
    preserveKey:true
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@ObjectModel: {
   representativeKey: 'BusinessPartnerUUID',
   usageType: {
     serviceQuality:  #C,
     dataClass:       #MIXED,
     sizeCategory:    #XL
   }
}
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

define view I_PPM_BusinessPartnerForObject 

// Return all objects including information which Business Partner is either responsible or task assigned

  //return Entities and Business Partners with concrete linkage

  
  as select from dpr_entity_link as elink
    join         dpr_bupa_link   as blink    on blink.participant_guid = elink.participant_guid
    join         cgpl_hierarchy  as cgplhier on cgplhier.guid = elink.participant_guid
association [0..1]  to I_BusinessUserBasic              as _BusinessUser
                    on $projection.BusinessPartnerUUID  =  _BusinessUser.BusinessPartnerUUID                                    
association [0..1]  to I_PPM_Text                       as _ProjectRoleName
                    on ( $projection.ProjectRoleUUID         = _ProjectRoleName.ReferencedObjectUUID ) 
                    and ( _ProjectRoleName.LanguageCode      = $session.system_language )
{
  key elink.entity_guid            as ReferencedObjectUUID,
  key blink.bupa_guid              as BusinessPartnerUUID,
      cast(cgplhier.up             as /s4ppm/tv_entity_guid preserving type ) as ProjectRoleUUID,
      elink.responsible            as IsBusinessPartnerResponsible,
      cast( case when elink.beg_tmstmp = 0 then
         
      case when blink.beg_tmstmp = 0 then
                  blink.planstart
             else
              blink.beg_tmstmp end
      else elink.beg_tmstmp end as timestamp ) as StaffingPeriodStartDateTime,
      cast( case when elink.end_tmstmp = 0 then
         
      case when blink.end_tmstmp = 0 then
                  blink.planfinish
             else
              blink.end_tmstmp end
      else elink.end_tmstmp end as timestamp ) as StaffingPeriodFinishDateTime,
      _BusinessUser,
      _ProjectRoleName
}

union

//return Entities and Business Partners with abstract linkage

select from dpr_entity_link as elink
  join      cgpl_hierarchy  as cgplhier on cgplhier.up = elink.participant_guid
  join      dpr_bupa_link   as blink    on blink.participant_guid = cgplhier.guid
association [0..1]  to I_BusinessUserBasic              as _BusinessUser
                    on $projection.BusinessPartnerUUID  =  _BusinessUser.BusinessPartnerUUID                                                       
association [0..1]  to I_PPM_Text                       as _ProjectRoleName
                    on ( $projection.ProjectRoleUUID         = _ProjectRoleName.ReferencedObjectUUID ) 
                    and ( _ProjectRoleName.LanguageCode      = $session.system_language )
{
  key elink.entity_guid              as ReferencedObjectUUID,
  key blink.bupa_guid                as BusinessPartnerUUID,
      cgplhier.up                    as ProjectRoleUUID,
      elink.responsible              as IsBusinessPartnerResponsible,
      cast( case when elink.beg_tmstmp = 0 then
         
      case when blink.beg_tmstmp = 0 then
                  blink.planstart
             else
              blink.beg_tmstmp end
      else elink.beg_tmstmp end as timestamp ) as StaffingPeriodStartDateTime,
      cast( case when elink.end_tmstmp = 0 then
         
      case when blink.end_tmstmp = 0 then
                  blink.planfinish
             else
              blink.end_tmstmp end
      else elink.end_tmstmp end as timestamp ) as StaffingPeriodFinishDateTime,
      _BusinessUser,
      //_BusinessPartner, // obsolete, will be removed

      _ProjectRoleName
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"CGPL_HIERARCHY",
"DPR_BUPA_LINK",
"DPR_ENTITY_LINK"
],
"ASSOCIATED":
[
"I_BUSINESSUSERBASIC",
"I_PPM_TEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/