@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Contract Term Management Root'
// Need to check below annotationf contract type
@VDM: {
// lifecycle.contract.type: #PUBLIC_REMOTE_API,
usage.type: [ #TRANSACTIONAL_PROCESSING_SERVICE ],
viewType: #CONSUMPTION
}
@ObjectModel: {
semanticKey: ['RealEstateContract', 'CompanyCode' ],
representativeKey: 'InternalRealEstateNumber',
usageType.serviceQuality: #D,
usageType.sizeCategory: #XL,
usageType.dataClass: #MASTER,
modelingPattern: #TRANSACTIONAL_QUERY,
supportedCapabilities: [ #TRANSACTIONAL_PROVIDER ]
}
@Metadata.allowExtensions: true
@Search.searchable: true
define root view entity C_REContractTermTP
provider contract transactional_query
as projection on R_REContractTP as REContract
association [0..*] to C_RERnwlApprovalSimulationTP as _RERenewalSimulation on $projection.InternalRealEstateNumber = _RERenewalSimulation.InternalRealEstateNumber
association [0..*] to C_RENoticeApprovalSimulationTP as _RENoticeSimulation on $projection.InternalRealEstateNumber = _RENoticeSimulation.InternalRealEstateNumber
{
//associations
_RERenewalTP : redirected to composition child C_REContractRenewalTP,
_RENoticeTP : redirected to composition child C_REContractNoticeTP,
@ObjectModel.filter.enabled: false
_RERenewalSimulation,
@ObjectModel.filter.enabled: false
_RENoticeSimulation,
@UI.hidden: true
key InternalRealEstateNumber,
@ObjectModel.text.element: ['CompanyCodeName']
@Consumption.valueHelpDefinition: [
{ entity: {name: 'I_CompanyCodeStdVH', element: 'CompanyCode' },
additionalBinding: [
{ element: 'CompanyCodeName', localElement: 'CompanyCodeName', usage: #RESULT }
]
}]
@Consumption.semanticObject: 'CompanyCode'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold : 0.7
CompanyCode,
@Search.defaultSearchElement: true
@Search.ranking: #HIGH
@Search.fuzzinessThreshold : 0.9
@Consumption.filter.hidden: true
_CompanyCode.CompanyCodeName as CompanyCodeName,
@ObjectModel.text.element: ['REContractName']
@Search.defaultSearchElement: true
@Search.ranking: #HIGH
@Search.fuzzinessThreshold : 0.9
@Consumption.semanticObject: 'REContract'
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_REContractVH', element: 'RealEstateContract' },
additionalBinding: [ { element: 'CompanyCode', localElement: 'CompanyCode' } ] }]
RealEstateContract,
@UI.hidden: true
RealEstateContractOID,
@ObjectModel.text.element: ['REContractTypeName']
@Consumption.valueHelpDefinition: [{
entity: {name: 'I_REContractTypeStdVH', element: 'REContractType' },
additionalBinding: [{ element: '_Text', localElement: 'REContractTypeName', usage: #RESULT }]
}]
@Search.defaultSearchElement: true
@Search.ranking: #HIGH
@Search.fuzzinessThreshold : 0.9
REContractType,
@Search.defaultSearchElement: true
@Search.ranking: #HIGH
@Search.fuzzinessThreshold : 0.7
@Consumption.filter.hidden: true
_REContractType._Text.REContractTypeName as REContractTypeName : localized,
@Search.defaultSearchElement: true
@Search.ranking: #HIGH
@Search.fuzzinessThreshold : 0.7
REContractName,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractSystemStatusText : recnvdmcnstatus,
@Semantics.businessDate.from: true
@Consumption.filter.selectionType: #INTERVAL
ContractStartDate,
@Semantics.businessDate.to: true
@Consumption.filter.selectionType: #INTERVAL
ContractEndDate,
Responsible as Responsible,
@Semantics.user.lastChangedBy: true
LastChangedByUser,
@UI.hidden: true
LastChangeDate,
@UI.hidden: true
LastChangeTime,
@Semantics.systemDateTime.lastChangedAt: true
LastChangeDateTime,
@UI.hidden: true
REStatusObject,
@Semantics.user.createdBy: true
CreatedByUser,
@UI.hidden: true
CreationDate,
@UI.hidden: true
CreationTime,
@Semantics.systemDateTime.createdAt: true
@Consumption.filter.selectionType: #INTERVAL
CreationDateTime,
@Consumption.filter.selectionType: #INTERVAL
REContractFirstEndDate,
REContractActivateDate,
REContractNoticeDate,
@UI.hidden: true
@Consumption.valueHelpDefinition: [{entity: {name: 'I_REAuthorizationGroup', element: 'REAuthorizationGroup' }}]
REAuthorizationGroup,
@EndUserText.label: 'Site Number'
// @Consumption.valueHelpDefinition: [{ entity : {name: 'I_REIntegObjectLevel0VH', element: 'REIntegrationObjectNumber' },
// additionalBinding: [{ element: 'REIntegrationObjectType', localConstant: 'C4SI', usage: #FILTER }] }]
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_RESiteVH', element: 'REArchitectureObjectNumber' } }]
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_VDM_OBJECT_FILTER_EXIT'
virtual REIntegrationObjectNumberSite : reipvdmionrsite,
@EndUserText.label: 'Building/Land Number'
//@Consumption.valueHelpDefinition: [{ entity : {name: 'I_REIntegObjectLevel1VH', element: 'REIntegrationObjectNumberLvl1' } }]
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_REBuildingLandVH', element: 'REArchitectureObjectNumber' } }]
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_VDM_OBJECT_FILTER_EXIT'
virtual REIntegObjectNumberBldngLand : reipvdmionrbuildingland,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.text.element: ['REContractRenewalStatusDesc']
@ObjectModel.filter.enabled: true
@Consumption.valueHelpDefinition: [{
entity: {name: 'I_REContractRenewalStatus', element: 'REContractRenewalStatus' },
additionalBinding: [{ element: '_Text', usage: #RESULT }]
}]
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_F6580_ROOT_FILTER_EXIT'
virtual REContractRenewalStatus : recnvdmcnrenewalstatus,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractRenewalStatusCritlty : abap.int1,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractRenewalStatusDesc : val_text,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.filter.enabled: true
@Consumption.filter.selectionType: #INTERVAL
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_F6580_ROOT_FILTER_EXIT'
virtual RERenewalNotificationDate : retmrnnotdate,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.text.element: ['REContractNoticeStatusDesc']
@ObjectModel.filter.enabled: true
@Consumption.valueHelpDefinition: [{
entity: {name: 'I_REContractNoticeStatus', element: 'REContractNoticeStatus' },
additionalBinding: [{ element: '_Text', usage: #RESULT }]
}]
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_F6580_ROOT_FILTER_EXIT'
virtual REContractNoticeStatus : recnvdmcnnoticestatus,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractNoticeStatusCritlty : abap.int1,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractNoticeStatusDesc : val_text,
//--------------------------------------------------------
//--------------- TERM INFORMATION SECTION ---------------
//--------------------------------------------------------
@ObjectModel.text.element: ['REContractPeriodStatusText']
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractPeriodStatus : retmpestate,
@Consumption.filter.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractPeriodStatusText : retmxpestate,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContrPossiblePartNoticeDate : retmntallowedpar,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractInactvNoticePerDate : retmntperinactive,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractNextEndDate : retmrnendnew,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContrPossibleOwnNoticeDate : retmntallowedown,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContrPosPartNoticeIsHidden : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContrPosOwnNoticeIsHidden : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractNoticePerIsHidden : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContrInactvNoticePerIsHidden : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual REContractNextEndDateIsHidden : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
virtual IsDraftEntity : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.filter.enabled: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_F6580_ROOT_FILTER_EXIT'
virtual REContractHasRenewalRule : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.filter.enabled: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_F6580_ROOT_FILTER_EXIT'
virtual REContractHasNoticeRule : recabool,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.filter.enabled: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_F6580_ROOT_CALC_EXIT'
@ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_F6580_ROOT_FILTER_EXIT'
virtual REContrHasNoticeOrRenewalRule : recabool
}