@EndUserText.label: 'After Production Cmpnt in Mat.Bsd Cmpstn'
@AbapCatalog:
{
sqlViewName: 'IMCOMPONENTBPTP',
compiler.compareFilter: true
}
@AccessControl:
{
authorizationCheck: #MANDATORY
}
-- 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_MCMPS_BPC',
writeActivePersistence: 'EHFNDV_MCMPS_CMP',
semanticKey: [ 'MatlBsdCompUUID' , 'MlticmpProdCompUUID' ],
usageType:
{
dataClass: #TRANSACTIONAL,
sizeCategory: #XL,
serviceQuality: #C
}
}
define view I_MatlBsdBeforeProdnCompTP
-- Select data from basic view 'Material Based Component'
as select from I_MatlBasedCmpstnComponent as MatlBsdComponentBeforeProdn
-- Nodes/Detaildata;
association [1..1] to I_MatlBasedCompositionTP as _MatlBasedComposition on $projection.ChmlCompositionUUID = _MatlBasedComposition.ChmlCompositionUUID
{
-- UUID of component
@ObjectModel.mandatory: true
key MatlBsdComponentBeforeProdn.MatlBsdCompUUID,
-- Active UUID of material based component
MatlBsdComponentBeforeProdn.MatlBsdCompUUID as ActiveMatlBsdCompUUID,
-- UUID of chemical compliance information (UP containing the CompChmlCmplncInfoUUID)
MatlBsdComponentBeforeProdn.ChmlCmplncInfoUUID,
-- UUID of chemical composition
@ObjectModel.foreignKey.association: '_MatlBasedComposition'
@ObjectModel.mandatory: true
MatlBsdComponentBeforeProdn.ChmlCompositionUUID,
-- Date/Time of creation
@ObjectModel.readOnly: true
@Semantics.systemDateTime.createdAt: true
MatlBsdComponentBeforeProdn.CreationUTCDateTime,
-- Created by
@ObjectModel.readOnly: true
@Semantics.user.createdBy: true
MatlBsdComponentBeforeProdn.CreatedByUser,
-- Date/Time of change
@ObjectModel.readOnly: true
@Semantics.systemDateTime.lastChangedAt: true
MatlBsdComponentBeforeProdn.LastChangeUTCDateTime,
-- Changed by
@ObjectModel.readOnly: true
@Semantics.user.lastChangedBy: true
MatlBsdComponentBeforeProdn.LastChangedByUser,
-- Component that available before production
@ObjectModel.mandatory: true
MatlBsdComponentBeforeProdn.MatlBsdCompProductionType,
-- UUID of component contained in material based composition
@ObjectModel.mandatory: true
MatlBsdComponentBeforeProdn.CompChmlCmplncInfoUUID,
-- Concentration of component
@Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
MatlBsdComponentBeforeProdn.ChmlCompQty,
-- Concentration as text (for correct formatting with decimals exactly as entered by user)
MatlBsdComponentBeforeProdn.ChmlCompQtyAsText,
-- Unit of measurement of concentration
@ObjectModel.mandatory: true
MatlBsdComponentBeforeProdn.ChmlCompQtyUnit,
-- Operator for Lower limit of concentration
MatlBsdComponentBeforeProdn.ChmlCompOperatorLowerLimit,
-- Lower limit of concentration
@Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
MatlBsdComponentBeforeProdn.ChmlCompQtyLowerLimit,
-- Lower limit as text (for correct formatting with decimals exactly as entered by user)
MatlBsdComponentBeforeProdn.ChmlCompQtyLowerLimitAsText,
-- Operator for Upper limit of concentration
MatlBsdComponentBeforeProdn.ChmlCompOperatorUpperLimit,
-- Upper limit of concentration
@Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
MatlBsdComponentBeforeProdn.ChmlCompQtyUpperLimit,
-- Upper limit as text (for correct formatting with decimals exactly as entered by user)
MatlBsdComponentBeforeProdn.ChmlCompQtyUpperLimitAsText,
-- Is a component removed
MatlBsdComponentBeforeProdn.ChmlCompIsRemoved,
-- UUID of MCP Component
MatlBsdComponentBeforeProdn.MlticmpProdCompUUID,
/* Associations */
@ObjectModel.association.type: [ #TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT ]
_MatlBasedComposition,
_ChmlCmplncInfo,
_CompChmlCmplncInfo,
_UnitOfMeasure,
_OperatorLowerLimit,
_OperatorUpperLimit
}
where MatlBsdComponentBeforeProdn.MatlBsdCompProductionType = 'I'