I_PROJECTCOSTLINEITEMS

CDS View

Project Cost Line Items

I_PROJECTCOSTLINEITEMS is a CDS View in S/4HANA. Project Cost Line Items. It contains 46 fields. 8 CDS views read from this table.

CDS Views using this table (8)

ViewTypeJoinVDMDescription
I_ProjectCostLineItemsByPeriod view from COMPOSITE Project Cost Line Items by Period
I_ProjectCostLineItemsCube view from COMPOSITE Project Cost Line Items Cube
P_BudgetPostingsByCurrentYear view from COMPOSITE Get Projects which has budget postings for current year
P_ProjCostSpclPerdTmeRnge view from COMPOSITE Project Cost Line Items Cube
P_ProjCostsWithCalcdMnth view from CONSUMPTION Project Costs With Calculated Months
P_PROJCSTLINEITEMS view_entity from COMPOSITE Project Cost Line Item
P_ProjectCostsInGlobalCurrency view from CONSUMPTION Project Costs in Global Currency
P_ProjectPredictSummryMain view from CONSUMPTION Project Prediction Summary Main

Fields (46)

KeyField CDS FieldsUsed in Views
KEY AccountingDocument AccountingDocument 1
KEY ActualPlanJournalEntryItem ActualPlanJournalEntryItem 1
KEY CompanyCode CompanyCode 2
KEY FinancialPlanningDataPacket FinancialPlanningDataPacket 1
KEY FinancialPlanningReqTransSqnc FinancialPlanningReqTransSqnc 1
KEY FiscalYear FiscalYear 1
KEY Ledger Ledger 1
KEY LedgerGLLineItem LedgerGLLineItem 1
KEY OriginalFiscalYear FiscalYear,OriginalFiscalYear 2
KEY ProjectObjectNode ProjectObjectNode 1
KEY SourceLedger SourceLedger 1
AccountingDocCreatedByUser AccountingDocCreatedByUser 1
AmountInObjectCurrency AmountInObjectCurrency 1
BusinessArea BusinessArea 2
ChartOfAccounts ChartOfAccounts 1
ControllingArea ControllingArea 1
ControllingObjectCurrency ControllingObjectCurrency 1
FinancialPlanningEntryItem FinancialPlanningEntryItem 1
FiscalPeriod FiscalPeriod 1
FiscalYearPeriod FiscalYearPeriod 1
FiscalYearVariant FiscalYearVariant 2
FunctionalArea FunctionalArea 2
GLAccount GLAccount 1
NextFiscalYearPeriod FiscalYearPeriod,NextFiscalYearPeriod 2
OrderID OrderID 1
OriginalFiscalPeriod FiscalPeriod,OriginalFiscalPeriod 2
PartnerAccountAssignmentType PartnerAccountAssignmentType 1
PlanningCategory PlanningCategory 2
Plant Plant 2
PostingDate PostingDate 1
ProfitCenter ProfitCenter 1
Project Project 2
ProjectCategory ProjectCategory 1
ProjectDescription ProjectDescription 1
ProjectInternalID ProjectInternalID 2
ProjectObject ProjectObject 1
ProjectProfileCode ProjectProfileCode 1
ProjectSummaryTaskUUID ProjectSummaryTaskUUID 1
ProjectType ProjectType 3
ProjectUUID ProjectUUID 1
ResponsibleCostCenter ResponsibleCostCenter 1
SemanticTag SemanticTag 2
WBSDescription WBSDescription 1
WBSElement WBSElement 1
WBSElementInternalID WBSElementInternalID 1
WBSElementProfitCenter WBSElementProfitCenter 1
@AbapCatalog.sqlViewName: 'IPROJCOSTLINITM'
@EndUserText.label: 'Project Cost Line Items'
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass:  #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

define view I_ProjectCostLineItems
  as select from           P_ProjectCostLineItems as ActPlnJrlEtry
    left outer to one join R_EnterpriseProject    as ProjectSummary on ProjectSummary.ProjectInternalID = ActPlnJrlEtry.ProjectInternalID
  association [1..1] to I_ProjectBudgetPlngCategory as _BudgetPlnCat on  $projection.PlanningCategory             = _BudgetPlnCat.PlanningCategory
                                                                     and _BudgetPlnCat.PlanningCatIsForAvailyCtrl = 'X'

