C_ChmlCmplncInfoMntr

DDL: C_CHMLCMPLNCINFOMNTR Type: view CONSUMPTION Package: EHFND_CNS_CCI

Unpackaged Product

C_ChmlCmplncInfoMntr is a Consumption CDS View that provides data about "Unpackaged Product" in SAP S/4HANA. It reads from 1 data source (I_ChmlCmplncInfo) and exposes 32 fields. It has 16 associations to related views. Part of development package EHFND_CNS_CCI.

Data Sources (1)

SourceAliasJoin Type
I_ChmlCmplncInfo ChemicalCompliance from

Associations (16)

CardinalityTargetAliasCondition
[0..1] I_ProductGroup_2 _ProductGroupVH $projection.MaterialGroup = _ProductGroupVH.ProductGroup
[0..1] I_ProductHierarchy _ProductHierarchyVH $projection.producthierarchy = _ProductHierarchyVH.ProductHierarchy
[0..1] I_Division _DivisionVH $projection.division = _DivisionVH.Division
[0..1] I_ExtProdGrp _ExternalProdGrpVH $projection.ExternalProductGroup = _ExternalProdGrpVH.ExternalProductGroup
[0..1] C_ChmlCmplncPrimMatl _MaterialDataPrimary ChemicalCompliance.ChmlCmplncInfoUUID = _MaterialDataPrimary.ChmlCmplncInfoUUID --Overall
[0..1] P_ChmlCompositionOverallStatus _ChmlCompositionOverallStatus ChemicalCompliance.ChmlCmplncInfoUUID = _ChmlCompositionOverallStatus.ChmlCmplncInfoUUID
[0..1] I_ChmlCmpstnOverallStatusVH _OverallStatusVH $projection.ChmlCompositionStatus = _OverallStatusVH.ChmlCmpstnOverallStatus --Counter of purposes and compliance requirements
[0..1] P_ChmlCmplncPrpsRqmtPmaCT _PurposeRequirementPmaCounter ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeRequirementPmaCounter.ChmlCmplncInfoUUID
[0..1] P_ChmlCmplncPrpsRqmtDgCT _PurposeRequirementDgCounter ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeRequirementDgCounter.ChmlCmplncInfoUUID
[0..1] P_ChmlCmplncPrpsRqmtSdsCT _PurposeRequirementSdsCounter ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeRequirementSdsCounter.ChmlCmplncInfoUUID
[0..1] P_ChmlCmplncPrpsAssgmtCt _PurposeCounter ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeCounter.ChemicalComplianceUUID
[0..1] P_ChmlCmplncReqUnprocessedCT _RequestCounter ChemicalCompliance.ChmlCmplncInfoUUID = _RequestCounter.ChmlCmplncProdUUID
[0..1] I_ChmlCmplncMktKeyFig _MarketKeyFig ChemicalCompliance.ChmlCmplncInfoUUID = _MarketKeyFig.ChmlCmplncInfoUUID --Link to phrase texts (needed for sorting and filtering)
[0..1] I_ProdCmplncPhrsTxtWthFallback _ProdCatztnPhrs $projection.ChmlCmplncProdCatztnPhrsUUID = _ProdCatztnPhrs.ProdCmplncPhrsUUID --Chemical Compliance Identifier
[0..1] C_ChmlCmplncInfoIdfrSearch _Identifier $projection.ChmlCmplncInfoUUID = _Identifier.ChmlCmplncIdfrParentUUID and _Identifier.ChmlCmplncIdfrParentType = 'CCI'
[0..1] C_ChmlCmplncInfoQuickView _ChmlCmplncInfoQuickVw $projection.Specification = _ChmlCmplncInfoQuickVw.Specification

Annotations (15)

NameValueLevelField
EndUserText.label Unpackaged Product view
AbapCatalog.sqlViewName CCCINFOMNTR view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
ObjectModel.createEnabled false view
ObjectModel.updateEnabled false view
ObjectModel.deleteEnabled false view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
Search.searchable true view
Metadata.allowExtensions true view

Fields (32)

