I_MaintenanceTaskList

DDL: I_MAINTENANCETASKLIST SQL: IMAINTTASKLIST Type: view COMPOSITE Package: ODATA_EAM_TASKLIST_MAN

Maintenance Task List

I_MaintenanceTaskList is a Composite CDS View that provides data about "Maintenance Task List" in SAP S/4HANA. It reads from 2 data sources (I_BillOfOperations, I_BillOfOperationsChangeState) and exposes 59 fields with key fields TaskListType, TaskListGroup, TaskListGroupCounter. It has 10 associations to related views. Part of development package ODATA_EAM_TASKLIST_MAN.

Data Sources (2)

SourceAliasJoin Type
I_BillOfOperations I_BillOfOperations from
I_BillOfOperationsChangeState I_BillOfOperationsChangeState inner

Associations (10)

CardinalityTargetAliasCondition
[0..1] I_MaintenanceTaskListType _TaskListType _TaskListType.TaskListType = $projection.TaskListType
[0..1] I_PMReferenceElement _PMReferenceElement _PMReferenceElement.ReferenceElement = $projection.ReferenceElement
[0..1] I_SafetyRelevance _SafetyRelevance _SafetyRelevance.SafetyRelevantObject = $projection.SafetyRelevantObject and _SafetyRelevance.SafetyRelevantObjectType = 'TL'
[0..1] P_TaskListToEquipAlloc _TaskListEquip _TaskListEquip.TaskListType = $projection.TaskListType and _TaskListEquip.TaskListGroup = $projection.TaskListGroup
[0..1] P_TaskListToFuncnlLocAlloc _TaskListFuncnlLoc _TaskListFuncnlLoc.TaskListType = $projection.TaskListType and _TaskListFuncnlLoc.TaskListGroup = $projection.TaskListGroup
[0..1] I_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
[0..1] I_TechnicalObject _TechnicalObject _TechnicalObject.TechnicalObject = $projection.TechnicalObject and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
[0..*] I_MaintTaskListOperation _MaintTaskListOperation _MaintTaskListOperation.TaskListType = $projection.TaskListType and _MaintTaskListOperation.TaskListGroup = $projection.TaskListGroup and _MaintTaskListOperation.TaskListGroupCounter = $projection.TaskListGroupCounter
[1..1] I_BillOfOperationsGroup _TaskListGroup _TaskListGroup.BillOfOperationsType = $projection.TaskListType and _TaskListGroup.BillOfOperationsGroup = $projection.TaskListGroup and ( _TaskListGroup.BillOfOperationsType = 'A' or _TaskListGroup.BillOfOperationsType = 'E' or _TaskListGroup.BillOfOperationsType = 'T' )
[1..1] I_BillOfOperations _TaskListGroupCounter _TaskListGroupCounter.BillOfOperationsType = $projection.TaskListType and _TaskListGroupCounter.BillOfOperationsGroup = $projection.TaskListGroup and _TaskListGroupCounter.BillOfOperationsVariant = $projection.TaskListGroupCounter and ( _TaskListGroupCounter.BillOfOperationsType = 'A' or _TaskListGroupCounter.BillOfOperationsType = 'E' or _TaskListGroupCounter.BillOfOperationsType = 'T' )

Annotations (12)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.sqlViewName IMAINTTASKLIST view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Task List view
ObjectModel.representativeKey TaskListGroupCounter view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #COMPOSITE view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view

Fields (59)

