@AbapCatalog.sqlViewName: 'CALLOCCYCLE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Allocation Cycle'
@Search.searchable: true
@ObjectModel.usageType.dataClass: #CUSTOMIZING
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@VDM.viewType: #CONSUMPTION
//@AccessControl.privilegedAssociations: [ '_LastExecUserContactCard', '_LastChangeUserContactCard', '_CreatedByUserContactCard']
@ObjectModel:
{
compositionRoot: true,
transactionalProcessingDelegated: true,
draftEnabled: true,
createEnabled: true,
updateEnabled: true,
deleteEnabled: true
// lifecycle.processing.expiryInterval: 'PT1M',
// lifecycle.enqueue.expiryInterval: 'PT1M',
// lifecycle.processor.expiryInterval: 'PT1M'
//lifecycle.processor.expiryInterval: 'PT15M' //,
//lifecycle.processing.expiryInterval: 'PT15M'
//,lifecycle.enqueue.expiryInterval: 'PT15M'
//,lifecycle.draft.expiryInterval: 'P28D'
//entityChangeStateId: 'LastChangeTime'
}
@UI.headerInfo: {
typeName: 'Allocation Cycle',
typeNamePlural: 'Allocation Cycles',
title: { label: 'Allocation Cycle',
value: 'AllocationCycle'},
description: { type: #STANDARD, value: 'AllocationCycleName' }
}
//@UI.lineItem: [{criticality: 'CriticalityCode'}]
define view C_AllocationCycleTP
as select from I_AllocationCycleTP
association [0..1] to C_AllocTopDwnDistrCycTmplTP as _Template on $projection.AllocationType = _Template.AllocationType
and $projection.AllocationCycle = _Template.AllocationCycle
and $projection.AllocationCycleStartDate = _Template.AllocationCycleStartDate
association [0..*] to C_AllocationSegmentTP as _Segment on $projection.AllocationType = _Segment.AllocationType
and $projection.AllocationCycle = _Segment.AllocationCycle
and $projection.AllocationCycleStartDate = _Segment.AllocationCycleStartDate
association [0..*] to C_AllocationCycleInformation as _Information on $projection.AllocationType = _Information.AllocationType
and $projection.AllocationPostingType = _Information.AllocationPostingType
and $projection.AllocationActualPlanVariant = _Information.AllocationActualPlanVariant
association [0..*] to C_AllocationCycleKeyFieldTP as _Field on $projection.AllocationType = _Field.AllocationType
and $projection.AllocationCycle = _Field.AllocationCycle
and $projection.AllocationCycleStartDate = _Field.AllocationCycleStartDate
association [1..1] to C_AllocLastExecByUserVH as _LastExecUser on $projection.AllocationLastExecutedByUser = _LastExecUser.AllocationLastExecutedByUser
association [1..1] to C_AllocChangedByUserVH as _LastChangeUser on $projection.LastChangedByUser = _LastChangeUser.LastChangedByUser
association [1..1] to C_AllocCreatedByUserVH as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.CreatedByUser
association [1..1] to C_AllocationCycleVH as _AllocationCycleVH on $projection.AllocationType = _AllocationCycleVH.AllocationType
and $projection.AllocationCycle = _AllocationCycleVH.AllocationCycle
and $projection.AllocationCycleStartDate = _AllocationCycleVH.AllocationCycleStartDate
association [1..1] to P_AllocationCycle as _CycleCalc on $projection.AllocationType = _CycleCalc.AllocationType
and $projection.AllocationCycle = _CycleCalc.AllocationCycle
and $projection.AllocationCycleStartDate = _CycleCalc.AllocationCycleStartDate
association [0..*] to I_DomainFixedValue as _AllocationPostingTypeText on _AllocationPostingTypeText.SAPDataDictionaryDomain = 'FCO_ALLOCATION_ALART'
and _AllocationPostingTypeText.DomainValue = $projection.AllocationPostingType
association [0..*] to C_AllocationCycleFieldGroupTP as _FieldGroup on $projection.AllocationType = _FieldGroup.AllocationType
and $projection.AllocationCycle = _FieldGroup.AllocationCycle
and $projection.AllocationCycleStartDate = _FieldGroup.AllocationCycleStartDate
//association [0..*] to C_AllocTagObjectAssignment as _AllocationTag on $projection.AllocationType = _AllocationTag.AllocationType
association [0..*] to C_AllocationTagForCycle as _AllocationTagForCycle on $projection.AllocationType = _AllocationTagForCycle.AllocationType
//association [0..*] to I_AllocTagObjectAssignment as _AllocationTag on $projection.AllocationType = _AllocationTag.AllocationType
and $projection.AllocationCycle = _AllocationTagForCycle.AllocationCycle
and $projection.AllocationCycleStartDate = _AllocationTagForCycle.AllocationCycleStartDate
and _AllocationTagForCycle.AllocationCycleSegment = '0000'
association [0..*] to C_AllocationFieldDerivationTP as _FieldDerivation on $projection.AllocationType = _FieldDerivation.AllocationType
and $projection.AllocationCycle = _FieldDerivation.AllocationCycle
and $projection.AllocationCycleStartDate = _FieldDerivation.AllocationCycleStartDate
association [0..*] to C_AllocationCycleNoteTP as _CycleNote on $projection.AllocationType = _CycleNote.AllocationType
and $projection.AllocationCycle = _CycleNote.AllocationCycle
and $projection.AllocationCycleStartDate = _CycleNote.AllocationCycleStartDate
association [0..*] to C_AllocTagObjectAssignmentTP as _CycleTag on $projection.AllocationType = _CycleTag.AllocationType
and $projection.AllocationCycle = _CycleTag.AllocationCycle
and $projection.AllocationCycleStartDate = _CycleTag.AllocationCycleStartDate
and _CycleTag.AllocationCycleSegment = '0000'
association [1..1] to P_AllocationTagCount as _AllocationTagCount on $projection.AllocationType = _AllocationTagCount.AllocationType
and $projection.AllocationCycle = _AllocationTagCount.AllocationCycle
and $projection.AllocationCycleStartDate = _AllocationTagCount.AllocationCycleStartDate
and _AllocationTagCount.AllocationCycleSegment = '0000'
{
// @UI.facet:
// [
// {
// label: 'Header',
// id: 'HeaderSec',
// type: #COLLECTION,
// position: 10
// },
// {
// label:'',
// id:'Q1',
// parentId: 'HeaderSec',
// type: #FIELDGROUP_REFERENCE,
// position: 10,
// targetQualifier: 'Q1'
// },
// {
// label: '',
// id: 'Q2',
// parentId: 'HeaderSec',
// type: #FIELDGROUP_REFERENCE,
// position: 20,
// targetQualifier: 'Q2'
// },
// {
// label: 'Allocation Tag',
// id: 'Tag',
// type: #LINEITEM_REFERENCE,
// position: 20,
// targetElement: '_AllocationTag'
// }
// ]
@UI.selectionField.position: 10
@ObjectModel.text.element: ['AllocationContextTypeText']
@Consumption.labelElement: ['AllocationContextTypeText']
@UI.textArrangement: #TEXT_ONLY
@UI.lineItem.position: 50
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationContextVH', element: 'AllocationType' } } ]
@UI.selectionField: [{element: 'AllocationContextTypeText'}]
key I_AllocationCycleTP.AllocationType,
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.5 }
@UI.hidden: true
key AllocationCycle,
@Semantics.businessDate.from: true
@UI.lineItem.position: 40
@Consumption.filter.selectionType: #INTERVAL
key AllocationCycleStartDate,
@UI.selectionField.position: 1
@Consumption.semanticObject: 'OverheadCycle'
@ObjectModel.text.element: ['AllocationCycleNameText']
@Consumption.labelElement: ['AllocationCycleNameText']
@UI.textArrangement: #TEXT_LAST
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationCycleVH', element: 'AllocationCycleName' } } ]
_CycleCalc.AllocationCycleName,
@UI.lineItem.position: 20
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8 }
@Semantics.text: true
AllocationCycleNameText,
@Semantics.businessDate.to: true
@Consumption.filter.selectionType: #INTERVAL
AllocationCycleEndDate,
@UI.hidden: true
_CycleCalc.CriticalityCode,
@ObjectModel.text.element: ['AllocationStatusDescription']
@Consumption.labelElement: ['AllocationStatusDescription']
@UI.textArrangement: #TEXT_ONLY
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationStatusVH', element: 'AllocationStatus' } } ]
_CycleCalc.AllocationStatus,
// @ObjectModel.readOnly: true
// @ObjectModel.text.element: ['AllocationStatus']
// @Consumption.labelElement: ['AllocationStatus']
// @Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationStatusVH', element: 'AllocationStatusDescription' } } ]
// @UI.textArrangement: #TEXT_ONLY
@UI.hidden: true
@ObjectModel.readOnly: true
_CycleCalc._AllocationStatus._Text[1:Language = $session.system_language].AllocationStatusDescription,
@Consumption.hidden: true
AllocationFrequency,
@UI.hidden: true
@Consumption.filter.selectionType: #INTERVAL
AllocationCreateDate,
@UI.lineItem: [ { type: #AS_CONTACT ,label: 'Created by Name', value: '_CreatedByUser' } ]
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocCreatedByUserVH', element: 'CreatedByUser' } } ]
CreatedByUser,
@ObjectModel.readOnly: true
@Consumption.filter.hidden: true
cast(_CreatedByUser.FullName as fco_create_usr_name) as CreatedByUserName,
@Consumption.filter.selectionType: #INTERVAL
LastChangeDate,
@UI.lineItem: [ { type: #AS_CONTACT, label: 'Changed by Name', value: '_LastChangeUser', position: 100, importance: #HIGH } ]
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocChangedByUserVH', element: 'LastChangedByUser' } } ]
LastChangedByUser,
@ObjectModel.readOnly: true
@Consumption.filter.hidden: true
cast(_LastChangeUser.FullName as fco_change_usr_name) as LastChangedByUserName,
@UI.lineItem.position: 80
@Consumption.filter.selectionType: #INTERVAL
AllocationLastExecutedDate,
@UI.lineItem: [ { type: #AS_CONTACT, label: 'Executed by Name', value: '_LastExecUser', position: 90, importance: #HIGH } ]
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocLastExecByUserVH', element: 'AllocationLastExecutedByUser' } } ]
AllocationLastExecutedByUser,
@ObjectModel.readOnly: true
@Consumption.filter.hidden: true
cast(_LastExecUser.FullName as fco_last_exec_usr_name) as AllocLastExecutedByUserName,
@UI.hidden: true
@ObjectModel.readOnly: true
AllocationLastExecutionTime,
@UI.hidden: true
AllocationIsProcessed, //
@UI.hidden: true
AllocationCycleSet, //
@UI.hidden: true
ScaleNegativeTracingFactor, //
@UI.selectionField: [{position: 20, element: 'AllocationPostingTypeText'}]
@ObjectModel.text.element: ['AllocationPostingTypeText']
@Consumption.labelElement: 'AllocationPostingTypeText'
@UI.textArrangement: #TEXT_ONLY
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationTypeVH', element: 'AllocationPostingType' } } ]
cast(AllocationPostingType as fco_alloc_posting_type preserving type) as AllocationPostingType,
@ObjectModel.readOnly: true
@UI.hidden: true
cast( _AllocationPostingTypeText._DomainFixedValueText[ 1:Language = $session.system_language ].DomainText
as fco_alloc_posting_type_text ) as AllocationPostingTypeText,
@UI.selectionField: {position: 60}
@ObjectModel.text.element: ['AllocActualPlanVariantText']
@Consumption.labelElement: 'AllocActualPlanVariantText'
@UI.textArrangement: #TEXT_ONLY
AllocationActualPlanVariant,
@ObjectModel.readOnly: true
@UI.hidden: true
_CycleCalc.AllocActualPlanVariantText,
@UI.hidden: true
_CycleCalc.AllocationContextTypeText,
@UI.hidden: true
AllocationJob,
@Semantics.booleanIndicator: true
@Consumption.filter.selectionType: #SINGLE
AllocationIsCumulative,
@UI.hidden: true
AllocIsCumulativeOptimized,
@UI.hidden: true
AllocHasAggregatedProcess,
@UI: { textArrangement: #TEXT_LAST}
@Consumption: { labelElement: 'AllocationCycleRunGroupText' }
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_AllocationCycleRunGroupVH', element: 'AllocationCycleRunGroup' },
additionalBinding: [
{ localElement: 'Ledger', element: 'Ledger' },
{ localElement: 'AllocationType', element: 'AllocationType' },
{ localElement: 'AllocationPostingType', element: 'AllocationPostingType' },
{ localElement: 'AllocationActualPlanVariant', element: 'AllocationActualPlanVariant' }] } ]
@ObjectModel.text.element: ['AllocationCycleRunGroupText']
cast(AllocationCycleRunGroup as alloc_cycle_run_group preserving type) as AllocationCycleRunGroup,
@UI.hidden: true
@Semantics.text: true
@ObjectModel.readOnly: true
_CycleCalc.AllocationCycleRunGroupText,
@UI.hidden: true
AllocationSubstitutionName,
@UI.hidden: true
AllocFundMgmtIsActive,
@UI.hidden: true
AllocationIsBalanceSheetActive,
@UI.hidden: true
AllocHasDerivdFundFrmRcpnt,
@UI.selectionField.exclude: true
@Consumption.hidden: true
AllocIsDerivdFuncAreaFrmRcpnt,
@UI.hidden: true
AllocIsDerivdGrantFrmRcpnt,
@UI.hidden: true
AllocIsDerivdBudgedPerdRcpnt,
@Consumption.hidden: true
AllocationLedgerGroup,
@UI.hidden: true
AllocationIsPeriodShiftActive,
@UI.hidden: true
AllocationPeriodDeltaSize,
@UI.hidden: true
AllocIsProdnMnthDerivd,
@UI.hidden: true
AllocationIsVariableQuantity,
@UI.hidden: true
AllocationValuationType,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_AllocCompanyCodeVH', element: 'CompanyCode' } } ]
@ObjectModel.text.element: ['CompanyCodeName']
@Consumption.labelElement: 'CompanyCodeName'
@UI.textArrangement: #TEXT_LAST
@UI.selectionField.position: 2
@UI.lineItem.position: 30
@Consumption.semanticObject: 'CompanyCode'
_CycleCalc.CompanyCode,
@UI.hidden: true
@Consumption.filter.hidden: true
CompanyCodeForEdit,
@ObjectModel.readOnly: true
_CycleCalc.CompanyCodeName,
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationLedgerVH', element: 'Ledger' } } ]
@UI.selectionField: {position: 30}
@UI.lineItem.position: 70
@ObjectModel.text.element: ['LedgerName']
@Consumption.labelElement: 'LedgerName'
@UI.textArrangement: #TEXT_LAST
_CycleCalc.Ledger,
@UI.hidden: true
@ObjectModel.readOnly: true
_CycleCalc.LedgerName,
@UI.hidden: true
LedgerForEdit,
@UI.selectionField: {position: 88}
@Search: { ranking: #LOW }
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationCategoryVH', element: 'PlanningCategory' } } ]
_CycleCalc.AllocationCycleCategory,
@UI.hidden: true
AllocationCycleCategoryForEdit,
@UI.hidden: true
_CycleCalc.AllocationCostElement, //cost element does not exists on cycle, it is only on segment level
@ObjectModel.readOnly: true
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocTopDwnDistrCycTmplHdrVH', element: 'TopDwnDistrTmplName' } } ]
_Template.TopDwnDistrTmplName,
@ObjectModel.readOnly: true
@ObjectModel.text.element: ['AllocCycleIsConsistentText']
@Consumption.labelElement: 'AllocCycleIsConsistentText'
@UI.textArrangement: #TEXT_ONLY
cast(_CycleCalc.AllocationCycleIsConsistent as fco_alloc_consistency) as AllocationCycleIsConsistent,
@ObjectModel.readOnly: true
@UI.hidden: true
_CycleCalc.AllocCycleIsConsistentText,
@Consumption.valueHelpDefinition: [{ entity:{ name: 'C_ControllingAreaVH', element: 'ControllingArea' } }]
@ObjectModel.readOnly: true
cast( _Field[1:AllocationFieldName = 'KOKRS'].AllocationFieldMinimumValue as fis_kokrs ) as ControllingArea,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_FCO_ALLOC_CYCLE_CDS_EXIT'
}
@UI.hidden: true
cast('' as boolean) as ManipulationRuleIsAvailable,
// @ObjectModel: {
// readOnly: true,
// virtualElement,
// virtualElementCalculatedBy: 'ABAP:CL_FCO_ALLOC_CYCLE_CDS_EXIT'
// }
//@ObjectModel.readOnly: true
@Consumption.valueHelpDefinition: [{ entity:{ name: 'C_UniversalAllocationTagVH', element: 'AllocationTagID' } }]
//@UI.lineItem: [{hidden: true, exclude: true}]
//@ObjectModel.text.element: ['AllocationTagDescription']
//@Consumption.labelElement: 'CompanyCodeName'
//@UI.hidden: true
//@Consumption.filter.hidden: false
//@Consumption.hidden: true
@UI.selectionField: {position: 91}
//_AllocationTag.AllocationTagID as AllocationTagID,
//cast( '' as fco_alloc_tag ) as AllocationTagID,
AllocationTagID,
//cast(case when _AllocationTagCount.NumberOfAllocationTags = 1 then 'X' else 'Y' end as fco_alloc_tag ) as AllocationTagID,
// cast(_CycleCalc.Ledger as fco_alloc_tag) as AllocationTagID,
// _AllocationTagCount.NumberOfAllocationTags as AllocationTagID,
// _AllocationTagForCycle.AllocationTagID,
//@UI.hidden: true
//@ObjectModel.readOnly: true
//_AllocationTag.AllocationTagDescription,
@Semantics.booleanIndicator: true
@Consumption.filter.selectionType: #SINGLE
AllocationCycleIsIterative,
@Semantics.booleanIndicator: true
@Consumption.filter.selectionType: #SINGLE
CycleIsDeltaProcessEnabled,
@Semantics.booleanIndicator: true
@Consumption.filter.selectionType: #SINGLE
CycleIsParallelLedgerEnabled,
@Semantics.booleanIndicator: true
@Consumption.filter.selectionType: #SINGLE
CycleIsAttributedLineItmEnbld,
@UI.hidden: true
@ObjectModel.readOnly: true
_CycleNote.NoteText,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_Segment,
_Information,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_Field,
@Consumption.filter.hidden: true
_LastExecUser,
@Consumption.filter.hidden: true
_LastChangeUser,
@Consumption.filter.hidden: true
_CreatedByUser,
@Consumption.filter.hidden: true
@UI.selectionField: [{exclude: true}]
@UI.hidden: true
_AllocationCycleVH,
@Consumption.filter.hidden: true
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_Template,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_FieldGroup,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_FieldDerivation,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
@Consumption.filter.hidden: true
_CycleNote,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_CycleTag,
_AllocationTagForCycle
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_ALLOCATIONCYCLEKEYFIELDTP",
"C_ALLOCATIONCYCLENOTETP",
"C_ALLOCCHANGEDBYUSERVH",
"C_ALLOCCREATEDBYUSERVH",
"C_ALLOCLASTEXECBYUSERVH",
"C_ALLOCTOPDWNDISTRCYCTMPLTP",
"I_ALLOCATIONCYCLETP",
"I_ALLOCATIONSTATUS",
"I_ALLOCATIONSTATUSTEXT",
"I_DOMAINFIXEDVALUE",
"I_DOMAINFIXEDVALUETEXT",
"P_ALLOCATIONCYCLE"
],
"ASSOCIATED":
[
"C_ALLOCATIONCYCLEFIELDGROUPTP",
"C_ALLOCATIONCYCLEINFORMATION",
"C_ALLOCATIONCYCLEKEYFIELDTP",
"C_ALLOCATIONCYCLENOTETP",
"C_ALLOCATIONCYCLEVH",
"C_ALLOCATIONFIELDDERIVATIONTP",
"C_ALLOCATIONSEGMENTTP",
"C_ALLOCATIONTAGFORCYCLE",
"C_ALLOCCHANGEDBYUSERVH",
"C_ALLOCCREATEDBYUSERVH",
"C_ALLOCLASTEXECBYUSERVH",
"C_ALLOCTAGOBJECTASSIGNMENTTP",
"C_ALLOCTOPDWNDISTRCYCTMPLTP",
"I_DOMAINFIXEDVALUE",
"P_ALLOCATIONCYCLE",
"P_ALLOCATIONTAGCOUNT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/