C_ChmlCmplncInfoBrnddProdMntr

DDL: C_CHMLCMPLNCINFOBRNDDPRODMNTR Type: view_entity CONSUMPTION Package: EHFND_CNS_CCI

Branded Product

C_ChmlCmplncInfoBrnddProdMntr is a Consumption CDS View that provides data about "Branded Product" in SAP S/4HANA. It reads from 1 data source (I_ChmlCmplncInfoTP) and exposes 11 fields. It has 3 associations to related views. Part of development package EHFND_CNS_CCI.

Data Sources (1)

SourceAliasJoin Type
I_ChmlCmplncInfoTP ChemicalCompliance from

Associations (3)

CardinalityTargetAliasCondition
[0..1] P_ChmlCmplncInfoPckgdProdCnt _ChmlCmplncInfoPckgdProdCnt _ChmlCmplncInfoPckgdProdCnt.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
[0..1] C_ChmlCmplncInfoQuickView _ChmlCmplncInfoQuickVw $projection.ChmlCmplncInternalNumber = _ChmlCmplncInfoQuickVw.Specification
[0..1] C_ChmlCmplncInfoQuickView _ChmlCmplncInfoQuickVwUnpckgd $projection.UnpckgdChemicalComplianceInfo = _ChmlCmplncInfoQuickVwUnpckgd.Specification

Annotations (17)

NameValueLevelField
EndUserText.label Branded Product view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #CONSUMPTION view
ObjectModel.compositionRoot true view
ObjectModel.transactionalProcessingDelegated true view
ObjectModel.createEnabled false view
ObjectModel.updateEnabled false view
ObjectModel.deleteEnabled false view
ObjectModel.draftEnabled false view
ObjectModel.representativeKey ChmlCmplncInfoUUID view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
Consumption.semanticObject BrandedChemicalInfo view
Search.searchable true view
Metadata.allowExtensions true view

Fields (11)

KeyFieldSource TableSource FieldDescription
ChmlCmplncInfoUUID
ProdStewardshipRespUnit
UnpckgdChemicalComplianceInfo
ChmlCmplncInfoUnpckgdProdName
ChmlCmplncInfoType I_ChmlCmplncInfoTP ChmlCmplncInfoType
MaterialIsSold I_ChmlCmplncInfoTP MaterialIsSold
MaterialIsTransported I_ChmlCmplncInfoTP MaterialIsTransported
MaterialIsProduced I_ChmlCmplncInfoTP MaterialIsProduced
_RespUnitForProductStewardship I_ChmlCmplncInfoTP _RespUnitForProductStewardship
_ChmlCmplncInfoQuickVw _ChmlCmplncInfoQuickVw
_ChmlCmplncInfoQuickVwUnpckgd _ChmlCmplncInfoQuickVwUnpckgd
//Manage Basic Compliance Data - Branded Product (Monitor)

@EndUserText.label: 'Branded Product'

// Annoatation not allowed in view entities

//@AbapCatalog:

//{

//  sqlViewName: 'CCIBRNDDMNTR',

//  compiler.compareFilter: true

//}


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

  personalData.blocking: #NOT_REQUIRED
}

// Annoatation not allowed in view entities

// @ClientHandling.algorithm: #SESSION_VARIABLE


@VDM.viewType: #CONSUMPTION

@ObjectModel:
{
  compositionRoot: true,
  transactionalProcessingDelegated: true,
  createEnabled: false,
  updateEnabled: false,
  deleteEnabled: false,
  draftEnabled: false,
  //use the specification id as semantic key (instead of combined name)

  semanticKey:  [ 'ChmlCmplncInfoNavgnLink' ],
  representativeKey: 'ChmlCmplncInfoUUID',
  usageType:
  {
    dataClass: #MASTER,
    sizeCategory: #M,
    // Too many underlying tables, more than half of them for showing / navigating to the compositions:

    // 9 each for Analytical and MatlBased Composition (CCI, IP Comp, IP Comp-Draft, IP Status, IP Action Name, RE Comp, RE Status, RE Action Name, NE Action Name)

    serviceQuality: #C
  }
}

// for CoPilot navigation

@Consumption.semanticObject: 'BrandedChemicalInfo'

@Search.searchable : true

@Metadata.allowExtensions: true

define view entity C_ChmlCmplncInfoBrnddProdMntr
  --Select data from transactional view of chemical compliance information
  as select from I_ChmlCmplncInfoTP as ChemicalCompliance

  --Counter of assigned Packaged Products
  association [0..1] to P_ChmlCmplncInfoPckgdProdCnt as _ChmlCmplncInfoPckgdProdCnt   on _ChmlCmplncInfoPckgdProdCnt.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID

  association [0..1] to C_ChmlCmplncInfoQuickView    as _ChmlCmplncInfoQuickVw        on $projection.ChmlCmplncInternalNumber = _ChmlCmplncInfoQuickVw.Specification

  association [0..1] to C_ChmlCmplncInfoQuickView    as _ChmlCmplncInfoQuickVwUnpckgd on $projection.UnpckgdChemicalComplianceInfo = _ChmlCmplncInfoQuickVwUnpckgd.Specification

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

      --UUID for navigation into fact sheet of branded product
      @ObjectModel.readOnly: true
      @Semantics.uuid
      ChemicalCompliance.ChmlCmplncInfoUUID                                       as BrnddChmlCmplncInfoUUID,


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

      --Specification
      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'ChmlCmplncInternalName' ],
        foreignKey.association: '_ChmlCmplncInfoQuickVw'
      }
      cast(ChemicalCompliance.Specification as ehfnd_internal_nr preserving type) as ChmlCmplncInternalNumber,

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

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      -- Unpackaged Product Info
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      --UUID of Unpackaged Product - Used for Create Dialog
      @ObjectModel.readOnly: true
      _ProductAssignment.ChmlCmplncProdUUID                                       as UnpckgdChmlCmplncInfoUUID,

      --UUID of Unpackaged Product - Used for Navigation
      @ObjectModel.readOnly: true
      _ProductAssignment.ChmlCmplncProdUUID                                       as ChmlCmplncInfoNavgnLink,

      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'ChmlCmplncInfoUnpckgdProdName' ],
        foreignKey.association: '_ChmlCmplncInfoQuickVwUnpckgd'
      }
      _ProductAssignment._ChmlCmplncInfoProduct.Specification                     as UnpckgdChemicalComplianceInfo,

      @ObjectModel.readOnly: true
      @Semantics.text:true
      _ProductAssignment._ChmlCmplncInfoProduct.ChmlCmplncInternalName            as ChmlCmplncInfoUnpckgdProdName,

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      -- Related Info
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------

      --Number of assigned Packaged Products
      @ObjectModel.readOnly: true
      _ChmlCmplncInfoPckgdProdCnt.NmbrOfChmlCmplncInfoPckgdProd                   as NmbrOfChmlCmplncInfoPckgdProd,

      -- indicators to disable essential checks
      @ObjectModel.readOnly: true
      cast(MatlIsNotProdSafetyRlvt as ehfnd_cci_sds_is_required preserving type ) as MatlIsNotProdSafetyRlvt,

      @ObjectModel.readOnly: true
      ChemicalCompliance.ChmlCmplncInfoType,

      @ObjectModel.readOnly: true
      ChemicalCompliance.MaterialIsSold                                           as MaterialIsSold,

      @ObjectModel.readOnly: true
      ChemicalCompliance.MaterialIsTransported                                    as MaterialIsTransported,

      @ObjectModel.readOnly: true
      ChemicalCompliance.MaterialIsProduced                                       as MaterialIsProduced,

      /*Association*/
      ChemicalCompliance._RespUnitForProductStewardship,
      _ChmlCmplncInfoQuickVw,
      _ChmlCmplncInfoQuickVwUnpckgd
}
where
  ChemicalCompliance.ChmlCmplncInfoType = 'BP'