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_WBSElement) and exposes 25 fields with key field ApplicationLog. It has 1 association to related views.
Data Sources (5)
| Source | Alias | Join Type |
|---|---|---|
| P_EvtBsdRevnRecProjectAppLog | AppLog | from |
| I_CompanyCode | CompanyCode | inner |
| I_EvtBasedRevnRecgnEvalArea | EvalAreaUse | inner |
| P_Trrmonaccprin | Trrmonaccprin | inner |
| I_WBSElement | WBSElement | inner |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | C_EvtBsdRevnRecgnProjectIssDet | _ProjectIssDetail | _ProjectIssDetail.ApplicationLog = $projection.ApplicationLog |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PEBRRPROJECTRSLT | 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 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_WBSElement | WBSElement | ||
| ProjectInternalID | I_WBSElement | ProjectInternalID | ||
| Project | I_WBSElement | Project | ||
| WBSElementInternalID | I_WBSElement | WBSElementInternalID | ||
| FiscalPeriod | P_EvtBsdRevnRecProjectAppLog | FiscalPeriod | ||
| FiscalYear | P_EvtBsdRevnRecProjectAppLog | FiscalYear | ||
| ApplicationLogHandle | P_EvtBsdRevnRecProjectAppLog | ApplicationLogHandle | ||
| NumberOfOpenErrorMessages | P_EvtBsdRevnRecProjectAppLog | NumberOfOpenErrorMessages | ||
| ToFiscalYearPeriod | ||||
| FiscalYearPeriod | ||||
| ProfitCenter | I_WBSElement | 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_WBSElement | ResultAnalysisInternalID | ||
| ExternalNumber | P_EvtBsdRevnRecProjectAppLog | ExternalNumber | ||
| WBSElementObject | P_EvtBsdRevnRecProjectAppLog | WBSElementObject | ||
| _ProjectIssDetail | _ProjectIssDetail | |||
| _EntProjectResponsiblePerson | I_WBSElement | _EntProjectResponsiblePerson | ||
| _ResponsiblePerson | I_WBSElement | _ResponsiblePerson | ||
| WBSResponsiblePerson | I_WBSElement | ResponsiblePerson |
@AbapCatalog.sqlViewName: 'PEBRRPROJECTRSLT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@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 P_EvtBsdRevnRecProjectIssue
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
//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
association [0..1] to C_EvtBsdRevnRecgnProjectIssDet as _ProjectIssDetail on _ProjectIssDetail.ApplicationLog = $projection.ApplicationLog
{
key AppLog.ApplicationLog,
WBSElement.WBSElement, //prps.posid
WBSElement.ProjectInternalID, //prps.psphi
WBSElement.Project, //proj.pspid
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,
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,
_ProjectIssDetail,
//for access control
WBSElement._EntProjectResponsiblePerson,
WBSElement._ResponsiblePerson,
WBSElement.ResponsiblePerson as WBSResponsiblePerson
}
where
AppLog.Prefix = 'PR'
and WBSElement.WBSElementInternalID is not null
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_ENTPROJECTRESPONSIBLEPERSON",
"I_EVTBASEDREVNRECGNEVALAREA",
"I_PERSONWORKAGREEMENT_1",
"I_WBSELEMENT",
"I_WORKFORCEPERSON",
"P_EVTBSDREVNRECPROJECTAPPLOG",
"P_TRRMONACCPRIN"
],
"ASSOCIATED":
[
"C_EVTBSDREVNRECGNPROJECTISSDET",
"I_ENTPROJECTRESPONSIBLEPERSON",
"I_PROJECTRESPONSIBLEPERSON"
],
"BASE":
[
"I_WBSELEMENT"
],
"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