P_RSHWCUtilization

DDL: P_RSHWCUTILIZATION SQL: PRSHWCUTIL Type: view CONSUMPTION

P_RSHWCUtilization is a Consumption CDS View in SAP S/4HANA. It reads from 4 data sources (I_CalendarDate, I_CalendarDate, P_RSHWCCapacityPerWorkDay, P_RSHOperationWorkPerDay) and exposes 58 fields with key fields YearMonth, YearWeek, CalendarDate, MaintenanceOrder, MaintenancePlan.

Data Sources (4)

SourceAliasJoin Type
I_CalendarDate CalendarDate inner
I_CalendarDate Calendardate inner
P_RSHWCCapacityPerWorkDay Capacity from
P_RSHOperationWorkPerDay P_RSHOperationWorkPerDay union_all

Parameters (2)

NameTypeDefault
P_StartDate datum
P_EndDate datum

Annotations (5)

NameValueLevelField
AbapCatalog.sqlViewName PRSHWCUTIL view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.private true view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (58)

KeyFieldSource TableSource FieldDescription
KEY YearMonth I_CalendarDate YearMonth
KEY YearWeek I_CalendarDate YearWeek
KEY CalendarDate P_RSHWCCapacityPerWorkDay CalendarDate
KEY MaintenanceOrder
KEY MaintenancePlan
KEY MaintenanceOrderOperation
KEY MaintenanceOrderSubOperation
KEY CapacityStartTime P_RSHWCCapacityPerWorkDay CapacityStartTime
KEY AvailableCapacityShift P_RSHWCCapacityPerWorkDay AvailableCapacityShift
CapacityEndTime P_RSHWCCapacityPerWorkDay CapacityEndTime
CapacityInternalID P_RSHWCCapacityPerWorkDay CapacityInternalID
WorkCenterInternalID P_RSHWCCapacityPerWorkDay WorkCenterInternalID
WorkCenter P_RSHWCCapacityPerWorkDay WorkCenter
Plant P_RSHWCCapacityPerWorkDay Plant
WorkCenterTypeCode P_RSHWCCapacityPerWorkDay WorkCenterTypeCode
WorkCenterCategoryCode P_RSHWCCapacityPerWorkDay WorkCenterCategoryCode
OperationControlKey
OrderType
MaintenanceActivityType
MaintPriority
MaintPriorityType
ProcessingStatus 0
OperationPersonResponsible
CalendarWeek I_CalendarDate CalendarWeek
CalendarMonth I_CalendarDate CalendarMonth
TotalCapacity P_RSHWCCapacityPerWorkDay TotOperatingDurationInSeconds
OperatingDurationInSeconds P_RSHWCCapacityPerWorkDay OperatingDurationInSeconds
UsedCapacity
P_StartDate
YearMonthasYearMonth
KEY YearWeek I_CalendarDate YearWeek
KEY CalendarDate I_CalendarDate CalendarDate
KEY MaintenanceOrder Consumption MaintenanceOrder
KEY MaintenancePlan Consumption MaintenancePlan
KEY MaintenanceOrderOperation Consumption MaintenanceOrderOperation
KEY MaintenanceOrderSubOperation Consumption MaintenanceOrderSubOperation
KEY CapacityStartTime Consumption CapacityStartTime
KEY AvailableCapacityShift Consumption AvailableCapacityShift
CapacityEndTime Consumption CapacityEndTime
CapacityInternalID Consumption CapacityInternalID
WorkCenterInternalID Consumption WorkCenterInternalID
WorkCenter Consumption WorkCenter
Plant Consumption Plant
WorkCenterTypeCode Consumption WorkCenterTypeCode
WorkCenterCategoryCode Consumption WorkCenterCategoryCode
OperationControlKey Consumption OperationControlKey
OrderType Consumption OrderType
MaintenanceActivityType Consumption MaintenanceActivityType
MaintPriority Consumption MaintPriority
MaintPriorityType Consumption MaintPriorityType
ProcessingStatus Consumption ProcessingStatus
OperationPersonResponsible Consumption OperationPersonResponsible
CalendarWeek I_CalendarDate CalendarWeek
CalendarMonth I_CalendarDate CalendarMonth
TotalCapacity 0
OperatingDurationInSeconds
UsedCapacity Consumption WorkPerDay
TotalWorkCenterCapacity
@AbapCatalog.sqlViewName: 'PRSHWCUTIL'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.private: true
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE

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

Name:                       Work Center Utilization
Specification:              This View combines the work center consumption and work center capacity on a daily basis
Requires:                   NA
Ensures:                    Attributes required for filtering/ grouping and DCL exist (e.g. Work Center, Order Type etc.)
Owners:                     PRP
Contributors:               AN
Unit Test required Y/N:     Yes
Additional comments         Work Center Utilization is calculated in ABAP Gateway Class.
                            OrderID, OperationID and SubOperationID could be used to determine the consumption of subsets/ selections.

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

