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.
//Manage Basic Compliance Data - Branded Product (Monitor)
@EndUserText.label: 'Branded Product'
// Annoatation not allowed inview 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 inview 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: truedefineviewentity C_ChmlCmplncInfoBrnddProdMntr
--Select data from transactional view of chemical compliance information
asselectfrom 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: truekey 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: truecast(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'