I_MaintTaskListOperation

DDL: I_MAINTTASKLISTOPERATION SQL: IMAINTTLOP Type: view COMPOSITE Package: ODATA_EAM_TASKLIST_MAN

Maintenance Task List Operation

I_MaintTaskListOperation is a Composite CDS View that provides data about "Maintenance Task List Operation" in SAP S/4HANA. It reads from 3 data sources (I_BOOSqncOperationAssgmtChgSt, I_BillOfOperationsOpBasic, I_BillOfOperationsOpBasic) and exposes 98 fields with key fields TaskListType, TaskListGroup, TaskListGroupCounter, TaskListSequence, TaskListOperationInternalId. It has 2 associations to related views. Part of development package ODATA_EAM_TASKLIST_MAN.

Data Sources (3)

SourceAliasJoin Type
I_BOOSqncOperationAssgmtChgSt plas inner
I_BillOfOperationsOpBasic plpo from
I_BillOfOperationsOpBasic superior left_outer

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_MaintenanceTaskList _MaintenanceTaskList _MaintenanceTaskList.TaskListType = $projection.TaskListType and _MaintenanceTaskList.TaskListGroup = $projection.TaskListGroup and _MaintenanceTaskList.TaskListGroupCounter = $projection.TaskListGroupCounter
[0..1] I_MaintenanceTaskListType _TaskListType _TaskListType.TaskListType = $projection.TaskListType

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName IMAINTTLOP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Task List Operation view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
VDM.viewType #COMPOSITE view

Fields (98)

