@EndUserText.label: 'GHS Labeling Assessment - TP'
@AbapCatalog:
{
sqlViewName: 'ICRRGHSLTP',
compiler.compareFilter: true
}
@AccessControl:
{
authorizationCheck: #MANDATORY,
privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser', '_ReleasedByUser' ]
}
--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM:
{
viewType: #TRANSACTIONAL,
lifecycle.contract.type:#SAP_INTERNAL_API
}
@ObjectModel:
{
// Transactional Annotations for the generated BO
modelCategory: #BUSINESS_OBJECT,
compositionRoot: true,
transactionalProcessingEnabled: true,
createEnabled: 'EXTERNAL_CALCULATION',
updateEnabled: 'EXTERNAL_CALCULATION',
deleteEnabled: 'EXTERNAL_CALCULATION',
draftEnabled: true,
writeDraftPersistence: 'EHSDSW_CRR_GHSL',
writeActivePersistence: 'EHFNDV_CRR2',
entityChangeStateId: 'LastChangeDateTime',
semanticKey: [ 'CmplRqRsltUUID' ],
sapObjectNodeType.name: 'GHSLabelAssessment',
usageType:
{
dataClass: #TRANSACTIONAL,
sizeCategory: #XL,
serviceQuality: #C
}
}
define view I_CmplRqRsltGHSLblAssmtTP
as select from I_CmplRqRslt
--Reason For No Data Assignment
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] } */
association [0..1] to I_CmplRqRsltGHSLblRsnNoDataTP as _CmplRqRsltGHSLblRsnNoData on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblRsnNoData.CmplRqRsltUUID
--Signal
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] } */
association [0..1] to I_CmplRqRsltGHSLblSignalTP as _CmplRqRsltGHSLblSignal on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblSignal.CmplRqRsltUUID
--Symbol
association [0..*] to I_CmplRqRsltGHSLblSymbolTP as _CmplRqRsltGHSLblSymbol on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblSymbol.CmplRqRsltUUID
--Hazard Statements
association [0..*] to I_CmplRqRsltGHSLblHzdStmntTP as _CmplRqRsltGHSLblHzdStmnt on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblHzdStmnt.CmplRqRsltUUID
--Supplementary Hazard Statements
association [0..*] to I_CmplRqRsltGHSLblSuplmntyTP as _CmplRqRsltGHSLblSuplmnty on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblSuplmnty.CmplRqRsltUUID
--General Precautionary Statements:
association [0..*] to I_CmplRqRsltGHSLblGenStmntTP as _CmplRqRsltGHSLblGenStmnt on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblGenStmnt.CmplRqRsltUUID
--Prevention Statements
association [0..*] to I_CmplRqRsltGHSLblPrvtnStmntTP as _CmplRqRsltGHSLblPrvtnStmnt on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblPrvtnStmnt.CmplRqRsltUUID
--Response Statements
association [0..*] to I_CmplRqRsltGHSLblRspStmntTP as _CmplRqRsltGHSLblRspStmnt on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblRspStmnt.CmplRqRsltUUID
--Storage Statements
association [0..*] to I_CmplRqRsltGHSLblStorStmntTP as _CmplRqRsltGHSLblStorStmnt on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblStorStmnt.CmplRqRsltUUID
--Disposal Statements
association [0..*] to I_CmplRqRsltGHSLblDsplStmntTP as _CmplRqRsltGHSLblDsplStmnt on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblDsplStmnt.CmplRqRsltUUID
--Regulatory Additional Information
association [0..*] to I_CmplRqRsltGHSLblAddlInfoTP as _CmplRqRsltGHSLblAddlInfo on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblAddlInfo.CmplRqRsltUUID
--Additional Statement
association [0..*] to I_CmplRqRsltGHSLblAddlStmntTP as _CmplRqRsltGHSLblAddlStmnt on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblAddlStmnt.CmplRqRsltUUID
--Special Preparation
association [0..*] to I_CmplRqRsltGHSLblSpclPrepTP as _CmplRqRsltGHSLblSpclPrep on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblSpclPrep.CmplRqRsltUUID
-- Hazard Inducing Components
association [0..*] to I_CmplRqRsltGHSLblHzdCompTP as _CmplRqRsltGHSLblHzdComp on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblHzdComp.CmplRqRsltUUID
-- Unknown Acute Aquatic Toxicity
association [0..*] to I_CmplRqRsltGHSLblAqtcToxtyTP as _CmplRqRsltGHSLblAqtcToxty on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblAqtcToxty.CmplRqRsltUUID
-- Unknown Acute Toxicity
association [0..*] to I_CmplRqRsltGHSLblAcuteToxtyTP as _CmplRqRsltGHSLblAcuteToxty on $projection.CmplRqRsltUUID = _CmplRqRsltGHSLblAcuteToxty.CmplRqRsltUUID
--Link to user data
association [0..1] to I_User as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to I_User as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
association [0..1] to I_User as _ReleasedByUser on $projection.ReleasedByUser = _ReleasedByUser.UserID
{
--CmplRqRsltUUID
@ObjectModel.mandatory: true
key CmplRqRsltUUID,
@ObjectModel.readOnly: true
CmplRqRsltUUID as ActiveCmplRqRsltUUID, --Active UUID of CRR
--UUID of CRV
@ObjectModel.mandatory: true
CmplRqVersUUID,
--UUID of CCI
ChmlCmplncInfoUUID,
--UUID of substance
SubstanceUUID,
--UUID of Supplier Material
ChmlSuplrMatlUUID,
--Compliance Requirement
ComplianceRequirement,
--Create at date/time and by user
@ObjectModel.readOnly: true
CreationDateTime,
@ObjectModel.readOnly: true
CreatedByUser,
--Update at date/time and by user
@ObjectModel.readOnly: true
LastChangeDateTime,
@ObjectModel.readOnly: true
LastChangedByUser,
--Processing status
@ObjectModel.mandatory: true
CmplRqRsltProcessingStatus,
--Processor,
Processor as CmplRqRsltProcessor,
--Released by user
ReleasedByUser,
--Valid from (release date)
ValidityStartDateTime,
--Valid to
ValidityEndDateTime,
--Released Compliance Status
CmplRqRsltReldCmplncSts,
--Calculated Status
CmplRqRsltCalculatedStatus,
--Manual status
CmplRqRsltManualStatus,
--Status Remark
CmplRqRsltStatusRemark,
--Composition Type
ChmlCompositionType,
--Material is sold
MaterialIsSold,
--Material is transported
MaterialIsTransported,
--Material is sourced
MaterialIsSourced,
--Material is produced
MaterialIsProduced,
/**** Associations ****/
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblRsnNoData,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblAddlInfo,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblAddlStmnt,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblDsplStmnt,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblGenStmnt,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblHzdStmnt,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblPrvtnStmnt,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblRspStmnt,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblSuplmnty,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblStorStmnt,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblSignal,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblSymbol,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblSpclPrep,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblHzdComp,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblAqtcToxty,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CmplRqRsltGHSLblAcuteToxty,
_ChmlCmplncInfo,
_Substance,
_CmplRqVers,
_CreatedByUser,
_LastChangedByUser,
_ReleasedByUser,
_CmplRqRsltProcessingStatus
}
where
_CmplRqVers.CmplRqPattern = 'CompliancePatternGHSLabel'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CMPLRQRSLT",
"I_CMPLRQVERSENHANCED"
],
"ASSOCIATED":
[
"I_CHMLCMPLNCINFO",
"I_CMPLRQRSLTGHSLBLACUTETOXTYTP",
"I_CMPLRQRSLTGHSLBLADDLINFOTP",
"I_CMPLRQRSLTGHSLBLADDLSTMNTTP",
"I_CMPLRQRSLTGHSLBLAQTCTOXTYTP",
"I_CMPLRQRSLTGHSLBLDSPLSTMNTTP",
"I_CMPLRQRSLTGHSLBLGENSTMNTTP",
"I_CMPLRQRSLTGHSLBLHZDCOMPTP",
"I_CMPLRQRSLTGHSLBLHZDSTMNTTP",
"I_CMPLRQRSLTGHSLBLPRVTNSTMNTTP",
"I_CMPLRQRSLTGHSLBLRSNNODATATP",
"I_CMPLRQRSLTGHSLBLRSPSTMNTTP",
"I_CMPLRQRSLTGHSLBLSIGNALTP",
"I_CMPLRQRSLTGHSLBLSPCLPREPTP",
"I_CMPLRQRSLTGHSLBLSTORSTMNTTP",
"I_CMPLRQRSLTGHSLBLSUPLMNTYTP",
"I_CMPLRQRSLTGHSLBLSYMBOLTP",
"I_CMPLRQRSLTPROCESSINGSTATUS",
"I_CMPLRQVERSENHANCED",
"I_SUBSTANCEENHANCED",
"I_USER"
],
"BASE":
[
"I_CMPLRQRSLT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/