P_ENTPROJECTACTCOSTS
P_ENTPROJECTACTCOSTS is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (P_IsLeadingLedger, I_GLAccountLineItemRawData, P_PROJWITHPROJCAT6, P_PROJECTSEMTAGACC) and exposes 15 fields with key fields Project, ProjectInternalID. It has 4 associations to related views.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| P_IsLeadingLedger | Ledger | inner |
| I_GLAccountLineItemRawData | ProjCstLineItm | inner |
| P_PROJWITHPROJCAT6 | Project | from |
| P_PROJECTSEMTAGACC | SemanticTag | inner |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_IsCommitment | fins_xcommitment |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PPM_AuthznByUsrH | _AuthUserFin | _AuthUserFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthUserFin.UserID = $session.user and _AuthUserFin.Activity = 'Financials' |
| [0..*] | I_PPM_AuthznBySubstitH | _AuthSubstFin | _AuthSubstFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthSubstFin.UserID = $session.user and _AuthSubstFin.Activity = 'Financials' |
| [0..*] | I_PPM_AuthznByUserRoleH | _AuthRoleFin | _AuthRoleFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthRoleFin.UserID = $session.user and _AuthRoleFin.Activity = 'Financials' |
| [0..*] | I_PPM_AuthznByUsrGrpH | _AuthGroupFin | _AuthGroupFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID and _AuthGroupFin.UserID = $session.user |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PENTPROJACTCOSTS | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AbapCatalog.buffering.status | #NOT_ALLOWED | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.private | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (15)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Project | |||
| KEY | ProjectInternalID | P_PROJWITHPROJCAT6 | ProjectInternalID | |
| ProjectSummaryTaskUUID | ProjectSummaryTaskUUID | |||
| ProjectUUID | ProjectUUID | |||
| GlobalCurrency | GlobalCurrency | |||
| ActualAmountInGlobalCurrency | ||||
| PlanAmountInGlobalCurrency | ||||
| CmtmtCostInGlobalCurrency | ||||
| PredictedAmtInGlobalCurrency | ||||
| BaselineAmtInGlobalCrcy | ||||
| IsCommitment | I_GLAccountLineItemRawData | IsCommitment | ||
| _AuthUserFin | _AuthUserFin | |||
| _AuthSubstFin | _AuthSubstFin | |||
| _AuthRoleFin | _AuthRoleFin | |||
| _AuthGroupFin | _AuthGroupFin |
@AbapCatalog.sqlViewName: 'PENTPROJACTCOSTS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@VDM.viewType: #COMPOSITE
@VDM.private: true
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_ENTPROJECTACTCOSTS
with parameters
P_IsCommitment : fins_xcommitment
as select from P_PROJWITHPROJCAT6 as Project
inner join I_GLAccountLineItemRawData as ProjCstLineItm on ProjCstLineItm.WBSElementInternalID = Project.WBSElementInternalID
and ProjCstLineItm.ProjectInternalID = Project.ProjectInternalID
inner join P_IsLeadingLedger as Ledger on ProjCstLineItm.SourceLedger = Ledger.SourceLedger
inner join P_PROJECTSEMTAGACC as SemanticTag on ProjCstLineItm.ControllingArea = SemanticTag.ControllingArea
and ProjCstLineItm.GLAccount = SemanticTag.HierarchyNodeVal
and ProjCstLineItm.ChartOfAccounts = SemanticTag.HierarchyNodeClass
association [0..1] to I_PPM_AuthznByUsrH as _AuthUserFin on _AuthUserFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthUserFin.UserID = $session.user
and _AuthUserFin.Activity = 'Financials'
association [0..*] to I_PPM_AuthznBySubstitH as _AuthSubstFin on _AuthSubstFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthSubstFin.UserID = $session.user
and _AuthSubstFin.Activity = 'Financials'
association [0..*] to I_PPM_AuthznByUserRoleH as _AuthRoleFin on _AuthRoleFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthRoleFin.UserID = $session.user
and _AuthRoleFin.Activity = 'Financials'
association [0..*] to I_PPM_AuthznByUsrGrpH as _AuthGroupFin on _AuthGroupFin.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthGroupFin.UserID = $session.user
{
key ProjCstLineItm._ProjectBasicData.ProjectExternalID as Project,
key Project.ProjectInternalID,
ProjectSummaryTaskUUID,
ProjectUUID,
@Semantics.currencyCode:true
GlobalCurrency,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'}}
sum(ProjCstLineItm.AmountInGlobalCurrency) as ActualAmountInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'}}
cast ( 0 as fis_ksl ) as PlanAmountInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'}}
cast ( 0 as fis_ksl ) as CmtmtCostInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'}}
cast ( 0 as fis_ksl ) as PredictedAmtInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'}}
cast ( 0 as fis_ksl ) as BaselineAmtInGlobalCrcy,
ProjCstLineItm.IsCommitment,
_AuthUserFin,
_AuthSubstFin,
_AuthRoleFin,
_AuthGroupFin
}
where
ProjCstLineItm.WBSElementInternalID = Project.WBSElementInternalID
and ProjCstLineItm.ProjectInternalID = Project.ProjectInternalID
and ProjCstLineItm.CompanyCode = Project.CompanyCode
and ProjCstLineItm.IsCommitment = $parameters.P_IsCommitment
and not(
(
ControllingDebitCreditCode = 'A'
)
or(
ControllingDebitCreditCode = 'S'
and(
BusinessTransactionType = 'KOAO'
or BusinessTransactionType = 'KOAE'
)
and(
PartnerProject = ' '
and PartnerOrder = ' '
and PartnerSalesDocument = ' '
and PartnerProjectNetwork = ' '
and PartnerProjectNetworkActivity = ' '
and PartnerBusinessProcess = ' '
and PartnerCostObject = ' '
)
)
or(
ControllingDebitCreditCode = 'S'
and(
BusinessTransactionType = 'KOAO'
or BusinessTransactionType = 'KOAE'
)
and(
PartnerProject = ProjCstLineItm.Project
)
)
)
group by
ProjCstLineItm._ProjectBasicData.ProjectExternalID,
Project.ProjectInternalID,
ProjectSummaryTaskUUID,
ProjectUUID,
GlobalCurrency,
ProjCstLineItm.IsCommitment
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_GLACCOUNTLINEITEMRAWDATA",
"I_PROJECTBASICDATA",
"P_ISLEADINGLEDGER",
"P_PROJECTSEMTAGACC",
"P_PROJWITHPROJCAT6"
],
"ASSOCIATED":
[
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH"
],
"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