P_EnterpriseProjectPlnCosts
P_EnterpriseProjectPlnCosts is a Composite CDS View in SAP S/4HANA. It reads from 5 data sources (P_IsLeadingLedger, I_FinancialPlanningEntryItem, P_ProjectsWithProjCat6, P_PROJECTSEMTAGACC, I_WBSElementBasicData) and exposes 86 fields with key fields SourceLedger, Ledger, CompanyCode, FiscalYear, AccountingDocument.
Data Sources (5)
| Source | Alias | Join Type |
|---|---|---|
| P_IsLeadingLedger | _Ledger | inner |
| I_FinancialPlanningEntryItem | _ProjCstLineItm | from |
| P_ProjectsWithProjCat6 | _Project | inner |
| P_PROJECTSEMTAGACC | _SemanticTag | inner |
| I_WBSElementBasicData | _WBS | inner |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PENTPRJPLN | 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 (86)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SourceLedger | |||
| KEY | Ledger | P_IsLeadingLedger | Ledger | |
| KEY | CompanyCode | I_FinancialPlanningEntryItem | CompanyCode | |
| KEY | FiscalYear | I_FinancialPlanningEntryItem | FiscalYear | |
| KEY | AccountingDocument | |||
| KEY | FinancialPlanningReqTransSqnc | FinancialPlanningReqTransSqnc | ||
| KEY | FinancialPlanningDataPacket | FinancialPlanningDataPacket | ||
| KEY | ActualPlanJournalEntryItem | |||
| LedgerGLLineItem | ||||
| FinancialPlanningEntryItem | FinancialPlanningEntryItem | |||
| ControllingArea | I_FinancialPlanningEntryItem | ControllingArea | ||
| GLAccount | I_FinancialPlanningEntryItem | GLAccount | ||
| ChartOfAccounts | I_FinancialPlanningEntryItem | ChartOfAccounts | ||
| LedgerFiscalYear | LedgerFiscalYear | |||
| ActualPlanCode | ||||
| BusinessArea | I_FinancialPlanningEntryItem | BusinessArea | ||
| ProfitCenter | I_FinancialPlanningEntryItem | ProfitCenter | ||
| CostCenter | I_FinancialPlanningEntryItem | CostCenter | ||
| Project | P_ProjectsWithProjCat6 | ProjectExternalID | ||
| ProjectInternalID | I_FinancialPlanningEntryItem | ProjectInternalID | ||
| WBSElement | ||||
| WBSElementInternalID | I_FinancialPlanningEntryItem | WBSElementInternalID | ||
| FunctionalArea | I_FinancialPlanningEntryItem | FunctionalArea | ||
| PartnerWBSElement | ||||
| PartnerProject | ||||
| PartnerProjectInternalID | PartnerProjectInternalID | |||
| PartnerWBSElementInternalID | PartnerWBSElementInternalID | |||
| PartnerFunctionalArea | PartnerFunctionalArea | |||
| PartnerCostCtrActivityType | PartnerCostCtrActivityType | |||
| OrderID | OrderID | |||
| OrderOperation | OrderOperation | |||
| TransactionCurrency | TransactionCurrency | |||
| AmountInTransactionCurrency | AmountInTransactionCurrency | |||
| CompanyCodeCurrency | CompanyCodeCurrency | |||
| AmountInCompanyCodeCurrency | AmountInCompanyCodeCurrency | |||
| GlobalCurrency | GlobalCurrency | |||
| AmountInGlobalCurrency | AmountInGlobalCurrency | |||
| ControllingObjectCurrency | ControllingObjectCurrency | |||
| AmountInObjectCurrency | AmountInObjectCurrency | |||
| ActualAmountInTransactionCrcy | ||||
| ActualAmountInCompanyCodeCrcy | ||||
| ActualAmountInGlobalCurrency | ||||
| ActualAmountInObjectCurrency | ||||
| PlanAmountInTransactionCrcy | ||||
| PlanAmountInCompanyCodeCrcy | ||||
| PlanAmountInGlobalCurrency | ||||
| PlndCostAmtInProjCrcy | ||||
| PostingDate | I_FinancialPlanningEntryItem | PostingDate | ||
| FiscalPeriod | FiscalPeriod | |||
| FiscalYearPeriod | FiscalYearPeriod | |||
| FiscalYearVariant | I_FinancialPlanningEntryItem | FiscalYearVariant | ||
| AccountingDocCreatedByUser | FinPlngEntryItemCreatedByUser | |||
| CreationDate | ||||
| PlanningCategory | PlanningCategory | |||
| IsCommitment | ||||
| PartnerOrder | I_FinancialPlanningEntryItem | PartnerOrder_2 | ||
| BusinessTransactionType | BusinessTransactionType | |||
| ControllingDebitCreditCode | ControllingDebitCreditCode | |||
| CostCtrActivityType | CostCtrActivityType | |||
| IsSettled | ||||
| SemanticTag | P_PROJECTSEMTAGACC | SemanticTag | ||
| PartnerOrderCategory | ||||
| SourceReferenceDocumentType | ||||
| SourceLogicalSystem | ||||
| SourceReferenceDocumentCntxt | ||||
| SourceReferenceDocument | ||||
| SourceReferenceDocumentItem | ||||
| SourceReferenceDocSubitem | ||||
| WBSElementProfitCenter | I_WBSElementBasicData | ProfitCenter | ||
| WBSDescription | I_WBSElementBasicData | WBSDescription | ||
| ProjectObjectNode | I_WBSElementBasicData | WBSElementObject | ||
| ResponsibleCostCenter | I_WBSElementBasicData | ResponsibleCostCenter | ||
| ProjectType | I_WBSElementBasicData | ProjectType | ||
| ProjectDescription | P_ProjectsWithProjCat6 | ProjectDescription | ||
| ProjectProfileCode | P_ProjectsWithProjCat6 | ProjectProfileCode | ||
| ProjectObject | P_ProjectsWithProjCat6 | ProjectObject | ||
| AvailabilityControlProfile | P_ProjectsWithProjCat6 | AvailabilityControlProfile | ||
| AvailabilityControlIsActive | P_ProjectsWithProjCat6 | AvailabilityControlIsActive | ||
| AvailyCtrlTimeRangeType | ||||
| BudgetCurrencyRole | ||||
| ProjectUUID | P_ProjectsWithProjCat6 | ProjectUUID | ||
| ProjectSummaryTaskUUID | P_ProjectsWithProjCat6 | ProjectSummaryTaskUUID | ||
| ProcessingStatus | P_ProjectsWithProjCat6 | ProcessingStatus | ||
| ProjectCategory | P_ProjectsWithProjCat6 | ProjectCategory | ||
| PlannedStartDate | PlannedStartDate | |||
| PlannedEndDate | PlannedEndDate |
@AbapCatalog.sqlViewName: 'PENTPRJPLN'
@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_EnterpriseProjectPlnCosts
as select from I_FinancialPlanningEntryItem as _ProjCstLineItm
inner join P_IsLeadingLedger as _Ledger on _ProjCstLineItm.Ledger = _Ledger.Ledger
inner join I_WBSElementBasicData as _WBS on _ProjCstLineItm.WBSElementInternalID = _WBS.WBSElementInternalID
and _ProjCstLineItm.ProjectInternalID = _WBS.ProjectInternalID
inner join P_ProjectsWithProjCat6 as _Project on _ProjCstLineItm.ProjectInternalID = _Project.ProjectInternalID
and _WBS.ProjectInternalID = _Project.ProjectInternalID
inner join P_PROJECTSEMTAGACC as _SemanticTag on _SemanticTag.ControllingArea = _ProjCstLineItm.ControllingArea
and _SemanticTag.HierarchyNodeVal = _ProjCstLineItm.GLAccount
and _SemanticTag.HierarchyNodeClass = _ProjCstLineItm.ChartOfAccounts
{
key cast(cast('' as abap.char (2)) as fins_ledger_pers ) as SourceLedger,
key _Ledger.Ledger,
key _ProjCstLineItm.CompanyCode,
key _ProjCstLineItm.FiscalYear,
key cast(cast('' as abap.char (10)) as farp_belnr_d ) as AccountingDocument,
key FinancialPlanningReqTransSqnc,
key FinancialPlanningDataPacket,
// field ActualPlanJournalEntryItem required for representative key definition
key cast(abs(FinancialPlanningEntryItem) as fis_act_pln_docln ) as ActualPlanJournalEntryItem,
cast(cast('' as abap.char (6)) as fis_docln ) as LedgerGLLineItem,
FinancialPlanningEntryItem,
_ProjCstLineItm.ControllingArea,
_ProjCstLineItm.GLAccount,
_ProjCstLineItm.ChartOfAccounts,
LedgerFiscalYear,
cast(cast( 'P' as abap.char (1)) as fis_actual_plan_code) as ActualPlanCode,
////////////////////////////////////////////////////////////////////////////////////
// G/L additional account assignments
////////////////////////////////////////////////////////////////////////////////////
_ProjCstLineItm.BusinessArea,
_ProjCstLineItm.ProfitCenter,
_ProjCstLineItm.CostCenter,
_Project.ProjectExternalID as Project,
_ProjCstLineItm.ProjectInternalID,
_ProjCstLineItm._WBSElementBasicData.WBSElementExternalID as WBSElement,
_ProjCstLineItm.WBSElementInternalID,
_ProjCstLineItm.FunctionalArea,
_ProjCstLineItm._PartnerWBSElementBasicData.WBSElementExternalID as PartnerWBSElement,
_ProjCstLineItm._PartnerProjectBasicData.ProjectExternalID as PartnerProject,
PartnerProjectInternalID,
PartnerWBSElementInternalID,
PartnerFunctionalArea,
PartnerCostCtrActivityType,
OrderID,
OrderOperation,
/////////////////////////////////////////////////////////////////////////////////////
// Value Fields
/////////////////////////////////////////////////////////////////////////////////////
@Semantics.currencyCode:true
TransactionCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
AmountInTransactionCurrency,
@Semantics.currencyCode:true
CompanyCodeCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
AmountInCompanyCodeCurrency,
@Semantics.currencyCode:true
GlobalCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
AmountInGlobalCurrency,
@Semantics.currencyCode:true
ControllingObjectCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
AmountInObjectCurrency,
/////////////////////////////////////////////////////////////////////////////////////
// Actual value Fields
/////////////////////////////////////////////////////////////////////////////////////
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
cast( 0 as fis_act_wsl) as ActualAmountInTransactionCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast( 0 as fis_act_hsl) as ActualAmountInCompanyCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast( 0 as fis_act_ksl) as ActualAmountInGlobalCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
cast(AmountInObjectCurrency as fis_act_co_osl) as ActualAmountInObjectCurrency,
/////////////////////////////////////////////////////////////////////////////////////
// Plan value Fields
/////////////////////////////////////////////////////////////////////////////////////
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
cast(AmountInTransactionCurrency as fis_plan_wsl) as PlanAmountInTransactionCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast(AmountInCompanyCodeCurrency as fis_plan_hsl) as PlanAmountInCompanyCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(AmountInGlobalCurrency as fis_plan_ksl) as PlanAmountInGlobalCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
cast(AmountInObjectCurrency as fis_plan_co_osl) as PlndCostAmtInProjCrcy,
/////////////////////////////////////////////////////////////////////////////
// Mandatory fields for G/L
////////////////////////////////////////////////////////////////////////////
_ProjCstLineItm.PostingDate,
FiscalPeriod,
FiscalYearPeriod,
_ProjCstLineItm.FiscalYearVariant,
FinPlngEntryItemCreatedByUser as AccountingDocCreatedByUser,
cast( cast(substring( cast(FinPlngEntryItemCrtnDateTime as abap.char(30)) , 1 , 8) as abap.dats(8)) as fis_cpdat ) as CreationDate,
////////////////////////////////////////////////////////////////////////////
// .INCLUDE ACDOC_SI_CO Unified Journal Entry: CO fields
///////////////////////////////////////////////////////////////////////////
PlanningCategory,
cast(' ' as fins_xcommitment) as IsCommitment,
_ProjCstLineItm.PartnerOrder_2 as PartnerOrder,
BusinessTransactionType,
ControllingDebitCreditCode,
CostCtrActivityType,
'X' as IsSettled,
_SemanticTag.SemanticTag,
cast(_PartnerOrder.OrderCategory as fis_par_auftyp preserving type ) as PartnerOrderCategory,
cast( ( case ControllingDebitCreditCode
when 'S' then 'S'
else 'H'
end )
as fis_shkzg preserving type ) as DebitCreditCode,
cast('' as fins_src_awtyp) as SourceReferenceDocumentType,
cast('' as fins_src_awsys) as SourceLogicalSystem,
cast('' as fins_src_aworg) as SourceReferenceDocumentCntxt,
cast('' as fins_src_awref) as SourceReferenceDocument,
cast('000000' as fins_src_awitem) as SourceReferenceDocumentItem,
cast('000000' as fins_src_awsubit) as SourceReferenceDocSubitem,
_WBS.ProfitCenter as WBSElementProfitCenter,
_WBS.WBSDescription as WBSDescription,
_WBS.WBSElementObject as ProjectObjectNode,
_WBS.ResponsibleCostCenter as ResponsibleCostCenter,
//S/4HANA CE2202: Project Type normalization - Begin
_WBS.ProjectType,
//S/4HANA CE2202: Project Type normalization - End
_Project.ProjectDescription,
_Project.ProjectProfileCode,
_Project.ProjectObject,
_Project.AvailabilityControlProfile,
_Project.AvailabilityControlIsActive,
_Project._AvailabilityCtrlProfile.AvailyCtrlTimeRangeType,
_Project._AvailabilityCtrlProfile.BudgetCurrencyRole,
_Project.ProjectUUID,
_Project.ProjectSummaryTaskUUID,
_Project.ProcessingStatus,
_Project.ProjectCategory,
PlannedStartDate,
PlannedEndDate
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_AVAILABILITYCTRLPROFILE",
"I_FINANCIALPLANNINGENTRYITEM",
"I_INTERNALORDER",
"I_PROJECTBASICDATA",
"I_WBSELEMENTBASICDATA",
"P_ISLEADINGLEDGER",
"P_PROJECTSEMTAGACC",
"P_PROJECTSWITHPROJCAT6"
],
"ASSOCIATED":
[],
"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