KeyFieldSource TableSource FieldDescription
KEY TaskListType I_BOOSqncOperationAssgmtChgSt BillOfOperationsType
KEY TaskListGroup I_BOOSqncOperationAssgmtChgSt BillOfOperationsGroup
KEY TaskListGroupCounter I_BOOSqncOperationAssgmtChgSt BillOfOperationsVariant
KEY TaskListSequence I_BOOSqncOperationAssgmtChgSt BillOfOperationsSequence
KEY TaskListOperationInternalId I_BillOfOperationsOpBasic BOOOperationInternalID
TaskListOpBOMItmIntVersCounter I_BillOfOperationsOpBasic BOOOpInternalVersionCounter
CreationDate I_BOOSqncOperationAssgmtChgSt CreationDate
LastChangeDate I_BOOSqncOperationAssgmtChgSt LastChangeDate
OperationText I_BillOfOperationsOpBasic OperationText
OperationControlProfile I_BillOfOperationsOpBasic OperationControlProfile
WorkCenterInternalID I_BillOfOperationsOpBasic WorkCenterInternalID
WorkCenterTypeCode I_BillOfOperationsOpBasic WorkCenterTypeCode
Plant I_BillOfOperationsOpBasic Plant
OpPlannedWorkQuantity I_BillOfOperationsOpBasic OpPlannedWorkQuantity
OpWorkQuantityUnit I_BillOfOperationsOpBasic OpWorkQuantityUnit
ChangeNumber I_BillOfOperationsOpBasic ChangeNumber
ValidityStartDate I_BillOfOperationsOpBasic ValidityStartDate
ValidityEndDateendasValidityEndDate
OperationStandardTextCode I_BillOfOperationsOpBasic OperationStandardTextCode
PurchasingInfoRecdAddlGrpgName I_BillOfOperationsOpBasic PurchasingInfoRecdAddlGrpgName
OpExternalProcessingPrice I_BillOfOperationsOpBasic OpExternalProcessingPrice
NumberOfOperationPriceUnits I_BillOfOperationsOpBasic NumberOfOperationPriceUnits
OpExternalProcessingCurrency I_BillOfOperationsOpBasic OpExternalProcessingCurrency
PurchasingInfoRecord I_BillOfOperationsOpBasic PurchasingInfoRecord
Supplier I_BillOfOperationsOpBasic Supplier
PurchaseContract I_BillOfOperationsOpBasic PurchaseContract
PurchaseContractItem I_BillOfOperationsOpBasic PurchaseContractItem
OperationStandardDuration I_BillOfOperationsOpBasic OperationStandardDuration
OperationStandardDurationUnit I_BillOfOperationsOpBasic OperationStandardDurationUnit
NumberOfCapacities I_BillOfOperationsOpBasic NumberOfCapacities
OperationSystemCondition I_BillOfOperationsOpBasic OperationSystemCondition
CostCtrActivityType I_BillOfOperationsOpBasic CostCtrActivityType
OperationCalculationControl I_BillOfOperationsOpBasic OperationCalculationControl
Assembly I_BillOfOperationsOpBasic Assembly
PurchaseOrderQty I_BillOfOperationsOpBasic PurchaseOrderQty
PurchaseOrderQuantityUnit I_BillOfOperationsOpBasic PurchaseOrderQuantityUnit
FunctionalLocation I_BillOfOperationsOpBasic FunctionalLocation
Equipment I_BillOfOperationsOpBasic Equipment
PurchasingInfoRecordCategory I_BillOfOperationsOpBasic PurchasingInfoRecordCategory
PurchasingOrganization I_BillOfOperationsOpBasic PurchasingOrganization
IsDeletedendasIsDeleted
IsImplicitlyDeleted I_BOOSqncOperationAssgmtChgSt IsImplicitlyDeleted
OperationUnit I_BillOfOperationsOpBasic OperationUnit
OpQtyToBaseQtyDnmntr I_BillOfOperationsOpBasic OpQtyToBaseQtyDnmntr
OpQtyToBaseQtyNmrtr I_BillOfOperationsOpBasic OpQtyToBaseQtyNmrtr
OperationReferenceQuantity I_BillOfOperationsOpBasic OperationReferenceQuantity
PlannedDeliveryDuration I_BillOfOperationsOpBasic PlannedDeliveryDuration
CostElement I_BillOfOperationsOpBasic CostElement
PurchasingGroup I_BillOfOperationsOpBasic PurchasingGroup
MaterialGroup I_BillOfOperationsOpBasic MaterialGroup
OperationCostingRelevancyType I_BillOfOperationsOpBasic OperationCostingRelevancyType
MinimumDuration I_BillOfOperationsOpBasic MinimumDuration
MinimumDurationUnit I_BillOfOperationsOpBasic MinimumDurationUnit
OperationWorkPercent I_BillOfOperationsOpBasic OperationWorkPercent
CapRqmtsDistributionFunction I_BillOfOperationsOpBasic CapRqmtsDistributionFunction
CompanyCode I_BillOfOperationsOpBasic CompanyCode
FactoryCalendar I_BillOfOperationsOpBasic FactoryCalendar
CapacityRequirementDistrKey I_BillOfOperationsOpBasic CapacityRequirementDistrKey
MaintOperationExecStageCode I_BillOfOperationsOpBasic MaintOperationExecStageCode
BOOOperationInternalID I_BOOSqncOperationAssgmtChgSt BOOOperationInternalID
BillOfOperationsGroup I_BillOfOperationsOpBasic BillOfOperationsGroup
BillOfOperationsType I_BillOfOperationsOpBasic BillOfOperationsType
_TaskListGroup I_BOOSqncOperationAssgmtChgSt _BillOfOperationsGroup
_TaskListGroupCounter I_BOOSqncOperationAssgmtChgSt _BillOfOperations
_TaskListSequence I_BOOSqncOperationAssgmtChgSt _BillOfOperationsSequence
_TaskListOperationInternalId I_BillOfOperationsOpBasic _BOOOperationInternalID
_BOOOperationInternalID I_BillOfOperationsOpBasic _BOOOperationInternalID
_BillOfOperationsGroup I_BOOSqncOperationAssgmtChgSt _BillOfOperationsGroup
_BillOfOperationsType I_BOOSqncOperationAssgmtChgSt _BillOfOperationsType
_BillOfOperationsSequence I_BOOSqncOperationAssgmtChgSt _BillOfOperationsSequence
_Assembly I_BillOfOperationsOpBasic _Assembly
_Equipment I_BillOfOperationsOpBasic _Equipment
_FunctionalLocation I_BillOfOperationsOpBasic _FunctionalLocation
_ChangeMaster I_BillOfOperationsOpBasic _ChangeMaster
_OperationCalculationControl I_BillOfOperationsOpBasic _OperationCalculationControl
_OperationControlProfile I_BillOfOperationsOpBasic _OperationControlProfile
_OpExternalProcessingCurrency I_BillOfOperationsOpBasic _OpExternalProcessingCurrency
_OperationStandardText I_BillOfOperationsOpBasic _OperationStandardText
_OperationSystemCondition I_BillOfOperationsOpBasic _OperationSystemCondition
_Plant I_BillOfOperationsOpBasic _Plant
_PurchasingInfoRecord I_BillOfOperationsOpBasic _PurchasingInfoRecord
_PurchaseContract I_BillOfOperationsOpBasic _PurchaseContract
_PurchaseContractItem I_BillOfOperationsOpBasic _PurchaseContractItem
_PurchasingOrganization I_BillOfOperationsOpBasic _PurchasingOrganization
_Supplier I_BillOfOperationsOpBasic _Supplier
_WorkCenter I_BillOfOperationsOpBasic _WorkCenter
_WorkCenterType I_BillOfOperationsOpBasic _WorkCenterType
_OperationUnit I_BillOfOperationsOpBasic _OperationUnit
_PurchasingGroup I_BillOfOperationsOpBasic _PurchasingGroup
_OperationStandardDurationUnit I_BillOfOperationsOpBasic _OperationStandardDurationUnit
_PurchaseOrderQtyUnit I_BillOfOperationsOpBasic _PurchaseOrderQtyUnit
_MaterialGroup I_BillOfOperationsOpBasic _MaterialGroup
_MinimumDurationUnit I_BillOfOperationsOpBasic _MinimumDurationUnit
_CompanyCode I_BillOfOperationsOpBasic _CompanyCode
_FactoryCalendar I_BillOfOperationsOpBasic _FactoryCalendar
_MaintOperationExecStageCode I_BillOfOperationsOpBasic _MaintOperationExecStageCode
_MaintenanceTaskList _MaintenanceTaskList
_TaskListType _TaskListType
@AbapCatalog.sqlViewName: 'IMAINTTLOP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Task List Operation'
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #L
@VDM.viewType: #COMPOSITE