{
  key Ledger,
  key SourceLedger,
  key ActPlnJrlEtry.CompanyCode,
  key FiscalYear,
  key AccountingDocument,
  key LedgerGLLineItem,
  key FinancialPlanningReqTransSqnc,
  key FinancialPlanningDataPacket,
  key ActualPlanJournalEntryItem,
      FinancialPlanningEntryItem,
      ActPlnJrlEtry.FiscalYearPeriod,
      ActPlnJrlEtry.SemanticTag,
      LedgerFiscalYear,
      ActPlnJrlEtry.ControllingArea,

      GLAccount,
      ChartOfAccounts,
      AccountingDocCreatedByUser,

      BusinessArea,
      ActPlnJrlEtry.ProfitCenter,
      WBSElementProfitCenter,
      ActPlnJrlEtry.CostCenter,
      ActPlnJrlEtry.FunctionalArea,
      CostCtrActivityType,

      ActPlnJrlEtry.Project,
      //_ProjectBasicData.Project,


      ActPlnJrlEtry.ProjectInternalID,
      ActPlnJrlEtry.ProjectDescription,

      ProjectObjectNode,
      ActPlnJrlEtry.ProjectProfileCode,
      ActPlnJrlEtry.ProjectObject,

      cast  (ActPlnJrlEtry.MaintenanceOrderIsSelected as boolean ) as MaintenanceOrderIsSelected,
      ActPlnJrlEtry.PartnerAccountAssignmentType,
      OrderID,
      //2408 Performance improvement for Project Cost Report Overview and Line Items-Begin

      ProjectObjectType,
      //2502 Performance improvement for PCR app - Begin

      _BudgetPlnCat.PlanningCategory                               as BudgetPlanningCategory,
      //2502 Performance improvement for PCR app - End

      //2408 Performance improvement for Project Cost Report Overview and Line Items-End

      OrderOperation,
      MaintenanceOrderDesc,
      OperationDescription,
      PlanningCategory1,
      PlanningCategory2,
      ProjectSummary.ProjectUUID,
      ProjectSummary.ProjectCategory,
      ProjectSummary.ProjectSummaryTaskUUID,
      ProjectSummary.ProcessingStatus                              as ProjectProcessingStatus,
      ActPlnJrlEtry.ProjectType,
      ActPlnJrlEtry.AvailabilityControlIsActive,
      ActPlnJrlEtry.AvailabilityControlProfile,
      AvailyCtrlTimeRangeType,
      BudgetCurrencyRole,

      WBSElement,
      WBSDescription,
      ActPlnJrlEtry.ResponsibleCostCenter,
      ActPlnJrlEtry.WBSElementInternalID,
      //CE2402: Add Plant fied for /S4PPM/PR1 Auth

      ActPlnJrlEtry.Plant,

      //Commitment fields

      SourceReferenceDocumentType,
      SourceLogicalSystem,
      SourceReferenceDocumentCntxt,
      SourceReferenceDocument,
      SourceReferenceDocumentItem,
      SourceReferenceDocSubitem,
      IsCommitment,

      //Sending Partner fields

      PartnerOrder,
      PartnerOrderCategory,
      PartnerWBSElement,
      PartnerProject,
      BusinessTransactionType,
      DebitCreditCode,

      ActPlnJrlEtry.FiscalPeriod,
      ActPlnJrlEtry.FiscalYearVariant,

      PlanningCategory,
      cast('' as fcom_category)                                    as ComparisonPlanningCategory,
      cast(IsSettled as ps_s4_considersettlement)                  as IsSettled,
      $session.system_date                                         as CurrentDate,

      PostingDate,
      CreationDate,

      @Semantics.currencyCode: true
      ControllingObjectCurrency,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      AmountInObjectCurrency,

      @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
      FunctionalCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
      ActualAmountInFunctionalCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
      CmtmtAmountInFunctionalCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
      PlanAmountInFunctionalCurrency,

      @Semantics.currencyCode:true
      FreeDefinedCurrency1,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
      AmountInFreeDefinedCurrency1,

      @Semantics.currencyCode:true
      FreeDefinedCurrency2,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
      AmountInFreeDefinedCurrency2,

      @Semantics.currencyCode:true
      FreeDefinedCurrency3,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
      AmountInFreeDefinedCurrency3,

      @Semantics.currencyCode:true
      FreeDefinedCurrency4,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
      AmountInFreeDefinedCurrency4,

      @Semantics.currencyCode:true
      FreeDefinedCurrency5,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
      AmountInFreeDefinedCurrency5,

      @Semantics.currencyCode:true
      FreeDefinedCurrency6,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
      AmountInFreeDefinedCurrency6,

      @Semantics.currencyCode:true
      FreeDefinedCurrency7,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
      AmountInFreeDefinedCurrency7,

      @Semantics.currencyCode:true
      FreeDefinedCurrency8,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
      AmountInFreeDefinedCurrency8,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      ActualAmountInGlobalCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      PlanAmountInGlobalCurrency,

      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @DefaultAggregation: #SUM
      CmtmtCostInGlobalCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
      ActualAmountInFreeDfndCrcy1,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
      ActualAmountInFreeDfndCrcy2,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
      ActualAmountInFreeDfndCrcy3,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
      ActualAmountInFreeDfndCrcy4,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
      ActualAmountInFreeDfndCrcy5,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
      ActualAmountInFreeDfndCrcy6,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
      ActualAmountInFreeDfndCrcy7,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
      ActualAmountInFreeDfndCrcy8,

      //2502 Include Project Stock costs in Project Cost Report - Begin

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
      PrjStockAmountInFunctionalCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      PrjStockAmountInGlobalCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      ProjectStockAmtInProjCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
      PrjStockAmtInCompanyCodeCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      PrjStockAmtInTransactionCrcy,

      //2502 - Fields are pushed down from C_Projectcostlineitems

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
      ActualAmountInCompanyCodeCrcy,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ActualAmountInTransactionCrcy,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      ActualCumltvAmtInCoCodeCrcy,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @Consumption.filter: {hidden: true}
      ActlCmtmtCumltvAmtInGlobCrcy,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      NonAccmltdCmtmtAmtInProjCrcy,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
      CmtmtCostInCCCrcy,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      CmtmtCostInTransacCrcy,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      CmtmtCumltvAmtInGlobCrcy,
      //2502 Include Project Stock costs in Project Cost Report - End


      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
      PlanAmountInFreeDefinedCrcy1,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
      PlanAmountInFreeDefinedCrcy2,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
      PlanAmountInFreeDefinedCrcy3,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
      PlanAmountInFreeDefinedCrcy4,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
      PlanAmountInFreeDefinedCrcy5,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
      PlanAmountInFreeDefinedCrcy6,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
      PlanAmountInFreeDefinedCrcy7,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
      PlanAmountInFreeDefinedCrcy8,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
      CmtmtCostInFreeDefinedCrcy1,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
      CmtmtCostInFreeDefinedCrcy2,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
      CmtmtCostInFreeDefinedCrcy3,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
      CmtmtCostInFreeDefinedCrcy4,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
      CmtmtCostInFreeDefinedCrcy5,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
      CmtmtCostInFreeDefinedCrcy6,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
      CmtmtCostInFreeDefinedCrcy7,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
      CmtmtCostInFreeDefinedCrcy8,


      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      case
          when  PlanningCategory = 'PREDICT01' and AmountInGlobalCurrency > 0
              then AmountInGlobalCurrency
          else 0
      end                                                          as PredictedAmtInGlobalCurrency,

      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @DefaultAggregation: #SUM
      case
          when  PlanningCategory = 'PREDICT02' and AmountInGlobalCurrency > 0
              then AmountInGlobalCurrency
          else 0
      end                                                          as LowerPredictionAmtInGlobCrcy,

      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @DefaultAggregation: #SUM
      case
          when  PlanningCategory = 'PREDICT03'
              then AmountInGlobalCurrency
          else 0
      end                                                          as UpperPredictionAmtInGlobCrcy,

      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      @DefaultAggregation: #SUM
      case
          when  PlanningCategory = _BudgetPlnCat.PlanningCategory
              then AmountInGlobalCurrency
          else 0
      end                                                          as BudgetInGlobalCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      cast(PlanAmountInGlobalCurrency  as fis_ksl)                 as BaselineAmtInGlobalCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      PlanAmountInGlobalCurrency  -  ActualAmountInGlobalCurrency  as ActlPlnDiffAmtInGlobalCrcy,

      // Project currency fields

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      ActlCostInProjCrcy,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      PlndCostAmtInProjCrcy,

      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      @DefaultAggregation: #SUM
      CmtmtCostInProjCrcy,

      @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
      @DefaultAggregation: #SUM
      case
          when  PlanningCategory = _BudgetPlnCat.PlanningCategory
              then AmountInObjectCurrency
          else 0
      end                                                          as BudgetInProjCrcy,

      cast('' as fis_jahrper_conv)                                 as JrnlEntrDerivdFiscalYearPeriod,
      cast('' as txt20_009)                                        as FiscalPeriodName,
      cast('' as fins_sem_tag_name)                                as SemanticTagName,

      '1'                                                          as MonthInFirstInterval,
      '2'                                                          as MonthInSecondInterval,
      '3'                                                          as MonthInThirdInterval,

      @Semantics.amount.currencyCode: 'GlobalCurrency'
      cast(0 as abap.curr( 23, 2 )   )                             as ActualCost,

      _FiscalPeriod,

      ActPlnJrlEtry.OriginalFiscalYear,
      ActPlnJrlEtry.OriginalFiscalPeriod,
      ActPlnJrlEtry.NextFiscalYearPeriod

}