C_MaintAstFuncnlLocObjectPage

DDL: C_MAINTASTFUNCNLLOCOBJECTPAGE Type: view_entity CONSUMPTION Package: IEQM

Tech Obj Hierarchy Func Loc details

C_MaintAstFuncnlLocObjectPage is a Consumption CDS View that provides data about "Tech Obj Hierarchy Func Loc details" in SAP S/4HANA. It reads from 1 data source (I_FunctionalLocation) and exposes 126 fields with key field FunctionalLocation. It has 10 associations to related views. It is exposed through 1 OData service (EAM_SD_ASSETOVERVIEW). Part of development package IEQM.

Data Sources (1)

SourceAliasJoin Type
I_FunctionalLocation I_FunctionalLocation from

Associations (10)

CardinalityTargetAliasCondition
[0..1] I_FunctionalLocationLabel _FunctionalLocationLabel _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
[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..*] C_MaintAstMaintNotifList _TechObjMaintNotification _TechObjMaintNotification.TechnicalObject = $projection.FunctionalLocation and _TechObjMaintNotification.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
[0..*] C_MaintAstMaintenanceOrderList _TechObjMaintenanceOrder _TechObjMaintenanceOrder.TechnicalObject = $projection.FunctionalLocation and _TechObjMaintenanceOrder.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
[0..1] I_MasterWrntyObjectAssgmt _CustomerWarranty $projection.MaintObjectInternalID = _CustomerWarranty.ObjectInternalID and _CustomerWarranty.WarrantyType = '1'
[0..1] I_MasterWrntyObjectAssgmt _SupplierWarranty $projection.MaintObjectInternalID = _SupplierWarranty.ObjectInternalID and _SupplierWarranty.WarrantyType = '2'
[0..*] C_MaintenanceObjectStatus _SystemStatus _SystemStatus.StatusObject = $projection.MaintObjectInternalID and _SystemStatus.IsUserStatus = ' '
[0..1] I_TextObjectPlainLongText _TextObjectPlainLongText _TextObjectPlainLongText.TextObjectKey = $projection.FunctionalLocation and _TextObjectPlainLongText.TextObjectType = 'LTXT' and _TextObjectPlainLongText.TextObjectCategory = 'IFLOT' and _TextObjectPlainLongText.Language = $session.system_language

Annotations (15)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Tech Obj Hierarchy Func Loc details view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.viewType #CONSUMPTION view
UI.headerInfo.typeName Technical Objects view
UI.headerInfo.typeNamePlural Technical Objects view
UI.headerInfo.title.value FunctionalLocationName view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.description.value FunctionalLocation view
UI.headerInfo.description.type #STANDARD view
Metadata.allowExtensions true view

OData Services (1)

ServiceBindingVersionContractRelease
EAM_SD_ASSETOVERVIEW EAM_SB_ASSETOVERVIEW V4 C1 NOT_RELEASED

Fields (126)

