P_EquiTimeSegFuncLocationUnion

DDL: P_EQUITIMESEGFUNCLOCATIONUNION SQL: PEQTSEGFLOCU Type: view COMPOSITE Package: RAP_EAM_NTF

Union view of Equipment Time segment and Functional location

P_EquiTimeSegFuncLocationUnion is a Composite CDS View that provides data about "Union view of Equipment Time segment and Functional location" in SAP S/4HANA. It reads from 2 data sources (I_EquipmentTimeSeg, I_FunctionalLocation) and exposes 106 fields with key fields TechnicalObject, TechObjIsEquipOrFuncnlLoc, ValidityEndDate, EquipUsagePeriodSequenceNumber, TechObjIsEquipOrFuncnlLoc. Part of development package RAP_EAM_NTF.

Data Sources (2)

SourceAliasJoin Type
I_EquipmentTimeSeg _EquipmentTimeSeg from
I_FunctionalLocation I_FunctionalLocation union_all

Annotations (9)

NameValueLevelField
VDM.private true view
VDM.viewType #COMPOSITE view
AbapCatalog.sqlViewName PEQTSEGFLOCU view
AccessControl.authorizationCheck #NOT_REQUIRED view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (106)

KeyFieldSource TableSource FieldDescription
KEY TechnicalObject
KEY TechObjIsEquipOrFuncnlLoc
KEY ValidityEndDate I_EquipmentTimeSeg ValidityEndDate
KEY EquipUsagePeriodSequenceNumber I_EquipmentTimeSeg EquipUsagePeriodSequenceNumber
ValidityEndTime I_EquipmentTimeSeg ValidityEndTime
ValidityStartDate I_EquipmentTimeSeg ValidityStartDate
Equipment I_EquipmentTimeSeg Equipment
FunctionalLocation
TechnicalObjectCategory
TechnicalObjectType I_Equipment TechnicalObjectType
CreatedByUser I_Equipment CreatedByUser
CreationDate I_Equipment CreationDate
LastChangedByUser I_Equipment LastChangedByUser
LastChangeDate I_Equipment LastChangeDate
AssetManufacturerName I_Equipment AssetManufacturerName
ManufacturerPartTypeName I_Equipment ManufacturerPartTypeName
MaintenancePlanningPlant I_EquipmentTimeSeg MaintenancePlanningPlant
MaintenancePlannerGroup I_EquipmentTimeSeg MaintenancePlannerGroup
CatalogProfile I_EquipmentTimeSeg CatalogProfile
AuthorizationGroup I_Equipment AuthorizationGroup
WorkCenterInternalID I_EquipmentTimeSeg WorkCenterInternalID
WorkCenterTypeCode I_EquipmentTimeSeg WorkCenterTypeCode
MaintObjectLocAcctAssgmtNmbr I_EquipmentTimeSeg MaintObjectLocAcctAssgmtNmbr
ManufacturerCountry I_Equipment ManufacturerCountry
ConstructionYear I_Equipment ConstructionYear
ConstructionMonth I_Equipment ConstructionMonth
ConstructionMaterial I_EquipmentTimeSeg ConstructionMaterial
AcquisitionDate I_Equipment AcquisitionDate
Currency I_Equipment Currency
AcquisitionValue I_Equipment AcquisitionValue
MaintObjectInternalID I_Equipment MaintObjectInternalID
TechnicalObjectSortCode I_EquipmentTimeSeg TechnicalObjectSortCode
ManufacturerPartNmbr I_EquipmentTimeSeg ManufacturerPartNmbr
SizeOrDimensionText I_Equipment SizeOrDimensionText
ManufacturerSerialNumber I_Equipment ManufacturerSerialNumber
InventoryNumber I_Equipment InventoryNumber
GrossWeight I_Equipment GrossWeight
GrossWeightUnit I_Equipment GrossWeightUnit
OperationStartDate I_Equipment OperationStartDate
FuncLocStrucIdentifyingLevel
FuncLocStruc2ndIdentifyingLvl
FuncLocationStructure
SalesOrganization _LocationAccountAssignment SalesOrganization
DistributionChannel _LocationAccountAssignment DistributionChannel
SalesOffice _LocationAccountAssignment SalesOffice
OrganizationDivision _LocationAccountAssignment OrganizationDivision
SalesGroup _LocationAccountAssignment SalesGroup
AssetLocation _LocationAccountAssignment AssetLocation
LocationName
TechnicalObjectHasLongText
SuperiorFunctionalLocation _LocationAccountAssignment FunctionalLocation
KEY TechObjIsEquipOrFuncnlLoc
KEY ValidityEndDate
KEY EquipUsagePeriodSequenceNumber
ValidityEndTime
ValidityStartDate
Equipment
FunctionalLocation I_FunctionalLocation FunctionalLocation
TechnicalObjectCategory
TechnicalObjectType I_FunctionalLocation TechnicalObjectType
CreatedByUser I_FunctionalLocation CreatedByUser
CreationDate I_FunctionalLocation CreationDate
LastChangedByUser I_FunctionalLocation LastChangedByUser
LastChangeDate I_FunctionalLocation LastChangeDate
AssetManufacturerName I_FunctionalLocation AssetManufacturerName
ManufacturerPartTypeName I_FunctionalLocation ManufacturerPartTypeName
MaintenancePlanningPlant I_FunctionalLocation MaintenancePlanningPlant
MaintenancePlannerGroup I_FunctionalLocation MaintenancePlannerGroup
CatalogProfile I_FunctionalLocation CatalogProfile
AuthorizationGroup I_FunctionalLocation AuthorizationGroup
WorkCenterInternalID I_FunctionalLocation WorkCenterInternalID
WorkCenterTypeCode I_FunctionalLocation WorkCenterTypeCode
MaintObjectLocAcctAssgmtNmbr I_FunctionalLocation MaintObjectLocAcctAssgmtNmbr
ManufacturerCountry I_FunctionalLocation ManufacturerCountry
ConstructionYear I_FunctionalLocation ConstructionYear
ConstructionMonth I_FunctionalLocation ConstructionMonth
ConstructionMaterial I_FunctionalLocation ConstructionMaterial
AcquisitionDate I_FunctionalLocation AcquisitionDate
Currency I_FunctionalLocation Currency
AcquisitionValue I_FunctionalLocation AcquisitionValue
MaintObjectInternalID I_FunctionalLocation MaintObjectInternalID
TechnicalObjectSortCode _LocationAccountAssignment MaintObjectFreeDefinedAttrib
ManufacturerPartNmbr I_FunctionalLocation ManufacturerPartNmbr
SizeOrDimensionText I_FunctionalLocation SizeOrDimensionText
ManufacturerSerialNumber I_FunctionalLocation ManufacturerSerialNumber
InventoryNumber I_FunctionalLocation InventoryNumber
GrossWeight I_FunctionalLocation GrossWeight
GrossWeightUnit I_FunctionalLocation GrossWeightUnit
OperationStartDate I_FunctionalLocation OperationStartDate
FuncLocStrucIdentifyingLevel
FuncLocStruc2ndIdentifyingLvl
FuncLocationStructure
SalesOrganization
DistributionChannel
SalesOffice
OrganizationDivision
SalesGroup
AssetLocation
LocationName
TechnicalObjectHasLongText
SuperiorTechnicalObject SuperiorFunctionalLocation
SuperiorTechnicalObjectLabel
SuperiorTechnicalObjectName
SuperiorObjIsEquipOrFuncnlLoc
SuperiorFunctionalLocation SuperiorFunctionalLocation
SuperordinateEquipment
@VDM.private: true
@VDM.viewType:#COMPOSITE
@AbapCatalog.sqlViewName: 'PEQTSEGFLOCU'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType:{
    serviceQuality: #C,
    sizeCategory: #XL,
    dataClass: #MIXED
}
define view P_EquiTimeSegFuncLocationUnion as select from           I_EquipmentTimeSeg          as _EquipmentTimeSeg
   
    left outer to one join I_Equipment                                               on I_Equipment.Equipment = _EquipmentTimeSeg.Equipment
    left outer to one join I_LocationAccountAssignment as _LocationAccountAssignment on _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = _EquipmentTimeSeg.MaintObjectLocAcctAssgmtNmbr


