I_PPM_Substitute

DDL: I_PPM_SUBSTITUTE Type: view BASIC

Object Responsible as Substitute

I_PPM_Substitute is a Basic CDS View that provides data about "Object Responsible as Substitute" in SAP S/4HANA. It reads from 1 data source (aco_substitute) and exposes 8 fields with key field ReferencedObjectUUID. It has 5 associations to related views.

Data Sources (1)

SourceAliasJoin Type
aco_substitute substitute from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_PPM_User _SubstituteUser $projection.SubstituteUser = _SubstituteUser.UserID
[0..*] I_PPM_AuthznByUsrH _AuthUser _AuthUser.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthUser.UserID = $session.user and ( _AuthUser.Activity = 'Admin' or _AuthUser.Activity = 'Write' or _AuthUser.Activity = 'Read' )
[0..*] I_PPM_AuthznBySubstitH _AuthSubst _AuthSubst.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthSubst.UserID = $session.user and ( _AuthSubst.Activity = 'Admin' or _AuthSubst.Activity = 'Write' or _AuthSubst.Activity = 'Read' )
[0..*] I_PPM_AuthznByUserRoleH _AuthRole _AuthRole.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthRole.UserID = $session.user and ( _AuthRole.Activity = 'Admin' or _AuthRole.Activity = 'Write' or _AuthRole.Activity = 'Read' )
[0..*] I_PPM_AuthznByUsrGrpH _AuthGroup _AuthGroup.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthGroup.UserID = $session.user and ( _AuthGroup.Activity = 'Admin' or _AuthGroup.Activity = 'Write' or _AuthGroup.Activity = 'Read' )

Annotations (12)

NameValueLevelField
EndUserText.label Object Responsible as Substitute view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
AbapCatalog.sqlViewName IPPMSUBSTITUTE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.representativeKey ReferencedObjectUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY ReferencedObjectUUID aco_substitute object_id
ObjectType aco_substitute type
SubstituteUser aco_substitute user_id_subst
_SubstituteUser _SubstituteUser
_AuthUser _AuthUser
_AuthSubst _AuthSubst
_AuthRole _AuthRole
_AuthGroup _AuthGroup
@EndUserText.label: 'Object Responsible as Substitute'

@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

@ClientHandling.algorithm: #SESSION_VARIABLE   
@AccessControl.authorizationCheck: #CHECK 

@AbapCatalog: { 
    sqlViewName: 'IPPMSUBSTITUTE',
    compiler.compareFilter: true,
    preserveKey:true
}

@ObjectModel: {
   representativeKey: 'ReferencedObjectUUID',
   usageType: {
     serviceQuality:  #C,
     dataClass:       #TRANSACTIONAL,
     sizeCategory:    #L
    }
} 


define view I_PPM_Substitute as select from aco_substitute as substitute     
    association [0..1] to I_PPM_User as _SubstituteUser 
            on      $projection.SubstituteUser = _SubstituteUser.UserID
    // associations to authorization views

    association [0..*] to I_PPM_AuthznByUsrH        as _AuthUser
            on      _AuthUser.ReferencedObjectUUID   = $projection.ReferencedObjectUUID
             and    _AuthUser.UserID                 = $session.user
             and (  _AuthUser.Activity = 'Admin'     or _AuthUser.Activity = 'Write'      or _AuthUser.Activity = 'Read' )
    association [0..*] to I_PPM_AuthznBySubstitH    as _AuthSubst 
            on      _AuthSubst.ReferencedObjectUUID  = $projection.ReferencedObjectUUID
             and    _AuthSubst.UserID                = $session.user
             and (  _AuthSubst.Activity = 'Admin'    or _AuthSubst.Activity = 'Write'     or _AuthSubst.Activity = 'Read' )
    association [0..*] to I_PPM_AuthznByUserRoleH   as _AuthRole
            on      _AuthRole.ReferencedObjectUUID   = $projection.ReferencedObjectUUID
             and    _AuthRole.UserID                 = $session.user
             and (  _AuthRole.Activity = 'Admin'     or _AuthRole.Activity = 'Write'      or _AuthRole.Activity = 'Read' )
    association [0..*] to I_PPM_AuthznByUsrGrpH     as _AuthGroup
            on      _AuthGroup.ReferencedObjectUUID  = $projection.ReferencedObjectUUID
             and    _AuthGroup.UserID                = $session.user
             and (  _AuthGroup.Activity = 'Admin'    or _AuthGroup.Activity = 'Write'     or _AuthGroup.Activity = 'Read' )                          
{
      key substitute.object_id as ReferencedObjectUUID, //

       substitute.type as ObjectType,      
       substitute.user_id_subst as SubstituteUser,
       _SubstituteUser,
       
// Association for ACL Authorization

       _AuthUser,
       _AuthSubst,
       _AuthRole,
       _AuthGroup          
}                                     
  
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"ACO_SUBSTITUTE"
],
"ASSOCIATED":
[
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/