P_BusPartGovRelationshipList

DDL: P_BUSPARTGOVRELATIONSHIPLIST Type: view_entity BASIC

Base list for all Relationships of BP

P_BusPartGovRelationshipList is a Basic CDS View that provides data about "Base list for all Relationships of BP" in SAP S/4HANA. It reads from 3 data sources (I_BPRelationship_2, I_BPRelationship_2, I_BusPartRelationshipProcess) and exposes 51 fields with key fields MasterDataChangeProcess, MDChgProcessSrceSystem, RelationshipCategory, MDChgProcessSrceBusPart1, MDChgProcessSrceBusPart2.

Data Sources (3)

SourceAliasJoin Type
I_BPRelationship_2 _BPRelationship union_all
I_BPRelationship_2 _BPRelationship union_all
I_BusPartRelationshipProcess _BPRelProcess from

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #BASIC view
EndUserText.label Base list for all Relationships of BP view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
VDM.private true view

Fields (51)

KeyFieldSource TableSource FieldDescription
KEY MasterDataChangeProcess I_BusPartRelationshipProcess MasterDataChangeProcess
KEY MDChgProcessSrceSystem I_BusPartRelationshipProcess MDChgProcessSrceSystem
KEY RelationshipCategory I_BusPartRelationshipProcess RelationshipCategory
KEY MDChgProcessSrceBusPart1 I_BusPartRelationshipProcess MDChgProcessSrceBusPart1
KEY MDChgProcessSrceBusPart2 I_BusPartRelationshipProcess MDChgProcessSrceBusPart2
char32endasBusinessPartnerUUID
MDChgProcessSrceObject I_BusPartRelationshipProcess MDChgProcessSrceObject
BusinessPartner1 I_BusPartRelationshipProcess BusinessPartner1
BusinessPartner2 I_BusPartRelationshipProcess BusinessPartner2
BPRelshpCatIsInFwdDirection I_BusPartRelationshipProcess BPRelshpCatIsInFwdDirection
MDChgProcessStep I_BusPartRelationshipProcess MDChgProcessStep
BPRelationshipIsInProcess
BP1AuthorizationGroup I_BusPartRelationshipProcess BP1AuthorizationGroup
KEY MDChgProcessSrceSystem _BPProcess MDChgProcessSrceSystem
KEY RelationshipCategory I_BPRelationship_2 RelationshipCategory
KEY MDChgProcessSrceBusPart1
KEY MDChgProcessSrceBusPart2
BusinessPartnerUUID
MDChgProcessSrceObject
BusinessPartner1 I_BPRelationship_2 BusinessPartner1
BusinessPartner2 I_BPRelationship_2 BusinessPartner2
BPRelshpCatIsInFwdDirection
MDChgProcessStep
BPRelationshipIsInProcess
BP1AuthorizationGroup
MasterDataChangeProcess
KEY MDChgProcessSrceSystem I_BusPartRelationshipProcess MDChgProcessSrceSystem
KEY RelationshipCategory I_BusPartRelationshipProcess RelationshipCategory
KEY MDChgProcessSrceBusPart1 I_BusPartRelationshipProcess MDChgProcessSrceBusPart1
KEY MDChgProcessSrceBusPart2 I_BusPartRelationshipProcess MDChgProcessSrceBusPart2
BusinessPartnerUUID
MDChgProcessSrceObject I_BusPartRelationshipProcess MDChgProcessSrceObject
BusinessPartner1 I_BusPartRelationshipProcess BusinessPartner1
BusinessPartner2 I_BusPartRelationshipProcess BusinessPartner2
BPRelshpCatIsInFwdDirection I_BusPartRelationshipProcess BPRelshpCatIsInFwdDirection
MDChgProcessStep I_BusPartRelationshipProcess MDChgProcessStep
BPRelationshipIsInProcess
BP1AuthorizationGroup I_BusPartRelationshipProcess BP1AuthorizationGroup
KEY MDChgProcessSrceSystem
KEY RelationshipCategory I_BPRelationship_2 RelationshipCategory
KEY MDChgProcessSrceBusPart1
KEY MDChgProcessSrceBusPart2
BusinessPartnerUUID
MDChgProcessSrceObject
BusinessPartner1 I_BPRelationship_2 BusinessPartner1
BusinessPartner2 I_BPRelationship_2 BusinessPartner2
BPRelshpCatIsInFwdDirection
MDChgProcessStep
BPRelationshipIsInProcess
BP1AuthorizationGroup
BP2AuthorizationGroup
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #BASIC
@EndUserText.label: 'Base list for all Relationships of BP'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #S,
  dataClass: #MIXED
}
@VDM.private:true
define view entity P_BusPartGovRelationshipList
  as select from            I_BusPartRelationshipProcess as _BPRelProcess
    left outer to many join I_BusPartRelshpTmeDpndcyProc as _BPRelTDProcess on  _BPRelProcess.MasterDataChangeProcess = _BPRelTDProcess.MasterDataChangeProcess
                                                                            and _BPRelProcess.MDChgProcessStep        = _BPRelTDProcess.MDChgProcessStep
                                                                            and _BPRelProcess.MDChgProcessSrceSystem  = _BPRelTDProcess.MDChgProcessSrceSystem
                                                                            and _BPRelProcess.MDChgProcessSrceObject  = _BPRelTDProcess.MDChgProcessSrceObject
{
  key _BPRelProcess.MasterDataChangeProcess,
  key _BPRelProcess.MDChgProcessSrceSystem,
  key _BPRelProcess.RelationshipCategory,
  key _BPRelProcess.MDChgProcessSrceBusPart1,
  key _BPRelProcess.MDChgProcessSrceBusPart2,
      @Semantics.booleanIndicator: false
  key cast(case
            when _BPRelTDProcess.ValidityStartDate <= $session.system_date and _BPRelTDProcess.ValidityEndDate >= $session.system_date
             then case
                    when _BPRelTDProcess.IsStandardRelationship = 'X'
                     then '1'
                    else '2'
                  end
             else '3'
           end as bu_relshp_validity )                                as BPRelationshipValidityCode,
      case 
        when length(_BPRelProcess.MDChgProcessSrceBusPart1) > 10 
          then cast( _BPRelProcess.MDChgProcessSrceBusPart1 as abap.char(32) )
        else 
          cast( '00000000000000000000000000000000' as abap.char(32) )
      end as BusinessPartnerUUID,
      _BPRelProcess.MDChgProcessSrceObject,
      _BPRelProcess.BusinessPartner1,
      _BPRelProcess.BusinessPartner2,
      @Semantics.booleanIndicator
      _BPRelProcess.BPRelshpCatIsInFwdDirection,
      _BPRelProcess.MDChgProcessStep,
      cast( 'X' as abap_boolean preserving type )                     as BPRelationshipIsInProcess,
      _BPRelProcess.BP1AuthorizationGroup,
      _BPRelProcess.BP2AuthorizationGroup
}
where
      _BPRelProcess.RelationshipCategory         <> 'BUR001'
  and _BPRelProcess.MDChgProcessStep             =  '0001'
  and _BPRelTDProcess.MDChgProcessStep           =  '0001'
  and _BPRelProcess.MDChgProcessSourceModified   <> 'D'
  and _BPRelTDProcess.MDChgProcessSourceModified <> 'D'


