P_EvtBsdRevnRecProjectIssue
Event based rev. rec. project issue
P_EvtBsdRevnRecProjectIssue is a Consumption CDS View that provides data about "Event based rev. rec. project issue" in SAP S/4HANA. It reads from 5 data sources (P_EvtBsdRevnRecProjectAppLog, I_CompanyCode, I_EvtBasedRevnRecgnEvalArea, P_Trrmonaccprin, I_WBSElementBasicData) and exposes 25 fields with key field ApplicationLog. It has 1 association to related views. Part of development package FINS_REV_REC_PECRUN.
Data Sources (5)
| Source | Alias | Join Type |
|---|---|---|
| P_EvtBsdRevnRecProjectAppLog | AppLog | from |
| I_CompanyCode | CompanyCode | inner |
| I_EvtBasedRevnRecgnEvalArea | EvalAreaUse | inner |
| P_Trrmonaccprin | Trrmonaccprin | inner |
| I_WBSElementBasicData | WBSElement | inner |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_EntProjectResponsiblePerson | _EntProjectResponsiblePerson | $projection.WBSElementInternalID = _EntProjectResponsiblePerson.WBSElementInternalID |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | Event based rev. rec. project issue | 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 (25)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ApplicationLog | P_EvtBsdRevnRecProjectAppLog | ApplicationLog | |
| WBSElement | I_WBSElementBasicData | WBSElement | ||
| WBSElementExternalID | I_WBSElementBasicData | WBSElementExternalID | ||
| ProjectInternalID | I_WBSElementBasicData | ProjectInternalID | ||
| ProjectExternalID | ||||
| WBSElementInternalID | I_WBSElementBasicData | WBSElementInternalID | ||
| FiscalPeriod | P_EvtBsdRevnRecProjectAppLog | FiscalPeriod | ||
| FiscalYear | P_EvtBsdRevnRecProjectAppLog | FiscalYear | ||
| ApplicationLogHandle | P_EvtBsdRevnRecProjectAppLog | ApplicationLogHandle | ||
| NumberOfOpenErrorMessages | P_EvtBsdRevnRecProjectAppLog | NumberOfOpenErrorMessages | ||
| ToFiscalYearPeriod | ||||
| FiscalYearPeriod | ||||
| ProfitCenter | I_WBSElementBasicData | ProfitCenter | ||
| Ledger | I_EvtBasedRevnRecgnEvalArea | Ledger | ||
| AccountingPrinciple | P_Trrmonaccprin | acc_principle | ||
| CompanyCode | I_CompanyCode | CompanyCode | ||
| CompanyCodeName | I_CompanyCode | CompanyCodeName | ||
| FiscalYearVariant | I_CompanyCode | FiscalYearVariant | ||
| Prefix | P_EvtBsdRevnRecProjectAppLog | Prefix | ||
| ResultAnalysisInternalID | I_WBSElementBasicData | ResultAnalysisInternalID | ||
| ExternalNumber | P_EvtBsdRevnRecProjectAppLog | ExternalNumber | ||
| WBSElementObject | P_EvtBsdRevnRecProjectAppLog | WBSElementObject | ||
| ResponsiblePerson | _EntProjectResponsiblePerson | PersonWorkAgreement | ||
| PersonFullName | ||||
| _EntProjectResponsiblePerson | _EntProjectResponsiblePerson |
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Event based rev. rec. project issue'
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@VDM.viewType: #CONSUMPTION
@VDM.private: true
define view entity P_EvtBsdRevnRecProjectIssue
as select from P_EvtBsdRevnRecProjectAppLog as AppLog
inner join I_WBSElementBasicData as WBSElement on WBSElement.WBSElementObject = AppLog.WBSElementObject
inner join I_CompanyCode as CompanyCode on CompanyCode.CompanyCode = AppLog.CompanyCode
//AppLog.AccountingPrinciple contains EvaluationArea, in future will the field Applog.AccountingPrinciple contain Ledger only
inner join I_EvtBasedRevnRecgnEvalArea as EvalAreaUse on EvalAreaUse.CompanyCode = AppLog.CompanyCode
and EvalAreaUse.EvtBsdRevnEvalArea = AppLog.AccountingPrinciple
inner join P_Trrmonaccprin as Trrmonaccprin on Trrmonaccprin.rldnr = EvalAreaUse.Ledger
and Trrmonaccprin.bukrs = AppLog.CompanyCode
and Trrmonaccprin.abgsl = WBSElement.ResultAnalysisInternalID
//left outer to one join I_PersonWorkAgreement_1 as PersonWorkAgreement on PersonWorkAgreement.PersonWorkAgreement = WBSElement.ResponsiblePerson
left outer to one join P_RAIntegEBRRWBSElement as RAIntegObjEBRR on RAIntegObjEBRR.WBSElementInternalID = WBSElement.WBSElementInternalID
// Responsible person for WBS Element
association [0..1] to I_EntProjectResponsiblePerson as _EntProjectResponsiblePerson on $projection.WBSElementInternalID = _EntProjectResponsiblePerson.WBSElementInternalID
{
key AppLog.ApplicationLog,
WBSElement.WBSElement, //prps.posid
WBSElement.WBSElementExternalID,
WBSElement.ProjectInternalID, //prps.psphi
// WBSElement._Project.Project, //proj.pspid
WBSElement._Project.ProjectExternalID,
WBSElement.WBSElementInternalID, //prps.pspnr
AppLog.FiscalPeriod,
AppLog.FiscalYear,
AppLog.ApplicationLogHandle,
AppLog.NumberOfOpenErrorMessages,
concat(AppLog.FiscalPeriod, concat('.', AppLog.FiscalYear) ) as ToFiscalYearPeriod,
concat(AppLog.FiscalYear, AppLog.FiscalPeriod) as FiscalYearPeriod,
WBSElement.ProfitCenter,
EvalAreaUse.Ledger as Ledger,
Trrmonaccprin.acc_principle as AccountingPrinciple,
CompanyCode.CompanyCode,
CompanyCode.CompanyCodeName,
CompanyCode.FiscalYearVariant,
AppLog.Prefix,
WBSElement.ResultAnalysisInternalID,
AppLog.ExternalNumber,
AppLog.WBSElementObject, //balhdr.extnumber.objnr
//WBSElement.ResponsiblePerson,
//PersonWorkAgreement.PersonFullName,
// 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,
_EntProjectResponsiblePerson.PersonWorkAgreement 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 PersonFullName,
_EntProjectResponsiblePerson._WorkforcePerson.PersonFullName,
//for access control
_EntProjectResponsiblePerson
}
where
AppLog.Prefix = 'PR'
and WBSElement.WBSElementInternalID is not null
and ( RAIntegObjEBRR.PerformanceObligation is null
or RAIntegObjEBRR.PerformanceObligation is initial )
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