I_FunctionalLocation
Functional Location
I_FunctionalLocation is a Basic CDS View (Dimension) that provides data about "Functional Location" in SAP S/4HANA. It reads from 1 data source (iflot) and exposes 61 fields with key field FunctionalLocation. It has 23 associations to related views. Part of development package ILOM.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| iflot | iflot | from |
Associations (23)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_FunctionalLocationCategory | _FunctionalLocationCategory | _FunctionalLocationCategory.FunctionalLocationCategory = $projection.FunctionalLocationCategory |
| [0..1] | I_TechnicalObjectType | _TechnicalObjectType | _TechnicalObjectType.TechnicalObjectType = $projection.TechnicalObjectType |
| [0..1] | I_WorkCenterType | _WorkCenterType | $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode |
| [0..1] | I_WorkCenter | _WorkCenter | _WorkCenter.WorkCenterInternalID = $projection.WorkCenterInternalID and _WorkCenter.WorkCenterTypeCode = $projection.WorkCenterTypeCode |
| [0..1] | I_LocationAccountAssignment | _LocationAccountAssignment | _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr |
| [0..*] | I_FunctionalLocationText | _FunctionalLocationText | _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation |
| [0..1] | I_FunctionalLocation | _SuperiorFunctionalLocation | _SuperiorFunctionalLocation.FunctionalLocation = $projection.SuperiorFunctionalLocation |
| [0..*] | I_FunctionalLocationText | _SupFunctionalLocationText | _SupFunctionalLocationText.FunctionalLocation = $projection.SuperiorFunctionalLocation |
| [0..1] | I_User | _CreatedByUser | _CreatedByUser.UserID = $projection.CreatedByUser |
| [0..1] | I_User | _LastChangedByUser | _LastChangedByUser.UserID = $projection.LastChangedByUser |
| [0..1] | I_MaintenancePlanPlant | _MaintenancePlanningPlant | _MaintenancePlanningPlant.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant |
| [0..1] | I_MaintenancePlannerGroup | _MaintenancePlannerGroup | $projection.MaintenancePlannerGroup = _MaintenancePlannerGroup.MaintenancePlannerGroup and $projection.MaintenancePlanningPlant = _MaintenancePlannerGroup.MaintenancePlanningPlant |
| [0..1] | I_Country | _ManufacturerCountry | $projection.ManufacturerCountry = _ManufacturerCountry.Country |
| [0..1] | I_Currency | _Currency | $projection.Currency = _Currency.Currency |
| [0..1] | I_TechnicalReport | _FunctionalLocationCodeCatalog | $projection.CatalogProfile = _FunctionalLocationCodeCatalog.CatalogProfile |
| [0..1] | I_FuncLocationStructure | _FuncLocationStructure | $projection.FuncLocationStructure = _FuncLocationStructure.FuncLocationStructure |
| [0..1] | I_FunctionalLocationLabel | _FunctionalLocationLabel | _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation |
| [0..1] | I_Material | _ConstructionMaterial | $projection.ConstructionMaterial = _ConstructionMaterial.Material |
| [0..1] | I_UnitOfMeasure | _GrossWeightUnit | $projection.GrossWeightUnit = _GrossWeightUnit.UnitOfMeasure |
| [0..1] | I_LinearAssetManagementData | _LinearAssetManagementData | $projection.FunctionalLocation = _LinearAssetManagementData.LinearDataObjectKey and _LinearAssetManagementData.LinearDataObjectType = 'IF' |
| [0..*] | I_StatusObjectStatus | _Status | $projection.MaintObjectInternalID = _Status.StatusObject |
| [0..*] | I_PlantMaintenancePartner | _PlantMaintenancePartner | $projection.MaintObjectInternalID = _PlantMaintenancePartner.MaintObjectInternalID -- Extension, do not expose as association: |
| [0..1] | E_FunctionalLocation | _FunctionalLocationExtension | _FunctionalLocationExtension.FunctionalLocation = $projection.FunctionalLocation |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Functional Location | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| VDM.viewType | #BASIC | view | |
| AbapCatalog.sqlViewName | IFUNCTLLOCATION | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.representativeKey | FunctionalLocation | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #L | view |
Fields (61)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | FunctionalLocation | iflot | tplnr | |
| FunctionalLocationOID | iflot | functionallocationoid | ||
| FuncLocationStructure | iflot | tplkz | ||
| FunctionalLocationCategory | iflot | fltyp | ||
| WorkCenterInternalID | iflot | lgwid | ||
| WorkCenterTypeCode | iflot | pm_objty | ||
| TechnicalObjectType | iflot | eqart | ||
| MaintObjectLocAcctAssgmtNmbr | iflot | iloan | ||
| ConstructionMaterial | iflot | submt | ||
| CreatedByUser | iflot | ernam | ||
| CreationDate | iflot | erdat | ||
| LastChangedByUser | iflot | aenam | ||
| LastChangeDate | iflot | aedat | ||
| AssetManufacturerName | iflot | herst | ||
| ManufacturerPartTypeName | iflot | typbz | ||
| MaintenancePlannerGroup | iflot | ingrp | ||
| MaintenancePlanningPlant | iflot | iwerk | ||
| CatalogProfile | iflot | rbnr | ||
| AuthorizationGroup | iflot | begru | ||
| SuperiorFunctionalLocation | iflot | tplma | ||
| ManufacturerCountry | iflot | herld | ||
| ConstructionYear | iflot | baujj | ||
| ConstructionMonth | iflot | baumm | ||
| AcquisitionValue | iflot | answt | ||
| Currency | iflot | waers | ||
| AcquisitionDate | iflot | ansdt | ||
| MaintObjectInternalID | iflot | objnr | ||
| FuncnlLocPosInSuperiorTechObj | iflot | posnr | ||
| ManufacturerPartNmbr | iflot | mapar | ||
| ManufacturerSerialNumber | iflot | serge | ||
| InventoryNumber | iflot | invnr | ||
| GrossWeight | iflot | brgew | ||
| GrossWeightUnit | iflot | gewei | ||
| SizeOrDimensionText | iflot | groes | ||
| OperationStartDate | iflot | datab | ||
| LastChangeDateTime | iflot | changeddatetime | ||
| EquipmentInstallationIsAllowed | iflot | iequi | ||
| OnePieceOfEquipmentIsAllowed | iflot | einzl | ||
| FunctionalLocationEndOfUseDate | iflot | endofuse | ||
| _LastChangedByUser | _LastChangedByUser | |||
| _CreatedByUser | _CreatedByUser | |||
| _FunctionalLocationText | _FunctionalLocationText | |||
| _FunctionalLocationCategory | _FunctionalLocationCategory | |||
| _SuperiorFunctionalLocation | _SuperiorFunctionalLocation | |||
| _SupFunctionalLocationText | _SupFunctionalLocationText | |||
| _WorkCenterType | _WorkCenterType | |||
| _WorkCenter | _WorkCenter | |||
| _TechnicalObjectType | _TechnicalObjectType | |||
| _LocationAccountAssignment | _LocationAccountAssignment | |||
| _MaintenancePlanningPlant | _MaintenancePlanningPlant | |||
| _MaintenancePlannerGroup | _MaintenancePlannerGroup | |||
| _ManufacturerCountry | _ManufacturerCountry | |||
| _Currency | _Currency | |||
| _FunctionalLocationCodeCatalog | _FunctionalLocationCodeCatalog | |||
| _FuncLocationStructure | _FuncLocationStructure | |||
| _FunctionalLocationLabel | _FunctionalLocationLabel | |||
| _ConstructionMaterial | _ConstructionMaterial | |||
| _GrossWeightUnit | _GrossWeightUnit | |||
| _LinearAssetManagementData | _LinearAssetManagementData | |||
| _Status | _Status | |||
| _PlantMaintenancePartner | _PlantMaintenancePartner |
@EndUserText.label: 'Functional Location'
@Analytics: { dataCategory: #DIMENSION }
@VDM.viewType: #BASIC
@AbapCatalog: { sqlViewName: 'IFUNCTLLOCATION', compiler.compareFilter, preserveKey }
@AccessControl.authorizationCheck:#CHECK
@ObjectModel.representativeKey: 'FunctionalLocation'
@ObjectModel.semanticKey: [ 'FunctionalLocation' ]
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L
@AccessControl.privilegedAssociations:['_CreatedByUser','_LastChangedByUser','_LocationAccountAssignment', '_Status']
@Metadata: { ignorePropagatedAnnotations, allowExtensions }
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION]
define view I_FunctionalLocation
as select from iflot
association [0..1] to I_FunctionalLocationCategory as _FunctionalLocationCategory on _FunctionalLocationCategory.FunctionalLocationCategory = $projection.FunctionalLocationCategory
association [0..1] to I_TechnicalObjectType as _TechnicalObjectType on _TechnicalObjectType.TechnicalObjectType = $projection.TechnicalObjectType
association [0..1] to I_WorkCenterType as _WorkCenterType on $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode
association [0..1] to I_WorkCenter as _WorkCenter on _WorkCenter.WorkCenterInternalID = $projection.WorkCenterInternalID
and _WorkCenter.WorkCenterTypeCode = $projection.WorkCenterTypeCode
association [0..1] to I_LocationAccountAssignment as _LocationAccountAssignment on _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr
association [0..*] to I_FunctionalLocationText as _FunctionalLocationText on _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
association [0..1] to I_FunctionalLocation as _SuperiorFunctionalLocation on _SuperiorFunctionalLocation.FunctionalLocation = $projection.SuperiorFunctionalLocation
association [0..*] to I_FunctionalLocationText as _SupFunctionalLocationText on _SupFunctionalLocationText.FunctionalLocation = $projection.SuperiorFunctionalLocation
association [0..1] to I_User as _CreatedByUser on _CreatedByUser.UserID = $projection.CreatedByUser
association [0..1] to I_User as _LastChangedByUser on _LastChangedByUser.UserID = $projection.LastChangedByUser
association [0..1] to I_MaintenancePlanPlant as _MaintenancePlanningPlant on _MaintenancePlanningPlant.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant
association [0..1] to I_MaintenancePlannerGroup as _MaintenancePlannerGroup on $projection.MaintenancePlannerGroup = _MaintenancePlannerGroup.MaintenancePlannerGroup
and $projection.MaintenancePlanningPlant = _MaintenancePlannerGroup.MaintenancePlanningPlant
association [0..1] to I_Country as _ManufacturerCountry on $projection.ManufacturerCountry = _ManufacturerCountry.Country
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..1] to I_TechnicalReport as _FunctionalLocationCodeCatalog on $projection.CatalogProfile = _FunctionalLocationCodeCatalog.CatalogProfile
association [0..1] to I_FuncLocationStructure as _FuncLocationStructure on $projection.FuncLocationStructure = _FuncLocationStructure.FuncLocationStructure
association [0..1] to I_FunctionalLocationLabel as _FunctionalLocationLabel on _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
association [0..1] to I_Material as _ConstructionMaterial on $projection.ConstructionMaterial = _ConstructionMaterial.Material
association [0..1] to I_UnitOfMeasure as _GrossWeightUnit on $projection.GrossWeightUnit = _GrossWeightUnit.UnitOfMeasure
association [0..1] to I_LinearAssetManagementData as _LinearAssetManagementData on $projection.FunctionalLocation = _LinearAssetManagementData.LinearDataObjectKey
and _LinearAssetManagementData.LinearDataObjectType = 'IF'
association [0..*] to I_StatusObjectStatus as _Status on $projection.MaintObjectInternalID = _Status.StatusObject
association [0..*] to I_PlantMaintenancePartner as _PlantMaintenancePartner on $projection.MaintObjectInternalID = _PlantMaintenancePartner.MaintObjectInternalID
-- Extension, do not expose as association:
association [0..1] to E_FunctionalLocation as _FunctionalLocationExtension on _FunctionalLocationExtension.FunctionalLocation = $projection.FunctionalLocation
{
@ObjectModel.text.association: '_FunctionalLocationText'
key iflot.tplnr as FunctionalLocation,
iflot.functionallocationoid as FunctionalLocationOID,
@ObjectModel.foreignKey.association: '_FuncLocationStructure'
iflot.tplkz as FuncLocationStructure,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_FuncnlLocCatStdVH',
element: 'FunctionalLocationCategory' }
}]
@ObjectModel.foreignKey.association: '_FunctionalLocationCategory'
iflot.fltyp as FunctionalLocationCategory,
@ObjectModel.foreignKey.association: '_WorkCenter'
iflot.lgwid as WorkCenterInternalID,
@ObjectModel.foreignKey.association: '_WorkCenterType'
iflot.pm_objty as WorkCenterTypeCode,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_TechnicalObjectTypeStdVH',
element: 'TechnicalObjectType' }
}]
@ObjectModel.foreignKey.association: '_TechnicalObjectType'
iflot.eqart as TechnicalObjectType,
@ObjectModel.foreignKey.association: '_LocationAccountAssignment'
iflot.iloan as MaintObjectLocAcctAssgmtNmbr,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaterialStdVH',
element: 'Material' }
}]
@ObjectModel.foreignKey.association: '_ConstructionMaterial'
iflot.submt as ConstructionMaterial,
// Admin data
@Semantics.user.createdBy: true
iflot.ernam as CreatedByUser,
@Semantics.systemDate.createdAt : true
iflot.erdat as CreationDate,
@Semantics.user.lastChangedBy: true
iflot.aenam as LastChangedByUser,
@Semantics.systemDate.lastChangedAt: true
iflot.aedat as LastChangeDate,
iflot.herst as AssetManufacturerName,
iflot.typbz as ManufacturerPartTypeName,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaintPlnrGrpStdVH',
element: 'MaintenancePlannerGroup' },
additionalBinding: [{ localElement: 'MaintenancePlanningPlant',
element: 'MaintenancePlanningPlant' }]
}]
@ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
iflot.ingrp as MaintenancePlannerGroup,
@ObjectModel.foreignKey.association: '_MaintenancePlanningPlant'
iflot.iwerk as MaintenancePlanningPlant,
@ObjectModel.foreignKey.association: '_FunctionalLocationCodeCatalog'
iflot.rbnr as CatalogProfile,
iflot.begru as AuthorizationGroup,
@ObjectModel.text.association: '_SupFunctionalLocationText'
iflot.tplma as SuperiorFunctionalLocation,
@ObjectModel.foreignKey.association: '_ManufacturerCountry'
iflot.herld as ManufacturerCountry,
iflot.baujj as ConstructionYear,
iflot.baumm as ConstructionMonth,
@Semantics.amount.currencyCode: 'Currency'
iflot.answt as AcquisitionValue,
@Semantics.currencyCode: true
iflot.waers as Currency,
iflot.ansdt as AcquisitionDate,
iflot.objnr as MaintObjectInternalID,
iflot.posnr as FuncnlLocPosInSuperiorTechObj,
iflot.mapar as ManufacturerPartNmbr,
iflot.serge as ManufacturerSerialNumber,
iflot.invnr as InventoryNumber,
@Semantics.quantity.unitOfMeasure: 'GrossWeightUnit'
iflot.brgew as GrossWeight,
@ObjectModel.foreignKey.association: '_GrossWeightUnit'
@Semantics.unitOfMeasure: true
iflot.gewei as GrossWeightUnit,
iflot.groes as SizeOrDimensionText,
iflot.datab as OperationStartDate,
@Semantics.systemDateTime.lastChangedAt: true
iflot.changeddatetime as LastChangeDateTime,
iflot.iequi as EquipmentInstallationIsAllowed,
iflot.einzl as OnePieceOfEquipmentIsAllowed,
iflot.endofuse as FunctionalLocationEndOfUseDate,
// Propagate association
_LastChangedByUser,
_CreatedByUser,
_FunctionalLocationText,
_FunctionalLocationCategory,
_SuperiorFunctionalLocation,
_SupFunctionalLocationText,
_WorkCenterType,
_WorkCenter,
_TechnicalObjectType,
_LocationAccountAssignment,
_MaintenancePlanningPlant,
_MaintenancePlannerGroup,
_ManufacturerCountry,
_Currency,
_FunctionalLocationCodeCatalog,
_FuncLocationStructure,
_FunctionalLocationLabel,
_ConstructionMaterial,
_GrossWeightUnit,
_LinearAssetManagementData,
_Status,
_PlantMaintenancePartner
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA