I_PROJECTCOSTLINEITEMS

CDS View

Project Cost Line Items

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

CDS Views using this table (7)

ViewTypeJoinVDMDescription
I_ProjectCostLineItemsCube view from COMPOSITE Project Cost Line Items Cube
P_BudgetPostingsByCurrentYear view from COMPOSITE
P_EntProjCostLineItems view from COMPOSITE
P_ProjCostSpclPerdTmeRnge view from COMPOSITE
P_ProjCostsWithCalcdMnth view from CONSUMPTION Project Costs With Calculated Months
P_ProjectCostsInGlobalCurrency view from CONSUMPTION
P_ProjectPredictSummryMain view from CONSUMPTION Project Prediction Summary Main

Fields (37)

KeyField CDS FieldsUsed in Views
KEY AccountingDocument AccountingDocument 1
KEY ActualPlanJournalEntryItem ActualPlanJournalEntryItem 1
KEY CompanyCode CompanyCode 1
KEY FinancialPlanningDataPacket FinancialPlanningDataPacket 1
KEY FinancialPlanningReqTransSqnc FinancialPlanningReqTransSqnc 1
KEY FiscalYear FiscalYear 1
KEY Ledger Ledger 1
KEY LedgerGLLineItem LedgerGLLineItem 1
KEY ProjectInternalID ProjectInternalID 2
KEY ProjectObjectNode ProjectObjectNode 1
KEY SourceLedger SourceLedger 1
AccountingDocCreatedByUser AccountingDocCreatedByUser 1
AmountInObjectCurrency AmountInObjectCurrency 1
BusinessArea BusinessArea 1
ChartOfAccounts ChartOfAccounts 1
ControllingArea ControllingArea 1
ControllingObjectCurrency ControllingObjectCurrency 1
FinancialPlanningEntryItem FinancialPlanningEntryItem 1
GLAccount GLAccount 1
GlobalCurrency GlobalCurrency 1
OrderID OrderID 1
PlanningCategory PlanningCategory 1
PostingDate PostingDate 1
ProfitCenter ProfitCenter 1
Project Project 1
ProjectCategory ProjectCategory 1
ProjectDescription ProjectDescription 1
ProjectObject ProjectObject 1
ProjectProfileCode ProjectProfileCode 1
ProjectSummaryTaskUUID ProjectSummaryTaskUUID 1
ProjectType ProjectType 1
ProjectUUID ProjectUUID 1
ResponsibleCostCenter ResponsibleCostCenter 1
SemanticTag SemanticTag 1
WBSDescription WBSDescription 1
WBSElement WBSElement 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
@AbapCatalog.preserveKey:true
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

define view I_ProjectCostLineItems
  as select from           P_ProjectCostLineItems   as ActPlnJrlEtry
    left outer to one join I_PPM_ProjectSummaryTask 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 CompanyCode,
  key FiscalYear,
  key AccountingDocument,
  key FinancialPlanningReqTransSqnc,
  key FinancialPlanningDataPacket,
  key ActualPlanJournalEntryItem,
      FinancialPlanningEntryItem,
      ActPlnJrlEtry.FiscalYearPeriod,
      ActPlnJrlEtry.SemanticTag,
      LedgerGLLineItem,
      LedgerFiscalYear,
      ControllingArea,

      GLAccount,
      ChartOfAccounts,
      AccountingDocCreatedByUser,

      BusinessArea,
      ProfitCenter,
      WBSElementProfitCenter,
      CostCenter,
      FunctionalArea,
      CostCtrActivityType,

      ActPlnJrlEtry.Project,
      //_ProjectBasicData.Project,


      ActPlnJrlEtry.ProjectInternalID,
      ProjectDescription,

      ProjectObjectNode,
      ProjectProfileCode,
      ProjectObject,

      //2008:fields Specific to PMO integration to cost report-start

      //      case

      //      when OrderID is not initial and ProjectInternalID is not initial

      //      then cast('' as boolean  ) //boolean)   //order

      //      else cast('X' as boolean  ) //boolean)

      //      end                                                as MaintenanceOrderIsSelected, //project


      //'' as MaintenanceOrderIsSelected,

      //S/4HANA CE2108 - Maintenance Order enablement-Begin

      //       ActPlnJrlEtry.MaintenanceOrderIsSelected,      

      cast  (ActPlnJrlEtry.MaintenanceOrderIsSelected as boolean ) as MaintenanceOrderIsSelected,      
      ActPlnJrlEtry.PartnerAccountAssignmentType,
      //S/4HANA CE2108 - Maintenance Order enablement-End

      OrderID,
      OrderOperation,
      MaintenanceOrderDesc,
      OperationDescription,
      PlanningCategory1,
      PlanningCategory2,
      //2008:fields Specific to PMO integration to cost report-end


      ProjectSummary.ProjectUUID,
      ProjectSummary.ProjectCategory,
      ProjectSummary.ProjectSummaryTaskUUID,
      ProjectSummary.ProjectProcessingStatus,
      //CE2005 Projecttype as a filter

      //   S/4HANA CE2202: Project Type normalization - Begin

      ActPlnJrlEtry.ProjectType,
      //   S/4HANA CE2202: Project Type normalization - End



      AvailabilityControlIsActive,
      AvailabilityControlProfile,
      AvailyCtrlTimeRangeType,
      BudgetCurrencyRole,

      WBSElement,
      WBSDescription,
      ResponsibleCostCenter,
      ActPlnJrlEtry.WBSElementInternalID,



      //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,
      //  _SemTag[1:inner].SemanticTag,

      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,
/*     
      // S/4HANA CE2308: Project stock costs enablement - Begin

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
      PrjStockAmountInGlobalCurrency,
      // S/4HANA CE2308: Project stock costs enablement - End

*/     
      //S/4HANA CE2108 - Inclusion of Functional Currency -Begin

      @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,
      //S/4HANA CE2108 - Inclusion of Functional Currency -End


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

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

      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @Consumption.filter: {hidden: true}
      @DefaultAggregation: #SUM

      case
          when  PlanningCategory = 'CMTMT' or PlanningCategory = 'ACT01'
              then AmountInGlobalCurrency
          else 0
      end                                                          as ActlCmtmtCumltvAmtInGlobCrcy,


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

      @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
      @DefaultAggregation: #SUM
      case
          when ( PlanningCategory = 'CMTMT' or PlanningCategory = 'ACT01' )
              then AmountInObjectCurrency
          else 0
      end                                                          as NonAccmltdCmtmtAmtInProjCrcy,

      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,

      //1911 performance fix

      @Semantics.amount.currencyCode: 'GlobalCurrency'
      cast(0 as abap.curr( 23, 2 )   )                             as ActualCost,
      //end of 1911 changes



      // _Project,

      //  _WBSElement,

      _FiscalPeriod
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPM_PROJECTSUMMARYTASK",
"I_PROJECTBUDGETPLNGCATEGORY",
"P_PROJECTCOSTLINEITEMS"
],
"ASSOCIATED":
[
"I_FISCALYEARPERIODFORCMPNYCODE",
"I_PROJECTBUDGETPLNGCATEGORY"
],
"BASE":
[
"P_PROJECTCOSTLINEITEMS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/