C_REContractTP

DDL: C_RECONTRACTTP Type: view_entity CONSUMPTION Package: ODATA_RE_CONTRACT_APP

Real Estate Contract

C_REContractTP is a Consumption CDS View that provides data about "Real Estate Contract" in SAP S/4HANA. It reads from 1 data source (R_REContractTP) and exposes 80 fields with key field InternalRealEstateNumber. It has 1 association to related views. It is exposed through 1 OData service (UI_RECONTRACT). It is used in 1 Fiori application: Contract Management. Part of development package ODATA_RE_CONTRACT_APP.

Data Sources (1)

SourceAliasJoin Type
R_REContractTP R_REContractTP projection

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_UserContactCard _ResponsibleContactCard $projection.Responsible = _ResponsibleContactCard.ContactCardID

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Real Estate Contract view
VDM.viewType #CONSUMPTION view
ObjectModel.representativeKey InternalRealEstateNumber view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.modelingPattern #TRANSACTIONAL_PROJECTED_ENTITY view
Metadata.allowExtensions true view
Search.searchable true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_RECONTRACT UI_RECONTRACT V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F5273 Contract Management Transactional This Fiori App allows customers to manage and maintain their Real Estate Contracts. Through the App customers get the ability to easily understand their contracts and liabilities.

Contract Management

Business Role: Contract Specialist - Leasing

The term section of the contract has been restructured. It now includes subsections for dates, renewal terms, and notice terms to ease navigation inside the contract.

Fields (80)

KeyFieldSource TableSource FieldDescription
KEY InternalRealEstateNumber InternalRealEstateNumber
CompanyCode CompanyCode
RealEstateContract RealEstateContract
REContractAlternativeID REContractAlternativeID
REStatusObject REStatusObject
REInternalFinNumber REInternalFinNumber
RealEstateContractOID RealEstateContractOID
RECreationType RECreationType
CreatedByUser CreatedByUser
CreationDate CreationDate
CreationTime CreationTime
CreationDateTime CreationDateTime
RESourceOfCreation RESourceOfCreation
LastChangedByUser LastChangedByUser
LastChangeDate LastChangeDate
LastChangeTime LastChangeTime
LastChangeDateTime LastChangeDateTime
RESourceOfChange RESourceOfChange
Responsible Responsible
REUserExclusive REUserExclusive
REAuthorizationGroup REAuthorizationGroup
REContractType REContractType
ContractStartDate ContractStartDate
ContractEndDate ContractEndDate
REContractName REContractName
REContractActivateDate REContractActivateDate
RETenancyLaw RETenancyLaw
REContractNumberOld REContractNumberOld
REMainContractCompanyCode REMainContractCompanyCode
REMainContract REMainContract
REContractCurrency REContractCurrency
REIndustrySector REIndustrySector
REIsSalesRelevant REIsSalesRelevant
REContractDepositType REContractDepositType
REContractSignDate REContractSignDate
REContract2SignDate REContract2SignDate
REContractCashFlowDate REContractCashFlowDate
REContractFirstEndDate REContractFirstEndDate
REContractNoticeDate REContractNoticeDate
REContractNoticeInDate REContractNoticeInDate
REContractNoticeReason REContractNoticeReason
REContractNoticeActivationDate REContractNoticeActivationDate
RECashFlowArchivedToDate RECashFlowArchivedToDate
RECashFlowLockedToDate RECashFlowLockedToDate
RECashFlowPostingFromDate RECashFlowPostingFromDate
REBusinessEntity REBusinessEntity
REPossessionStartDate REPossessionStartDate
REPossessionEndDate REPossessionEndDate
REHasMultipleAssignments REHasMultipleAssignments
REObjectAvailableFromDate REObjectAvailableFromDate
REObjectAvailableToDate REObjectAvailableToDate
ValuationRelevance ValuationRelevance
StatusProfile StatusProfile
virtualREStatusProfileIsHiddenrecabool
virtualSystemStatusTextrecnvdmcnstatus
virtualPartnerbu_partner
CompanyCodeName _CompanyCode CompanyCodeName
UserDescription _CreatedByUser UserDescription
REResponsibleUserDescription _ResponsibleUser UserDescription
int1
CurrencyNameasCurrencyNamelocalized
_StatusObject _StatusObject
_CompanyCode _CompanyCode
_MainContractCompanyCode _MainContractCompanyCode
_CreatedByUser _CreatedByUser
_ChangedByUser _ChangedByUser
_ResponsibleUser _ResponsibleUser
_Currency _Currency
_REIndustry _REIndustry
_RECreationType _RECreationType
_RETenancyLaw _RETenancyLaw
_REContractDepositType _REContractDepositType
_REContractNoticeReason _REContractNoticeReason
_ResponsibleContactCard _ResponsibleContactCard
virtualIsDraftEntityrecabool
virtualIsInitialVersionrecabool
virtualNoteUUIDbobfconf_key
virtualNoteObjectnte_objectid
virtualREContractPeriodStatusretmpestate
virtualREContractNextEndDateretmrnendnew
@AccessControl: {
    authorizationCheck: #CHECK,
    privilegedAssociations: ['_ResponsibleContactCard']

}
@EndUserText.label: 'Real Estate Contract'

