@AbapCatalog.sqlViewName: 'CPURESUBSTANCE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
compositionRoot: true,
representativeKey: 'PureSubstanceInternalID',
semanticKey: [ 'PureSubstance' ],
usageType: {
dataClass: #MIXED,
serviceQuality: #C,
sizeCategory: #L
}
}
@VDM.viewType: #CONSUMPTION
@Search.searchable: true
@UI.presentationVariant: {
requestAtLeast: [ 'PureSubstance' ],
sortOrder: [{
by: 'PureSubstanceCreationDate',
direction: #DESC
}]
}
@UI.headerInfo:
{
typeName: 'Pure Substance',
typeNamePlural: 'Pure Substances',
title: { value: 'PureSubstance' },
description: { value: 'PureSubstancePrimaryIdfgDesc' }
}
@EndUserText.label: 'Manage Pure Substances'
define view C_PureSubstance
as select from I_PureSubstance( P_KeyDate: $session.system_date)
association [0..1] to I_SpecAuthorizationGroupStdVH as _PureSubstanceAuthGrpValueHelp on $projection.PureSubstanceAuthznGroup = _PureSubstanceAuthGrpValueHelp.SpecificationAuthznGroup
association [0..1] to I_SpecHeaderStatus as _SpecHeaderStatusValueHelp on $projection.PureSubstanceHeaderStatus = _SpecHeaderStatusValueHelp.SpecificationHeaderStatus
{
@UI.hidden: true
@Search:{ defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@Consumption.filter.hidden: true
key PureSubstanceInternalID,
@Search:{ defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@Consumption.semanticObject: 'PureSubstance'
@UI:{ lineItem: {position: 10, importance: #HIGH} , selectionField: { position: 10 } }
PureSubstance,
@UI:{ lineItem: {position: 20, importance: #HIGH}, selectionField: {position: 20} }
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
cast(_PrimaryIdentifier( P_KeyDate: $session.system_date).SpecIdfgDescText as /plmb/spc_pure_ident1_text preserving type ) as PureSubstancePrimaryIdfgDesc,
@UI: { lineItem: {position: 30, importance: #HIGH}, selectionField: {position: 30} }
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
cast(_SecondaryIdentifier( P_KeyDate: $session.system_date)[SpecIdfgDescLanguage = $session.system_language].SpecIdfgDescText as /plmb/spc_pure_ident2_text preserving type ) as PureSubstanceSecondaryIdfgDesc,
@UI: { lineItem: {position: 50, importance: #HIGH}, selectionField: {position: 50} }
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@Semantics.user.createdBy: true
@ObjectModel.text.element: [ 'PureSubstanceCreatedByUserName' ]
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PureSubstanceCreatedByVH',
element: 'PureSubstanceCreatedByUser' }
}]
PureSubstanceCreatedByUser,
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
cast(_CreatedByUser.UserDescription as /plmb/spc_pure_crted_by_name preserving type ) as PureSubstanceCreatedByUserName,
@UI: { fieldGroup: [{qualifier:'AdditionalFilters', position:10}] }
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@Semantics.user.lastChangedBy: true
@ObjectModel.text.element: [ 'PureSubstanceChangedByUserName' ]
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PureSubstanceChangedByVH',
element: 'PureSubstanceChangedByUser' }
}]
PureSubstanceChangedByUser,
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@Semantics.user.lastChangedBy: true
cast(_LastChangedByUser.UserDescription as /plmb/spc_pure_chgd_by_name preserving type ) as PureSubstanceChangedByUserName,
@UI: { lineItem: {position: 60, importance: #HIGH}, selectionField: {position: 60} }
@Consumption.filter.selectionType: #INTERVAL
@Semantics.systemDate.createdAt: true
PureSubstanceCreationDate,
@UI: { fieldGroup: [{qualifier:'AdditionalFilters', position:20, groupLabel: 'Additional Filters'}] }
@Consumption.filter.selectionType: #INTERVAL
@Semantics.systemDate.lastChangedAt: true
PureSubstanceChangeDate,
@Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
@Consumption.valueHelp: '_SpecHeaderStatusValueHelp'
@ObjectModel.text.element: [ 'PureSubstanceHeaderStatusDesc' ]
@UI: { lineItem: {position: 40, importance: #HIGH}, selectionField: {position: 40}, textArrangement: #TEXT_FIRST }
cast(_AssignedHeaderStatus.SpecificationHeaderStatus as /plmb/spc_pure_sam_status preserving type ) as PureSubstanceHeaderStatus,
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
cast(_AssignedHeaderStatus._SpecHeaderStatusText[Language = $session.system_language].SpecificationHeaderStatusDesc as /plmb/spc_pure_sam_stat_descr preserving type ) as PureSubstanceHeaderStatusDesc,
@Consumption.valueHelp: '_PureSubstanceAuthGrpValueHelp'
@ObjectModel.text.element: [ 'SpecificationAuthznGroupDesc' ]
@UI: { fieldGroup: [{qualifier:'AdditionalFilters', position:30}], textArrangement: #TEXT_FIRST}
PureSubstanceAuthznGroup,
@UI.hidden: true
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
_PureSubstanceAuthGroup._SpecificationAuthGroupText[Language = $session.system_language].SpecificationAuthznGroupDesc,
@UI.hidden: true
PureSubstanceType,
/* Associations */
@Consumption.filter.hidden: true
_SpecHeaderStatusValueHelp,
@Consumption.filter.hidden: true
_PureSubstanceAuthGrpValueHelp,
@Consumption.filter.hidden: true
_LogAccMObjectTypeActive,
@Consumption.filter.hidden: true
_LogAccMObjectUserAuthzn,
@Consumption.filter.hidden: true
_LogAccMObjSecureIDAssgmt
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURESUBSTANCE",
"I_SPECASSIGNEDHEADERSTATUS",
"I_SPECAUTHORIZATIONGROUP",
"I_SPECAUTHORIZATIONGROUPTEXT",
"I_SPECDISTINCTIDFRBYPOSITION",
"I_SPECHEADERSTATUSTEXT",
"I_USER"
],
"ASSOCIATED":
[
"I_LOGACCMOBJECTTYPEACTIVE",
"I_LOGACCMOBJECTUSERAUTHZN",
"I_LOGACCMOBJSECUREIDASSGMT",
"I_SPECAUTHORIZATIONGROUPSTDVH",
"I_SPECHEADERSTATUS"
],
"BASE":
[
"I_PURESUBSTANCE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/