{
  key cast ( _EquipmentTimeSeg.Equipment as eams_tec_obj )                                                           as TechnicalObject,
      @Environment.sql.passValue: true
  key cast ( 'EAMS_EQUI' as eams_tec_obj_type_value)                                                                 as TechObjIsEquipOrFuncnlLoc,
  key    _EquipmentTimeSeg.ValidityEndDate,
  key _EquipmentTimeSeg.EquipUsagePeriodSequenceNumber,
   _EquipmentTimeSeg.ValidityEndTime,
      _EquipmentTimeSeg.ValidityStartDate,

      _EquipmentTimeSeg.Equipment,
      cast( '' as tplnr )                                                                                            as FunctionalLocation,

      cast( I_Equipment.EquipmentCategory as eams_tec_obj_cat )                                                      as TechnicalObjectCategory,
      I_Equipment.TechnicalObjectType,
      I_Equipment.CreatedByUser,
      I_Equipment.CreationDate,
      I_Equipment.LastChangedByUser,
      I_Equipment.LastChangeDate,
      I_Equipment.AssetManufacturerName,
      I_Equipment.ManufacturerPartTypeName,
      _EquipmentTimeSeg.MaintenancePlanningPlant,
      _EquipmentTimeSeg.MaintenancePlannerGroup,
      _EquipmentTimeSeg.CatalogProfile,
      I_Equipment.AuthorizationGroup,
      _EquipmentTimeSeg.WorkCenterInternalID,
      _EquipmentTimeSeg.WorkCenterTypeCode,
      _EquipmentTimeSeg.MaintObjectLocAcctAssgmtNmbr,
      I_Equipment.ManufacturerCountry,
      I_Equipment.ConstructionYear,
      I_Equipment.ConstructionMonth,
      _EquipmentTimeSeg.ConstructionMaterial,
      I_Equipment.AcquisitionDate,
      I_Equipment.Currency,
      I_Equipment.AcquisitionValue,
      I_Equipment.MaintObjectInternalID,
      _EquipmentTimeSeg.TechnicalObjectSortCode,
      _EquipmentTimeSeg.ManufacturerPartNmbr,
      I_Equipment.SizeOrDimensionText,
      I_Equipment.ManufacturerSerialNumber,
      I_Equipment.InventoryNumber,
      I_Equipment.GrossWeight,
      I_Equipment.GrossWeightUnit,
      I_Equipment.OperationStartDate,
      cast ( '00' as ilom_level_kz )                                                                                 as FuncLocStrucIdentifyingLevel,
      cast ( '00' as ilom_level_kz2 )                                                                                as FuncLocStruc2ndIdentifyingLvl,
      cast ( '     ' as tplkz )                                                                                      as FuncLocationStructure,

      _LocationAccountAssignment.SalesOrganization,
      _LocationAccountAssignment.DistributionChannel,
      _LocationAccountAssignment.SalesOffice,
      _LocationAccountAssignment.OrganizationDivision,
      _LocationAccountAssignment.SalesGroup,
      _LocationAccountAssignment.AssetLocation,
      _LocationAccountAssignment._Location.LocationName,

      cast( _EquipmentText[1: Language = $session.system_language].EquipmentName
            as eams_tec_obj_des preserving type )                                                                    as TechnicalObjectDescription,
      _EquipmentText[1: Language = $session.system_language].EquipmentHasLongText                                    as TechnicalObjectHasLongText,
      cast( case when _EquipmentTimeSeg.SuperordinateEquipment <> ''
           then _EquipmentTimeSeg.SuperordinateEquipment
           else _LocationAccountAssignment.FunctionalLocation
           end as eams_tec_obj )                                                                                     as SuperiorTechnicalObject,
      cast( case when _EquipmentTimeSeg.SuperordinateEquipment <> ''
           then _EquipmentTimeSeg.SuperordinateEquipment
           else _LocationAccountAssignment._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName
           end as eams_tech_obj_conv )                                                                               as SuperiorTechnicalObjectLabel,
      cast( case when _EquipmentTimeSeg.SuperordinateEquipment <> ''
                 then _EquipmentTimeSeg._SuperordinateEquipmentText[1: Language = $session.system_language].EquipmentName
                 else _LocationAccountAssignment._FunctionalLocation._FunctionalLocationText[1: Language = $session.system_language].FunctionalLocationName
                 end as eams_tec_obj_des )                                                                           as SuperiorTechnicalObjectName,
      cast( case when _EquipmentTimeSeg.SuperordinateEquipment <> '' then 'EAMS_EQUI'
           when _LocationAccountAssignment.FunctionalLocation <> '' then 'EAMS_FL' end  as eams_tec_obj_type_value ) as SuperiorObjIsEquipOrFuncnlLoc,
      _LocationAccountAssignment.FunctionalLocation                                                                  as SuperiorFunctionalLocation,
      _EquipmentTimeSeg.SuperordinateEquipment
}