define view I_MaintTaskListOperation
  as select from    I_BillOfOperationsOpBasic     as plpo
    inner join      I_BOOSqncOperationAssgmtChgSt as plas     on  plpo.BillOfOperationsType             = plas.BillOfOperationsType
                                                              and plpo.BillOfOperationsGroup            = plas.BillOfOperationsGroup
                                                              and (
                                                                 (   // Operation

                                                                   plpo.BOOOperationInternalID          = plas.BOOOperationInternalID
                                                                   and plpo.SuperiorOperationInternalID = '00000000'
                                                                 )
                                                                 or( // Sub-Operation

                                                                   plpo.SuperiorOperationInternalID     = plas.BOOOperationInternalID
                                                                 )
                                                               )
    left outer join I_BillOfOperationsOpBasic     as superior on  plpo.BillOfOperationsType        = superior.BillOfOperationsType
                                                              and plpo.BillOfOperationsGroup       = superior.BillOfOperationsGroup
                                                              and plpo.SuperiorOperationInternalID = superior.BOOOperationInternalID

  association [1..1] to I_MaintenanceTaskList     as _MaintenanceTaskList on  _MaintenanceTaskList.TaskListType         = $projection.TaskListType
                                                                          and _MaintenanceTaskList.TaskListGroup        = $projection.TaskListGroup
                                                                          and _MaintenanceTaskList.TaskListGroupCounter = $projection.TaskListGroupCounter

  association [0..1] to I_MaintenanceTaskListType as _TaskListType        on  _TaskListType.TaskListType = $projection.TaskListType
{
      //      @ObjectModel.foreignKey.association: '_TaskListType'

      @ObjectModel.foreignKey.association: '_BillOfOperationsType'
  key plas.BillOfOperationsType           as TaskListType,

      //      @ObjectModel.foreignKey.association: '_TaskListGroup'

      @ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
  key plas.BillOfOperationsGroup          as TaskListGroup,

      //      @ObjectModel.foreignKey.association: '_TaskListGroupCounter'

      //      @ObjectModel.foreignKey.association: '_BillOfOperationsVariant'

  key plas.BillOfOperationsVariant        as TaskListGroupCounter,

      //            @ObjectModel.foreignKey.association: '_TaskListSequence'

      @ObjectModel.foreignKey.association: '_BillOfOperationsSequence'
  key plas.BillOfOperationsSequence       as TaskListSequence,

      @ObjectModel.foreignKey.association: '_BOOOperationInternalID'
      //  key plas.BOOOperationInternalID         as TaskListOperationInternalId,

  key plpo.BOOOperationInternalID         as TaskListOperationInternalId,

      //      plas.BOOSqncOpAssgmtIntVersionCntr  as TaskListOpBOMItmIntVersCounter,

      plpo.BOOOpInternalVersionCounter    as TaskListOpBOMItmIntVersCounter,
      @Semantics.systemDate.createdAt: true
      plas.CreationDate,

      @Semantics.systemDate.lastChangedAt: true
      plas.LastChangeDate,

      case when superior.Operation is not null
        then superior.Operation
        else plpo.Operation
      end                                 as MaintenanceTaskListOperation,

      case when plpo.SuperiorOperationInternalID <> '00000000'
        then plpo.Operation
        else ''
      end                                 as MaintTaskListSubOperation,

      @Semantics.text:true
      plpo.OperationText,

      @ObjectModel.foreignKey.association: '_OperationControlProfile'
      plpo.OperationControlProfile,

      @ObjectModel.foreignKey.association: '_WorkCenter'
      plpo.WorkCenterInternalID,

      @ObjectModel.foreignKey.association: '_WorkCenterType'
      plpo.WorkCenterTypeCode,

      @ObjectModel.foreignKey.association: '_Plant'
      plpo.Plant,

      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit'
      plpo.OpPlannedWorkQuantity,

      @Semantics.unitOfMeasure: true
      plpo.OpWorkQuantityUnit,

      @ObjectModel.foreignKey.association: '_ChangeMaster'
      plpo.ChangeNumber,

      @Semantics.businessDate.from: true
      plpo.ValidityStartDate,

      @Semantics.businessDate.to: true
      case plpo.ValidityEndDate
        when '00000000' then cast ('99991231' as datub)
        else plpo.ValidityEndDate
      end                                 as ValidityEndDate,

      @ObjectModel.foreignKey.association: '_OperationStandardText'
      plpo.OperationStandardTextCode,

      plpo.PurchasingInfoRecdAddlGrpgName,

      @DefaultAggregation: #NONE
      @Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
      plpo.OpExternalProcessingPrice,

      plpo.NumberOfOperationPriceUnits,

      @ObjectModel.foreignKey.association: '_OpExternalProcessingCurrency'
      @Semantics.currencyCode: true
      plpo.OpExternalProcessingCurrency,

      @ObjectModel.foreignKey.association: '_PurchasingInfoRecord'
      plpo.PurchasingInfoRecord,

      @ObjectModel.foreignKey.association: '_Supplier'
      plpo.Supplier,

      @ObjectModel.foreignKey.association: '_PurchaseContract'
      plpo.PurchaseContract,

      @ObjectModel.foreignKey.association: '_PurchaseContractItem'
      plpo.PurchaseContractItem,

      @Semantics.quantity.unitOfMeasure: 'OperationStandardDurationUnit'
      plpo.OperationStandardDuration,

      @Semantics.unitOfMeasure: true
      plpo.OperationStandardDurationUnit,

      plpo.NumberOfCapacities,

      @ObjectModel.foreignKey.association: '_OperationSystemCondition'
      plpo.OperationSystemCondition,

      plpo.CostCtrActivityType,

      @ObjectModel.foreignKey.association: '_OperationCalculationControl'
      plpo.OperationCalculationControl,

      @ObjectModel.foreignKey.association: '_Assembly'
      plpo.Assembly,

      @Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
      plpo.PurchaseOrderQty,

      @ObjectModel.foreignKey.association: '_PurchaseOrderQtyUnit'
      @Semantics.unitOfMeasure: true
      plpo.PurchaseOrderQuantityUnit,

      @ObjectModel.foreignKey.association: '_FunctionalLocation'
      plpo.FunctionalLocation,

      @ObjectModel.foreignKey.association: '_Equipment'
      plpo.Equipment,

      plpo.PurchasingInfoRecordCategory,

      plpo.PurchasingOrganization,

      case when plas.IsDeleted = 'X'
        then plas.IsDeleted
        else plpo.IsDeleted
      end                                 as IsDeleted,

      plas.IsImplicitlyDeleted,

      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_OperationUnit'
      plpo.OperationUnit,

      plpo.OpQtyToBaseQtyDnmntr,

      plpo.OpQtyToBaseQtyNmrtr,

      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #NONE
      plpo.OperationReferenceQuantity,

      plpo.PlannedDeliveryDuration,

      plpo.CostElement,

      @ObjectModel.foreignKey.association: '_PurchasingGroup'
      plpo.PurchasingGroup,

      plpo.MaterialGroup,

      plpo.OperationCostingRelevancyType,

      @Semantics.quantity.unitOfMeasure: 'MinimumDurationUnit'
      plpo.MinimumDuration,

      @ObjectModel.foreignKey.association: '_MinimumDurationUnit'
      @Semantics.unitOfMeasure: true
      plpo.MinimumDurationUnit,

      plpo.OperationWorkPercent,

      plpo.CapRqmtsDistributionFunction,

      @ObjectModel.foreignKey.association: '_CompanyCode'
      plpo.CompanyCode,

      @ObjectModel.foreignKey.association: '_FactoryCalendar'
      plpo.FactoryCalendar,

      plpo.CapacityRequirementDistrKey,

      plpo.MaintOperationExecStageCode,

      /* Technical Fields */
      concat(concat( concat( plas.BillOfOperationsType,
            plas.BillOfOperationsGroup ),
            plas.BillOfOperationsVariant ),
            plas.BOOOperationInternalID ) as TaskListOperationObjectKey,

      @Consumption.hidden: true
      plas.BOOOperationInternalID,
      @Consumption.hidden: true
      plpo.BillOfOperationsGroup,
      @Consumption.hidden: true     
      plpo.BillOfOperationsType,
      /* Associations */
      plas._BillOfOperationsGroup         as _TaskListGroup,
      plas._BillOfOperations              as _TaskListGroupCounter,
      plas._BillOfOperationsSequence      as _TaskListSequence,
     // plas._BOOOperationInternalID        as _TaskListOperationInternalId,

      plpo._BOOOperationInternalID        as _TaskListOperationInternalId,
     
      plpo._BOOOperationInternalID,
      plas._BillOfOperationsGroup,
      plas._BillOfOperationsType,
      plas._BillOfOperationsSequence,

      plpo._Assembly,
      plpo._Equipment,
      plpo._FunctionalLocation,
      plpo._ChangeMaster,
      plpo._OperationCalculationControl,
      plpo._OperationControlProfile,
      plpo._OpExternalProcessingCurrency,
      plpo._OperationStandardText,
      plpo._OperationSystemCondition,
      plpo._Plant,
      plpo._PurchasingInfoRecord,
      plpo._PurchaseContract,
      plpo._PurchaseContractItem,
      plpo._PurchasingOrganization,
      plpo._Supplier,
      plpo._WorkCenter,
      plpo._WorkCenterType,
      plpo._OperationUnit,
      plpo._PurchasingGroup,
      plpo._OperationStandardDurationUnit,
      plpo._PurchaseOrderQtyUnit,
      plpo._MaterialGroup,
      plpo._MinimumDurationUnit,
      plpo._CompanyCode,
      plpo._FactoryCalendar,
      plpo._MaintOperationExecStageCode,

      //      _MaintenanceTaskList.TaskListUsage as TaskListUsage,  // Added for I_ROUT2


      /* Associations - locally defined */
      _MaintenanceTaskList,
      _TaskListType
}
where
     plpo.BillOfOperationsType = 'A'
  or plpo.BillOfOperationsType = 'E'
  or plpo.BillOfOperationsType = 'T'