KeyFieldSource TableSource FieldDescription
ChmlCmplncInfoUUID
MaterialasMaterial
ProductNameasProductName
ChmlCmplncInternalName
ProductGroupasMaterialGroup
MaterialGroupNameasMaterialGroupName
ChmlCompositionStsCriticality
ProdStewardshipRespUnit
ProductHierarchy
ProductHierarchyText
Division
DivisionName
ExternalProductGroupName
SpecificationasSpecification
ChmlCmplncProdCatztnPhrsUUID I_ChmlCmplncInfo ChmlCmplncProdCatztnPhrsUUID
ChmlCmplncProdCatztnPhrs1Text
MatlIsMultiComponentProduct I_ChmlCmplncInfo MatlIsMultiComponentProduct
ChmlCmplncInfoType I_ChmlCmplncInfo ChmlCmplncInfoType
MaterialIsSold I_ChmlCmplncInfo MaterialIsSold
MaterialIsTransported I_ChmlCmplncInfo MaterialIsTransported
MaterialIsProduced I_ChmlCmplncInfo MaterialIsProduced
_ProductGroupVH _ProductGroupVH
_RespUnitForProductStewardship I_ChmlCmplncInfo _RespUnitForProductStewardship
_ProductHierarchyVH _ProductHierarchyVH
_DivisionVH _DivisionVH
_ExternalProdGrpVH _ExternalProdGrpVH
_OverallStatusVH _OverallStatusVH
_ProdCatztnPhrs _ProdCatztnPhrs
_ChmlCmplncIdfrValue
ChmlCmplncIdfrUUID _Identifier ChmlCmplncIdfrUUID
_Identifier _Identifier
_ChmlCmplncInfoQuickVw _ChmlCmplncInfoQuickVw
//Manage Basic Compliance Data - Unpackaged Product (Monitor)

@EndUserText.label: 'Unpackaged Product'

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

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

  personalData.blocking: #NOT_REQUIRED
}

@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #CONSUMPTION

@ObjectModel:
{
  createEnabled: false,
  updateEnabled: false,
  deleteEnabled: false,
  usageType:
  {
    dataClass: #MIXED,
    sizeCategory: #L,
    serviceQuality: #C
  },
  semanticKey:  [ 'ChmlCmplncInfoCombinedName' ]
}

@Search.searchable : true

@Metadata.allowExtensions: true

