P_WrkCtrWorkDays

DDL: P_WRKCTRWORKDAYS Type: view_entity COMPOSITE Package: PPH_VDM_CAP_EVAL

Work Days of a Factory Calendar

P_WrkCtrWorkDays is a Composite CDS View that provides data about "Work Days of a Factory Calendar" in SAP S/4HANA. It reads from 3 data sources (I_CalendarDate, I_FactoryCalWorkingDaysPerYr, P_WrkCtrCapAreaOfRespyHrzn) and exposes 7 fields with key fields CalendarDate, FactoryCalendar. Part of development package PPH_VDM_CAP_EVAL.

Data Sources (3)

SourceAliasJoin Type
I_CalendarDate _CalendarDate from
I_FactoryCalWorkingDaysPerYr _FactoryCalendar inner
P_WrkCtrCapAreaOfRespyHrzn _Horizon inner

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Work Days of a Factory Calendar view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY CalendarDate I_CalendarDate CalendarDate
KEY FactoryCalendar I_FactoryCalWorkingDaysPerYr FactoryCalendar
CalendarMonth I_CalendarDate CalendarMonth
CalendarYear I_CalendarDate CalendarYear
CalendarWeek I_CalendarDate CalendarWeek
YearWeek I_CalendarDate YearWeek
WeekDay I_CalendarDate WeekDay
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Work Days of a Factory Calendar'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #S,
  dataClass: #MIXED
}
@VDM.private:true 
@VDM.viewType: #COMPOSITE
define view entity P_WrkCtrWorkDays as select from I_CalendarDate as _CalendarDate
inner join I_FactoryCalWorkingDaysPerYr as _FactoryCalendar on _CalendarDate.CalendarYear = _FactoryCalendar.CalendarYear
inner join P_WrkCtrCapAreaOfRespyHrzn as _Horizon on _CalendarDate.CalendarDate >= _Horizon.HorizonStartDate
                                                  and _CalendarDate.CalendarDate <= _Horizon.HorizonEndDate

{
                  key _CalendarDate.CalendarDate,
                  key _FactoryCalendar.FactoryCalendar,
                  _CalendarDate.CalendarMonth,
                  _CalendarDate.CalendarYear,
                  _CalendarDate.CalendarWeek,
                  _CalendarDate.YearWeek,
                  _CalendarDate.WeekDay,
                  case
                  when _CalendarDate.CalendarMonth = '01' then cast(substring(_FactoryCalendar.Month01WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '02' then cast(substring(_FactoryCalendar.Month02WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '03' then cast(substring(_FactoryCalendar.Month03WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '04' then cast(substring(_FactoryCalendar.Month04WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '05' then cast(substring(_FactoryCalendar.Month05WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '06' then cast(substring(_FactoryCalendar.Month06WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '07' then cast(substring(_FactoryCalendar.Month07WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '08' then cast(substring(_FactoryCalendar.Month08WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '09' then cast(substring(_FactoryCalendar.Month09WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '10' then cast(substring(_FactoryCalendar.Month10WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '11' then cast(substring(_FactoryCalendar.Month11WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  when _CalendarDate.CalendarMonth = '12' then cast(substring(_FactoryCalendar.Month12WorkingDaysString, cast(_CalendarDate.CalendarDay as abap.int2), 1) as abap.int1)
                  else 0
                  end as workdays
}