P_EvtBsdRevnRecgnProjectIssDet
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.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| P_EvtBsdRevnRecProjectAppLog | AppLog | from |
| I_CompanyCode | CompanyCode | inner |
| I_WBSElement | WBSElement | inner |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_EvtBsdRevnRecgnLifecycleObj | LifecycleObj | 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 |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PEBRRPRJISSDET | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | 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.private | true | view |
Fields (22)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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 |
@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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA