C_MaintTaskListOperationDEX

DDL: C_MAINTTASKLISTOPERATIONDEX Type: view_entity CONSUMPTION Package: VDM_EAM_TASKLIST

Maintenance Task List Operation

C_MaintTaskListOperationDEX is a Consumption CDS View that provides data about "Maintenance Task List Operation" in SAP S/4HANA. It reads from 2 data sources (I_BOOSqncOperationAssgmtChgSt, I_BillOfOperationsOpBasic) and exposes 62 fields with key fields TaskListType, TaskListGroup, TaskListOperationInternalId, BOOOpInternalVersionCounter. It has 2 associations to related views. Part of development package VDM_EAM_TASKLIST.

Data Sources (2)

SourceAliasJoin Type
I_BOOSqncOperationAssgmtChgSt plas inner
I_BillOfOperationsOpBasic TaskListOpBasic from

Associations (2)

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

Annotations (11)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Maintenance Task List Operation view
Metadata.ignorePropagatedAnnotations true view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #CONSUMPTION view
ObjectModel.sapObjectNodeType.name MaintenanceTaskListOperation view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.modelingPattern #ANALYTICAL_FACT view
Analytics.dataExtraction.enabled true view

Fields (62)

KeyFieldSource TableSource FieldDescription
KEY TaskListType I_BillOfOperationsOpBasic BillOfOperationsType
KEY TaskListGroup I_BillOfOperationsOpBasic BillOfOperationsGroup
KEY TaskListOperationInternalId I_BillOfOperationsOpBasic BOOOperationInternalID
KEY BOOOpInternalVersionCounter I_BillOfOperationsOpBasic BOOOpInternalVersionCounter
TaskListGroupCounter I_BOOSqncOperationAssgmtChgSt BillOfOperationsVariant
TaskListSequence I_BOOSqncOperationAssgmtChgSt BillOfOperationsSequence
BOOOperationInternalID I_BOOSqncOperationAssgmtChgSt BOOOperationInternalID
TaskListOpBOMItmIntVersCounter I_BOOSqncOperationAssgmtChgSt BOOSqncOpAssgmtIntVersionCntr BOM Item Internal Version Counter
SuperiorOperationInternalID I_BillOfOperationsOpBasic SuperiorOperationInternalID
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
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
Equipment I_BillOfOperationsOpBasic Equipment
PurchasingInfoRecordCategory I_BillOfOperationsOpBasic PurchasingInfoRecordCategory
PurchasingOrganization I_BillOfOperationsOpBasic PurchasingOrganization
IsDeletedendasIsDeleted Is Deleted
IsImplicitlyDeleted I_BOOSqncOperationAssgmtChgSt IsImplicitlyDeleted Is Implicitly Deleted
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
_MaintenanceTaskList _MaintenanceTaskList
_TaskListType _TaskListType
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Maintenance Task List Operation'
@Metadata.ignorePropagatedAnnotations: true

@AccessControl.personalData.blocking: #REQUIRED

@VDM.viewType: #CONSUMPTION