// 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_PROJECTED_ENTITY,
    supportedCapabilities: [ #TRANSACTIONAL_PROVIDER ]
}

@Metadata.allowExtensions: true

@Search.searchable: true

define root view entity C_REContractTP
  provider contract transactional_query
  as projection on R_REContractTP as REContract
    association [0..1] to I_UserContactCard as _ResponsibleContactCard on $projection.Responsible = _ResponsibleContactCard.ContactCardID
  
  //  association [0..*] to C_REContractResponsibility as _REContractResponsibility on $projection.InternalRealEstateNumber = _REContractResponsibility.InternalRealEstateNumber

{
          @UI.hidden: true
  key     InternalRealEstateNumber                                  as 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                                               as CompanyCode,
          @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', usage: #FILTER } ] }]              
          RealEstateContract                                        as RealEstateContract,

          REContractAlternativeID,
          @ObjectModel.text.element: ['StatusProfileName']
          REStatusObject                                            as REStatusObject,
          REInternalFinNumber                                       as REInternalFinNumber,
          @UI.hidden: true
          RealEstateContractOID,
          @ObjectModel.text.element: ['RECreationTypeName']
          RECreationType                                            as RECreationType,
          @Semantics.user.createdBy: true
          CreatedByUser                                             as CreatedByUser,
          @UI.hidden: true
          CreationDate                                              as CreationDate,
          @UI.hidden: true
          CreationTime                                              as CreationTime,
          @Semantics.systemDateTime.createdAt: true
          @Consumption.filter.selectionType: #INTERVAL
          CreationDateTime,
          RESourceOfCreation                                        as RESourceOfCreation,
          @Semantics.user.lastChangedBy: true
          LastChangedByUser                                         as LastChangedByUser,
          @UI.hidden: true
          LastChangeDate                                            as LastChangeDate,
          @UI.hidden: true
          LastChangeTime                                            as LastChangeTime,
          @Semantics.systemDateTime.lastChangedAt: true
          LastChangeDateTime,
          RESourceOfChange                                          as RESourceOfChange,
          @Semantics.user.id: true
          @Consumption.valueHelpDefinition: [{ entity: { name : 'I_BusinessUserVH', element : 'UserID' } }]
          //          @ObjectModel: { foreignKey.association: '_ResponsibleUser' , mandatory: true }

          //@ObjectModel.text.element: ['REResponsibleUserDescription']

          //          @ObjectModel.foreignKey.association: '_UserContactCard'

          //          @Consumption.semanticObject: 'User'

          Responsible                                               as Responsible,
          REUserExclusive                                           as REUserExclusive,
          @Consumption.valueHelpDefinition: [{entity: {name: 'I_REAuthorizationGroup', element: 'REAuthorizationGroup' },
                                                         additionalBinding: [ { element: 'RealEstateObjectType', localConstant: 'IS', usage: #FILTER }]}]
          @ObjectModel.text.element: ['REAuthorizationGroupName']
          //            @UI.hidden: true

          REAuthorizationGroup,
          @ObjectModel.text.element: ['REContractTypeName']
          @Consumption.valueHelpDefinition: [{
            entity: {name: 'I_REContractTypeStdVH', element: 'REContractType' },
            additionalBinding: [{ element: 'REContractType_Text', localElement: 'REContractTypeName', usage: #RESULT }]
          }]
          @Search.defaultSearchElement: true
          @Search.ranking: #HIGH
          @Search.fuzzinessThreshold : 0.9
          REContractType                                            as REContractType,
          @Semantics.businessDate.from: true
          @Consumption.filter.selectionType: #INTERVAL
          ContractStartDate                                         as ContractStartDate,
          @Semantics.businessDate.to: true
          @Consumption.filter.selectionType: #INTERVAL
          ContractEndDate                                           as ContractEndDate,
          @Search.defaultSearchElement: true
          @Search.ranking: #HIGH
          @Search.fuzzinessThreshold : 0.7
          @Consumption.filter.hidden: true
          REContractName                                            as REContractName,
          @Consumption.filter.selectionType: #INTERVAL
          REContractActivateDate                                    as REContractActivateDate,
          @Consumption.valueHelpDefinition: [{   entity: {name: 'I_RETenancyLaw', element: 'RETenancyLaw' },
            additionalBinding: [{ element: 'RETenancyLaw_Text', localElement: 'RETenancyLawName', usage: #RESULT }] }]
          @ObjectModel.text.element: ['RETenancyLawName']
          RETenancyLaw                                              as RETenancyLaw,
          REContractNumberOld                                       as REContractNumberOld,
          @Consumption.valueHelpDefinition: [{   entity: {name: 'I_CompanyCodeStdVH', element: 'CompanyCode' } }]
          REMainContractCompanyCode                                 as REMainContractCompanyCode,
          @Consumption.valueHelpDefinition: [{   entity: {name: 'I_REContractVH', element: 'RealEstateContract' },
                                                additionalBinding: [
                                                        { element: 'CompanyCode', localElement: 'REMainContractCompanyCode' }] }]
          REMainContract                                            as REMainContract,
          @Semantics.currencyCode: true
          @Consumption.valueHelpDefinition: [{
            entity: {name: 'I_CurrencyStdVH', element: 'Currency' },
            additionalBinding: [{ element: 'Currency_Text', localElement: 'CurrencyName', usage: #RESULT }]
          }]
          @ObjectModel.text.element: ['CurrencyName']
          REContractCurrency                                        as REContractCurrency,
          @Consumption.valueHelpDefinition: [{ entity: {name: 'I_REIndustryVH', element: 'REIndustrySector' },
                                               additionalBinding: [{ element: 'IndustryKeyDescription', localElement: 'IndustryKeyDescription', usage: #RESULT }] }]
          @ObjectModel.text.element: ['IndustryKeyDescription']
          REIndustrySector                                          as REIndustrySector,
          REIsSalesRelevant                                         as REIsSalesRelevant,
          @ObjectModel.text.element: ['REContractDepositTypeName']
          REContractDepositType                                     as REContractDepositType,
          @Consumption.filter.selectionType: #INTERVAL
          REContractSignDate                                        as REContractSignDate,
          @Consumption.filter.selectionType: #INTERVAL
          REContract2SignDate                                       as REContract2SignDate,
          @Consumption.filter.selectionType: #INTERVAL
          REContractCashFlowDate                                    as REContractCashFlowDate,
          @Consumption.filter.selectionType: #INTERVAL
          REContractFirstEndDate                                    as REContractFirstEndDate,
          @Consumption.filter.selectionType: #INTERVAL
          REContractNoticeDate                                      as REContractNoticeDate,
          @Consumption.filter.selectionType: #INTERVAL
          REContractNoticeInDate                                    as REContractNoticeInDate,
          @ObjectModel.text.element: ['REContractNoticeReasonName']
          REContractNoticeReason                                    as REContractNoticeReason,
          @Consumption.filter.selectionType: #INTERVAL
          REContractNoticeActivationDate                            as REContractNoticeActivationDate,
          @Consumption.filter.selectionType: #INTERVAL
          RECashFlowArchivedToDate                                  as RECashFlowArchivedToDate,
          @Consumption.filter.selectionType: #INTERVAL
          RECashFlowLockedToDate                                    as RECashFlowLockedToDate,
          @Consumption.filter.selectionType: #INTERVAL
          RECashFlowPostingFromDate                                 as RECashFlowPostingFromDate,
          REBusinessEntity                                          as REBusinessEntity,
          @Consumption.filter.selectionType: #INTERVAL
          REPossessionStartDate                                     as REPossessionStartDate,
          @Consumption.filter.selectionType: #INTERVAL
          REPossessionEndDate                                       as REPossessionEndDate,
          REHasMultipleAssignments                                  as REHasMultipleAssignments,
          @Consumption.filter.selectionType: #INTERVAL
          REObjectAvailableFromDate                                 as REObjectAvailableFromDate,
          @Consumption.filter.selectionType: #INTERVAL
          REObjectAvailableToDate                                   as REObjectAvailableToDate,
          @Consumption.valueHelpDefinition: [{ entity: {name: 'I_REValuationRelevance_2', element: 'ValuationRelevance' },
                                               additionalBinding: [{ element: 'ValuationRelevance_Text', localElement: 'ValuationRelevanceDesc', usage: #RESULT },
                                                                   { element: 'REIsExclForNewAssgmt', localConstant: ' ', usage: #FILTER }  ] }]
          @ObjectModel.text.element: ['ValuationRelevanceDesc']
          ValuationRelevance                                                as ValuationRelevance,

          @Consumption.valueHelpDefinition: [{entity: {name: 'I_REStatusProfileVH', element: 'StatusProfile' },
                                              additionalBinding: [{ element: 'StatusObjectCategory', localConstant: 'ISC', usage: #FILTER }]}]
          StatusProfile,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractSetDeltnFlagIsHidden : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractRemvDelFlagIsHidden  : recabool,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrLockMasterDataIsHidden  : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrUnlockMstrDataIsHidden  : recabool,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrLockAcctAssgmtIsHidden  : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrUnlkAcctAssgmtIsHidden  : recabool,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrLockPlanningIsHidden    : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrUnlockPlanningIsHidden  : recabool,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REStatusProfileIsHidden        : recabool,

          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual SystemStatusText               : recnvdmcnstatus,

          //          _REContractAddl.REContractSystemStatusText                        as REContractSystemStatusText,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractSystemStatusText     : recnvdmcnstatus,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REAuthorizationGroupIsHidden   : recabool,

          //          _REContractAddl._REContractConditionChart.REUnitPrice             as REUnitPrice,

          //          @ObjectModel.text.element: ['REConditionTypeName']

          //          _REContractAddl._REContractConditionChart.REConditionType         as REConditionType,

          //          @UI.hidden: true

          //          _REContractAddl._REContractConditionChart._REConditionType._Text[1: Language = $session.system_language ].REConditionTypeName as REConditionTypeName,




          @Consumption.valueHelpDefinition: [{entity: {name: 'I_BusinessPartnerVH', element: 'BusinessPartner' }}]
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
          @ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_ROOT_FILTER_EXIT'
  virtual Partner                        : bu_partner,

          @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_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_ROOT_CALC_EXIT'
          @ObjectModel.filter.transformedBy: 'ABAP:CL_RECN_VDM_OBJECT_FILTER_EXIT'
  virtual REIntegObjectNumberBldngLand   : reipvdmionrbuildingland,


          @Search.defaultSearchElement: true
          @Search.ranking: #HIGH
          @Search.fuzzinessThreshold : 0.9
          @Consumption.filter.hidden: true
          _CompanyCode.CompanyCodeName                              as CompanyCodeName,

          @UI.hidden: true
          @Search.defaultSearchElement: true
          @Search.ranking: #HIGH
          @Search.fuzzinessThreshold : 0.7
          _CreatedByUser.UserDescription,
          @UI.hidden: true
          _ResponsibleUser.UserDescription                          as REResponsibleUserDescription,

          //          @UI.hidden: true

          //          _REContractAddl.REContractCategory                                as REContractCategory,


          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual RENumberOfOpenReminders        : recavdmrsdatecountopen,
          //          _REContractAddl.RENumberOfOpenReminders                           as RENumberOfOpenReminders,

          @UI.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REOpenRemindersCriticality     : abap.int1,
          //          _REContractAddl.REOpenRemindersCriticality                        as REOpenRemindersCriticality,


          //          @Semantics.name.fullName: true

          //          _UserContactCard.FullName,


          @Search.defaultSearchElement: true
          @Search.ranking: #HIGH
          @Search.fuzzinessThreshold : 0.7
          @Consumption.filter.hidden: true
          _REContractType._Text.REContractTypeName                  as REContractTypeName         : localized,
          @UI.hidden: true
          _StatusProfileText.StatusProfileName                      as StatusProfileName          : localized,
          @UI.hidden: true
          _Currency._Text.CurrencyName                              as CurrencyName               : localized,
          @UI.hidden: true
          _REIndustry._IndustryKeySystemText.IndustryKeyDescription as IndustryKeyDescription     : localized,
          @Consumption.filter.hidden: true
          _RECreationType._Text.RECreationTypeName                  as RECreationTypeName         : localized,
          @Consumption.filter.hidden: true
          _RETenancyLaw._Text.RETenancyLawName                      as RETenancyLawName           : localized,
          @Consumption.filter.hidden: true
          _REContractDepositType._Text.REContractDepositTypeName    as REContractDepositTypeName  : localized,
          @Consumption.filter.hidden: true
          _REContractNoticeReason._Text.REContractNoticeReasonName  as REContractNoticeReasonName : localized,
          @Consumption.filter.hidden: true
          _REValuationRelevance._Text.ValuationRelevanceDesc        as ValuationRelevanceDesc     : localized,
          @Consumption.filter.hidden: true
          _REAuthorizationGroup._Text.REAuthorizationGroupName      as REAuthorizationGroupName   : localized,

          _StatusObject,
          _CompanyCode,
          _MainContractCompanyCode,
          _CreatedByUser,
          _ChangedByUser,
          _ResponsibleUser,
          _Currency,
          _REIndustry,
          _RECreationType,
          _RETenancyLaw,
          _REContractDepositType,
          _REContractNoticeReason,
          // hidig filter for contact card from table personalisation filter option

          //@ObjectModel.filter.enabled: false

          _ResponsibleContactCard,
          //          _REContractStat,


          //          @Search.defaultSearchElement: true

          _REPartnerAssgmtTP    : redirected to composition child C_REContractPartAssgmtTP,
          //          @Search.defaultSearchElement: true

          _REObjAssgmtTP        : redirected to composition child C_REContractObjAssgmtTP,
          _REPostingTermTP      : redirected to composition child C_REContractPostingTermTP,
          _REOrglAssgmtTermTP   : redirected to composition child C_REContractOrglAssgmtTermTP,
          _REConditionTP        : redirected to composition child C_REContractConditionTP,
          _RERhythmTermTP       : redirected to composition child C_REContractRhythmTermTP,
          //          _RERenewalTermAndRulesTP    : redirected to composition child C_REContractRenewalTermTP,

          @Semantics.valueRange.maximum: '1'
          _RERenewalTermTP      : redirected to composition child C_REContractRenewalTermTP, //"C_RERENEWALTERM2TP,

          @Semantics.valueRange.maximum: '1'
          _RENoticeTermTP       : redirected to composition child C_REContractNoticeTermTP,
          _REReminderRuleTP     : redirected to composition child C_REContractReminderRuleTP,
          _REReminderRuleMainTP : redirected to composition child C_REContractReminderRuleMainTP,
          _REReminderDateTP     : redirected to composition child C_REContractReminderDateTP,
          _RERegistryEntryTP    : redirected to composition child C_REContractRegistryEntryTP,
          _REStatusObjectTP     : redirected to composition child C_REContractStatusObjectTP,

          //          _REContractResponsibility,


          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual IsDraftEntity                  : recabool,

          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual IsInitialVersion               : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual NoteUUID                       : /bobf/conf_key,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual NoteObject                     : nte_objectid,

          //--------------------------------------------------------

          //--------------- TERM INFORMATION SECTION ---------------

          //--------------------------------------------------------

          @ObjectModel.text.element: ['REContractPeriodStatusText']
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractPeriodStatus         : retmpestate,
          @Consumption.filter.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractPeriodStatusText     : retmxpestate,
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrPossiblePartNoticeDate  : retmntallowedpar,
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractInactvNoticePerDate  : retmntperinactive,
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractNextEndDate          : retmrnendnew,
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrPossibleOwnNoticeDate   : retmntallowedown,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrPosPartNoticeIsHidden   : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrPosOwnNoticeIsHidden    : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractNoticePerIsHidden    : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContrInactvNoticePerIsHidden : recabool,
          @UI.hidden: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_RECN_ROOT_CALC_EXIT'
  virtual REContractNextEndDateIsHidden  : recabool
}