@EndUserText.label: 'Chemical Composition'
@AbapCatalog:
{
sqlViewName: 'ICCOMPOSITIONTP',
compiler.compareFilter: true
}
@AccessControl:
{
--Authority Check for Composition
authorizationCheck: #CHECK,
privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser', '_ReleasedByUser']
}
--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@VDM.viewType: #TRANSACTIONAL
@ObjectModel:
{
--Transactional Annotations for the generated BO
modelCategory: #BUSINESS_OBJECT,
compositionRoot: true,
transactionalProcessingEnabled: true,
createEnabled: 'EXTERNAL_CALCULATION',--"true,
updateEnabled: 'EXTERNAL_CALCULATION',
deleteEnabled: true,
draftEnabled: true,
writeDraftPersistence: 'EHFNDW_CCMPS',
writeActivePersistence: 'EHFNDV_CCMPS',
entityChangeStateId: 'LastChangeUTCDateTime',
semanticKey: [ 'ChmlCompositionUUID' ],
usageType:
{
dataClass: #MASTER,
sizeCategory: #L,
serviceQuality: #C
},
sapObjectNodeType.name: 'ProductAnalyticalComposition'
}
define view I_ChmlCompositionTP
--Select data from basic view 'Chemical Composition'
as select from I_ChmlComposition as ChemicalComposition
--Nodes/Detaildata;
--substance-based components
association [0..*] to I_ChmlComponentTP as _ChemicalComponent on $projection.ChmlCompositionUUID = _ChemicalComponent.ChmlCompositionUUID
{
--UUID of composition
@ObjectModel.mandatory: true
key ChmlCompositionUUID,
--Active UUID of composition
@ObjectModel.readOnly: true
ChmlCompositionUUID as ActiveChmlCompositionUUID,
--Create date/time of composition
@ObjectModel.readOnly: true
CreationUTCDateTime,
--Created by user
@ObjectModel.readOnly: true
CreatedByUser,
--Change date/time of composition
@ObjectModel.readOnly: true
LastChangeUTCDateTime,
--Changed by user
@ObjectModel.readOnly: true
LastChangedByUser,
--UUID of chemical compliance info
ChmlCmplncInfoUUID,
--UUID of referenced supplier material
ChmlSuplrMatlUUID,
--UUID of referenced substance (host substance)
SubstanceUUID,
--Composition Type
@ObjectModel.mandatory: true
ChmlCompositionType,
-- Legal Area
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ProdCmplncLegalArea,
--Release Status
@ObjectModel.mandatory: true
ChmlCompositionStatus,
--Release date/time
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
ReleaseDateTime,
--Released by user
ReleasedByUser,
-- Valid from date
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
ValidityStartDateTime,
-- Valid to Date
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
ValidityEndDateTime,
--Product Compliance Legal Area Reference
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ProdCmplncLegalAreaRef,
--Analytical+Legal Composition: Product Categorization (substance or mixture)
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChmlCmplncProdCatztnPhrsUUID,
--Trade Secret: PCTrdScrtCalculationSetting
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
PCTrdScrtCalculationSetting,
--Polymer Composition: PolymerCompositionIntIDRef
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
PolymerCompositionIntID ,
--Polymer Composition: PolymerCompositionName
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
PolymerCompositionName,
/* Associations */
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_ChemicalComponent,
_ChmlCmplncInfo,
_Substance,
_CompositionStatus,
_CompositionType,
_CreatedByUser,
_LastChangedByUser,
_ReleasedByUser,
_LegalArea,
_LegalAreaRef
}