KeyFieldSource TableSource FieldDescription
KEY TaskListType I_BillOfOperations BillOfOperationsType
KEY TaskListGroup I_BillOfOperations BillOfOperationsGroup Task List Group
KEY TaskListGroupCounter I_BillOfOperations BillOfOperationsVariant Task List Group Counter
TaskListDesc I_BillOfOperationsChangeState BillOfOperationsDesc
MaintenanceStrategy I_BillOfOperationsChangeState MaintenanceStrategy
Plant I_BillOfOperationsChangeState Plant
ResponsiblePlannerGroup I_BillOfOperationsChangeState ResponsiblePlannerGroup
WorkCenterTypeCode I_BillOfOperationsChangeState WorkCenterTypeCode
WorkCenterInternalID I_BillOfOperationsChangeState WorkCenterInternalID
TaskListStatus I_BillOfOperationsChangeState BillOfOperationsStatus
ValidityStartDate I_BillOfOperationsChangeState ValidityStartDate
ValidityEndDate I_BillOfOperationsChangeState ValidityEndDate
ChangeNumber I_BillOfOperationsChangeState ChangeNumber
Assembly I_BillOfOperationsChangeState Assembly
OperationSystemCondition I_BillOfOperationsChangeState OperationSystemCondition
ReferenceElement I_BillOfOperationsChangeState ReferenceElement
TaskListUsage I_BillOfOperationsChangeState BillOfOperationsUsage
InspSubsetFieldCombination I_BillOfOperationsChangeState InspSubsetFieldCombination
InspExternalNumberingOfValues I_BillOfOperationsChangeState InspExternalNumberingOfValues
ControllingArea I_BillOfOperationsChangeState ControllingArea
BillOfOperationIsConfigurable I_BillOfOperationsChangeState BillOfOperationIsConfigurable
IsDeleted I_BillOfOperationsChangeState IsDeleted
IsMarkedForDeletion I_BillOfOperationsChangeState IsMarkedForDeletion
Equipment _TaskListEquip Equipment
FunctionalLocation _TaskListFuncnlLoc FunctionalLocation
FunctionalLocationLabelName
TaskListVersionCounter I_BillOfOperationsChangeState BOOInternalVersionCounter
LastChangeDate I_BillOfOperations LastChangeDate
LastChangedByUser I_BillOfOperations LastChangedByUser
CreatedByUser I_BillOfOperationsChangeState CreatedByUser
CreationDate I_BillOfOperationsChangeState CreationDate
BillOfOperationsUsage I_BillOfOperationsChangeState BillOfOperationsUsage
MaintenancePlanningPlant I_BillOfOperationsChangeState MaintenancePlanningPlant
TaskListIsHierarchical I_BillOfOperationsChangeState TaskListIsHierarchical
LastChangeDateTime I_BillOfOperationsChangeState BillOfOperationsDateTime
_MaintenanceStrategy I_BillOfOperationsChangeState _MaintenanceStrategy
_Plant I_BillOfOperationsChangeState _Plant
_ResponsiblePlannerGroup I_BillOfOperationsChangeState _ResponsiblePlannerGroup
_TaskListStatus I_BillOfOperationsChangeState _BillOfOperationsStatus
_WorkCenter I_BillOfOperationsChangeState _WorkCenter
_Assembly I_BillOfOperationsChangeState _Assembly
_OperationSystemCondition I_BillOfOperationsChangeState _OperationSystemCondition
_TaskListUsage I_BillOfOperationsChangeState _BillOfOperationsUsage
_InspSubsetFieldCombination I_BillOfOperationsChangeState _InspSubsetFieldCombination
_InspExtNumbering I_BillOfOperationsChangeState _InspExtNumbering
_MaintenancePlanningPlant I_BillOfOperationsChangeState _MaintenancePlanningPlant
_ControllingArea I_BillOfOperationsChangeState _ControllingArea
_ConfigurableIndicator I_BillOfOperationsChangeState _ConfigurableIndicator
LongTextLanguageCode I_BillOfOperationsChangeState LongTextLanguageCode
_TaskListType _TaskListType
_TaskListGroup _TaskListGroup
_TaskListGroupCounter _TaskListGroupCounter
_PMReferenceElement _PMReferenceElement
_SafetyRelevance _SafetyRelevance
_TechnicalObject _TechnicalObject
_TechObjIsEquipOrFuncnlLoc _TechObjIsEquipOrFuncnlLoc
_MaintTaskListOperation _MaintTaskListOperation
_Equipment _TaskListEquip _Equipment
_FunctionalLocation _TaskListFuncnlLoc _FunctionalLocation
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'IMAINTTASKLIST'
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Task List'
@ObjectModel.representativeKey: 'TaskListGroupCounter'
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@VDM.viewType: #COMPOSITE
@Metadata.allowExtensions: true
@ObjectModel.supportedCapabilities:[ #CDS_MODELING_DATA_SOURCE] 
@Metadata.ignorePropagatedAnnotations:true 



define view I_MaintenanceTaskList
  as select from I_BillOfOperations
    inner join   I_BillOfOperationsChangeState on  I_BillOfOperations.BillOfOperationsType    = I_BillOfOperationsChangeState.BillOfOperationsType
                                               and I_BillOfOperations.BillOfOperationsGroup   = I_BillOfOperationsChangeState.BillOfOperationsGroup
                                               and I_BillOfOperations.BillOfOperationsVariant = I_BillOfOperationsChangeState.BillOfOperationsVariant

  association [0..1] to I_MaintenanceTaskListType   as _TaskListType              on  _TaskListType.TaskListType = $projection.TaskListType

  association [0..1] to I_PMReferenceElement        as _PMReferenceElement        on  _PMReferenceElement.ReferenceElement = $projection.ReferenceElement

  association [0..1] to I_SafetyRelevance           as _SafetyRelevance           on  _SafetyRelevance.SafetyRelevantObject     = $projection.SafetyRelevantObject 
                                                                                  and _SafetyRelevance.SafetyRelevantObjectType = 'TL'

  association [0..1] to P_TaskListToEquipAlloc      as _TaskListEquip             on  _TaskListEquip.TaskListType  = $projection.TaskListType
                                                                                  and _TaskListEquip.TaskListGroup = $projection.TaskListGroup

  association [0..1] to P_TaskListToFuncnlLocAlloc  as _TaskListFuncnlLoc         on  _TaskListFuncnlLoc.TaskListType  = $projection.TaskListType
                                                                                  and _TaskListFuncnlLoc.TaskListGroup = $projection.TaskListGroup

  association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on  _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc

  association [0..1] to I_TechnicalObject           as _TechnicalObject           on  _TechnicalObject.TechnicalObject           = $projection.TechnicalObject
                                                                                  and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc

  association [0..*] to I_MaintTaskListOperation    as _MaintTaskListOperation    on  _MaintTaskListOperation.TaskListType         = $projection.TaskListType
                                                                                  and _MaintTaskListOperation.TaskListGroup        = $projection.TaskListGroup
                                                                                  and _MaintTaskListOperation.TaskListGroupCounter = $projection.TaskListGroupCounter

  association [1..1] to I_BillOfOperationsGroup     as _TaskListGroup             on  _TaskListGroup.BillOfOperationsType   = $projection.TaskListType
                                                                                  and _TaskListGroup.BillOfOperationsGroup  = $projection.TaskListGroup
                                                                                  and (
                                                                                     _TaskListGroup.BillOfOperationsType    = 'A'
                                                                                     or _TaskListGroup.BillOfOperationsType = 'E'
                                                                                     or _TaskListGroup.BillOfOperationsType = 'T'
                                                                                   )

  association [1..1] to I_BillOfOperations          as _TaskListGroupCounter      on  _TaskListGroupCounter.BillOfOperationsType    = $projection.TaskListType
                                                                                  and _TaskListGroupCounter.BillOfOperationsGroup   = $projection.TaskListGroup
                                                                                  and _TaskListGroupCounter.BillOfOperationsVariant = $projection.TaskListGroupCounter
                                                                                  and (
                                                                                     _TaskListGroupCounter.BillOfOperationsType     = 'A'
                                                                                     or _TaskListGroupCounter.BillOfOperationsType  = 'E'
                                                                                     or _TaskListGroupCounter.BillOfOperationsType  = 'T'
                                                                                   )
{
      /* Key fields */
      @ObjectModel.foreignKey.association: '_TaskListType'
  key I_BillOfOperations.BillOfOperationsType                 as TaskListType,

      @EndUserText.label: 'Task List Group'
      @ObjectModel.foreignKey.association: '_TaskListGroup'
  key I_BillOfOperations.BillOfOperationsGroup                as TaskListGroup,

      @EndUserText.label: 'Task List Group Counter'
      @ObjectModel.foreignKey.association: '_TaskListGroupCounter'
  key I_BillOfOperations.BillOfOperationsVariant              as TaskListGroupCounter,

      /* Data fields */

      I_BillOfOperationsChangeState.BillOfOperationsDesc      as TaskListDesc,

      I_BillOfOperationsChangeState.MaintenanceStrategy,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PlantStdVH',
                     element: 'Plant' }
        }]
      I_BillOfOperationsChangeState.Plant,

      I_BillOfOperationsChangeState.ResponsiblePlannerGroup,

      I_BillOfOperationsChangeState.WorkCenterTypeCode,

      I_BillOfOperationsChangeState.WorkCenterInternalID,

      @ObjectModel.foreignKey.association: '_TaskListStatus'
      I_BillOfOperationsChangeState.BillOfOperationsStatus    as TaskListStatus,

      I_BillOfOperationsChangeState.ValidityStartDate,

      // run report CP_ADAPT_TASKLIST_TO_CDSVIEW if this field is empty:

      I_BillOfOperationsChangeState.ValidityEndDate,

      I_BillOfOperationsChangeState.ChangeNumber,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ProductStdVH',
                     element: 'Product' }
        }]
      I_BillOfOperationsChangeState.Assembly,

      I_BillOfOperationsChangeState.OperationSystemCondition,

      @ObjectModel.foreignKey.association: '_PMReferenceElement'
      I_BillOfOperationsChangeState.ReferenceElement,

      @ObjectModel.foreignKey.association: '_TaskListUsage'
      I_BillOfOperationsChangeState.BillOfOperationsUsage     as TaskListUsage,

      I_BillOfOperationsChangeState.InspSubsetFieldCombination,

      I_BillOfOperationsChangeState.InspExternalNumberingOfValues,

      @ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
      cast( case I_BillOfOperations.BillOfOperationsType
        when 'E' then 'EAMS_EQUI'
        when 'T' then 'EAMS_FL'
        else ''
      end as eams_tec_obj_type_value )                        as TechObjIsEquipOrFuncnlLoc,

      //--[ GENERATED:012:GFBfhxvv7kY4nH9{xKJeWG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_TechnicalObjectStdVH',
                     element: 'TechnicalObject' },
          additionalBinding: [{ localElement: 'TechObjIsEquipOrFuncnlLoc',
                                element: 'TechObjIsEquipOrFuncnlLoc' }]
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_TechnicalObject'
      cast( case I_BillOfOperations.BillOfOperationsType
        when 'E' then _TaskListEquip.Equipment
        when 'T' then _TaskListFuncnlLoc.FunctionalLocation
        else ''
      end as eams_tec_obj )                                   as TechnicalObject,

      /* Technical Fields */
      concat( concat( I_BillOfOperations.BillOfOperationsType,
            I_BillOfOperations.BillOfOperationsGroup ),
            I_BillOfOperations.BillOfOperationsVariant )      as TaskListObjectKey,

      @ObjectModel.foreignKey.association: '_SafetyRelevance'
     cast(
      concat( concat( concat( I_BillOfOperations.BillOfOperationsType,
                      I_BillOfOperations.BillOfOperationsGroup ),
                      I_BillOfOperations.BillOfOperationsVariant ),
                      '00000000' )                            as eamws_obj_id 
                      ) as SafetyRelevantObject    ,
      I_BillOfOperationsChangeState.ControllingArea,
      I_BillOfOperationsChangeState.BillOfOperationIsConfigurable,

      /* fields needed for ESH on CDS */
      I_BillOfOperationsChangeState.IsDeleted,
      I_BillOfOperationsChangeState.IsMarkedForDeletion,
      _TaskListEquip.Equipment,
      _TaskListFuncnlLoc.FunctionalLocation,
      _TaskListFuncnlLoc._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName,
      @ObjectModel.text.element: 'TaskListDesc'
      I_BillOfOperationsChangeState.BOOInternalVersionCounter as TaskListVersionCounter,
      I_BillOfOperations.LastChangeDate,
      I_BillOfOperations.LastChangedByUser,
      I_BillOfOperationsChangeState.CreatedByUser,
      I_BillOfOperationsChangeState.CreationDate,
      I_BillOfOperationsChangeState.BillOfOperationsUsage,
      I_BillOfOperationsChangeState.MaintenancePlanningPlant,
      I_BillOfOperationsChangeState.TaskListIsHierarchical,
      @Semantics.systemDateTime.lastChangedAt: true
      I_BillOfOperationsChangeState.BillOfOperationsDateTime  as LastChangeDateTime,
      
      /* Associations */
      I_BillOfOperationsChangeState._MaintenanceStrategy,
      I_BillOfOperationsChangeState._Plant,
      I_BillOfOperationsChangeState._ResponsiblePlannerGroup,
      I_BillOfOperationsChangeState._BillOfOperationsStatus   as _TaskListStatus,
      I_BillOfOperationsChangeState._WorkCenter,
      I_BillOfOperationsChangeState._Assembly,
      I_BillOfOperationsChangeState._OperationSystemCondition,
      I_BillOfOperationsChangeState._BillOfOperationsUsage    as _TaskListUsage,
      I_BillOfOperationsChangeState._InspSubsetFieldCombination,
      I_BillOfOperationsChangeState._InspExtNumbering,
      I_BillOfOperationsChangeState._MaintenancePlanningPlant,
      I_BillOfOperationsChangeState._ControllingArea,
      I_BillOfOperationsChangeState._ConfigurableIndicator,
      I_BillOfOperationsChangeState.LongTextLanguageCode,
      /* Associations - locally defined */
      _TaskListType,
      _TaskListGroup,
      _TaskListGroupCounter,
      _PMReferenceElement,
      _SafetyRelevance,
      _TechnicalObject,
      _TechObjIsEquipOrFuncnlLoc,
      _MaintTaskListOperation,
      _TaskListEquip._Equipment,
      _TaskListFuncnlLoc._FunctionalLocation
}
// where I_BillOfOperations._BillOfOperationsType.BillOfOperationsApplication = 'I'

where
     I_BillOfOperations.BillOfOperationsType = 'A'
  or I_BillOfOperations.BillOfOperationsType = 'E'
  or I_BillOfOperations.BillOfOperationsType = 'T'