union all

select from              I_BPRelationship_2       as _BPRelationship
  left outer to one join I_BusinessPartnerProcess as _BPProcess on _BPRelationship.BusinessPartner1 = _BPProcess.MDChgProcessSrceObject
                                                                or _BPRelationship.BusinessPartner2 = _BPProcess.MDChgProcessSrceObject
{
  key _BPProcess.MasterDataChangeProcess                                                                                                                                                     as MasterDataChangeProcess,
  key _BPProcess.MDChgProcessSrceSystem                                                                                                                                                      as MDChgProcessSrceSystem,
  key _BPRelationship.RelationshipCategory,
  key cast(_BPRelationship.BusinessPartner1 as mdc_bprel_source_partner )                                                                                                                    as MDChgProcessSrceBusPart1,
  key cast(_BPRelationship.BusinessPartner2 as mdc_bprel_source_partner )                                                                                                                    as MDChgProcessSrceBusPart2,
  key cast(case
        when _BPRelationship.ValidityStartDate <= $session.system_date and _BPRelationship.ValidityEndDate >= $session.system_date
         then case
                when _BPRelationship.IsStandardRelationship = 'X'
                 then '1'
                else '2'
              end
         else '3'
       end as bu_relshp_validity )                                                                                                                                                           as BPRelationshipValidityCode,
      cast( '00000000000000000000000000000000' as abap.char(32) )                                                                                                                              as BusinessPartnerUUID,
      cast( concat( _BPRelationship.BusinessPartner1, concat( '$$', concat( _BPRelationship.BusinessPartner2, concat( '$$', _BPRelationship.RelationshipCategory ) ) ) )  as mdc_source_id ) as MDChgProcessSrceObject,
      _BPRelationship.BusinessPartner1,
      _BPRelationship.BusinessPartner2,
      'X'                                                                                                                                                                                    as BPRelshpCatIsInFwdDirection,
      cast('0001' as mdc_process_step_no )                                                                                                                                                   as MDChgProcessStep,
      ''                                                                                                                                                                                     as BPRelationshipIsInProcess,
      _BPRelationship._BusinessPartner1.AuthorizationGroup                                                                                                                                   as BP1AuthorizationGroup,
      _BPRelationship._BusinessPartner2.AuthorizationGroup                                                                                                                                   as BP2AuthorizationGroup
}
where
      _BPRelationship.RelationshipCategory <> 'BUR001'
  and _BPProcess.MDChgProcessStep          =  '0001'