union all select from I_FunctionalLocation
{
  key cast ( I_FunctionalLocation.FunctionalLocation as eams_tec_obj )                           as TechnicalObject,
  key cast ( 'EAMS_FL' as eams_tec_obj_type_value)                                               as TechObjIsEquipOrFuncnlLoc,
  key cast('99991231' as datbi ) as ValidityEndDate,
   key cast( '001' as eqlfn ) as EquipUsagePeriodSequenceNumber,
   cast('000000' as tims ) as ValidityEndTime,
      cast('19700101' as datbi ) as ValidityStartDate,

      cast ('' as equnr)                                                                         as Equipment,
      I_FunctionalLocation.FunctionalLocation,

      cast( I_FunctionalLocation.FunctionalLocationCategory as eams_tec_obj_cat )                as TechnicalObjectCategory,
      I_FunctionalLocation.TechnicalObjectType,
      I_FunctionalLocation.CreatedByUser,
      I_FunctionalLocation.CreationDate,
      I_FunctionalLocation.LastChangedByUser,
      I_FunctionalLocation.LastChangeDate,
      I_FunctionalLocation.AssetManufacturerName,
      I_FunctionalLocation.ManufacturerPartTypeName,
      I_FunctionalLocation.MaintenancePlanningPlant,
      I_FunctionalLocation.MaintenancePlannerGroup,
      I_FunctionalLocation.CatalogProfile,
      I_FunctionalLocation.AuthorizationGroup,
      I_FunctionalLocation.WorkCenterInternalID,
      I_FunctionalLocation.WorkCenterTypeCode,
      I_FunctionalLocation.MaintObjectLocAcctAssgmtNmbr,
      I_FunctionalLocation.ManufacturerCountry,
      I_FunctionalLocation.ConstructionYear,
      I_FunctionalLocation.ConstructionMonth,
      I_FunctionalLocation.ConstructionMaterial,
      I_FunctionalLocation.AcquisitionDate,
      I_FunctionalLocation.Currency,
      I_FunctionalLocation.AcquisitionValue,
      I_FunctionalLocation.MaintObjectInternalID,
      // dummy usage -- can't have empty field due to free-text search:

      _LocationAccountAssignment.MaintObjectFreeDefinedAttrib                                    as TechnicalObjectSortCode,
      I_FunctionalLocation.ManufacturerPartNmbr,
      I_FunctionalLocation.SizeOrDimensionText,
      I_FunctionalLocation.ManufacturerSerialNumber,
      I_FunctionalLocation.InventoryNumber,
      I_FunctionalLocation.GrossWeight,
      I_FunctionalLocation.GrossWeightUnit,
      I_FunctionalLocation.OperationStartDate,
      I_FunctionalLocation._FuncLocationStructure.FuncLocStrucIdentifyingLevel,
      I_FunctionalLocation._FuncLocationStructure.FuncLocStruc2ndIdentifyingLvl,
      I_FunctionalLocation._FuncLocationStructure.FuncLocationStructure,

      I_FunctionalLocation._LocationAccountAssignment.SalesOrganization,
      I_FunctionalLocation._LocationAccountAssignment.DistributionChannel,
      I_FunctionalLocation._LocationAccountAssignment.SalesOffice,
      I_FunctionalLocation._LocationAccountAssignment.OrganizationDivision,
      I_FunctionalLocation._LocationAccountAssignment.SalesGroup,
      I_FunctionalLocation._LocationAccountAssignment.AssetLocation,
      I_FunctionalLocation._LocationAccountAssignment._Location.LocationName,

      cast( _FunctionalLocationText[1: Language = $session.system_language].FunctionalLocationName
            as eams_tec_obj_des preserving type )                                                as TechnicalObjectDescription,
      _FunctionalLocationText[1: Language = $session.system_language].FuncnlLocHasLongText       as TechnicalObjectHasLongText,
      SuperiorFunctionalLocation                                                                 as SuperiorTechnicalObject,
      _SuperiorFunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName           as SuperiorTechnicalObjectLabel,
      _SupFunctionalLocationText[1: Language = $session.system_language ].FunctionalLocationName as SuperiorTechnicalObjectName,
      case when SuperiorFunctionalLocation <> '' then 'EAMS_FL' end                              as SuperiorObjIsEquipOrFuncnlLoc,
      SuperiorFunctionalLocation,
      ''                                                                                         as SuperordinateEquipment
}