C_RSHWCUtilizationOverview

DDL: C_RSHWCUTILIZATIONOVERVIEW SQL: CRSHWCUTILOV Type: view CONSUMPTION Package: RSH_CDS_WC_UTILIZATION

Work Center Utilization

C_RSHWCUtilizationOverview is a Consumption CDS View that provides data about "Work Center Utilization" in SAP S/4HANA. It reads from 1 data source (P_RSHWrkCtrUtilization) and exposes 30 fields with key fields YearWeek, YearMonth, CalendarMonth, CalendarDate, CapacityStartTime. It has 3 associations to related views. Part of development package RSH_CDS_WC_UTILIZATION.

Data Sources (1)

SourceAliasJoin Type
P_RSHWrkCtrUtilization P_RSHWrkCtrUtilization from

Parameters (2)

NameTypeDefault
P_StartDate datum
P_EndDate datum

Associations (3)

CardinalityTargetAliasCondition
[0..1] C_RSHOperationProcessStatusVH _OperationStatus _OperationStatus.ProcessingStatus = Utilization.ProcessingStatus
[0..1] C_RSHOperationActivityTypeVH _ActivityTypeVH _ActivityTypeVH.MaintenanceActivityType = Utilization.MaintenanceActivityType
[0..1] C_RSHOrderPriorityVH _PriorityVH _PriorityVH.MaintPriority = Utilization.MaintPriority and _PriorityVH.MaintPriorityType = Utilization.MaintPriorityType

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName CRSHWCUTILOV view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Work Center Utilization view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XL view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY YearWeek Utilization YearWeek
KEY YearMonth Utilization YearMonth
KEY CalendarMonth Utilization CalendarMonth
KEY CalendarDate Utilization CalendarDate
KEY CapacityStartTime Utilization CapacityStartTime
KEY AvailableCapacityShift Utilization AvailableCapacityShift
KEY MaintenancePlan Utilization MaintenancePlan
KEY MaintOrderRoutingNumber Utilization MaintOrderRoutingNumber
KEY MaintOrderOperationCounter Utilization MaintOrderOperationCounter
KEY WorkCenter Utilization WorkCenter
KEY OperationControlKey Utilization OperationControlKey
KEY OrderType Utilization OrderType
KEY MaintenanceActivityType Utilization MaintenanceActivityType Maintenance Activity Type
KEY MaintPriorityendasMaintPriority
KEY ProcessingStatus Utilization ProcessingStatus
KEY CalendarWeek Utilization CalendarWeek
ProcessingStatusText _OperationStatus ProcessingStatusText Processing Status Text
WorkCenterCategoryCode Utilization WorkCenterCategoryCode
Plant Utilization Plant
MaintPriorityDesc _PriorityVH MaintPriorityDesc
MaintenanceActivityTypeName
WorkCenterUtilization
WorkCenterUtilznThreshold
WorkCenterAvailableCapacity Utilization TotalCapacity
WorkCenterRequiredCapacity Utilization UsedCapacity
WorkCenterCapacityUnit
WorkCenterInternalID WorkCenterInternalID
WorkCenterTypeCode WorkCenterTypeCode
MaintPriorityColorCode MaintPriorityColorCode
WorkCenterText
@AbapCatalog.sqlViewName: 'CRSHWCUTILOV'
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Work Center Utilization'
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #XL

/*
CONTRACT**********************************************************************************************************************

Name:                       Work Center Utilization
Specification:              This View returns the utilization percentage of work center on a weekly basis within the suppied
                            date interval
Requires:                   Attribute based on which utilization percentage should be calculated.
                            This attribute will be supplied from the UI side and the result will be grouped accordingly in the
                            gateway layer, based on the data returned by this CDS view.
                            - If Work Center is passed, view returns utilization of individual work centers
                            - If other attributes( priority, control key, activity type, order type, status ) is passed
                              utlization percentage is calculated according to the category without considering the work center
Ensures:                    Work Center Utilization is returned
Owners:                     AN
Contributors:               PRP
Unit Test required Y/N:     Yes
Additional comments         None

END OF CONTRACT***************************************************************************************************************
*/