except select from        I_BusPartRelationshipProcess as _BPRelProcess
  left outer to many join I_BusPartRelshpTmeDpndcyProc as _BPRelTDProcess on  _BPRelProcess.MasterDataChangeProcess = _BPRelTDProcess.MasterDataChangeProcess
                                                                          and _BPRelProcess.MDChgProcessStep        = _BPRelTDProcess.MDChgProcessStep
                                                                          and _BPRelProcess.MDChgProcessSrceSystem  = _BPRelTDProcess.MDChgProcessSrceSystem
                                                                          and _BPRelProcess.MDChgProcessSrceObject  = _BPRelTDProcess.MDChgProcessSrceObject
{
  key _BPRelProcess.MasterDataChangeProcess,
  key _BPRelProcess.MDChgProcessSrceSystem,
  key _BPRelProcess.RelationshipCategory,
  key _BPRelProcess.MDChgProcessSrceBusPart1,
  key _BPRelProcess.MDChgProcessSrceBusPart2,
  key cast(case
            when _BPRelTDProcess.ValidityStartDate <= $session.system_date and _BPRelTDProcess.ValidityEndDate >= $session.system_date
             then case
                    when _BPRelTDProcess.IsStandardRelationship = 'X'
                     then '1'
                    else '2'
                  end
             else '3'
           end as bu_relshp_validity )                                as BPRelationshipValidityCode,
      cast( '00000000000000000000000000000000' as abap.char(32) ) as BusinessPartnerUUID,
      _BPRelProcess.MDChgProcessSrceObject,
      _BPRelProcess.BusinessPartner1,
      _BPRelProcess.BusinessPartner2,
      _BPRelProcess.BPRelshpCatIsInFwdDirection,
      _BPRelProcess.MDChgProcessStep,
      ''                                                              as BPRelationshipIsInProcess,
      _BPRelProcess.BP1AuthorizationGroup,
      _BPRelProcess.BP2AuthorizationGroup
}
where
      _BPRelProcess.RelationshipCategory <> 'BUR001'
  and _BPRelProcess.MDChgProcessStep     =  '0001'

union all

select from I_BPRelationship_2 as _BPRelationship

{
  key '000000000000'                                                                                                                                                                         as MasterDataChangeProcess,
  key ''                                                                                                                                                                                     as MDChgProcessSrceSystem,
  key _BPRelationship.RelationshipCategory,
  key cast(_BPRelationship.BusinessPartner1 as mdc_bprel_source_partner )                                                                                                                    as MDChgProcessSrceBusPart1,
  key cast(_BPRelationship.BusinessPartner2 as mdc_bprel_source_partner )                                                                                                                    as MDChgProcessSrceBusPart2,
  key cast(case
    when _BPRelationship.ValidityStartDate <= $session.system_date and _BPRelationship.ValidityEndDate >= $session.system_date
     then case
            when _BPRelationship.IsStandardRelationship = 'X'
             then '1'
            else '2'
          end
     else '3'
    end as bu_relshp_validity )                                                                                                                                                              as BPRelationshipValidityCode,
      cast( '00000000000000000000000000000000' as abap.char(32) )                                                                                                                              as BusinessPartnerUUID,
      cast( concat( _BPRelationship.BusinessPartner1, concat( '$$', concat( _BPRelationship.BusinessPartner2, concat( '$$', _BPRelationship.RelationshipCategory ) ) ) )  as mdc_source_id ) as MDChgProcessSrceObject,
      _BPRelationship.BusinessPartner1,
      _BPRelationship.BusinessPartner2,
      'X'                                                                                                                                                                                    as BPRelshpCatIsInFwdDirection,
      '0000'                                                                                                                                                                                 as MDChgProcessStep,
      ''                                                                                                                                                                                     as BPRelationshipIsInProcess,
      _BPRelationship._BusinessPartner1.AuthorizationGroup                                                                                                                                   as BP1AuthorizationGroup,
      _BPRelationship._BusinessPartner2.AuthorizationGroup                                                                                                                                   as BP2AuthorizationGroup
}
where
  _BPRelationship.RelationshipCategory <> 'BUR001'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BPRELATIONSHIP_2",
"I_BUSINESSPARTNER",
"I_BUSINESSPARTNERPROCESS",
"I_BUSPARTRELATIONSHIPPROCESS",
"I_BUSPARTRELSHPTMEDPNDCYPROC"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/