C_MaintAstFuncnlLocObjectPage
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)
| Source | Alias | Join Type |
|---|---|---|
| I_FunctionalLocation | I_FunctionalLocation | from |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| EAM_SD_ASSETOVERVIEW | EAM_SB_ASSETOVERVIEW | V4 | C1 | NOT_RELEASED |
Fields (126)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
}
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