@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Real Estate Valuation Term TP'
@ObjectModel.representativeKey: 'RETermNumber'
@Analytics.technicalName: 'RREVALUATIONTP'
@ObjectModel.semanticKey: ['InternalRealEstateNumber', 'RETermNumber' , 'ValidityStartEndDateValue']
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@VDM.usage.type: [ #TRANSACTIONAL_PROCESSING_SERVICE ]
define view entity R_REContrValuationTP
as select from I_REValuationTerm
association to parent R_REContractTP as _REContract on $projection.InternalRealEstateNumber = _REContract.InternalRealEstateNumber
association [0..*] to R_REContrValuationConditionTP as _REValuationConditionTP on $projection.InternalRealEstateNumber = _REValuationConditionTP.InternalRealEstateNumber
and $projection.REValuationRuleUUID = _REValuationConditionTP.REValuationRuleUUID
association [0..*] to R_REContrValuationProcStepTP as _REValuationProcessStepTP on $projection.InternalRealEstateNumber = _REValuationProcessStepTP.InternalRealEstateNumber
and $projection.REValuationRuleUUID = _REValuationProcessStepTP.REValuationRuleUUID
association [1..1] to I_REEntryValidity as _REEntryValidity on $projection.REEntryValidity = _REEntryValidity.REEntryValidity
//association [1..1] to I_REObjectType as _REObjectType on $projection.RealEstateObjectType = _REObjectType.RealEstateObjectType
//association [1..*] to I_REObjectTypeText as _REObjectTypeText on _REObjectTypeText.Language = $session.system_language
//association [1..1] to I_REObjectType as _REAccountingObjectType on $projection.REAccountingObjectType = _REAccountingObjectType.RealEstateObjectType
{
key InternalRealEstateNumber,
// key REValuationRuleUUID,
key RETermNumber,
key cast(concat(ValidityStartDate, ValidityEndDate ) as recadateperiod) as ValidityStartEndDateValue,
RETermType,
_RETerm.RETermName,
REValuationRule,
REValuationRuleUUID,
// _REContract.RealEstateObjectType,
// _REContract.REIdentificationKey,
// _REContract.REStatusObject,
ValidityStartDate,
ValidityEndDate,
REStatusObject,
cast( left(REStatusObject,2) as rebdbusobjtypecn preserving type ) as RealEstateObjectType,
//_REValuationObject.RealEstateObjectType,
// case left(REStatusObject,2)
// when 'IS'
// then _REValuationObject.REIdentification
// else _REContract._REObjAssgmtTP[1: REStatusObjectTarget = $projection.restatusobject].REIdentification
// end as REIdentification,
// case left(REStatusObject,2)
// when 'IS'
// then cast( _REContract.REContractName as recnvdmobjname )
// else cast( _REContract._REObjAssgmtTP[1: REStatusObjectTarget = $projection.restatusobject]._REObjectAssgmtAddl.REObjectText as recnvdmobjname )
// end as REObjectText,
ObjectValidFrom,
REConsiderationStartDate,
RECashFlowPostingFromDate,
REStatusObjectAsset,
REValuationClassification,
REInterestRate,
REFrequencyTerm,
REDistributionRule,
REDistributionRuleParam1,
REDistributionRuleParam2,
REProbableEndDate,
REAssetRightOfUseEndDate,
REValuationRuleStatus,
REValuationStatus,
REValuationStatusReason,
REValuationBehavior,
RETaxType,
TaxGroup,
REAccountingObject,
// _REAccountingObject.REAccountingObjectType as REAccountingObjectType,
left(REAccountingObject,2) as REAccountingObjectType,
// cast (_REAccountingObject.REIdentification as recavdmaccobjident preserving type ) as REAccountingObjIdentification,
// cast( case left(REAccountingObject,2)
// when 'KS'
// then concat(concat(concat_with_space(_REObjectTypeText[1: RealEstateObjectType = 'KS' ].REObjectTypePrefix,
// substring( REAccountingObject, 3, 4),1 ),'/'),
// substring( REAccountingObject, 7, 10))
//
// when 'PR'
// then concat_with_space(_REObjectTypeText[1: RealEstateObjectType = 'PR' ].REObjectTypePrefix,
// _WBSElement.WBSElementExternalID,1)
// when 'OR'
// then concat_with_space(_REObjectTypeText[1: RealEstateObjectType = 'OR' ].REObjectTypePrefix,
// ltrim(substring( REAccountingObject, 3, 12), '0'), 1)
// else REAccountingObject
// end
// as recavdmaccobjident ) as REAccountingObjIdentification,
REInfoText,
REValuationFactorNumerator,
REValuationFactorDenominator,
REValuationCurrency,
REValuationQuestionnaireUUID,
Country,
@ObjectModel.foreignKey.association: '_REEntryValidity'
case
// when ValidityStartDate is initial then cast ('0' as recavdmentryvalidity)
when ValidityStartDate is initial and ValidityEndDate is initial then cast (left('3',1) as recavdmentryvalidity preserving type )
when ValidityStartDate > $session.system_date then cast (left('2',1) as recavdmentryvalidity preserving type )
when ValidityStartDate <= $session.system_date and ValidityEndDate >= $session.system_date then cast(left('3',1) as recavdmentryvalidity preserving type )
else
cast (left('1',1) as recavdmentryvalidity preserving type )
end as REEntryValidity,
case
// when ValidityStartDate is initial then 0
when ValidityStartDate is initial and ValidityEndDate is initial then 3
when ValidityStartDate > $session.system_date then 2
when ValidityStartDate <= $session.system_date and ValidityEndDate >= $session.system_date then 3
else
1
end as REEntryValidityCriticality,
@ObjectModel.virtualElement: true
cast('' as recaident ) as REIdentification,
@ObjectModel.virtualElement: true
cast('' as recavdmaccobjident ) as REAccountingObjIdentification,
@ObjectModel.virtualElement: true
cast('' as anln1 ) as MasterFixedAsset,
@ObjectModel.virtualElement: true
cast('' as anln2 ) as FixedAsset,
_REEntryValidity,
_REContract,
_REKeyAssgmt,
_RETerm,
_RETermType,
// _REObjectType,
_REValuationObject,
_REValuationRule,
_REFixedAssetRelation,
_REValuationClassification,
_RERhythmTerm,
_RECndnDistributionRuleExt,
_REValuationRuleStatus,
_REValuationStatus,
_REValuationStatusReason,
_REValuationBehavior,
_RETaxType,
_RETaxGroup,
// _REAccountingObject,
// _WBSElement,
// _CostCenter,
// _InternalOrder,
// _REAccountingObjectType,
_Currency,
_REValuationConditionTP,
_REValuationProcessStepTP
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_RETERM",
"I_REVALUATIONTERM"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_RECNDNDISTRIBUTIONRULEEXT",
"I_REENTRYVALIDITY",
"I_REFIXEDASSETRELATION",
"I_REKEYASSGMT",
"I_REOBJECTTYPEDETAILS",
"I_RERHYTHMTERM",
"I_RETAXGROUP",
"I_RETAXTYPE",
"I_RETERM",
"I_RETERMTYPE",
"I_REVALUATIONBEHAVIOR",
"I_REVALUATIONCLASSIFICATION",
"I_REVALUATIONRULE",
"I_REVALUATIONRULESTATUS",
"I_REVALUATIONSTATUS",
"I_REVALUATIONSTATUSREASON",
"R_RECONTRACTTP",
"R_RECONTRVALUATIONCONDITIONTP",
"R_RECONTRVALUATIONPROCSTEPTP"
],
"BASE":
[
"I_REVALUATIONTERM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/