@EndUserText.label: 'Components for composition'
@AbapCatalog:
{
sqlViewName: 'ICCOMPONENTTP',
compiler.compareFilter: true
}
@AccessControl:
{
authorizationCheck: #CHECK
}
--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel:
{
--Transactional Annotations for the generated BO
modelCategory: #BUSINESS_OBJECT,
transactionalProcessingEnabled: true,
createEnabled: true,
updateEnabled: true,
deleteEnabled: true,
writeDraftPersistence: 'EHFNDW_CCMPS_CMP',
writeActivePersistence: 'EHFNDV_CCMPS_CMP',
semanticKey: [ 'SubstanceUUID' ],
usageType:
{
dataClass: #MASTER,
sizeCategory: #XL,
serviceQuality: #C
}
}
define view I_ChmlComponentTP
--Select data from basic view 'Chemical Component'
as select from I_ChmlComponent as Component
--Nodes/Detaildata;
association [1..1] to I_ChmlCompositionTP as _ChemicalComposition on $projection.ChmlCompositionUUID = _ChemicalComposition.ChmlCompositionUUID
{
--UUID of component
@ObjectModel.mandatory: true
key Component.ChmlCompUUID,
--Active UUID of chemical component
Component.ChmlCompUUID as ActiveChmlCompUUID,
--UUID of chemical compliance information as root
Component.ChmlCmplncInfoUUID,
--UUID of referenced substance (host substance)
Component.HostSubstanceUUID,
--UUID of chemical composition
@ObjectModel.mandatory: true
Component.ChmlCompositionUUID,
--Date/Time of creation
@ObjectModel.readOnly: true
Component.CreationUTCDateTime,
--Created by
@ObjectModel.readOnly: true
Component.CreatedByUser,
--Date/Time of change
@ObjectModel.readOnly: true
Component.LastChangeUTCDateTime,
--Changed by
@ObjectModel.readOnly: true
Component.LastChangedByUser,
--UUID of Substance
Component.SubstanceUUID,
--Component Type
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Component.ChmlCompType,
--Concentration of component
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Component.ChmlCompQty,
--Concentration as text (for correct formatting with decimals exactly as entered by user)
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Component.ChmlCompQtyAsText,
--Unit of measurment of concentration
Component.ChmlCompQtyUnit,
--Operator for Lower limit of concentration
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
Component.ChmlCompOperatorLowerLimit,
--Lower limit of concentration
Component.ChmlCompQtyLowerLimit,
--Lower limit as text (for correct formatting with decimals exactly as entered by user)
Component.ChmlCompQtyLowerLimitAsText,
--Operator for Upper limit of concentration
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
Component.ChmlCompOperatorUpperLimit,
--Upper limit of concentration
Component.ChmlCompQtyUpperLimit,
--Upper limit as text (for correct formatting with decimals exactly as entered by user)
Component.ChmlCompQtyUpperLimitAsText,
--Is a component removed
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Component.ChmlCompIsRemoved,
--Ref of polymer cmposition
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Component.PolymerCompositionIntIDRef ,
--Trade Secret: Identity Is Masked
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Component.PCTrdScrtIdentityIsMasked,
--Trade Secret: Range is marked
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Component.PCTrdScrtRangeIsMasked,
/* Associations */
@ObjectModel.association.type: [ #TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT ]
_ChemicalComposition,
_ChmlCmplncInfo,
_Substance,
_HostSubstance,
_ComponentType,
_UnitOfMeasure,
_OperatorLowerLimit,
_OperatorUpperLimit
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHMLCOMPONENT"
],
"ASSOCIATED":
[
"I_CHMLCMPLNCINFO",
"I_CHMLCOMPONENTOPTRLOWRLMT",
"I_CHMLCOMPONENTOPTRUPRLMT",
"I_CHMLCOMPOSITIONTP",
"I_CHMLCOMPTYPE",
"I_SUBSTANCE",
"I_SUBSTANCEENHANCED",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_CHMLCOMPONENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/