define view C_ChmlCmplncInfoMntr
  --Select data from basic view of chemical compliance information
  as select from I_ChmlCmplncInfo as ChemicalCompliance

  --Additional Information
  --Product Information
  association [0..1] to I_ProductGroup_2               as _ProductGroupVH               on  $projection.MaterialGroup = _ProductGroupVH.ProductGroup
  association [0..1] to I_ProductHierarchy             as _ProductHierarchyVH           on  $projection.producthierarchy = _ProductHierarchyVH.ProductHierarchy
  association [0..1] to I_Division                     as _DivisionVH                   on  $projection.division = _DivisionVH.Division
  association [0..1] to I_ExtProdGrp                   as _ExternalProdGrpVH            on  $projection.ExternalProductGroup = _ExternalProdGrpVH.ExternalProductGroup
  association [0..1] to C_ChmlCmplncPrimMatl           as _MaterialDataPrimary          on  ChemicalCompliance.ChmlCmplncInfoUUID = _MaterialDataPrimary.ChmlCmplncInfoUUID

  --Overall Composition Status
  association [0..1] to P_ChmlCompositionOverallStatus as _ChmlCompositionOverallStatus on  ChemicalCompliance.ChmlCmplncInfoUUID = _ChmlCompositionOverallStatus.ChmlCmplncInfoUUID
  association [0..1] to I_ChmlCmpstnOverallStatusVH    as _OverallStatusVH              on  $projection.ChmlCompositionStatus = _OverallStatusVH.ChmlCmpstnOverallStatus

  --Counter of purposes and compliance requirements
  association [0..1] to P_ChmlCmplncPrpsRqmtPmaCT      as _PurposeRequirementPmaCounter on  ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeRequirementPmaCounter.ChmlCmplncInfoUUID
  association [0..1] to P_ChmlCmplncPrpsRqmtDgCT       as _PurposeRequirementDgCounter  on  ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeRequirementDgCounter.ChmlCmplncInfoUUID
  association [0..1] to P_ChmlCmplncPrpsRqmtSdsCT      as _PurposeRequirementSdsCounter on  ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeRequirementSdsCounter.ChmlCmplncInfoUUID

  association [0..1] to P_ChmlCmplncPrpsAssgmtCt       as _PurposeCounter               on  ChemicalCompliance.ChmlCmplncInfoUUID = _PurposeCounter.ChemicalComplianceUUID
  association [0..1] to P_ChmlCmplncReqUnprocessedCT   as _RequestCounter               on  ChemicalCompliance.ChmlCmplncInfoUUID = _RequestCounter.ChmlCmplncProdUUID
  association [0..1] to I_ChmlCmplncMktKeyFig          as _MarketKeyFig                 on  ChemicalCompliance.ChmlCmplncInfoUUID = _MarketKeyFig.ChmlCmplncInfoUUID

  --Link to phrase texts (needed for sorting and filtering)
  association [0..1] to I_ProdCmplncPhrsTxtWthFallback as _ProdCatztnPhrs               on  $projection.ChmlCmplncProdCatztnPhrsUUID = _ProdCatztnPhrs.ProdCmplncPhrsUUID

  --Chemical Compliance Identifier
  association [0..1] to C_ChmlCmplncInfoIdfrSearch     as _Identifier                   on  $projection.ChmlCmplncInfoUUID       = _Identifier.ChmlCmplncIdfrParentUUID
                                                                                        and _Identifier.ChmlCmplncIdfrParentType = 'CCI'

  association [0..1] to C_ChmlCmplncInfoQuickView    as _ChmlCmplncInfoQuickVw        on $projection.Specification = _ChmlCmplncInfoQuickVw.Specification
{
      --UUID of active chemical compliance information
      @ObjectModel.readOnly: true
  key ChemicalCompliance.ChmlCmplncInfoUUID,

      --Material/Product number
      @ObjectModel.readOnly: true
      @ObjectModel.text.element: ['ProductName']
      @Consumption: {
        valueHelpDefinition: [{
          entity: {name: 'I_ProductVH', element: 'Product'} }]
      }
  key ChemicalCompliance._MaterialAssignment.Material                                                                                as Material,

      --UUID of active chemical compliance information
      @ObjectModel.readOnly: true
      ChemicalCompliance.ChmlCmplncInfoUUID                                                                                          as ChmlCmplncInfoNavgnLink,

      --Material name or internal name
      @ObjectModel.readOnly: true
      _MaterialDataPrimary.ChmlCmplncInfoCombinedName                                                                                as ChmlCmplncInfoCombinedName,

      --Material name
      @ObjectModel.readOnly: true
      ChemicalCompliance._MaterialAssignment._Product._Text[1: Language = $session.system_language ].ProductName                     as ProductName,

      --Internal name of chemical compliance information
      @ObjectModel.readOnly: true
      @Semantics.text:true
      ChemicalCompliance.ChmlCmplncInternalName,

      --Product group
      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'MaterialGroupName' ],
        foreignKey.association: '_ProductGroupVH'
      }
      ChemicalCompliance._MaterialAssignment._Product.ProductGroup                                                                   as MaterialGroup,

      --Material Group Name
      @ObjectModel.readOnly: true
      ChemicalCompliance._MaterialAssignment._Product._ProductGroup._Text[1: Language = $session.system_language ].MaterialGroupName as MaterialGroupName,

      --Overall composition status
      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'ChmlCompositionStatusName' ],
        foreignKey.association: '_OverallStatusVH'
      }
      cast( _ChmlCompositionOverallStatus.ChmlCompositionStatus as ehfnd_cci_ccmps_overall_status preserving type )                  as ChmlCompositionStatus,

      --Description of overall composition status
      @ObjectModel.readOnly: true
      _ChmlCompositionOverallStatus._StatusText._Text[1: Language = $session.system_language ].ChmlCmpstnOverallStatusName           as ChmlCompositionStatusName,

      --Criticality of overall composition status
      @ObjectModel.readOnly: true
      _ChmlCompositionOverallStatus.ChmlCompositionStsCriticality,

      --Responsible unit of PSS
      @ObjectModel.readOnly: true
      @Consumption.hidden: true
      ChemicalCompliance.ProdStewardshipRespUnit,

      --Number of Assigned PMA Requirments
      @ObjectModel.readOnly: true
      cast( _PurposeRequirementPmaCounter.NmbrOfCmplRqRslts as ehfnd_cci_number_of_cr_ma )                                           as NmbrOfChmlCmplncMktRqmts,

      --Number of Assigned DG Requirments
      @ObjectModel.readOnly: true
      cast( _PurposeRequirementDgCounter.NmbrOfCmplRqRslts as ehfnd_cci_number_of_cr_dg )                                            as NmbrOfChmlCmplncDngrsGdsRqmts,

      --Number of Assigned DG Requirments
      @ObjectModel.readOnly: true
      cast( _PurposeRequirementSdsCounter.NmbrOfCmplRqRslts as ehfnd_cci_number_of_cr_sds )                                          as NmbrOfChmlCmplncDataShtRqmts,

      --Number of Coverages
      @ObjectModel.readOnly: true
      cast( _MarketKeyFig.NmbrOfChmlCmplncMktCountries as ehfnd_cci_number_of_cvrg )                                                 as NmbrOfChmlCmplncProcdMktCvrgs,

      --Number of Purposes
      @ObjectModel.readOnly: true
      cast( _PurposeCounter.NmbrOfChmlCmplncPurposes as ehfnd_cci_number_of_prps )                                                   as NmbrOfChmlCmplncPurposes,

      --Number of Compliance Requests
      @ObjectModel.readOnly: true
      cast( _RequestCounter.recordCount as ehfnd_cci_number_of_req )                                                                 as NmbrOfUnprocessedChmlCmplncReq,

      --Product Hierarchy
      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'ProductHierarchyText' ]
      }
      ChemicalCompliance._MaterialAssignment._Product.ProductHierarchy,

      ChemicalCompliance._MaterialAssignment._Product._ProductHierarchyText[1: Language = $session.system_language ].ProductHierarchyText,

      --Product Division
      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'DivisionName' ]
      }
      ChemicalCompliance._MaterialAssignment._Product.Division,

      ChemicalCompliance._MaterialAssignment._Product._DivisionText[1: Language = $session.system_language ].DivisionName,

      --External product group
      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'ExternalProductGroupName' ],
        foreignKey.association: '_ExternalProdGrpVH'
      }
      cast( ChemicalCompliance._MaterialAssignment._Product.ExternalProductGroup as ehfnd_ext_material_group_l )                     as ExternalProductGroup,

      --Description of External Product Group
      @ObjectModel.readOnly: true
      ChemicalCompliance._MaterialAssignment._Product._ExternalProductGroup._Text[1: Language = $session.system_language ].ExternalProductGroupName,

      --Specification
      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'ChmlCmplncInternalName' ],
        foreignKey.association: '_ChmlCmplncInfoQuickVw'
      }
      ChemicalCompliance.Specification                                                                                               as Specification,

      @Consumption: {
        valueHelpDefinition: [{
          entity: {name: 'C_ProdCmplncPhrsExtraSmallVH', element: 'ProdCmplncPhrsUUID'},
          additionalBinding: [
            { localConstant: 'EHFND_CHM_PROD_CATZTNPHRS_UUID', element: 'ProdCmplncPhrsEnabledField', usage: #FILTER }]
        }]
      }
      ChemicalCompliance.ChmlCmplncProdCatztnPhrsUUID                                                                                as ChmlCmplncProdCatztnPhrsUUID,

      @ObjectModel.readOnly: true
      @ObjectModel:{
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_EHFND_CCI_PRODCAT_PHRS_EXIT',
        filter.transformedBy: 'ABAP:CL_EHFND_CCI_PRODCAT_PHRS_EXIT',
        sort.transformedBy: 'ABAP:CL_EHFND_CCI_PRODCAT_PHRS_EXIT'
      }
      cast('' as ehfnd_chm_prod_catztnphrs_txt )                                                                                     as ChmlCmplncProdCatztnPhrs1Text,

      --R&D Indicator: Product under Research
      @ObjectModel.readOnly: true
      ChemicalCompliance.ChmlCmplncProdIsResearched                                                                                  as ChmlCmplncProdIsResearched,

      -- Safety Data Sheet Required
      cast(case
      when MatlIsNotProdSafetyRlvt = 'X'
      then ''
      else 'X'
      end as ehfnd_cci_sds_is_required preserving type )                                                                             as SftyDataShtIsRequired,

      ChemicalCompliance.MatlIsMultiComponentProduct                                                                                 as MatlIsMultiComponentProduct,

      -- indicators to disable essential checks
      cast(MatlIsNotProdSafetyRlvt as ehfnd_cci_sds_is_required preserving type )                                                    as MatlIsNotProdSafetyRlvt,

      ChemicalCompliance.ChmlCmplncInfoType,

      ChemicalCompliance.MaterialIsSold                                                                                              as MaterialIsSold,

      ChemicalCompliance.MaterialIsTransported                                                                                       as MaterialIsTransported,

      ChemicalCompliance.MaterialIsProduced                                                                                          as MaterialIsProduced,
      
      

      /*Association*/
      _ProductGroupVH,
      ChemicalCompliance._RespUnitForProductStewardship,
      _ProductHierarchyVH,
      _DivisionVH,
      _ExternalProdGrpVH,
      _OverallStatusVH,
      _ProdCatztnPhrs, --Phrase association used for filter in SADL exit
      _Identifier._ChmlCmplncIdfrValue,
      _Identifier.ChmlCmplncIdfrUUID,
      _Identifier,
      _ChmlCmplncInfoQuickVw

}
where
       ChemicalCompliance.ChmlCmplncInfoType = 'BU'
  and(
       ChemicalCompliance.MaterialIsSold     = 'X'
    or ChemicalCompliance.MaterialIsProduced = 'X'
    // or ChemicalCompliance.MaterialIsTransported = 'X' --  No longer a mandatory role - PSSPROD-3445

  )