P_EVTBSDREVNRECGNPROJECTISSDET

CDS View

Event based rev. rec. project iss detail

P_EVTBSDREVNRECGNPROJECTISSDET is a CDS View in S/4HANA. Event based rev. rec. project iss detail. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
C_EvtBsdRevnRecgnProjectIssDet view from CONSUMPTION EBRR: Projects - Details
@AbapCatalog.sqlViewName: 'PEBRRPRJISSDET'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE

@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.private: true

define view 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.WBSElement          = $projection.WBSElement
                                                                      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
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_ENTPROJECTRESPONSIBLEPERSON",
"I_EVTBSDREVNRECGNLIFECYCLEOBJ",
"I_WBSELEMENT",
"I_WORKFORCEPERSON",
"P_ACCRUALCOSTPROJECTAMT",
"P_ACCRUALREVENUEPROJECTAMT",
"P_DEFERREDCOSTPROJECTORDERAMT",
"P_DEFERREDREVENUEPROJECTAMT",
"P_EVTBSDREVNRECPROJECTAPPLOG",
"P_UNBILLEDREVENUEPROJECTAMT"
],
"ASSOCIATED":
[
"I_EVTBSDREVNRECGNLIFECYCLEOBJ"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/