@EndUserText.label : 'Technical Object Location Address'
@Analytics.dataCategory: #DIMENSION //or #CUBE or #FACT
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #MANDATORY
@ObjectModel.representativeKey : 'FunctionalLocation'
@AbapCatalog.sqlViewName : 'IETECHOBJLOCADDR'
@ObjectModel.usageType.serviceQuality : 'C'
@ObjectModel.usageType.sizeCategory : 'XL'
@ObjectModel.usageType.dataClass : 'MIXED'
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE, #ANALYTICAL_DIMENSION, #ANALYTICAL_PROVIDER, #CDS_MODELING_ASSOCIATION_TARGET, #CDS_MODELING_DATA_SOURCE ]
@AbapCatalog.compiler.compareFilter:true
//@AbapCatalog.preserveKey: true
@Metadata.allowExtensions: true
//Privileged associations specified
@AccessControl.privilegedAssociations: [ '_Address', '_LocationAccountAssignment', '_Location', '_Address2' ]
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
define view I_UtilsTechObjLocationAddr
as select from I_FunctionalLocation
// association [0..1] to I_Address as _Address1 on $projection.addressid = _Address1.AddressID
association [0..1] to I_Plant as _Plant on $projection.maintenanceplant = _Plant.Plant
association [0..1] to I_Plant as _PlanningPlant on $projection.MaintenancePlanningPlant = _PlanningPlant.Plant
association [0..*] to I_FunctionalLocationText as _FunctionalLocationText on _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
association [0..1] to I_PostalCity as _PostalCity on $projection.CityNumber = _PostalCity.CityNumber
and $projection.country = _PostalCity.Country
{
key I_FunctionalLocation.FunctionalLocation,
@ObjectModel.foreignKey.association : '_LocationAccountAssignment'
I_FunctionalLocation.MaintObjectLocAcctAssgmtNmbr,
@ObjectModel.foreignKey.association : '_MaintenancePlanningPlant'
I_FunctionalLocation.MaintenancePlanningPlant,
I_FunctionalLocation.AuthorizationGroup,
@ObjectModel.foreignKey.association : '_MaintenancePlannerGroup'
I_FunctionalLocation.MaintenancePlannerGroup,
@ObjectModel.foreignKey.association : '_Plant'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr].MaintenancePlant,
@ObjectModel.foreignKey.association : '_Address'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr].AddressID,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr].MaintenanceObjectLocation,
@ObjectModel.foreignKey.association : '_Location'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr].AssetLocation,
@ObjectModel.foreignKey.association : '_ControllingArea'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr].ControllingArea,
@ObjectModel.foreignKey.association : '_CostCenter'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr].CostCenter,
@ObjectModel.foreignKey.association : '_PostalCity'
cast ( I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2.CityNumber as ad_citynum preserving type ) as CityNumber,
@ObjectModel.foreignKey.association : '_Country'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2.Country,
// @ObjectModel.foreignKey.association : '_CountyCode'
// I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address.CountyCode,
@ObjectModel.foreignKey.association : '_Region'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2.Region,
@ObjectModel.foreignKey.association : '_CountyCode'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2.SecondaryRegion as CountyCode,
_FunctionalLocationText,
@API.element.releaseState: #DEPRECATED
@API.element.successor : '_Address2'
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2._Country,
// I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address._CountyCode,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2._SecondaryRegion as _CountyCode,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Address2._Region,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._CostCenter,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._ControllingArea,
I_FunctionalLocation._LocationAccountAssignment[1: MaintObjectLocAcctAssgmtNmbr = MaintObjectLocAcctAssgmtNmbr]._Location,
_Plant,
_MaintenancePlanningPlant,
_PlanningPlant,
_LocationAccountAssignment,
_MaintenancePlannerGroup,
_PostalCity
}
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_ADDRESSDEFAULTREPRESENTATION",
"I_FUNCTIONALLOCATION",
"I_LOCATIONACCOUNTASSIGNMENT"
],
"ASSOCIATED":
[
"I_ADDRESS",
"I_ADDRESSDEFAULTREPRESENTATION",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_COUNTRY",
"I_FUNCTIONALLOCATIONTEXT",
"I_LOCATION",
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCEPLANNERGROUP",
"I_MAINTENANCEPLANPLANT",
"I_PLANT",
"I_POSTALCITY",
"I_REGION",
"I_SECONDARYREGION"
],
"BASE":
[
"I_ADDRESSDEFAULTREPRESENTATION",
"I_FUNCTIONALLOCATION",
"I_LOCATIONACCOUNTASSIGNMENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
I_UtilsTechObjLocationAddr view