@AbapCatalog:
{
sqlViewName: 'PCCMATLPRIMARY',
compiler.compareFilter: true,
preserveKey: true
}@AccessControl:
{
// authorization check should not be needed asview should be used only in SADL exit
// where authorization is already checked but we want to be on the safe side
authorizationCheck: #MANDATORY,
// blocking of personal data not required (no personal data fields exposed for material)
personalData.blocking: #NOT_REQUIRED
}@ClientHandling.algorithm: #SESSION_VARIABLE@VDM.viewType: #CONSUMPTION -- consumption views may use virtual elements
@VDM.private: true@ObjectModel:
{
// semanticKey: [ 'Material' ],
usageType:
{
dataClass: #MIXED,
sizeCategory: #L,
serviceQuality: #C
}
}
// Private view for the determination of ChmlCmplncInfoCombinedName. Can be used if sorting and filtering isnot needed
defineview P_ChmlCmplncPrimaryMaterial
--Select data from master table 'Chemical Compliance Info'
asselectfrom I_ChmlCmplncInfo as ChemicalComplianceInfo
--Is Researched DTEL Text
leftouter to one join I_ChmlCmplncIsResearchedText as ProdIsResearchedText on ProdIsResearchedText.Language = $session.system_language
--Join data from primary material assignment
leftouter to one join I_ChmlCmplncMatlAssgmt as PrimaryMaterial on ChemicalComplianceInfo.ChmlCmplncInfoUUID = PrimaryMaterial.ChmlCmplncInfoUUID
and PrimaryMaterial.MatlAssgmtIsPrimary = 'X'
--Join data from product name
leftouter to one join I_ProductText as MaterialData on PrimaryMaterial.Material = MaterialData.Product
and MaterialData.Language = $session.system_language
{
--UUID of Chemical Compliance Info
key ChemicalComplianceInfo.ChmlCmplncInfoUUID,
--Material
PrimaryMaterial.Material as Material,
--Material Name
MaterialData.ProductName as MaterialName,
ChemicalComplianceInfo.ChmlCmplncProdIsResearched,
ChemicalComplianceInfo.ChmlCmplncInternalName,
@ObjectModel.readOnly: true@ObjectModel.virtualElement@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_CCI_PRIMMATL_EXIT'
cast( '' as ehfnd_phrs_text ) as ChmlCmplncInfoCombinedName,
@ObjectModel.readOnly: true@ObjectModel.virtualElement@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_CCI_PRIMMATL_EXIT'
cast( '' as ehfnd_phrs_text ) as ChmlCmplncInfoCombinedID,
ChemicalComplianceInfo.ChmlCmplncInfoType,
--Roles and Responsible Unit for DCL
ChemicalComplianceInfo.MaterialIsProduced,
ChemicalComplianceInfo.MaterialIsSold,
ChemicalComplianceInfo.MaterialIsSourced,
ChemicalComplianceInfo.MaterialIsTransported,
ChemicalComplianceInfo.MaterialIsDisposed,
ChemicalComplianceInfo.MaterialIsEmissionRelevant,
ChemicalComplianceInfo.ProdStewardshipRespUnit
}