P_EvtBsdRevnRecgnProjectIssDet

DDL: P_EVTBSDREVNRECGNPROJECTISSDET Type: view_entity CONSUMPTION Package: FINS_REV_REC_OBSOLETE

Event based rev. rec. project iss detail

P_EvtBsdRevnRecgnProjectIssDet is a Consumption CDS View that provides data about "Event based rev. rec. project iss detail" in SAP S/4HANA. It reads from 3 data sources (P_EvtBsdRevnRecProjectAppLog, I_CompanyCode, I_WBSElement) and exposes 22 fields with key field ApplicationLog. It has 1 association to related views. Part of development package FINS_REV_REC_OBSOLETE.

Data Sources (3)

SourceAliasJoin Type
P_EvtBsdRevnRecProjectAppLog AppLog from
I_CompanyCode CompanyCode inner
I_WBSElement WBSElement inner

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_EvtBsdRevnRecgnLifecycleObj LifecycleObj LifecycleObj.AccountingPrinciple = $projection.AccountingPrinciple and LifecycleObj.WBSElementInternalID = $projection.WBSElementInternalID and LifecycleObj.SDDocument is null and LifecycleObj.SDDocumentItem is null and LifecycleObj.ServiceDocumentType is null and LifecycleObj.ServiceDocument is null and LifecycleObj.ServiceDocumentItem is null

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Event based rev. rec. project iss detail view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
VDM.lifecycle.status #DEPRECATED view
VDM.private true view

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY ApplicationLog P_EvtBsdRevnRecProjectAppLog ApplicationLog
WBSElement I_WBSElement WBSElement
WBSElementInternalID I_WBSElement WBSElementInternalID
AccountingPrinciple P_EvtBsdRevnRecProjectAppLog AccountingPrinciple
CompanyCode P_EvtBsdRevnRecProjectAppLog CompanyCode
DocumentDate I_WBSElement CreationDate
FiscalPeriod P_EvtBsdRevnRecProjectAppLog FiscalPeriod
FiscalYear P_EvtBsdRevnRecProjectAppLog FiscalYear
FiscalYearPeriod
UnbilledRevnInCoCodeCrcy UnbilledRevenue UnbilledRevnInCoCodeCrcy
AccruedRevenueAmtInCCCrcy AccrualRevenue AccruedRevenueAmtInCCCrcy
DeferredRevenueAmtInCCCrcy DeferredRevenue DeferredRevenueAmtInCCCrcy
AccruedCOGSAmtInCCCrcy AccrualCost AccruedCOGSAmtInCCCrcy
DeferredCOGSAmtInCCCrcy DeferredCost DeferredCOGSAmtInCCCrcy
CompanyCodeCurrency I_CompanyCode Currency
EvtBsdRevnRecgnJoinYrPerd LifecycleObj EvtBsdRevnRecgnJoinYrPerd
EvtBsdRevnRecgnBlkgEvalYrPerd LifecycleObj EvtBsdRevnRecgnBlkgEvalYrPerd
EvtBsdRevnRecgnClrgYrPeriod LifecycleObj EvtBsdRevnRecgnClrgYrPeriod
EvtBsdRevnRecgnDecoupleYrPerd LifecycleObj EvtBsdRevnRecgnDecoupleYrPerd
EvtBsdRevnRecgnLastEvalYrPerd LifecycleObj EvtBsdRevnRecgnLastEvalYrPerd
EvtBsdRevnRecgnLastEvalDate LifecycleObj EvtBsdRevnRecgnLastEvalDate
EvtBsdRevnRecgnLastChgYrPerd LifecycleObj EvtBsdRevnRecgnLastChgYrPerd
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Event based rev. rec. project iss detail'

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED

@VDM.viewType: #CONSUMPTION
@VDM.lifecycle.status: #DEPRECATED
@VDM.private: true

