@EndUserText.label: 'Value Help for Chemical Compliance Information'
@AbapCatalog:
{
sqlViewName: 'ICCMPLCNINFOVH',
compiler.compareFilter: true,
preserveKey: true
}
@AccessControl:{
authorizationCheck: #CHECK,
// blocking of personal data not required (no personal data fields exposed for material)
personalData.blocking: #NOT_REQUIRED
}
@VDM.viewType: #COMPOSITE
@ObjectModel:
{
dataCategory: #VALUE_HELP,
usageType:
{
dataClass: #MASTER,
sizeCategory: #L,
serviceQuality: #C
},
representativeKey: 'ChmlCmplncInfoUUID',
semanticKey: ['ChmlCmplncInfoCombinedName']
}
@Metadata.ignorePropagatedAnnotations: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@UI:{
presentationVariant: [{
sortOrder: [{ by: 'ChmlCmplncInfoCombinedName', direction: #ASC }]
}]
}
@Search.searchable: true
define view I_ChmlCmplncInfoVH
as select from I_ChmlCmplncInfo as ChemicalComplianceInfo
--Join data from primary material assignment
left outer to one join I_ChmlCmplncMatlAssgmt as PrimaryMaterial on ChemicalComplianceInfo.ChmlCmplncInfoUUID = PrimaryMaterial.ChmlCmplncInfoUUID
and PrimaryMaterial.MatlAssgmtIsPrimary = 'X'
--Join data from from primary material
left outer to one join I_Product as MaterialData on PrimaryMaterial.Material = MaterialData.Product
{
--UUID of Chemical Compliance Information
// @ObjectModel.text.element: [ 'ChmlCmplncInfoCombinedName' ]
@UI.hidden: true
key ChemicalComplianceInfo.ChmlCmplncInfoUUID,
--Name of Chemical Compliance Information (either material name of primary material or internal name)
@Consumption.filter.hidden: true
cast(
case
when MaterialData._Text[1: Language = $session.system_language ].ProductName is not null
then MaterialData._Text[1: Language = $session.system_language ].ProductName
when MaterialData._Text[1: Language = $session.system_language ].ProductName is null
then ChemicalComplianceInfo.ChmlCmplncInternalName
end
as ehfnd_cci_product_name preserving type ) as ChmlCmplncInfoCombinedName,
PrimaryMaterial.Material,
@Search:
{
defaultSearchElement: true,
fuzzinessThreshold: 0.7,
ranking: #HIGH
}
@UI.hidden: true
MaterialData._Text[1: Language = $session.system_language ].ProductName,
@Search:
{
defaultSearchElement: true,
fuzzinessThreshold: 0.7,
ranking: #HIGH
}
ChemicalComplianceInfo.ChmlCmplncInternalName,
// needed for DCL
@UI.hidden: true
ChemicalComplianceInfo.ProdStewardshipRespUnit as ProdStewardshipRespUnit,
@UI.hidden: true
ChemicalComplianceInfo.DngrsGdsRespUnit as DngrsGdsRespUnit,
@UI.hidden: true
ChemicalComplianceInfo.ChmlCmplncInfoType as ChmlCmplncInfoType,
@UI.hidden: true
ChemicalComplianceInfo.MaterialIsSold as MaterialIsSold,
@UI.hidden: true
ChemicalComplianceInfo.MaterialIsTransported as MaterialIsTransported,
@UI.hidden: true
ChemicalComplianceInfo.MaterialIsSourced as MaterialIsSourced,
@UI.hidden: true
ChemicalComplianceInfo.MaterialIsProduced as MaterialIsProduced,
@UI.hidden: true
ChemicalComplianceInfo.MaterialIsDisposed as MaterialIsDisposed,
@UI.hidden: true
ChemicalComplianceInfo.MaterialIsEmissionRelevant as MaterialIsEmissionRelevant
}