C_MatlBsdAfterProdCompSubVH

DDL: C_MATLBSDAFTERPRODCOMPSUBVH Type: view CONSUMPTION

Substances of Aft Prod Comp of MbC

C_MatlBsdAfterProdCompSubVH is a Consumption CDS View that provides data about "Substances of Aft Prod Comp of MbC" in SAP S/4HANA. It reads from 1 data source (I_ChmlComponent) and exposes 21 fields with key field ChmlCompUUID. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ChmlComponent Component from

Parameters (2)

NameTypeDefault
P_ChmlCmplncInfoUUID sysuuid_x
P_MatlBsdCompUUID sysuuid_x

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_ChmlComposition _ChemicalComposition $projection.ChmlCompositionUUID = _ChemicalComposition.ChmlCompositionUUID --Substance
[0..1] I_SubstanceTP _Substance $projection.SubstanceUUID = _Substance.SubstanceUUID

Annotations (15)

NameValueLevelField
EndUserText.label Substances of Aft Prod Comp of MbC view
AbapCatalog.sqlViewName AFTPRCOMPSUBVH view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #CONSUMPTION view
ObjectModel.dataCategory #VALUE_HELP view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.representativeKey ChmlCompUUID view
Metadata.ignorePropagatedAnnotations true view
ClientHandling.algorithm #SESSION_VARIABLE view
Search.searchable true view

Fields (21)

KeyFieldSource TableSource FieldDescription
KEY ChmlCompUUID I_ChmlComponent ChmlCompUUID
ChmlCompositionUUID I_ChmlComponent ChmlCompositionUUID
ChmlCmplncInfoUUID I_ChmlComponent ChmlCmplncInfoUUID
P_MatlBsdCompUUIDasMatlBsdCompUUID
SubstanceUUID
SubstanceName
CASNumber
ChmlCompQty I_ChmlComponent ChmlCompQty
ChmlCompQtyAsText I_ChmlComponent ChmlCompQtyAsText
ChmlCompQtyUnit I_ChmlComponent ChmlCompQtyUnit
ChmlCompOperatorLowerLimit I_ChmlComponent ChmlCompOperatorLowerLimit
ChmlCompQtyLowerLimit I_ChmlComponent ChmlCompQtyLowerLimit
ChmlCompQtyLowerLimitAsText I_ChmlComponent ChmlCompQtyLowerLimitAsText
ChmlCompOperatorUpperLimit I_ChmlComponent ChmlCompOperatorUpperLimit
ChmlCompQtyUpperLimit I_ChmlComponent ChmlCompQtyUpperLimit
ChmlCompQtyUpperLimitAsText I_ChmlComponent ChmlCompQtyUpperLimitAsText
ChmlCompIsRemoved I_ChmlComponent ChmlCompIsRemoved
ResponsibleUnit _Substance ResponsibleUnit
_ChmlCmplncInfo I_ChmlComponent _ChmlCmplncInfo
_ChemicalComposition _ChemicalComposition
_Substance _Substance
@EndUserText.label: 'Substances of Aft Prod Comp of MbC'

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

@AccessControl:
{
  authorizationCheck: #MANDATORY,
  // blocking of personal data not required (no personal data fields exposed for material)

  personalData.blocking: #NOT_REQUIRED
}

@VDM.viewType: #CONSUMPTION

@ObjectModel:
{
  dataCategory: #VALUE_HELP,

  usageType:
  {
    dataClass: #MIXED,
    sizeCategory: #L,
    serviceQuality: #C
  },
  representativeKey: 'ChmlCompUUID',
  semanticKey: ['SubstanceName']
}

@Metadata.ignorePropagatedAnnotations: true

@ClientHandling.algorithm: #SESSION_VARIABLE

@UI:{
  presentationVariant: [{
    sortOrder: [{ by: 'SubstanceName', direction: #ASC }],
     requestAtLeast: ['SubstanceName',
                      'CASNumber',
                      'ChmlCompQtyAsText',
                      'ChmlCompQtyUnit',
                      'ChmlCompOperatorLowerLimit',
                      'ChmlCompQtyLowerLimitAsText',
                      'ChmlCompOperatorUpperLimit',
                      'ChmlCompQtyUpperLimitAsText'
                    ]
  }]
}

@Search.searchable: true

/*
 * This view is used in the object page of the material based composition
 * to diplay all CCIs with type = 'Bulk' and role 'Produced' or 'Sourced'
 * in a value help
 */

define view C_MatlBsdAfterProdCompSubVH
  with parameters
    P_ChmlCmplncInfoUUID : sysuuid_x,
    P_MatlBsdCompUUID    : sysuuid_x
  -- select Raw Material
  as select from I_ChmlComponent as Component

  --------------------------------------------------------------------------------------------------------------------
  --Nodes/Detaildata
  --------------------------------------------------------------------------------------------------------------------

  --Parent Composition
  association [1..1] to I_ChmlComposition as _ChemicalComposition on $projection.ChmlCompositionUUID = _ChemicalComposition.ChmlCompositionUUID

  --Substance
  association [0..1] to I_SubstanceTP     as _Substance           on $projection.SubstanceUUID = _Substance.SubstanceUUID

{
  key Component.ChmlCompUUID,
      Component.ChmlCompositionUUID,
      Component.ChmlCmplncInfoUUID,
      -- MatlBsdComp of Root
      $parameters.P_MatlBsdCompUUID       as MatlBsdCompUUID,

      --UUID of Substance
      Component.SubstanceUUID,

      -- Combined Component Name: Concat (1. specific substance name 2. listed substance name 3. internal name)
      @ObjectModel.readOnly: true
      @Search: {
              defaultSearchElement: true,
              fuzzinessThreshold:   0.8,
              ranking: #HIGH
            }
      _Substance.SubstanceName,

      @UI: {
        lineItem: [{
          position:   20 ,
          importance:  #MEDIUM 
         }]
       }
      _Substance._ListedSubstance.CASNumber,

      @Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
      Component.ChmlCompQty,
      Component.ChmlCompQtyAsText,
      Component.ChmlCompQtyUnit,
      Component.ChmlCompOperatorLowerLimit,
      @Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
      Component.ChmlCompQtyLowerLimit,
      Component.ChmlCompQtyLowerLimitAsText,
      Component.ChmlCompOperatorUpperLimit,
      @Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
      Component.ChmlCompQtyUpperLimit,
      Component.ChmlCompQtyUpperLimitAsText,
      Component.ChmlCompIsRemoved,

//      @ObjectModel.readOnly: true

//      @ObjectModel.virtualElement

//      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_MCMPS_APC_SUB_AC_EXIT'

//      cast( 0 as ehfnd_cci_ccomp_qty_ch ) as ChmlCompAbsQtyAsText,


      @UI.hidden: true
      _Substance.ResponsibleUnit          as ResponsibleUnit,

      /* Associations */
      Component._ChmlCmplncInfo,
      _ChemicalComposition,
      _Substance

}
where
      Component.ChmlCmplncInfoUUID                       = $parameters.P_ChmlCmplncInfoUUID
  and Component._ChmlCmplncInfo.ChmlCmplncInfoType       = 'BU'
  and
  -- Only for released analytical composition
      Component._ChemicalComposition.ChmlCompositionType = 'ANALYTIC1'
  and _ChemicalComposition.ChmlCompositionStatus         = 'RE'