@ObjectModel: {
  sapObjectNodeType.name: 'MaintenanceTaskListOperation',
  usageType: {
    dataClass: #TRANSACTIONAL,
    serviceQuality: #B,
    sizeCategory: #L
  },
  supportedCapabilities: [ #EXTRACTION_DATA_SOURCE ],
  modelingPattern:#ANALYTICAL_FACT
}

@Analytics: {
  dataExtraction: {
    enabled: true,
    delta.changeDataCapture: {
      mapping: [
                {
                  table: 'plpo', role: #MAIN,
                  viewElement: [ 'TaskListType', 'TaskListGroup', 'TaskListOperationInternalId', 'BOOOpInternalVersionCounter'  ],
                  tableElement: [ 'plnty', 'plnnr', 'plnkn', 'zaehl' ]
                },
                {
                  table: 'plas', role: #LEFT_OUTER_TO_ONE_JOIN,
                  viewElement: [ 'TaskListType', 'TaskListGroup' ],
                  tableElement: [ 'plnty', 'plnnr' ]
                }
               ]
    }
   }
 }

define view entity C_MaintTaskListOperationDEX
  as select from           I_BillOfOperationsOpBasic     as TaskListOpBasic
    inner join             I_BOOSqncOperationAssgmtChgSt as plas     on  TaskListOpBasic.BillOfOperationsType             = plas.BillOfOperationsType
                                                                     and TaskListOpBasic.BillOfOperationsGroup            = plas.BillOfOperationsGroup
                                                                     and (
                                                                        (   // Operation

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

                                                                          TaskListOpBasic.SuperiorOperationInternalID     = plas.BOOOperationInternalID
                                                                        )
                                                                      )
                                                                     and plas.IsDeleted                                   = '' // N_3638581

    left outer to one join I_BillOfOperationsOpBasic     as superior on  TaskListOpBasic.BillOfOperationsType        = superior.BillOfOperationsType
                                                                     and TaskListOpBasic.BillOfOperationsGroup       = superior.BillOfOperationsGroup
                                                                     and TaskListOpBasic.SuperiorOperationInternalID = superior.BOOOperationInternalID

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

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

      /* start suppress warning shlporigin_not_inherited */
  key TaskListOpBasic.BillOfOperationsType                           as TaskListType,
  key TaskListOpBasic.BillOfOperationsGroup                          as TaskListGroup,
  key TaskListOpBasic.BOOOperationInternalID                         as TaskListOperationInternalId,
  key TaskListOpBasic.BOOOpInternalVersionCounter                    as BOOOpInternalVersionCounter,
      plas.BillOfOperationsVariant                                   as TaskListGroupCounter,
      plas.BillOfOperationsSequence                                  as TaskListSequence,
      plas.BOOOperationInternalID                                    as BOOOperationInternalID,
      @EndUserText.label: 'BOM Item Internal Version Counter'
      plas.BOOSqncOpAssgmtIntVersionCntr                             as TaskListOpBOMItmIntVersCounter,

      TaskListOpBasic.SuperiorOperationInternalID,

      plas.CreationDate,

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

      @EndUserText.label: 'Maintenance Task List Operation'
      case when superior.Operation_2 is not null
        then superior.Operation_2
        else TaskListOpBasic.Operation_2
      end                                                            as MaintenanceTaskListOperation,
      @EndUserText.label: 'Maintenance Task List Suboperation'
      case when TaskListOpBasic.SuperiorOperationInternalID <> '00000000'
        then TaskListOpBasic.Operation_2
        else ''
      end                                                            as MaintTaskListSubOperation,

      @Semantics.text:true
      TaskListOpBasic.OperationText,

      TaskListOpBasic.OperationControlProfile,

      TaskListOpBasic.WorkCenterInternalID,

      TaskListOpBasic.WorkCenterTypeCode,

      TaskListOpBasic.Plant,

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


      TaskListOpBasic.OpWorkQuantityUnit,


      TaskListOpBasic.ChangeNumber,

      @Semantics.businessDate.from: true
      cast ( case when plas.IsDeleted = 'X' then plas.ValidityStartDate
                  else TaskListOpBasic.ValidityStartDate
                  end as vdm_v_validity_start_date preserving type ) as ValidityStartDate,

      @Semantics.businessDate.to: true
      cast ( case when plas.ValidityEndDate <= TaskListOpBasic.ValidityEndDate then plas.ValidityEndDate
                  else TaskListOpBasic.ValidityEndDate
                  end as vdm_v_validity_end_date preserving type )   as ValidityEndDate,

      TaskListOpBasic.OperationStandardTextCode,

      TaskListOpBasic.PurchasingInfoRecdAddlGrpgName,

      @Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
      TaskListOpBasic.OpExternalProcessingPrice,

      TaskListOpBasic.NumberOfOperationPriceUnits,

      TaskListOpBasic.OpExternalProcessingCurrency,

      TaskListOpBasic.PurchasingInfoRecord,

      TaskListOpBasic.Supplier,

      TaskListOpBasic.PurchaseContract,

      TaskListOpBasic.PurchaseContractItem,

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


      TaskListOpBasic.OperationStandardDurationUnit,

      TaskListOpBasic.NumberOfCapacities,

      TaskListOpBasic.OperationSystemCondition,

      TaskListOpBasic.CostCtrActivityType,

      TaskListOpBasic.OperationCalculationControl,

      TaskListOpBasic.Assembly,

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

      TaskListOpBasic.PurchaseOrderQuantityUnit,

      cast( TaskListOpBasic.FunctionalLocation as ps_s4_tplnr preserving type )                           as FunctionalLocation,

      TaskListOpBasic.Equipment,

      TaskListOpBasic.PurchasingInfoRecordCategory,

      TaskListOpBasic.PurchasingOrganization,
      
      @EndUserText.label: 'Is Deleted'
      case when plas.IsDeleted = 'X'
        then plas.IsDeleted
        else TaskListOpBasic.IsDeleted
      end  
                                                                as IsDeleted,
      @EndUserText.label: 'Is Implicitly Deleted'
      plas.IsImplicitlyDeleted,

      TaskListOpBasic.OperationUnit,

      TaskListOpBasic.OpQtyToBaseQtyDnmntr,

      TaskListOpBasic.OpQtyToBaseQtyNmrtr,

      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      TaskListOpBasic.OperationReferenceQuantity,

      TaskListOpBasic.PlannedDeliveryDuration,

      TaskListOpBasic.CostElement,

      TaskListOpBasic.PurchasingGroup,

      TaskListOpBasic.MaterialGroup,

      TaskListOpBasic.OperationCostingRelevancyType,

      @Semantics.quantity.unitOfMeasure: 'MinimumDurationUnit'
      TaskListOpBasic.MinimumDuration,
      TaskListOpBasic.MinimumDurationUnit,
      TaskListOpBasic.OperationWorkPercent,
      TaskListOpBasic.CapRqmtsDistributionFunction,
      TaskListOpBasic.CompanyCode,
      TaskListOpBasic.FactoryCalendar,

      TaskListOpBasic.CapacityRequirementDistrKey,

      TaskListOpBasic.MaintOperationExecStageCode,


      /* end suppress warning shlporigin_not_inherited */

      _MaintenanceTaskList,
      _TaskListType
}
where
  (
       TaskListOpBasic.BillOfOperationsType = 'E'
    or TaskListOpBasic.BillOfOperationsType = 'A'
    or TaskListOpBasic.BillOfOperationsType = 'T'
  )