define view C_RSHWCUtilizationOverview
  with parameters
    P_StartDate : datum,
    P_EndDate   : datum
//  as select from P_RSHWCUtilization(P_StartDate : $parameters.P_StartDate, P_EndDate : $parameters.P_EndDate) as Utilization

  as select from P_RSHWrkCtrUtilization(P_SAPClient : $session.client, P_StartDate : $parameters.P_StartDate, P_EndDate : $parameters.P_EndDate) as Utilization
  association [0..1] to C_RSHOperationProcessStatusVH as _OperationStatus on  _OperationStatus.ProcessingStatus = Utilization.ProcessingStatus
  association [0..1] to C_RSHOperationActivityTypeVH  as _ActivityTypeVH  on  _ActivityTypeVH.MaintenanceActivityType = Utilization.MaintenanceActivityType
  association [0..1] to C_RSHOrderPriorityVH          as _PriorityVH      on  _PriorityVH.MaintPriority     = Utilization.MaintPriority
                                                                          and _PriorityVH.MaintPriorityType = Utilization.MaintPriorityType
{

  key       Utilization.YearWeek                                                                         as YearWeek,
  key       Utilization.YearMonth                                                                        as YearMonth,
  key       Utilization.CalendarMonth                                                                    as CalendarMonth,
  key       Utilization.CalendarDate                                                                     as CalendarDate,
  key       Utilization.CapacityStartTime                                                                as CapacityStartTime,
  key       Utilization.AvailableCapacityShift                                                           as AvailableCapacityShift,
  key       Utilization.MaintenancePlan                                                                  as MaintenancePlan,
  key       Utilization.MaintOrderRoutingNumber,
  key       Utilization.MaintOrderOperationCounter,
  key       Utilization.WorkCenter                                                                       as WorkCenter,
  key       Utilization.OperationControlKey                                                              as OperationControlKey,
  key       Utilization.OrderType                                                                        as OrderType,

            @EndUserText.label: 'Maintenance Activity Type'
  key       Utilization.MaintenanceActivityType                                                          as MaintenanceActivityType,

            // to ensure that "No Priority" gets sorted to the end

            @ObjectModel.text.element:  [ 'MaintPriorityDesc' ]
  key       case when Utilization.MaintPriority = ''  then '_'
            else Utilization.MaintPriority
            end

                                                                                                         as MaintPriority,
            @ObjectModel.text.element:  [ 'ProcessingStatusText' ]
  key       Utilization.ProcessingStatus                                                                 as ProcessingStatus,
  key       Utilization.CalendarWeek                                                                     as CalendarWeek,

            @Semantics.text: true
            @EndUserText.label: 'Processing Status Text'
            _OperationStatus.ProcessingStatusText                                                        as ProcessingStatusText,

            Utilization.WorkCenterCategoryCode                                                           as WorkCenterCategoryCode,
            Utilization.Plant                                                                            as Plant,

            _PriorityVH.MaintPriorityDesc                                                                as MaintPriorityDesc,
            _ActivityTypeVH._Text[ 1: Language = $session.system_language  ].MaintenanceActivityTypeName as MaintenanceActivityTypeName,

            cast ( 0 as abap.dec(10,2) )                                                                 as WorkCenterUtilization,
            // At the moment, the utilization threshold is always 75%

            cast (75 as abap.dec(10,2) )                                                                 as WorkCenterUtilznThreshold,

            @DefaultAggregation : #SUM
            Utilization.TotalCapacity                                                                    as WorkCenterAvailableCapacity,

            @DefaultAggregation : #SUM
            Utilization.UsedCapacity                                                                     as WorkCenterRequiredCapacity,

            cast (' ' as mseh3 )                                                                         as WorkCenterCapacityUnit,

            WorkCenterInternalID,
            WorkCenterTypeCode,
            MaintPriorityColorCode                                                                       as MaintPriorityColorCode,
            //used to concatenate the work center and plant in ABAP

            cast ( ' ' as char20 )                                                                       as WorkCenterText
}