I_ChmlSuplrMatlActiveDraft

DDL: I_CHMLSUPLRMATLACTIVEDRAFT Type: view COMPOSITE

Chemical Supplier Material with Active and Draft Data

I_ChmlSuplrMatlActiveDraft is a Composite CDS View that provides data about "Chemical Supplier Material with Active and Draft Data" in SAP S/4HANA. It reads from 1 data source (I_ChmlSuplrMatl) and exposes 4 fields.

Data Sources (1)

SourceAliasJoin Type
I_ChmlSuplrMatl SupplierMaterial from

Annotations (11)

NameValueLevelField
EndUserText.label Chemical Supplier Material with Active and Draft Data view
AbapCatalog.sqlViewName ICSMADR view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view

Fields (4)

KeyFieldSource TableSource FieldDescription
ResponsibleUnit I_ChmlSuplrMatl ResponsibleUnit
ChmlSuplrMatlUUIDendasChmlSuplrMatlUUID
BusinessPartnerSupplier I_ChmlSuplrMatl BusinessPartnerSupplier
_BusinessPartnerSupplier I_ChmlSuplrMatl _BusinessPartnerSupplier
--Label of view
@EndUserText.label: 'Chemical Supplier Material with Active and Draft Data'

@AbapCatalog:
{
  -- SQL view name (16 characters)
  sqlViewName: 'ICSMADR',

  --If it's true, the filter conditions are compared and, if they match, the associated join expression is evaluated only once
  compiler.compareFilter: true,
  preserveKey: true
}

--Access Control: Authorizations Checks
@AccessControl:
{
  authorizationCheck: #CHECK,
  // blocking of personal data required because of link to business partner / supplier

  personalData.blocking: #REQUIRED
}

--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE

--VDM view type
@VDM.viewType: #COMPOSITE


@ObjectModel:
{
  --Performance Annotations
  usageType:
  {
    dataClass: #MIXED,
    sizeCategory: #M,
    serviceQuality: #C
  }
}

define view I_ChmlSuplrMatlActiveDraft
  --Select data from basic view of supplier material
  as select from           I_ChmlSuplrMatl      as SupplierMaterial
  --join data from draft table of supplier material
    left outer to one join I_ChmlSuplrMatlDraft as SupplierMaterialDraft on  SupplierMaterial.ChmlSuplrMatlUUID      = SupplierMaterialDraft.ActiveChmlSuplrMatlUUID
                                                                         and SupplierMaterialDraft.LastChangedByUser = $session.user
{
      --UUID of active supplier material
  key SupplierMaterial.ChmlSuplrMatlUUID              as ActiveChmlSuplrMatlUUID,

      SupplierMaterial.ResponsibleUnit                as ResponsibleUnit,

      --UUID of active or draft supplier material
      case
        when SupplierMaterialDraft.ChmlSuplrMatlUUID is not null then SupplierMaterialDraft.ChmlSuplrMatlUUID
        else SupplierMaterial.ChmlSuplrMatlUUID
      end                                             as ChmlSuplrMatlUUID,

      --Indicator: Is Active Entity
      cast( case
              when SupplierMaterialDraft.ChmlSuplrMatlUUID is not null then ' '
              else 'X'
            end as sdraft_is_active preserving type ) as ChmlSuplrMatlIsActiveEntity,
      
      // needed for DCL

      SupplierMaterial.BusinessPartnerSupplier,
      SupplierMaterial._BusinessPartnerSupplier
            
}