KeyFieldSource TableSource FieldDescription
KEY FunctionalLocation
FunctionalLocationName
FunctionalLocationLabelName
FunctionalLocationOID FunctionalLocationOID
FuncLocationStructure FuncLocationStructure
FunctionalLocationCategory FunctionalLocationCategory Object Category
FunctionalLocationCategoryDesc
TechObjIsEquipOrFuncnlLocDesc Asset Type
MainWorkCenter _WorkCenter WorkCenter Main Work Center
MainWorkCenterText
WorkCenterInternalID WorkCenterInternalID
WorkCenterTypeCode WorkCenterTypeCode
PlainLongText _TextObjectPlainLongText PlainLongText
TechnicalObjectType TechnicalObjectType Object Type
TechnicalObjectTypeDesc
MaintenancePlant _LocationAccountAssignment MaintenancePlant Maintenance Plant
PlantName
MaintObjectFreeDefinedAttrib _LocationAccountAssignment MaintObjectFreeDefinedAttrib Sort Field
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
ConstructionMaterial ConstructionMaterial
CreatedByUser CreatedByUser Created By
CreationDate CreationDate Created On
LastChangedByUser LastChangedByUser
TechnicalObjectLongText _TextObjectPlainLongText PlainLongText Long Text
LastChangeDate LastChangeDate
AssetLocation _LocationAccountAssignment AssetLocation Location
LocationName
AssetManufacturerName AssetManufacturerName Manufacturer
ManufacturerPartTypeName ManufacturerPartTypeName Model Number
MaintenancePlannerGroup MaintenancePlannerGroup Planner Group
MaintenancePlannerGroupName _MaintenancePlannerGroup MaintenancePlannerGroupName
MaintenancePlanningPlant MaintenancePlanningPlant Planning Plant
MaintenancePlanningPlantName
CatalogProfile CatalogProfile
AuthorizationGroup AuthorizationGroup
SuperiorFunctionalLocation Superior Asset
ManufacturerCountry ManufacturerCountry
ConstructionYear ConstructionYear
ConstructionMonth ConstructionMonth
Currency Currency
AcquisitionDate AcquisitionDate
MaintObjectInternalID MaintObjectInternalID Technical Identification Number
FuncnlLocPosInSuperiorTechObj FuncnlLocPosInSuperiorTechObj
ManufacturerPartNmbr Manufacturer Part Number
ManufacturerSerialNumber ManufacturerSerialNumber Manufacturer Serial Number
InventoryNumber InventoryNumber
GrossWeightUnit GrossWeightUnit
SizeOrDimensionText SizeOrDimensionText
OperationStartDate OperationStartDate
LastChangeDateTime LastChangeDateTime
EquipmentInstallationIsAllowed EquipmentInstallationIsAllowed
OnePieceOfEquipmentIsAllowed OnePieceOfEquipmentIsAllowed
FunctionalLocationEndOfUseDate FunctionalLocationEndOfUseDate
TechObjCustomerMasterWarranty _CustomerWarranty MasterWarranty Warranty Number
WarrantyName
TechObjCustWarrantyStartDate _CustomerWarranty WarrantyStartDate Warranty Start Date
TechObjCustWarrantyEndDate _CustomerWarranty WarrantyEndDate Warranty End Date
TechObjIsCustWarrantyInherited _CustomerWarranty WrntyIsPassedOnToChildObject Pass On Warranty
TechObjIsCustWarrantyPassedOn _CustomerWarranty WrntyIsInhtdFromSuperiorObject Inherit Warranty
TechObjSupplierMasterWarranty Warranty Number
SupplierWarrantyName
TechObjSuplrWarrantyStartDate _SupplierWarranty WarrantyStartDate Warranty Start Date
TechObjSuplrWarrantyEndDate _SupplierWarranty WarrantyEndDate Warranty End Date
TechObjIsSuplrWarrantyPassedOn _SupplierWarranty WrntyIsInhtdFromSuperiorObject Inherit Warranty
TechObjIsSuplrWrntyInherited _SupplierWarranty WrntyIsPassedOnToChildObject Pass On Warranty
MainWorkCenterPlant Main Work Center Plant
MaintenanceWorkCenterPlantName
CompanyCode Company Code
CompanyCodeName
CostCenter Cost Center
CostCenterName
ControllingArea Controlling Area
ControllingAreaName
BusinessArea Business Area
BusinessAreaName
WBSElementExternalID WBS Element
WBSDescription
StandingOrderNumber Standing Order
MaintenanceOrderDesc
SettlementOrder Settlement Order
OrderDescription
AssetRoom Room
ABCIndicator ABC Indicator
ABCIndicatorDesc
PlantSection Plant Section
WorkCenter Production Work Center
WorkCenterText
BusinessPartnerName1 Name 1
BusinessPartnerName2 Name 2
StreetName Street
HouseNumber Number
PostalCode Postal Code
CityName City
Country Country
CountryName
Region Region
RegionName
PhoneNumber Telephone Number
AddressFaxNumber Fax Number
_ConstructionMaterial _ConstructionMaterial
_CustomerWarranty _CustomerWarranty
_SupplierWarranty _SupplierWarranty
_CreatedByUser _CreatedByUser
_Currency _Currency
_FuncLocationStructure _FuncLocationStructure
_FunctionalLocationCategory _FunctionalLocationCategory
_FunctionalLocationCodeCatalog _FunctionalLocationCodeCatalog
_FunctionalLocationLabel _FunctionalLocationLabel
_FunctionalLocationText _FunctionalLocationText
_GrossWeightUnit _GrossWeightUnit
_LastChangedByUser _LastChangedByUser
_LocationAccountAssignment _LocationAccountAssignment
_MaintenancePlannerGroup _MaintenancePlannerGroup
_MaintenancePlanningPlant _MaintenancePlanningPlant
_ManufacturerCountry _ManufacturerCountry
_PlantMaintenancePartner _PlantMaintenancePartner
_Status _Status
_SuperiorFunctionalLocation _SuperiorFunctionalLocation
_SupFunctionalLocationText _SupFunctionalLocationText
_TechnicalObjectType _TechnicalObjectType
_WorkCenter _WorkCenter
_WorkCenterType _WorkCenterType
_TechObjMaintNotification _TechObjMaintNotification
_TechObjMaintenanceOrder _TechObjMaintenanceOrder
_TextObjectPlainLongText _TextObjectPlainLongText
_SystemStatus _SystemStatus
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Tech Obj Hierarchy Func Loc details'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #L,
  dataClass: #MIXED
}
@AccessControl.personalData.blocking : #BLOCKED_DATA_EXCLUDED
@VDM.viewType: #CONSUMPTION
//@UI.headerInfo: {