define view entity P_EvtBsdRevnRecgnProjectIssDet
  as select from           P_EvtBsdRevnRecProjectAppLog  as AppLog
    inner join             I_WBSElement                  as WBSElement      on WBSElement.WBSElementObject = AppLog.WBSElementObject

    inner join             I_CompanyCode                 as CompanyCode     on CompanyCode.CompanyCode = AppLog.CompanyCode

    left outer to one join P_UnbilledRevenueProjectAmt   as UnbilledRevenue on UnbilledRevenue.WBSElementInternalID = WBSElement.WBSElementInternalID
    left outer to one join P_AccrualRevenueProjectAmt    as AccrualRevenue  on AccrualRevenue.WBSElementInternalID = WBSElement.WBSElementInternalID
    left outer to one join P_DeferredRevenueProjectAmt   as DeferredRevenue on DeferredRevenue.WBSElementInternalID = WBSElement.WBSElementInternalID
    left outer to one join P_AccrualCostProjectAmt       as AccrualCost     on AccrualCost.WBSElementInternalID = WBSElement.WBSElementInternalID
    left outer to one join P_DeferredCostProjectOrderAmt as DeferredCost    on DeferredCost.WBSElementInternalID = WBSElement.WBSElementInternalID

  association [0..1] to I_EvtBsdRevnRecgnLifecycleObj as LifecycleObj on  LifecycleObj.AccountingPrinciple = $projection.AccountingPrinciple
                                                                      and LifecycleObj.WBSElementInternalID = $projection.WBSElementInternalID
                                                                      and LifecycleObj.SDDocument          is null
                                                                      and LifecycleObj.SDDocumentItem      is null
                                                                      and LifecycleObj.ServiceDocumentType is null
                                                                      and LifecycleObj.ServiceDocument     is null
                                                                      and LifecycleObj.ServiceDocumentItem is null
{
  key    AppLog.ApplicationLog,
         WBSElement.WBSElement,
         WBSElement.WBSElementInternalID,
         AppLog.AccountingPrinciple,
         AppLog.CompanyCode,

         // WBSElement.ResponsiblePerson,

         // WBSElement.ResponsiblePersonName,


         cast(  case
                  when WBSElement.ResponsiblePerson = '00000000' or WBSElement.ResponsiblePerson is null
                     then WBSElement._EntProjectResponsiblePerson.PersonWorkAgreement
                   else
                     WBSElement.ResponsiblePerson
                 end as ps_s4_vernr preserving type )   as ResponsiblePerson,

         cast(  case
                  when WBSElement.ResponsiblePerson = '00000000' or WBSElement.ResponsiblePerson is null
                     then WBSElement._EntProjectResponsiblePerson._WorkforcePerson.PersonFullName
                   else
                     WBSElement.ResponsiblePersonName
                 end as ad_namtext preserving type )    as ResponsiblePersonName,

         WBSElement.CreationDate                        as DocumentDate,
         AppLog.FiscalPeriod,
         AppLog.FiscalYear,
         concat(AppLog.FiscalYear, AppLog.FiscalPeriod) as FiscalYearPeriod,

         UnbilledRevenue.UnbilledRevnInCoCodeCrcy,
         AccrualRevenue.AccruedRevenueAmtInCCCrcy,
         DeferredRevenue.DeferredRevenueAmtInCCCrcy,
         AccrualCost.AccruedCOGSAmtInCCCrcy,
         DeferredCost.DeferredCOGSAmtInCCCrcy,

         CompanyCode.Currency                           as CompanyCodeCurrency,

         LifecycleObj.EvtBsdRevnRecgnJoinYrPerd,
         LifecycleObj.EvtBsdRevnRecgnBlkgEvalYrPerd,
         LifecycleObj.EvtBsdRevnRecgnClrgYrPeriod,
         LifecycleObj.EvtBsdRevnRecgnDecoupleYrPerd,
         LifecycleObj.EvtBsdRevnRecgnLastEvalYrPerd,
         LifecycleObj.EvtBsdRevnRecgnLastEvalDate,
         LifecycleObj.EvtBsdRevnRecgnLastChgYrPerd
}
where
      AppLog.Prefix                   = 'PR'
  and WBSElement.WBSElementInternalID is not null