@EndUserText.label: 'Fund'
@Analytics: { dataCategory: #DIMENSION, dataExtraction.enabled: true, internalName: #LOCAL }
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AccessControl.privilegedAssociations: ['_CreatedByUser', '_LastChangedByUser']
@ObjectModel.representativeKey: 'Fund'
@ObjectModel.supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE,#EXTRACTION_DATA_SOURCE]
@ObjectModel.usageType: {
dataClass: #MASTER,
serviceQuality: #A,
sizeCategory: #L
}
@Metadata.ignorePropagatedAnnotations:true
@Metadata.allowExtensions:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'IFUND'
@AbapCatalog.preserveKey: true
define view I_Fund
as select from I_FundBasic
association [1..1] to E_Fund as _Extension //do not expose this association in the projection list of the view
on $projection.Fund = _Extension.Fund
and $projection.FinancialManagementArea = _Extension.FinancialManagementArea
{
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_FinMgmtAreaStdVH',
element: 'FinancialManagementArea' }
}]
@ObjectModel.foreignKey.association: '_FinMgmtArea'
key FinancialManagementArea,
@ObjectModel.text.association: '_Text'
@ObjectModel.hierarchy.association: '_FundHierarchyNode'
key Fund,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_Customer_VH',
element: 'Customer' }
}]
@ObjectModel.foreignKey.association: '_Customer'
Customer,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ApplicationOfFund',
element: 'ApplicationOfFunds' },
additionalBinding: [{ localElement: 'FinancialManagementArea',
element: 'FinancialManagementArea' }]
}]
@ObjectModel.foreignKey.association: '_ApplicationOfFund'
ApplicationOfFunds,
@Consumption.valueHelpDefinition: { entity: { name: 'I_BusinessUserVH', element: 'UserID' } }
FundCreatedBy,
// @ObjectModel.readOnly: true --> leads to ATC error
@Semantics.systemDate.createdAt: true
FundCreatedAt,
// @ObjectModel.readOnly: true --> leads to ATC error
@Consumption.valueHelpDefinition: { entity: { name: 'I_BusinessUserVH', element: 'UserID' } }
LastChangeUser,
@Semantics.systemDate.lastChangedAt: true
LastChangeDate,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_FundAuthznGrp',
element: 'FundAuthznGrp' }
}]
@ObjectModel.foreignKey.association: '_FundAuthznGrp'
FundAuthznGrp,
FundFinMgmtAreaForAuthzn,
@Semantics.businessDate.from: true
ValidityStartDate,
@Semantics.businessDate.to: true
ValidityEndDate,
FundReversalDate,
FundExpirationDate,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_FundType',
element: 'FundType' },
additionalBinding: [{ localElement: 'FinancialManagementArea',
element: 'FinancialManagementArea' }]
}]
@ObjectModel.foreignKey.association: '_FundType'
FundType,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_FundPeriodicity',
element: 'FundPeriodicity' }
}]
@ObjectModel.foreignKey.association: '_FundPeriodicity'
FundPeriodicity,
FundResponsibleUser,
_FundAuthznGrp,
_FundType,
_FinMgmtArea,
_Text,
_ApplicationOfFund,
_Customer,
_FundPeriodicity,
_CreatedByUser,
_LastChangedByUser,
_FundHierarchyNode,
_FundToBudgetPeriod
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_FUNDBASIC"
],
"ASSOCIATED":
[
"E_FUND",
"I_APPLICATIONOFFUND",
"I_CUSTOMER",
"I_FINANCIALMANAGEMENTAREA",
"I_FUNDAUTHZNGRP",
"I_FUNDHIERARCHYNODE",
"I_FUNDPERIODICITY",
"I_FUNDTEXT",
"I_FUNDTOBUDGETPERIOD",
"I_FUNDTYPE",
"I_USER"
],
"BASE":
[
"I_FUNDBASIC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/