C_RSHWCUtilizationOverview

DDL: C_RSHWCUTILIZATIONOVERVIEW SQL: CRSHWCUTILOV Type: view CONSUMPTION

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 31 fields with key fields YearWeek, YearMonth, CalendarMonth, CalendarDate, CapacityStartTime. It has 3 associations to related views.

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 (31)

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 MaintenanceOrder Utilization MaintenanceOrder
KEY MaintenancePlan Utilization MaintenancePlan
KEY MaintenanceOrderOperation Utilization MaintenanceOrderOperation
KEY MaintenanceOrderSubOperation Utilization MaintenanceOrderSubOperation
KEY WorkCenter Utilization WorkCenter
KEY OperationControlKey Utilization OperationControlKey
KEY OrderType Utilization OrderType
KEY MaintenanceActivityType
KEY MaintPriorityendasMaintPriority
KEY ProcessingStatus Utilization ProcessingStatus
KEY CalendarWeek Utilization CalendarWeek
ProcessingStatusText
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.MaintenanceOrder                                                                    as MaintenanceOrder,
  key       Utilization.MaintenancePlan                                                                     as MaintenancePlan,
  key       Utilization.MaintenanceOrderOperation,
  key       Utilization.MaintenanceOrderSubOperation,
  key       Utilization.WorkCenter                                                                          as WorkCenter,
  key       Utilization.OperationControlKey                                                                 as OperationControlKey,
  key       Utilization.OrderType                                                                           as OrderType,

  key       cast ( Utilization.MaintenanceActivityType as rsh_eam_maint_activity_type preserving type )     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
            cast( _OperationStatus.ProcessingStatusText as rsh_eam_processing_status_text preserving type ) 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
}

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_RSHOPERATIONACTIVITYTYPEVH",
"C_RSHOPERATIONPROCESSSTATUSVH",
"C_RSHORDERPRIORITYVH",
"I_MAINTENANCEACTIVITYTYPETEXT"
],
"ASSOCIATED":
[
"C_RSHOPERATIONACTIVITYTYPEVH",
"C_RSHOPERATIONPROCESSSTATUSVH",
"C_RSHORDERPRIORITYVH"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/