//    typeName: 'Functional Location',

//    typeNamePlural: 'Functional Locations'

//}


@AccessControl.privilegedAssociations: [ '_SystemStatus']

@UI: { headerInfo: {
          typeName: 'Technical Objects',
          typeNamePlural: 'Technical Objects',
//          imageUrl: 'TechObjHierarchyThumbnailURL',

          title: {
              value: 'FunctionalLocationName', type: #STANDARD },
          description: { value: 'FunctionalLocation', type: #STANDARD }
        }
      }

@Metadata.allowExtensions: true

define view entity C_MaintAstFuncnlLocObjectPage
  as select from I_FunctionalLocation
  association [0..1] to I_FunctionalLocationLabel      as _FunctionalLocationLabel    on  _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
  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..*] to C_MaintAstMaintNotifList       as _TechObjMaintNotification   on  _TechObjMaintNotification.TechnicalObject           = $projection.FunctionalLocation
                                                                                      and _TechObjMaintNotification.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'

  association [0..*] to C_MaintAstMaintenanceOrderList as _TechObjMaintenanceOrder    on  _TechObjMaintenanceOrder.TechnicalObject           = $projection.FunctionalLocation
                                                                                      and _TechObjMaintenanceOrder.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'

  //association [0..*] to C_MaintAstMaintenancePlanList  as _TechObjMaintenancePlanItem on  _TechObjMaintenancePlanItem.TechnicalObject           = $projection.FunctionalLocation

  //                                                                                  and _TechObjMaintenancePlanItem.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'


  association [0..1] to I_MasterWrntyObjectAssgmt      as _CustomerWarranty           on  $projection.MaintObjectInternalID = _CustomerWarranty.ObjectInternalID
                                                                                      and _CustomerWarranty.WarrantyType    = '1'
  association [0..1] to I_MasterWrntyObjectAssgmt      as _SupplierWarranty           on  $projection.MaintObjectInternalID = _SupplierWarranty.ObjectInternalID
                                                                                      and _SupplierWarranty.WarrantyType    = '2'

  association [0..*] to C_MaintenanceObjectStatus      as _SystemStatus               on  _SystemStatus.StatusObject = $projection.MaintObjectInternalID
                                                                                      and _SystemStatus.IsUserStatus = ' '
  association [0..1] to I_TextObjectPlainLongText      as _TextObjectPlainLongText    on  _TextObjectPlainLongText.TextObjectKey      = $projection.FunctionalLocation
                                                                                      and _TextObjectPlainLongText.TextObjectType     = 'LTXT'
                                                                                      and _TextObjectPlainLongText.TextObjectCategory = 'IFLOT'
                                                                                      and _TextObjectPlainLongText.Language           = $session.system_language


{
      @ObjectModel.text.element:  [ 'FunctionalLocationName' ]
  key cast ( FunctionalLocation as vdm_eam_tplnr preserving type )                                                                                                                                                                                                          as FunctionalLocation,

      @Semantics.text:true
      I_FunctionalLocation._FunctionalLocationText[1:Language=$session.system_language].FunctionalLocationName,

      I_FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName,


      FunctionalLocationOID,

      FuncLocationStructure,

      @EndUserText.label: 'Object Category'
      @UI.fieldGroup: [{ qualifier: 'BasicInfoForm', position: 10 }]
      @ObjectModel.text.element:  [ 'FunctionalLocationCategoryDesc' ]
      FunctionalLocationCategory,

      @Semantics.text:true
      _FunctionalLocationCategory._Text[1:Language=$session.system_language].FunctionalLocationCategoryDesc,

      @EndUserText.label: 'Asset Type'
      @UI.fieldGroup:[{qualifier:'GenDet1',position:10,importance:#HIGH}]
      cast ( 'Functional Location' as eams_tec_obj_type_desc)                                                                                                                                                                                                               as TechObjIsEquipOrFuncnlLocDesc,

      @EndUserText.label: 'Main Work Center'
      @UI.fieldGroup:[{qualifier:'GenDet2',position:10,importance:#HIGH}]
      @ObjectModel.text.element:  [ 'MainWorkCenterText' ]
      _WorkCenter.WorkCenter                                                                                                                                                                                                                                                as MainWorkCenter,

      @Semantics.text:true
      _WorkCenter._Text[1:Language=$session.system_language].WorkCenterText                                                                                                                                                                                                 as MainWorkCenterText,

      WorkCenterInternalID,

      WorkCenterTypeCode,

      _TextObjectPlainLongText.PlainLongText,

      @EndUserText.label: 'Object Type'
      @UI.fieldGroup:[{qualifier:'GenDet1',position:20,importance:#HIGH}]
      @ObjectModel.text.element:  [ 'TechnicalObjectTypeDesc' ]
      TechnicalObjectType,

      @Semantics.text:true
      _TechnicalObjectType._Text[1:Language=$session.system_language].TechnicalObjectTypeDesc,

      @UI.fieldGroup:[{qualifier:'GenDet1',position:30,importance:#HIGH}]
      @ObjectModel.text.element:  [ 'PlantName' ]
      @EndUserText.label: 'Maintenance Plant'
      _LocationAccountAssignment.MaintenancePlant,

      @Semantics.text:true
      _LocationAccountAssignment._MaintenancePlant.PlantName,

      @EndUserText.label: 'Sort Field'
      @UI.fieldGroup:[{qualifier:'GenDet2',position:30,importance:#HIGH}]
      _LocationAccountAssignment.MaintObjectFreeDefinedAttrib,

      MaintObjectLocAcctAssgmtNmbr,

      ConstructionMaterial,

      @UI.fieldGroup:[{qualifier:'TechInfoForm',position:50,importance:#HIGH}]
      @EndUserText.label: 'Created By'
      CreatedByUser,

      @EndUserText.label: 'Created On'
      @UI.fieldGroup:[{qualifier:'TechInfoForm',position:60,importance:#HIGH}]
      CreationDate,

      LastChangedByUser,

      @UI.fieldGroup: [ { qualifier:'FlLongtext', position:10, importance: #HIGH } ]
      @UI.multiLineText: true
      @EndUserText.label: 'Long Text'
      @Semantics.text: true
      _TextObjectPlainLongText.PlainLongText                                                                                                                                                                                                                                as TechnicalObjectLongText,


      LastChangeDate,

      @EndUserText.label: 'Location'
      @UI.fieldGroup:[{qualifier:'GenDet2',position:20,importance:#HIGH}]
      @ObjectModel.text.element:  [ 'LocationName' ]
      @Semantics.text:true
      _LocationAccountAssignment.AssetLocation,

      @Semantics.text:true
      _LocationAccountAssignment._Location.LocationName,

      @EndUserText.label: 'Manufacturer'
      @UI.fieldGroup:[{qualifier:'TechInfoForm',position:10,importance:#HIGH}]
      AssetManufacturerName,

      @EndUserText.label: 'Model Number'
      @UI.fieldGroup:[{qualifier:'TechInfoForm',position:20,importance:#HIGH}]
      ManufacturerPartTypeName,

      @ObjectModel.text.element:  [ 'MaintenancePlannerGroupName' ]
      @EndUserText.label: 'Planner Group'
      @UI.fieldGroup:[{qualifier:'ResponsInfoForm',position:20,importance:#HIGH}]
      MaintenancePlannerGroup,

      @Semantics.text: true
      _MaintenancePlannerGroup.MaintenancePlannerGroupName,

      @EndUserText.label: 'Planning Plant'
      @UI.fieldGroup:[{qualifier:'ResponsInfoForm',position:10,importance:#HIGH}]
      @ObjectModel.text.element:  [ 'MaintenancePlanningPlantName' ]
      MaintenancePlanningPlant,

      @Semantics.text:true
      I_FunctionalLocation._MaintenancePlanningPlant.PlantName1                                                                                                                                                                                                             as MaintenancePlanningPlantName,

      CatalogProfile,
      AuthorizationGroup,

      @EndUserText.label: 'Superior Asset'
      //  @UI.fieldGroup: [{ qualifier: 'InstallInfoForm', position: 10 }]

      cast ( SuperiorFunctionalLocation as vdm_eam_tplnr )                                                                                                                                                                                                                  as SuperiorFunctionalLocation,

      ManufacturerCountry,

      ConstructionYear,

      ConstructionMonth,

      Currency,

      AcquisitionDate,

      //      @UI.fieldGroup: [{ qualifier: 'InstallInfoForm', position: 10 }]

      @EndUserText.label: 'Technical Identification Number'
      MaintObjectInternalID,

      FuncnlLocPosInSuperiorTechObj,

      @EndUserText.label: 'Manufacturer Part Number'
      @UI.fieldGroup:[{qualifier:'TechInfoForm',position:30,importance:#HIGH}]
      cast( ManufacturerPartNmbr as mfrpn )                                                                                                                                                                                                                                 as ManufacturerPartNmbr,

      @EndUserText.label: 'Manufacturer Serial Number'
      @UI.fieldGroup:[{qualifier:'TechInfoForm',position:40,importance:#HIGH}]
      ManufacturerSerialNumber,

      InventoryNumber,

      GrossWeightUnit,

      SizeOrDimensionText,

      OperationStartDate,

      LastChangeDateTime,

      EquipmentInstallationIsAllowed,

      OnePieceOfEquipmentIsAllowed,

      FunctionalLocationEndOfUseDate,

//      @Semantics.imageUrl: true

//      @EndUserText.label: 'Image'

//      @Consumption.filter.hidden: true

//      concat( '/sap/opu/odata/sap/EAM_OBJPG_TECHNICALOBJECT_SRV/', concat( concat( concat( 'TechnicalObjectTypeImageSet(TechObjIsEquipOrFuncnlLoc=''', 'EAMS_FL' ), ''', '), concat( concat( 'TechnicalObject=''', replace(FunctionalLocation,'?', '%3F')), ''')/$value'))) as TechObjHierarchyThumbnailURL,


      @UI.fieldGroup:[{qualifier:'CustomerWarranty',position:10,importance:#HIGH}]
      @EndUserText.label: 'Warranty Number'
      @ObjectModel.text.element:  [ 'WarrantyName' ]
      _CustomerWarranty.MasterWarranty                                                                                                                                                                                                                                      as TechObjCustomerMasterWarranty,

      @Semantics.text: true
      _CustomerWarranty._MasterWarranty._MasterWarrantyText[1:Language=$session.system_language].WarrantyName,

      @EndUserText.label: 'Warranty Start Date'
      @UI.fieldGroup:[{qualifier:'CustomerWarranty',position:20,importance:#HIGH}]
      _CustomerWarranty.WarrantyStartDate                                                                                                                                                                                                                                   as TechObjCustWarrantyStartDate,

      @EndUserText.label: 'Warranty End Date'
      @UI.fieldGroup:[{qualifier:'CustomerWarranty',position:30,importance:#HIGH}]
      _CustomerWarranty.WarrantyEndDate                                                                                                                                                                                                                                     as TechObjCustWarrantyEndDate,

      @UI.fieldGroup:[{qualifier:'CustomerWarranty',position:50,importance:#HIGH, criticality:'ExternalWarrantyCrty', criticalityRepresentation: #WITH_ICON }]
      @EndUserText.label: 'Pass On Warranty'
      @Semantics.booleanIndicator:true
      _CustomerWarranty.WrntyIsPassedOnToChildObject                                                                                                                                                                                                                        as TechObjIsCustWarrantyInherited,

      @UI.fieldGroup:[{qualifier:'CustomerWarranty',position:40,importance:#HIGH, criticality:'CustomerWarrantyEndDateCrty', criticalityRepresentation: #WITH_ICON }]
      @EndUserText.label: 'Inherit Warranty'
      @Semantics.booleanIndicator:true
      _CustomerWarranty.WrntyIsInhtdFromSuperiorObject                                                                                                                                                                                                                      as TechObjIsCustWarrantyPassedOn,

      @UI.dataPoint: {
      qualifier: 'CustomerWarrantyStatus',
      title: 'Customer Warranty',
      criticality: 'WarrantyEndDateCrty'
      }
      @UI.textArrangement: #TEXT_ONLY
      @EndUserText.label: 'Customer Warranty'
      case
      when _CustomerWarranty.WarrantyEndDate > $session.system_date then 'Active'
      when _CustomerWarranty.WarrantyEndDate is null then 'Not Maintained'
      else 'Expired'

      end                                                                                                                                                                                                                                                                   as TechObjCustWarrantyStatusText,


      case
      when _CustomerWarranty.WarrantyEndDate > $session.system_date then 3
      when _CustomerWarranty.WarrantyEndDate is null then 0
      else 1

      end                                                                                                                                                                                                                                                                   as WarrantyEndDateCrty,

      @EndUserText.label: 'Warranty Number'
      @UI.fieldGroup:[{qualifier:'VendorWarranty',position:10,importance:#HIGH}]
      @ObjectModel.text.element:  [ 'SupplierWarrantyName' ]
      cast( _SupplierWarranty.MasterWarranty  as  mganr  )                                                                                                                                                                                                                  as TechObjSupplierMasterWarranty, //mganr abap.char( 20 )


      @Semantics.text: true
      _SupplierWarranty._MasterWarranty._MasterWarrantyText[1:Language=$session.system_language].WarrantyName                                                                                                                                                               as SupplierWarrantyName,


      @EndUserText.label: 'Warranty Start Date'
      @UI.fieldGroup:[{qualifier:'VendorWarranty',position:20,importance:#HIGH}]
      _SupplierWarranty.WarrantyStartDate                                                                                                                                                                                                                                   as TechObjSuplrWarrantyStartDate,

      @EndUserText.label: 'Warranty End Date'
      @UI.fieldGroup:[{qualifier:'VendorWarranty',position:30,importance:#HIGH}]
      _SupplierWarranty.WarrantyEndDate                                                                                                                                                                                                                                     as TechObjSuplrWarrantyEndDate,

      @EndUserText.label:'Vendor Warranty'
      @UI.dataPoint: {
        qualifier: 'VendorWarrantyStatus',
        title: 'Vendor Warranty',
        criticality: 'MasterWarrantyCrty'
      }
      @UI.textArrangement: #TEXT_ONLY
      @UI.statusInfo: [
        {
          position: 10, // Or your desired position

          criticality: 'MasterWarrantyCrty' // Reference to the CDS field defined above

        }
      ]

      case
      when _SupplierWarranty.WarrantyEndDate > $session.system_date then 'Active'
      when _SupplierWarranty.WarrantyEndDate is null then 'Not Maintained'
      else 'Expired'

      end                                                                                                                                                                                                                                                                   as TechObjSuplrWarrantyStatusText, //"VendorWarrantyStatus,


      case
      when _SupplierWarranty.WarrantyEndDate > $session.system_date then 3
      when _SupplierWarranty.WarrantyEndDate is null then 0
      else 1
      end                                                                                                                                                                                                                                                                   as MasterWarrantyCrty,

      @UI.fieldGroup:[{qualifier:'VendorWarranty',position:50,importance:#HIGH, criticality:'SupplierWarrantyEndDateCrty', criticalityRepresentation: #WITH_ICON}]
      @Semantics.booleanIndicator:true
      @EndUserText.label: 'Inherit Warranty'
      _SupplierWarranty.WrntyIsInhtdFromSuperiorObject                                                                                                                                                                                                                      as TechObjIsSuplrWarrantyPassedOn,
      
      @UI.fieldGroup:[{qualifier:'VendorWarranty',position:60,importance:#HIGH, criticality:'MasterWarrantyIsPassedOnCrty', criticalityRepresentation: #WITH_ICON}]
      @Semantics.booleanIndicator:true
      @EndUserText.label: 'Pass On Warranty'
      _SupplierWarranty.WrntyIsPassedOnToChildObject                                                                                                                                                                                                                        as TechObjIsSuplrWrntyInherited,

      case
      when _SupplierWarranty.WrntyIsPassedOnToChildObject = 'X' then 3  -- Positive (Green)
      else 1                                                          -- Negative (Red)
      end                                                                                                                                                                                                                                                                   as MasterWarrantyIsPassedOnCrty,

      case
      when _SupplierWarranty.WrntyIsInhtdFromSuperiorObject = 'X' then 3  -- Positive (Green)
      else 1                                                          -- Negative (Red)
      end                                                                                                                                                                                                                                                                   as SupplierWarrantyEndDateCrty,

      case
      when _CustomerWarranty.WrntyIsPassedOnToChildObject = 'X' then 3  -- Positive (Green)
      else 1                                                          -- Negative (Red)
      end                                                                                                                                                                                                                                                                   as ExternalWarrantyCrty,

      case
      when _CustomerWarranty.WrntyIsInhtdFromSuperiorObject = 'X' then 3  -- Positive (Green)
      else 1                                                          -- Negative (Red)
      end                                                                                                                                                                                                                                                                   as CustomerWarrantyEndDateCrty,

      //Account Assignment Fields

      @UI.fieldGroup: [ { qualifier: 'ResponsInfoForm', position: 30,importance:#HIGH} ]
      @EndUserText.label: 'Main Work Center Plant'
      @ObjectModel.text.element:  [ 'MaintenanceWorkCenterPlantName' ]
      I_FunctionalLocation._LocationAccountAssignment._WorkCenter.Plant                                                                                                                                                                                                     as MainWorkCenterPlant,

      @Semantics.text: true
      I_FunctionalLocation._WorkCenter._Plant.PlantName                                                                                                                                                                                                                     as MaintenanceWorkCenterPlantName,

      @UI.fieldGroup: [ { qualifier: 'AccAssignment', position: 10,importance:#HIGH} ]
      @EndUserText.label: 'Company Code'
      @ObjectModel.text.element:  [ 'CompanyCodeName' ]
      I_FunctionalLocation._LocationAccountAssignment.CompanyCode,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._CompanyCode.CompanyCodeName,

      @UI.fieldGroup: [ { qualifier: 'AccAssignment', position: 20,importance:#HIGH} ]
      @EndUserText.label: 'Cost Center'
      @ObjectModel.text.element:  [ 'CostCenterName' ]
      I_FunctionalLocation._LocationAccountAssignment.CostCenter,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._CostCenterText[1:Language=$session.system_language].CostCenterName,

      @UI.fieldGroup: [ { qualifier: 'AccAssignment', position: 30,importance:#HIGH} ]
      @EndUserText.label: 'Controlling Area'
      @ObjectModel.text.element:  [ 'ControllingAreaName' ]
      I_FunctionalLocation._LocationAccountAssignment.ControllingArea,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._ControllingArea.ControllingAreaName,

      //      @UI.fieldGroup: [ { qualifier: 'AccAssignment', position: 40,importance:#HIGH} ]

      @EndUserText.label: 'Business Area'
      @ObjectModel.text.element:  [ 'BusinessAreaName' ]
      I_FunctionalLocation._LocationAccountAssignment.BusinessArea,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._BusinessArea._Text[1:Language=$session.system_language].BusinessAreaName,

      @UI.fieldGroup: [ { qualifier: 'AccAssignment', position: 40,importance:#HIGH} ]
      @EndUserText.label: 'WBS Element'
      @ObjectModel.text.element:  [ 'WBSDescription' ]
      I_FunctionalLocation._LocationAccountAssignment._WBSElementBasicData.WBSElementExternalID,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._WBSElementBasicData.WBSDescription,

      @EndUserText.label: 'Standing Order'
      @ObjectModel.text.element:  [ 'MaintenanceOrderDesc' ]
      I_FunctionalLocation._LocationAccountAssignment.StandingOrderNumber,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._StandingOrderNumber.MaintenanceOrderDesc,

      @UI.fieldGroup: [ { qualifier: 'AccAssignment', position: 50,importance:#HIGH} ]
      @EndUserText.label: 'Settlement Order'
      @ObjectModel.text.element:  [ 'OrderDescription' ]
      I_FunctionalLocation._LocationAccountAssignment.SettlementOrder,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._SettlementOrder.OrderDescription,
      //      //Location Fields


      @UI.fieldGroup: [ { qualifier: 'Details', position: 10,importance:#HIGH} ]
      @EndUserText.label: 'Room'
      I_FunctionalLocation._LocationAccountAssignment.AssetRoom,

      @UI.fieldGroup: [ { qualifier: 'Details', position: 20,importance:#HIGH} ]
      @EndUserText.label: 'ABC Indicator'
      @ObjectModel.text.element:  [ 'ABCIndicatorDesc' ]
      I_FunctionalLocation._LocationAccountAssignment.ABCIndicator,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._ABCIndicator._Text[1:Language=$session.system_language].ABCIndicatorDesc,

      @UI.fieldGroup: [ { qualifier: 'Details', position: 30,importance:#HIGH} ]
      @EndUserText.label: 'Plant Section'
      I_FunctionalLocation._LocationAccountAssignment.PlantSection,

      @UI.fieldGroup: [ { qualifier: 'Details', position: 40,importance:#HIGH} ]
      @EndUserText.label: 'Production Work Center'
      @ObjectModel.text.element:  [ 'WorkCenterText' ]
      I_FunctionalLocation._LocationAccountAssignment._WorkCenter.WorkCenter,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._WorkCenter._Text[1:Language=$session.system_language].WorkCenterText,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 10,importance:#HIGH} ]
      @EndUserText.label: 'Name 1'
      I_FunctionalLocation._LocationAccountAssignment._Address2.OrganizationName1                                                                                                                                                                                           as BusinessPartnerName1,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 20,importance:#HIGH} ]
      @EndUserText.label: 'Name 2'
      I_FunctionalLocation._LocationAccountAssignment._Address2.OrganizationName2                                                                                                                                                                                           as BusinessPartnerName2,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 30,importance:#HIGH} ]
      @EndUserText.label: 'Street'
      I_FunctionalLocation._LocationAccountAssignment._Address2.StreetName,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 30,importance:#HIGH} ]
      @EndUserText.label: 'Number'
      I_FunctionalLocation._LocationAccountAssignment._Address2.HouseNumber,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 40,importance:#HIGH} ]
      @EndUserText.label: 'Postal Code'
      I_FunctionalLocation._LocationAccountAssignment._Address2.PostalCode,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 50,importance:#HIGH} ]
      @EndUserText.label: 'City'
      I_FunctionalLocation._LocationAccountAssignment._Address2.CityName,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 60,importance:#HIGH} ]
      @EndUserText.label: 'Country'
      @ObjectModel.text.element:  [ 'CountryName' ]
      I_FunctionalLocation._LocationAccountAssignment._Address2.Country,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._Address2._Country._Text[1:Language=$session.system_language].CountryName,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 70,importance:#HIGH} ]
      @EndUserText.label: 'Region'
      @ObjectModel.text.element:  [ 'RegionName' ]
      I_FunctionalLocation._LocationAccountAssignment._Address2.Region,

      @Semantics.text: true
      I_FunctionalLocation._LocationAccountAssignment._Address2._Region._RegionText[1:Language=$session.system_language].RegionName,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 80,importance:#HIGH} ]
      @EndUserText.label: 'Telephone Number'
      I_FunctionalLocation._LocationAccountAssignment._PhoneNumber.PhoneAreaCodeSubscriberNumber                                                                                                                                                                            as PhoneNumber,

      @UI.fieldGroup: [ { qualifier: 'Address', position: 90,importance:#HIGH} ]
      @EndUserText.label: 'Fax Number'
      I_FunctionalLocation._LocationAccountAssignment._FaxNumber.FaxAreaCodeSubscriberNumber                                                                                                                                                                                as AddressFaxNumber,

      /* Associations */
      _ConstructionMaterial,
      _CustomerWarranty,
      _SupplierWarranty,
      _CreatedByUser,
      _Currency,
      _FuncLocationStructure,
      _FunctionalLocationCategory,
      _FunctionalLocationCodeCatalog,
      _FunctionalLocationLabel,
      _FunctionalLocationText,
      _GrossWeightUnit,
      _LastChangedByUser,
      _LocationAccountAssignment,
      _MaintenancePlannerGroup,
      _MaintenancePlanningPlant,
      _ManufacturerCountry,
      _PlantMaintenancePartner,
      _Status,
      _SuperiorFunctionalLocation,
      _SupFunctionalLocationText,
      _TechnicalObjectType,
      _WorkCenter,
      _WorkCenterType,
      _TechObjMaintNotification,
      _TechObjMaintenanceOrder,
      _TextObjectPlainLongText,
      //_TechObjMaintenancePlanItem,

      _SystemStatus
}