C_ChmlCmplncInfoProdMntr

DDL: C_CHMLCMPLNCINFOPRODMNTR Type: view CONSUMPTION

Packaged Product

C_ChmlCmplncInfoProdMntr is a Consumption CDS View that provides data about "Packaged Product" in SAP S/4HANA. It reads from 1 data source (I_ChmlCmplncInfo) and exposes 23 fields. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ChmlCmplncInfo ChemicalCompliance from

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_ChmlCmplncProdAssgmt _ChmlCmplncProdAssgmt $projection.ChmlCmplncInfoUUID = _ChmlCmplncProdAssgmt.ChmlCmplncInfoUUID --Product Information
[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

Annotations (15)

NameValueLevelField
EndUserText.label Packaged Product view
AbapCatalog.sqlViewName CCCINFOPPMNTR 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
Metadata.allowExtensions true view
Search.searchable true view

Fields (23)

KeyFieldSource TableSource FieldDescription
ChmlCmplncInfoUUID
MaterialasMaterial
ProductNameasProductName
ChmlCmplncInternalName
ProductGroupasMaterialGroup
ProductGroupNameasMaterialGroupName
ProdStewardshipRespUnit
ProductHierarchy
ProductHierarchyText
Division
DivisionName
ExternalProductGroupName
SpecificationasSpecification
ChmlCmplncProdIsResearched
ChmlCmplncInfoType I_ChmlCmplncInfo ChmlCmplncInfoType
MaterialIsSold I_ChmlCmplncInfo MaterialIsSold
MaterialIsTransported I_ChmlCmplncInfo MaterialIsTransported
MaterialIsProduced I_ChmlCmplncInfo MaterialIsProduced
_ProductGroupVH _ProductGroupVH
_RespUnitForProductStewardship _RespUnitForProductStewardship
_ProductHierarchyVH _ProductHierarchyVH
_DivisionVH _DivisionVH
_ExternalProdGrpVH _ExternalProdGrpVH
//Manage Basic Compliance Data - Packaged Product (Monitor)

@EndUserText.label: 'Packaged Product'

@AbapCatalog:
{
  sqlViewName: 'CCCINFOPPMNTR',
  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' ]
}

@Metadata.allowExtensions: true
@Search.searchable : true

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

  --Additional Information
  --Cardinality is okay as one PP has only one UP assigned1
  association [0..1] to I_ChmlCmplncProdAssgmt as _ChmlCmplncProdAssgmt on $projection.ChmlCmplncInfoUUID = _ChmlCmplncProdAssgmt.ChmlCmplncInfoUUID

  --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



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

      --Material/Product number

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

      --UUID of Unpackaged Product - Used for Navigation
      @ObjectModel.readOnly: true
      _ChmlCmplncProdAssgmt.ChmlCmplncProdUUID                                                                                                    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
      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_2._ProductGroupText[1: Language = $session.system_language ].ProductGroupName as MaterialGroupName,

      --Overall composition status
      //      @UI:

      //      {

      //        textArrangement: #TEXT_ONLY

      //      }

      //      @ObjectModel:

      //      {

      //        readOnly: true,

      //        text.element:  [ 'ChmlCompositionStatusName' ],

      //        foreignKey.association: '_OverallStatusVH'

      //      }

      //      @Consumption.filter:

      //      {

      //        multipleSelections: true

      //      }

      //      cast( _ChmlCompositionOverallStatus.ChmlCompositionStatus as ehfnd_cci_ccmps_overall_status preserving type )                  as ChmlCompositionStatus,

      //

      //      --Description of overall composition status

      //      @UI.hidden: true

      //      @ObjectModel.readOnly: true

      //      _ChmlCompositionOverallStatus._StatusText._Text[1: Language = $session.system_language ].ChmlCmpstnOverallStatusName           as ChmlCompositionStatusName,

      //

      //      --Criticality of overall composition status

      //      @UI.hidden: true

      //      @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

      //      @Consumption.filter.hidden: true

      //      cast( _PurposeRequirementPmaCounter.NmbrOfCmplRqRslts as ehfnd_cci_number_of_cr_ma )                                           as NmbrOfChmlCmplncMktRqmts,

      //

      //      --Number of Assigned DG Requirments

      //      @ObjectModel.readOnly: true

      //      @Consumption.filter.hidden: true

      //      cast( _PurposeRequirementDgCounter.NmbrOfCmplRqRslts as ehfnd_cci_number_of_cr_dg )                                            as NmbrOfChmlCmplncDngrsGdsRqmts,

      //

      //      --Number of Assigned DG Requirments

      //      @ObjectModel.readOnly: true

      //      @Consumption.filter.hidden: true

      //      cast( _PurposeRequirementSdsCounter.NmbrOfCmplRqRslts as ehfnd_cci_number_of_cr_sds )                                          as NmbrOfChmlCmplncDataShtRqmts,

      //

      //      --Number of Coverages

      //      @ObjectModel.readOnly: true

      //      @Consumption.filter.hidden: true

      //      @UI:

      //      {

      //        lineItem:

      //        {

      //          position: 70

      //        }

      //      }

      //      cast( _MarketKeyFig.NmbrOfChmlCmplncMktCountries as ehfnd_cci_number_of_cvrg )                                                 as NmbrOfChmlCmplncProcdMktCvrgs,

      //

      //      --Number of Purposes

      //      @ObjectModel.readOnly: true

      //      @Consumption.filter.hidden: true

      //      @UI:

      //      {

      //        lineItem:

      //        {

      //          position: 80

      //        }

      //      }

      //      cast( _PurposeCounter.NmbrOfChmlCmplncPurposes as ehfnd_cci_number_of_prps )                                                   as NmbrOfChmlCmplncPurposes,

      //

      //      --Number of Compliance Requests

      //      @ObjectModel.readOnly: true

      //      @Consumption.filter.hidden: true

      //      cast( _RequestCounter.recordCount as ehfnd_cci_number_of_req )                                                                 as NmbrOfUnprocessedChmlCmplncReq,


      --Product Hierarchy
      @ObjectModel:
      {
        readOnly: true,
      //        foreignKey.association: '_ProductHierarchyVH'

        text.element:  [ 'ProductHierarchyText' ]
      }
      ChemicalCompliance._MaterialAssignment._Product.ProductHierarchy,

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

      --Product Division
      @ObjectModel:
      {
        readOnly: true,
      //        foreignKey.association: '_DivisionVH',

        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
      ChemicalCompliance.Specification                                                                                                            as Specification,

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

      ChemicalCompliance.ChmlCmplncInfoType,

      ChemicalCompliance.MaterialIsSold                                                                                                           as MaterialIsSold,

      ChemicalCompliance.MaterialIsTransported                                                                                                    as MaterialIsTransported,

      ChemicalCompliance.MaterialIsProduced                                                                                                       as MaterialIsProduced,

      /*Association*/
      //Association with @Search annotation includes the fields from packaged product into the search

      //      @Search.defaultSearchElement: true

      //      _PackagedProdAssgmt,


      @Consumption.filter.hidden: true
      _ProductGroupVH,

      @Consumption.filter.hidden: true
      _RespUnitForProductStewardship,

      @Consumption.filter.hidden: true
      _ProductHierarchyVH,

      @Consumption.filter.hidden: true
      _DivisionVH,

      @Consumption.filter.hidden: true
      _ExternalProdGrpVH

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

  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_CHMLCMPLNCPRIMMATL",
"I_CHMLCMPLNCINFO",
"I_CHMLCMPLNCMATLASSGMT",
"I_CHMLCMPLNCPRODASSGMT",
"I_DIVISIONTEXT",
"I_EXTPRODGRP",
"I_EXTPRODGRPTEXT",
"I_PRODUCT",
"I_PRODUCTGROUPTEXT_2",
"I_PRODUCTGROUP_2",
"I_PRODUCTHIERARCHYTEXT",
"I_PRODUCTTEXT"
],
"ASSOCIATED":
[
"C_CHMLCMPLNCPRIMMATL",
"I_CHMLCMPLNCPRODASSGMT",
"I_DIVISION",
"I_EXTPRODGRP",
"I_PRODUCTGROUP_2",
"I_PRODUCTHIERARCHY",
"I_RESPONSIBLEUNIT"
],
"BASE":
[
"I_CHMLCMPLNCINFO"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/