define view P_RSHWCUtilization
  with parameters
    P_StartDate : datum,
    P_EndDate   : datum

  as select from P_RSHWCCapacityPerWorkDay as Capacity

    inner join   I_CalendarDate            as CalendarDate on CalendarDate.CalendarDate = Capacity.CalendarDate

{

  key  CalendarDate.YearMonth,
  key  CalendarDate.YearWeek                  as YearWeek,
  key  Capacity.CalendarDate                  as CalendarDate,
  key  cast(' ' as aufnr )                    as MaintenanceOrder,
  key  cast (' ' as warpl )                   as MaintenancePlan,
  key  cast(' ' as vornr )                    as MaintenanceOrderOperation,
  key  cast(' ' as vornr )                    as MaintenanceOrderSubOperation,
  key  Capacity.CapacityStartTime             as CapacityStartTime,
  key  Capacity.AvailableCapacityShift        as AvailableCapacityShift,
       Capacity.CapacityEndTime               as CapacityEndTime,
       Capacity.CapacityInternalID            as CapacityInternalID,
       Capacity.WorkCenterInternalID          as WorkCenterInternalID,
       Capacity.WorkCenter                    as WorkCenter,
       Capacity.Plant                         as Plant,
       Capacity.WorkCenterTypeCode            as WorkCenterTypeCode,
       Capacity.WorkCenterCategoryCode        as WorkCenterCategoryCode,
       cast(' ' as steus )                    as OperationControlKey,
       cast(' ' as aufart )                   as OrderType,
       cast(' ' as ila )                      as MaintenanceActivityType,
       cast(' ' as priok )                    as MaintPriority,
       cast ( ' ' as artpr )                  as MaintPriorityType,
       0                                      as ProcessingStatus,
       '00000000'                             as OperationPersonResponsible,
       CalendarDate.CalendarWeek              as CalendarWeek,
       CalendarDate.CalendarMonth,

       Capacity.TotOperatingDurationInSeconds as TotalCapacity,
       Capacity.OperatingDurationInSeconds    as OperatingDurationInSeconds,
       cast( 0 as abap.fltp )                 as UsedCapacity,
       cast( 0 as abap.fltp )                 as TotalWorkCenterCapacity
}
where
  Capacity.CalendarDate between $parameters.P_StartDate and $parameters.P_EndDate

union all

select from  P_RSHOperationWorkPerDay (P_StartDate : $parameters.P_StartDate,
                                       P_EndDate   : $parameters.P_EndDate) as Consumption
  inner join I_CalendarDate                                                 as Calendardate on  Consumption.CalendarDate  = Calendardate.CalendarDate
                                                                                            and Calendardate.CalendarDate between $parameters.P_StartDate and $parameters.P_EndDate

{
  key  Calendardate.YearMonth                   as YearMonth,
  key  Calendardate.YearWeek                    as YearWeek,
  key  Calendardate.CalendarDate                as CalendarDate,
  key  Consumption.MaintenanceOrder             as MaintenanceOrder,
  key  Consumption.MaintenancePlan              as MaintenancePlan,
  key  Consumption.MaintenanceOrderOperation    as MaintenanceOrderOperation,
  key  Consumption.MaintenanceOrderSubOperation as MaintenanceOrderSubOperation,
  key  Consumption.CapacityStartTime            as CapacityStartTime,
  key  Consumption.AvailableCapacityShift       as AvailableCapacityShift,
       Consumption.CapacityEndTime              as CapacityEndTime,
       Consumption.CapacityInternalID           as CapacityInternalID,
       Consumption.WorkCenterInternalID         as WorkCenterInternalID,
       Consumption.WorkCenter                   as WorkCenter,
       Consumption.Plant                        as Plant,
       Consumption.WorkCenterTypeCode           as WorkCenterTypeCode,
       Consumption.WorkCenterCategoryCode       as WorkCenterCategoryCode,
       Consumption.OperationControlKey          as OperationControlKey,
       Consumption.OrderType                    as OrderType,
       Consumption.MaintenanceActivityType      as MaintenanceActivityType,
       Consumption.MaintPriority                as MaintPriority,
       Consumption.MaintPriorityType            as MaintPriorityType,
       Consumption.ProcessingStatus             as ProcessingStatus,
       Consumption.OperationPersonResponsible   as OperationPersonResponsible,
       Calendardate.CalendarWeek                as CalendarWeek,
       Calendardate.CalendarMonth,

       0                                        as TotalCapacity,
       cast ( 0 as abap.fltp )                  as OperatingDurationInSeconds,
       Consumption.WorkPerDay                   as UsedCapacity,
       cast( 0 as abap.fltp )                   as TotalWorkCenterCapacity

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CALENDARDATE",
"P_RSHOPERATIONWORKPERDAY",
"P_RSHWCCAPACITYPERWORKDAY"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/