P_ChmlSuplrMatlNoReldCmpstn

DDL: P_CHMLSUPLRMATLNORELDCMPSTN Type: view COMPOSITE Package: EHFND_CNS_CCI

Suppliers Without Released Composition

P_ChmlSuplrMatlNoReldCmpstn is a Composite CDS View that provides data about "Suppliers Without Released Composition" in SAP S/4HANA. It reads from 1 data source (I_ChmlCmplncInfo) and exposes 6 fields. It has 1 association to related views. Part of development package EHFND_CNS_CCI.

Data Sources (1)

SourceAliasJoin Type
I_ChmlCmplncInfo ChmlCmplncInfo from

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_ChmlSuplrMatl _ChmlSuplrMatl _ChmlSuplrMatl.ChmlSuplrMatlUUID = ChmlSuplrMatl.ChmlSuplrMatlUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PSMTLNORELCMPSTN view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (6)

KeyFieldSource TableSource FieldDescription
ChmlSuplrMatlUUID
ChmlCmplncInfoUUID
BusinessPartnerSupplier _ChmlSuplrMatl BusinessPartnerSupplier
AuthorizationGroup
ResponsibleUnit _ChmlSuplrMatl ResponsibleUnit
_BusinessPartner
@AbapCatalog:
{
  sqlViewName: 'PSMTLNORELCMPSTN',
  compiler.compareFilter: true,
  preserveKey: true
}

@AccessControl:
{
  authorizationCheck: #MANDATORY,
  personalData.blocking: #NOT_REQUIRED
}

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel:
{
  usageType:
  {
    dataClass: #MIXED,
    sizeCategory: #L,
    serviceQuality: #C
  }
}

@VDM.viewType: #COMPOSITE
@VDM.private: true

-- View shows supplier materials without any component in the analytical composition.
-- Currently there is no release concept for the analytical composition of a supplier material.
-- An in progress version is automatically created but never released.

define view P_ChmlSuplrMatlNoReldCmpstn

  as

  -- Select the CCI under investigation (root of the composition under investigation)
  select from               I_ChmlCmplncInfo            as ChmlCmplncInfo

  -- Find the supplier materials of the CCI
  -- Todo: Einschränken auf Assignment Status?
    join                    I_ChmlCmplncSuplrMatlAssgmt as ChmlCmplncSuplrMatlAssgmt on ChmlCmplncSuplrMatlAssgmt.ChmlCmplncInfoUUID = ChmlCmplncInfo.ChmlCmplncInfoUUID

  -- therein, take the supplier material ...
  -- Todo: Einschränken auf Data Status?
    join                    I_ChmlSuplrMatl             as ChmlSuplrMatl             on ChmlSuplrMatl.ChmlSuplrMatlUUID = ChmlCmplncSuplrMatlAssgmt.ChmlSuplrMatlUUID

  -- ... take its analytical composition (should exist, but view displays also supplier materials without analytical composition)
    left outer to one join  I_ChmlComposition           as SuplrMatlAnalyticalCmpstn on  SuplrMatlAnalyticalCmpstn.ChmlSuplrMatlUUID   = ChmlSuplrMatl.ChmlSuplrMatlUUID
                                                                                     and SuplrMatlAnalyticalCmpstn.ChmlCompositionType = 'ANALYTIC1'

  -- ... that has no component (composition is empty)
    left outer to many join I_ChmlComponent             as ChmlSuplrMatlComponent    on ChmlSuplrMatlComponent.ChmlCompositionUUID = SuplrMatlAnalyticalCmpstn.ChmlCompositionUUID

  -- Association for DCL
  association [1..1] to I_ChmlSuplrMatl as _ChmlSuplrMatl on _ChmlSuplrMatl.ChmlSuplrMatlUUID = ChmlSuplrMatl.ChmlSuplrMatlUUID

{
      --Supplier Material (that has an analytical composition without component)
  key ChmlSuplrMatl.ChmlSuplrMatlUUID,

      -- CCI under investigation
      ChmlCmplncInfo.ChmlCmplncInfoUUID,

      _ChmlSuplrMatl.BusinessPartnerSupplier,

      -- fields for DCL
      _ChmlSuplrMatl._BusinessPartnerSupplier.AuthorizationGroup,
      _ChmlSuplrMatl.ResponsibleUnit,

      -- Association
      _ChmlSuplrMatl._BusinessPartner

}
where
  ChmlSuplrMatlComponent.ChmlCompUUID is null